Closed sync-by-unito[bot] closed 2 years ago
➤ James Chien commented:
Need backend support first
➤ Sam commented:
James Chien is there any update on backend support?
➤ Sam commented:
Tammy Yang while backend is being prepared. I will develop things needed on capture-lite side.
I don't see any UI proposals so I come up with copy solution from Discord. I remember on discord when there is a new update they always show dialog (on app launch) to see attachments
➤ Sam commented:
Tammy Yang here is the proposal for UI and logic on the capture-lite part.
When a user launches the app
If there and update use will see something like this https://imgur.com/jDMZq26 ( https://imgur.com/jDMZq26 ) they will read and scroll down at the end we show Dismiss or Update app button
I think fetching markdown text from backend is convenient because styling (sample ( https://co-pilot.dev/static/checklists/changelog/examples/vue-cli.png )) can be done on backend with markdown text and capture-app just display the markdown with ngx-markdown ( https://jfcere.github.io/ngx-markdown/get-started ) library
Let me know if this approach is okay.
Also James Chien what backend api will provide?
➤ James Chien commented:
Sam Here's the backend API for retrieving app update version info. Currently it is hardcoded on dev site, but it will be editable with admin account later in the incoming release.
https://dia-backend-dev.numbersprotocol.io/api/v3/redoc/#operation/services_app_info ( https://dia-backend-dev.numbersprotocol.io/api/v3/redoc/#operation/services_app_info )
latest_app_version: will be version string, ex. 0.39.1 update_urgency: I think we can have multiple levels of update urgency, so I make 3 possible values for this field, low, high, critical
I think we don't have to implement all types on App side in this sprint, they are just my proposal on the complete feature.
For pulling changelogs, I believe it's a good idea, but we will need some flow to automated the changelog updates and make sure it is in sync with the changelog on App Store and Play Store (we should use this changelog which is written for users instead of the changelog written for developers)
How about we make the scope of this task small, implement the notify prompt and direct user to store update page without showing detailed changelog?
➤ Sam commented:
if the user has a high priority update I show a dismissible popup. https://imgur.com/tnGaDGw ( https://imgur.com/tnGaDGw ) TITLE = "Important updates are available!" (重要更新可用!) SUBTITLE = "Please update the app for proper functioning." (請更新應用程序以使其正常運行。) CANCEL = "REMIND ME TOMORROW" (明天提醒我) OK = "UPDATE NOW" (現在更新)
if user has a critical priority update I show a non dismissible popup https://imgur.com/opVRwtW ( https://imgur.com/opVRwtW ) TITLE = "Critical updates are available!" (重要更新可用!) SUBTITLE = "Please update the app for proper functioning." (請更新應用程序以使其正常運行。) OK = "UPDATE NOW"(現在更新)
Tammy Yang if ui proposal and text is okay I will ask Sofia to check translations.
➤ Tammy Yang commented:
Sam a quick confirmation When the notification will be sent? (Not all updates, right? 😆)
➤ Sam commented:
Tammy Yang Notifications are not sent. 😅
When app starts
So if we don’t want to show notification for any update we can set urgency as low (from backend)
Only high and critical shows the update modal
➤ Sam commented:
Sofia Yan, can you please check these google translations ( https://app.asana.com/0/0/1202336207204524/1202402976378831/f ) 😅
➤ James Chien commented:
Just to make sure, if the app fails to fetch app version from backend due to bad network connectivity, it won't show anything and user can use the app normally, right?
➤ Sam commented:
James Chien good point will wrap to try-catch block 🙂
➤ Sam commented:
Here is the pull request ( https://github.com/numbersprotocol/capture-lite/pull/1689 ) maybe for James Chien
User Story: as a Capture app user, I want to be notified that I can upgrade the App and get latest feature when I open the App. If there are breaking changes make old App unusable, the App can enforce redirection to upgrade page instead of let me use broken functionality.
┆Issue is synchronized with this Asana task by Unito ┆Created By: James Chien