Releases: cambiatus/frontend
🧹 Spring cleanup
New features ✨
🐜 All the small things.
On this release we focused on doing small, incremental improvements.
🔧 New Settings page #823
Our users are used to see our top right menu, since its one of our most used and oldest element. Now we show a smaller element, with smaller margins.
With that our users get a new screen for just settings, this include security options like exporting your private keys and changing your PIN.
For private keys we added back the options to export your 12 words in a different format called base58. Its the same information, but can be used in another wallets such as SimplEOS. This enables our users to use their keys to another EOSIO compatible apps and as well access features that aren't on our app yet.
Shop changes #829
We've updated a behavior in the shop. Previously if you tried to buy something from the shop but didn't had enough balance, we would still try to send the transaction. Now we calculate that and give a more (hopefully!) comprehensible error.
🇧🇷 Open source contributions
On this release we counted with the help of an surprise contribution by @dev-danilosilva. He helped us with and improvement to our transactions in Portuguese #834 and changed the default ordination for claims. #835
Under the hood improvements and bug fixes
- Dependencies update #824
- Improved tooling for our components #827
- Fixed some bugs that were happening on the Objective form #831
- Changed our analytics to Matomo instead of Plausible #828
- Fixed a visual bug on the profile page #832
- We had a regression of a bug that wouldn't show feedback if an account already existed while signing up #830
- Improved compatibility when copy pasting #836
- Fixed a bug that could happen when calculating how much you still can spend on a shop buy #837
- Allow the usage of the character
-
to indicate negative numbers on some inputs like on the Minumum balance configuration on the community #838
What's Changed
- Bump vite from 2.8.6 to 2.9.13 by @dependabot in #824
- Enhancement/user settings page by @NeoVier in #823
- Enhancement/elm book elm review by @NeoVier in #827
- Enable form if some error happens editing objective by @NeoVier in #831
- Enhancement/matomo by @NeoVier in #828
- Fix profile editor alignment by @NeoVier in #832
- Show error if account already exists by @NeoVier in #830
- Show error message if balance is too low by @NeoVier in #829
- Alterar a palavra "Patrocinar" por "Apoiar" na versão PT-BR do Broadcast by @dev-danilosilva in #834
- Mudar ordenação padrão das reinvidicações by @dev-danilosilva in #835
- Use the clipboard API when the browser supports it by @NeoVier in #836
- Adjust isSpendingTooMuch by @NeoVier in #837
- Feature/copy base58 key by @NeoVier in #839
- Allow - in valueWithoutSeparator by @NeoVier in #838
New Contributors
- @dev-danilosilva made their first contribution in #834
Full Changelog: v1.20...v1.21
v1.20
New features ✨
🗂 Categories, 📄 12 words and actions #816
This release is focused on two things: adding categories to our shop and improving existing features by adding more love, polish and power.
In this release we introduce a way for admins and user to add categories to their products and a new way to filter the catalog, so its easier to find what you are looking for!
Shoutout to our community Verdes (https://verdes.cambiatus.io) that helped us financially building this feature. We did a lot with this help, allowing us to completely rework the way we designed our shop: we moved it away from blockchain so we could build a feature rich and fast moving API that could serve our users the best. It also allowed us to improve how we handle permissions, that lead us into our next milestone. Again, thanks Verdes for the support and trust, with this help we could build a feature that will benefit all communities in Cambiatus!
We've also made improvements to actions and the login process
Categories are finally completed! #805
That's it! We finally added the final touches to our categories feature. It required us to do a multi release journey with several deep improvements to our backends, an migration away from some blockchain actions and a lot of talks with our design team to finally deliver this.
This release includes two features: Associating products and categories and filtering products by category on the shop.
Association
All users are free to associate their products with the categories they think are the best for their needs. They can easily do it by choosing "Categories" after choosing to edit their product:
Users can also do it during creation of a new product!
Members can associate as many categories as they like, and by choosing a nested category, we will preselect the parent category as well. You can unselect them if needed.
⚠️ Attention: Admins can also update categories
To help admins to keep the community shop clean, we've allowed them to edit all products categories. Admins will not be able to delete or modify any other information, only categories. They can do so by clicking on the new . . .
🔍 Filtering #806
Users can now use filters to narrow down their shop exploration to find what they are looking for:
On the product page #820
The product page also shows the categories the product belong to
Login improvements
After some reports from our users on the DROP community by our colleague Criscia, we've added more improvements on our login flow. First, when entering your 12 words we will let you know which word you typed wrong.
Your 12 words are very important on Cambiatus and its the mechanism that allows you to have control over your funds. Not even us (or anyone else) can control your account without the 12 words. Nonetheless this brings some difficulties, apart from typing all those words, sometimes we type something wrong and its hard to spot what's wrong. This can be extra frustrating!
With this in mind I've implemented a validation that shows you exactly what's wrong:
More languages for 12 words 🇧🇷 🇪🇸
We now support 12 words generation using more languages. If you browser is set to Portuguese or Spanish, we will use those languages, making it easier to use since now you can have it on a more familiar language. Your PDF will be generated according to your browser's language. If we don't support your language we will fallback to English, but you can always change it on the menu:
Actions now can have images! #799
To help communities make their spaces even more engaging and welcoming to the members, we are allowing actions to have images associated with them. It makes a beautiful uneven design that allows community admins to get creative and draw attention as they need!
Make sure to use images with at least 400px by 150px, or bigger so it can look great on every device!
Actions can now be reopened #788
Sometimes the context change and the community can find itself in the need to reopen an archived action. We now support this! All you need to do is:
- Enter on the admin page → Go to "Objectives and Actions" → Choose the objective and action you want
- Click on "Edit"
- On the form page, by the end of it, you will be able to see a new button:
New explicative text on claim cards #792
When searching for actions or checking them out on the "How to earn" page, we didn't gave our users a lot of explaining text about the status of the action, making the experience confusing and obscure for new users. Mainly for archived or unavailable actions. Now we show a little text explaining why:
We've also went ahead and made this consistent across all pages members can see. Admin pages still looks the same, at least for now! Expect big changes coming to those screens soon!
Emails can be unsubscribed directly from your inbox cambiatus/backend#275
Now when you receive an email from Cambiatus, you can unsubscribe to it by clicking unsubscribe from the footer of every email:
This will take you to a new page:
This is useful as users may lost access to their account when they loose their 12 words. With this mechanism the user can choose to opt out from communications any time they want. Please be aware the email preferences is something that affects a user no matter how many communities they belong to!
Under the hood improvements and bug fixes
-
[App] Update our frontend to keep up with API changes and adjustments #785, #786, #811
-
[App] 🐞 Fixed a bug that would make the app not render new translations on the first load. Usually happened during new releases #789
-
[App] 🐞 Fixed a bug that would show "How to earn" page even if the community didn't had objetives enabled #790
-
[App] Dependency security update #792
-
[App] Add a little badge on our repository that links to our Design elements #794
-
[App] Allow line breaks on markdown fields such as the news. Now editors can add blank spaces to better format the text on all the app #800
-
[App] Improve layout of the analysis page, so it uses masonry display #808
-
[App] Fix a bug when sending position to existing categories #814
-
[App] 🐞 Fix a problem when cropping images on Safari and some other browsers #818
-
[API] Images now are strip of some metadata when uploading. This allow Cambiatus to share images without sharing personal details from the uploader like location and device metadata. cambiatus/backend#247
-
[API] Categories can now be previewed when sharing on social media https://github.com/...
🗂️ Dawn of Shop categories
New features ✨
Categories are here!
Keeping the theme of shop releases we introduce the first part of a new feature called categories. During the years, the shop, one of our first features in Cambiatus was used in so many ways, with very different offers from all our communities. I've seem courses and classes, clothing, services, drinks, natural products, and so many more. Sadly even if our communities contain a rich catalog, its often hard to find the stuff you are looking for.
One of our communities, Verdes asked us to implement a way to have different categories for products from the shop, to help users find what they are looking for.
This release is the first part of doing this feature. It allows admins to create categories and subcategories. It was done with SEO in mind and will help Cambiatus communities' products to be seen on the internet more easily, if the admins want to.
There is a lot to unpack, so lets do it!
Categories
First when creating a category, you will need to fill out two informations name and description. Those are used to present users to the category, its name and more details. It supports rich text so you can go wild with titles, bolds and more.
Categories also may have optional images, two in fact. One small to be displayed on categories references, may be seem as an icon to that category. The other one is a banner and will be displayed on the category page on the future, when we release it. Again, both are optional, so fell free to add them only if you want them.
Subcategories
Categories can contain other categories as well as products. This helps admins to setup something like a department on their store. Lets see an example. Imagine our community have a lot of clothing. I can create some categories like:
If our users try to check out all of men's clothing they can see them all. They can further scope and filter what they are looking for to be more precise on their browsing.
You can drag categories inside one another to make them a subcategory of another category, or click the text to create a subcategory directly.
SEO and sharing
We've added this context menu, accessible using long press on mobile, right click on desktop or even by clicking on the 3 dots. This context menu allows you to edit the optional SEO information. We also allow you to preview how it would look like when sharing. You can set a different description (this one doesn't support rich text!) to make sure your text is seen properly by mobile devices. Also you are able to add keywords to further increase your chances of being indexed
Under the hood improvements and bug fixes
We've also added two fixes, one related to search. Depending on the number of records stored in the community and your internet connection, you might get wrong results from the search bar. We've fixed this, now it should show the correct results only. You can see more details here: #768
We've also fixed a bug that would show proof code when claiming actions that don't actually require any proof code to begin with. More details here: #767
What's Changed
- Fix/debounce search by @NeoVier in #768
- Fix/action proof code by @NeoVier in #767
- Feature/shop categories by @NeoVier in #760
Full Changelog: v1.18...v1.19
🛍️ New Shop API
New features ✨
Update to our Shop API 🛍️
A few releases ago we've talked on how we are going to keep pushing improvements to our Shop and this is another step into that objective. On this release we've added a new API, that's faster and will allow us to move much faster in the next releases as we create some new complex features to our shop users.
For now, the most noticeable changes are the speed on which products update and are created and the ability to add and view multiple images on the product:
Community Contacts ☎️
After we've revamped our footer on version 1.16, we are now adding and improved way for community admins to add their contact information, which can be useful for support and transparency to the community
You can access it by going into the settings page (⚙️icon) and go to "Support contacts". Here is how it looks:
The cool part is that you can now choose how its going to be displayed. So if your community have multiple WhatsApp groups such as "Community Group" and "Support contact", or even if you want to add a link like "Discord server invite" you can do so as you wish.
To access them, users can click on the footer
Or they can see it directly from the community page:
Crop images ✂️ 🖼️
Now, on your profile you can choose to crop your image to better display certain part of the picture and further enhance visibility of your profile picture!
Sharing preview
We've also updated how our links are showed when shared on apps like WhatsApp, Instagram, Telegram, Slack etc
Now when you share the link we will allow the app do give you an preview. It currently works for products, profile and community
What's Changed
- Fix/profile icon by @NeoVier in #735
- Add cambiatus.version tag to Sentry by @NeoVier in #736
- Move line-clamp to markdown-viewer by @NeoVier in #737
- Use the GraphQL shop API by @NeoVier in #734
- Fix/action modal text by @NeoVier in #743
- Update GraphQL types and use images by @NeoVier in #747
- Use backend api manifest by @NeoVier in #739
- Feature/edit community contacts by @NeoVier in #740
- Feature/shop multiple images by @NeoVier in #748
- Remove path, query and fragment from community url when sharing by @NeoVier in #757
- Feature/crop images by @NeoVier in #750
Full Changelog: v1.17...v1.18
v1.17
New features ✨
New community profile 💇
We've reworked the community page, with updated readability, information display and a brand new cover image. Community admin can set those images to create a better image for the community. We've removed the objetives from the community profile and moved it to its own page. Now users will be able to claim on a dedicated page, where we can keep making this page better.
**Comparison between the old and newer version, notice how actions aren't there anymore**How to earn 🪢
To compensate the changes we've made to the community page, we now have a new page: "How to Earn". This is the first version of this page so feedback is highly appreciated.
This page works great on the mobile, with a side scroll to access each action:
Gravacao.de.Tela.2022-04-25.as.09.39.42.mov
Both pages are accessible from the Dashboard:
Under the hood improvements and bug fixes
- 12 words PDF wasn't downloadable on Brave Browser (#732)
- New empty state for the shop, a little improvement for the Shop 🛍️! More to come! If there is no sales yet users will see a new placeholder (#725)
- Code of Conduct Link. Check the footer (#728)
- Fixes on layout's spacing on Safari (#729)
- As asked by Muda (Alô alô Luiz Hadad e Flávia Macedo!) we also display the date exact number (instead of only "today") on the transfer page (#727)
What's Changed
- Update on-push-action.yml by @lucca65 in #711
- Bump minimist from 1.2.3 to 1.2.6 by @dependabot in #712
- Feature/community favicon by @NeoVier in #709
- Bump urijs from 1.19.10 to 1.19.11 by @dependabot in #723
- Remove axios by @dependabot in #724
- Display date alongside day on transfer page by @NeoVier in #727
- Add empty state to the shop by @NeoVier in #725
- Add a code of conduct link on My Claims by @NeoVier in #728
- Enhancement/how to earn by @NeoVier in #716
- Fix/layout issues from footer by @NeoVier in #729
- Fix profile PDF download and clipboard access on Safari by @NeoVier in #732
Full Changelog: v1.16...v1.17
Shop improvements, new footer, more contact options and more
New features ✨
Shop rework is on the way 🛍 (#690)
This is our first of many releases that will aim at improving the shop experience. Our shop is one of our most used features and one of the oldest as well. Those updates will add features to help users to better use the shop, have an improved product management feature and more.
This release is the first step to this bigger objective of improving the shop and includes a simpler design, less borders, improved space usage and no more text cropping. The shop now looks better on mobile devices and have better contrast so its more easy to read and to look around.
Simpler design can be seem on the product cards, now have a better color contrast and a smaller font size for mobile devices
The buy form is also improved, with a simpler design, works better on mobile and gives a proper attention to the final price. Buyers also have contact information directly from the product page
New footer 👣 (#708)
Footer is also getting a revamp, it now have a new design that will allow us to put more useful information in the future. It now includes a version hash, that can be used by us to properly support our users as this information help us track down exactly what Git's commit the user have. It also always shows the link to our Terms of Services and Conduct Code
Adds terms of services 📑 (#703)
As our communities grew we quickly saw the need to be more clear into what our Terms of Services are, as we hold important information and also have rules about the usage. This is important to be transparent as to what we consider proper conduct on the app. We will prompt you to accept our terms going forward and will always have a link to those information on the footer. If we need to update the terms and conduct code in the future users will have to accept it again. Its mandatory that the terms are accepted and read! Lets take care of our digital lives 💆
Emails and links on contacts 📨 🔗 (#708)
We did a little improvement into our users profile contact information, users can now add a link and an email. This will help sellers to be accessible on more digital addresses. We are preparing more improvements to contacts so it can be even better on the future, stay tuned!
Under the hood improvements and bug fixes
- Fixed a bug where users wouldn't remain logged in after the update (#694)
- Fixed action form bug that prevented actions from being created or saved (#699)
- Fixed a bug that prevented a community from being created properly (#695)
- Fix issue where users couldn't resubmit pin if they provided the wrong pin (#695)
- Create necessary role permission during community creation (#705)
- Rollback #705 as it wasn't really needed (#710)
- Dependency security updates (#696, #698)
What's Changed
- Don't require profile to be loaded if necessary permissions are empty by @NeoVier in #694
- Bump urijs from 1.19.7 to 1.19.8 by @dependabot in #696
- Bump url-parse from 1.5.7 to 1.5.10 by @dependabot in #698
- Add back image parameter to upsertaction transaction by @NeoVier in #699
- Enhancement/shop facelift by @NeoVier in #690
- Fix Form's NoOpt handling by @NeoVier in #695
- Bump urijs from 1.19.8 to 1.19.9 by @dependabot in #700
- Feature/terms of service by @NeoVier in #703
- Bump urijs from 1.19.9 to 1.19.10 by @dependabot in #706
- Enhancement/create default role by @NeoVier in #705
- Feature/community contacts by @NeoVier in #708
Full Changelog: v1.15...v1.16
📣🗞️ News, Authentication, Standard forms and more!
New features ✨
Broadcast is here! (#654) 📰
After a long while working on this, Broadcast is finally here. In Cambiatus we aim to connect people more and more and this is an important step towards that mission. Broadcast allows community admins to keep in touch with their users by adding Rich text communications that can be reacted to.
After a new Communication has been broadcast users that haven't read it yet will see this new banner in their dashboard:
Clicking on it will allow them to see the whole text and react as well:
This are the available reactions:
Improved Emails 📧 💨 (#693)
All those communications also arrive in the users' email once a month! We also improved user's preference, so the users can opt out from receiving our alerts. The preference allows you to choose if you will receive transfer notifications, claim notifications and the new monthly news digest, with the latest news from the community in the past month.
Improved accessibility and standardized Forms (#658) 🧑🦯
All form inputs are now standardized and have a proper documentation for consultation. We had a long problem of poor accessibility on the app, as different designs for form elements depending on the page -- older pages, like the Shop Buy form would use a very bad design and accessibility options. Know more on our Elm Book component pages: https://cambiatus-elm-book.netlify.app/
Celebrate when completing objetives 🎉 (#684)
Completing an objective means the community is actually working towards its goals, we want to give this achievement a little more personality, so we added a new screen for that! We will not spoil this with a print, so go to your community and start celebrating your achievements with us to check out this new screen
New Authentication 🔑 (#680)
This release also includes an important change into our API access. We are a blockchain app so all asset related information and data is safely protected by our EOSIO protocols, but we also have a GraphQL API that can be used by communities to automate and query their data more easily. On this release we revamped how the authentication works and all data is now scoped to the owner of it. Users can only see public information and their own private data.
This affects mutations of data as well. Cambiatus is now more secure than ever 🔒✨
Under the hood improvements and bug fixes
- Dependencies security fixes (#668, #677, #686, #687)
- A bug where the community token information on the "how to earn page" would not load if you started a fresh state (like opening the link directly, instead of navigating to it using the app) (#683)
- We are preparing a big revamp into our permission system and commentary administration. We did some under the hood adjustments ahead of this soon to be released feature (#676)
This is our first 2022 release and we are very proud on how far we've come with those improvements. We have more in store for the next releases! Look out for a rework of our shop, more permission options and native multisig capabilities for all blockchain nerds out there! See you next release!
What's Changed
- Feature/news by @NeoVier in #654
- Bump follow-redirects from 1.13.1 to 1.14.7 by @dependabot in #668
- Bump nanoid from 3.1.23 to 3.2.0 by @dependabot in #677
- Enhancement/forms by @NeoVier in #658
- Initialize community page requesting token data by @NeoVier in #683
- Bump follow-redirects from 1.14.7 to 1.14.8 by @dependabot in #686
- Bump ajv from 6.10.2 to 6.12.6 by @dependabot in #687
- Bump url-parse from 1.5.3 to 1.5.7 by @dependabot in #691
- Enhancement/update auth by @NeoVier in #680
- Feature/celebrate objective by @NeoVier in #684
- Enhancement/contract update by @NeoVier in #676
- Feature/update notification preferences by @NeoVier in #693
Full Changelog: v1.14...v1.15
Sponsorship and Accessibility improvements
New features ✨
💰 Sponsorship (#613)
Cambiatus now supports fiat sponsorship. Community admins can ask us to enable this. Users will be prompted if they want to contribute with any amount that they want. This is the first private-beta version so there is still a lot to be done and improved upon!
New Dashboard and login pages
After a period of experimentation with a revamp into our design and features available in the dashboard, we are launching a new design for our platform. This release includes updates for:
- Dashboard
- Login
- Register
- Invite
New login with improved contrast and font size
New Dashboard with improved readability and space usage
Those pages received new accessibility options, including improvements on readability, font proportion, color balance changes and a more fluid process for screen readers. We are working to improve our forms and elements even more so keep an eye out for future improvements!
New state for claims
Previously we could have an edge case with claims: Claims opened, waiting for votes would get stuck if the action they correspond to was completed or closed. Before it resulted in a claim that could not receive votes, but would still have their buttons available, sending you an error if you tried to vote on them. Now we have a new state cancelled. This will ensure some errors stop happening!
Bug catching 🐞
- Fix issue that caused some shop products to appear as having no images (#656)
- Fixed a bug that caused subscriptions to be incorrectly handled, generating unnecessary error reporting (#652)
- Reload member list on transfer, that was causing trouble for logged users that tried to transfer to newly joined users (#650)
Rich text, masks and quicker search
New features
📖 Rich text with Markdown is here! (#619)
One of our most requested feature, now you can add rich text to several different places of your community. Rich text will allow users to greatly customize their product descriptions, community objetives, profiles and more!
Here is a list of all the places changed:
- Action photo proof instructions
- Claiming action
- Editing action
- Action description
- Claim card
- Claim modal
- Claim page
- Editing action
- Claiming action
- "How to earn" page
- Community description
- Editing community info
- New community page
- "How to earn" page
- Join page
- Objective description
- "How to earn" page
- Objective editor
- Claim page
- Transfer memo
- "Transfer to a friend" page
- Dashboard
- Private profile (transfer list)
- Transfer page
- Shop memo
- "Buy product" page
- Product description
- "Create offer" page
- Product page
- Profile Bio
- Edit profile page
- Public/private profile page
😪 Phew! Thats a lot! We are excited about this feature and eager to see how our users will be creative about it! 🎨
🔍 Improved Search (#636)
Search is much better now, you will get results as you type! We believe this will make the search much more useful to everyone! You just need to type the 2nd character and we will begin the look! 🕵️
🎭 Input masks are here! (#634)
Now all currency inputs will be formatted by you, automagically depending on your community token precision. This means its easy to follow specific precisions like 45.987001 with the app actually formatting it for you as you type. This is a nice contribution for the Elm community by our dev @NeoVier on his new package https://github.com/NeoVier/elm-mask
Make sure to star the repo!
⛓️ Added block explorer link (#623)
Now, on the profile you can quickly access the users' blockchain account on the block explorer. Since Cambiatus is a blockchain app, this will help to bring transparency and show more info that is not always as easy to consume on our app.
👁️ Pin now is hidden by default (#628)
A simple change, but now our app will, by default, hide the PIN numbers, you can still click the 👁️ icon to toggle the visibility of what you are typing
Fixes
- Fixed a bug where the "No one" tag would not show on some claims (#627)
- Fixed a desktop issue with the mouse over for a profile, that would not trigger the element correctly (#629)
- Fixed register page looks on certain android screen sizes (#635)
- Added date picker to the action creation form, no more errors inputing the date! (#641)
Under the hood improvements
- Some improvements for our Input modules (#624)
- Improvements on our Plausible usage, that provides privacy-first metadata that don't get your personal data, only app usage (#626)
- Improvements to our modal behaviors (#631)
- Security fixes (#633, #637)
- Improved load time of the app, by only asking certain data when needed (#643)
Improved Transfers and User search
New features
- New transfers list layout #587
- Transfer list is now community aware, so you will have to change communities to check all of your transfers across communities #587
- Its now possible to filter by: date, by direction (if you are receiving or sending a transfer) and by the other party (depending on the direction) #587
- Infinite scroll, no need to click on "Load more", now we do that automatically as you scroll down the list of transfers #587
- Improved date formatting, now you will see stuff like "Today", "Yesterday", "1 month ago" and similar text #587
- Display balance while transferring. Now its easier to know how many tokens you have when you are doing a normal transfer #605
- Add South Africa as a supported country for contact information #605
- Check what is the maximum value a user can transfer, so you don't have to submit a transfer that will 100% fail #605
- User search is here! Now you are able to query for actions, products and now users! This have all kind of reverberations like being easy to find a friend and to also spot duplicate accounts. #608
- Users can now check their own profile for extended info about their activities in the app: transfer list, number of transfers, number of claims, number of products on the shop, member since and last transfer date #608
New features for admins
Admins will enjoy all the other changes, but we have some new here just for them:
- Now admins can check certain activities all users from the community do. Users will be able to see their own data, but admins can see data from all communities #608
- We dropped the character limit for some of the text inputs on the app, you can now use more than 256 characters on: objective description, action description, community description, product description, and action photo proof instructions (that is displayed during claims with photos). #601
Fixes
- Fix positioning issues with Profile Summary #587
- Make our app more capable of handling different timezones throughout the world #587