diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..84a0b859 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,14 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + + +## [Unreleased] + + +## [0.1.2] - 2023.11.01 +### Added +- Basics: create ID, record a give, declare a project, search, and get notifications. diff --git a/README.md b/README.md index 93c1b8dd..76c09f32 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ # kickstart-for-time-pwa ## Project setup + +We have pkgx.dev set up in package.json, so you can use `dev` to set up the dev environment. + ``` npm install ``` @@ -23,6 +26,12 @@ npm run build npm run lint ``` +## Tests + +### + +For your own web-push tests, change the 'vapid' URL in App.vue, and install apps on the same domain. + ### Test key contents See [this page](openssl_signing_console.rst) @@ -86,15 +95,6 @@ Clear cache for localhost, then go to http://localhost:8080/start -## Dependencies - -See https://tea.xyz - -| Project | Version | -| ---------- | --------- | -| nodejs.org | ^16.0.0 | -| npmjs.com | ^8.0.0 | - ## Other ### Reference Material diff --git a/project.task.yaml b/project.task.yaml index e562137a..779df7bb 100644 --- a/project.task.yaml +++ b/project.task.yaml @@ -1,23 +1,18 @@ tasks: -- 08 Scan QR code to import into contacts assignee:matthew - - SEE - https://github.com/gruhn/vue-qrcode-reader - - in endorser-push-server - mount folder for persistent sqlite DB outside of container -- test alerts on all pages -- or refactor to new "notify" (since AlertMessage refactoring may require a change, et. ContactQRScanShowView) -- .2 bug - on contacts view, click on "to" & "from" and nothing happens - 40 notifications : - push, where we trigger a ServiceWorker(?) in the app to reach out and check for new data assignee:matthew - 01 Replace Gifted/Give in ContactsView with GiftedDialog assignee:matthew - 01 fix the Discovery map display to not show on top of bottom icons (and any other UI tweaks on the map flow) assignee-group:ui +- .1 add instructions for map location selection -- 01 Show pop-up or some message confirming that settings & contacts download has been initiated/finished assignee:matthew assignee-group:ui +- 01 Show pop-up or some message confirming that settings & contacts download has been initiated/finished -- 01 Ensure each action sent to the server has a confirmation - eg registration (ie a toast something that dismisses after 5-10s) assignee-group:ui - - SEE: https://github.com/emmanuelsw/notiwind assignee:jose assignee-group:ui +- 01 Ensure each action sent to the server has a confirmation - eg registration (ie a toast something that dismisses after 5-10s) - Home Feed & Quick Give screen : - 01 save the feed-viewed status in settings storage ("afterQuery") @@ -26,29 +21,34 @@ tasks: - 24 Move to Vite assignee:matthew -- .2 Edit Plan does not have icons across the bottom assignee-group:ui -- .5 include the hash of the latest commit, and maybe a version +- .5 switch so DiscoverView shows anywhere by default, and no number unless search is done (and maybe a better filter UI, including "mine" to consolidate with ProjectsView) +- .2 fit as many icons as possible on home & project view screens but only going halfway down the page assignee-group:ui +- .5 Add infinite scroll to gifts on the home page +- .5 bug - search for "Safari" does not find the project, but if already on the "Anywhere" tab it shows all +- .2 figure out why endorser-mobile search doesn't find recently created PlanAction +- .1 when creating a plan, select location and then make sure you can deselect on Android - .5 add link to further project / people when a project pays ahead -- .5 add project ID to the URL, to make a project publicly-accessible -- .5 remove edit from project page for projects owned by others +- .5 add project ID to the URL of the project-view, to make a project publicly-accessible - .5 fix where user 0 sees no txns from user 1 on contacts page but sees them on list page -- .2 on ProjectViewView, show different messages for "to" and "from" sections if none exist assignee-group:ui -- .2 fix static icon to the right on project page (Matthew - I've made "Rotary" into issuer?) assignee:jose assignee-group:ui +- .2 on ProjectViewView, show different messages for "to" and "from" sections if none exist - .2 fix rate limit verbiage (with the new one-per-day allowance) assignee:trent - .1 remove the logic to exclude beforeId in list of plans after server has commit 26b25af605e715600d4f12b6416ed9fd7142d164 - .2 in SeedBackupView, don't load the mnemonic and keep it in memory; only load it when they click "show" +- .1 Make give description text box into something that expands as they type +- .1 Make contact info specific to Time Safari - rather pointing at CommunityCred.org - Discuss whether the remaining tasks are worthwhile before MVP release. - 04 allow user to download claims, mine + ones I can see about me from others -- .5 change the derivation path, and regenerate test IDs - 02 allow user to create new DIDs from the same seed phrase (ie. increment derivation path) -- .5 on ProjectView page, show immediate feedback when a gift is given (on list?) -- and consider the same for Home & Contacts pages assignee-group:ui +- .5 on ProjectView page, show immediate feedback when a gift is given (on list?) -- and consider the same for Home & Contacts pages - .5 customize favicon assignee-group:ui -- .5 Do we want to combine first name & last name? -- .2 Show a warning if both giver and recipient are the same (but still allow?) assignee-group:ui +- .2 Show a warning if both giver and recipient are the same (but still allow?) - 01 Would it look better to shrink the buttons on many pages so they don't expand to the width of the screen? assignee-group:ui -- .5 Display a more appealing confirmation on the map when erasing the marker assignee-group:ui +- .5 Display a more appealing confirmation on the map when erasing the marker +- .5 make a VC details page +- .1 Add units or different icon to the coins (to distinguish $, BTC, hours, etc) +- .1 remove firstName (& lastName) from localStorage - contacts v+ : - 01 Import all the non-sensitive data (ie. contacts & settings). @@ -57,6 +57,7 @@ tasks: - stats v1 : - 01 show numeric stats + - 04 show different graphic for projects vs people on world - 01 link to world for specific stats - .5 don't load another instance of a bush if it already exists - maybe - allow type annotations in World.js & landmarks.js (since we get this error - "Types are not supported by current JavaScript version") @@ -72,6 +73,11 @@ tasks: - Test PWA features on Android and iOS. blocks: ref:https://raw.githubusercontent.com/trentlarson/lives-of-gifts/master/project.yaml#kickstarter%20for%20time +- .5 show seed phrase in a QR code for transfer to another device + +- 32 accept images for projects +- 32 accept images for contacts + - linking between projects or plans : - show total time given to & from a project - terminology: diff --git a/src/components/GiftedDialog.vue b/src/components/GiftedDialog.vue index d06d3342..f803046d 100644 --- a/src/components/GiftedDialog.vue +++ b/src/components/GiftedDialog.vue @@ -2,7 +2,7 @@
- - - -This identity has no contacts.
+ + @@ -211,11 +251,17 @@ import { AxiosError } from "axios"; import * as didJwt from "did-jwt"; import * as R from "ramda"; + +import { NotificationIface } from "@/constants/app"; import { IIdentifier } from "@veramo/core"; import { accountsDB, db } from "@/db/index"; import { Contact } from "@/db/tables/contacts"; -import { MASTER_SETTINGS_KEY } from "@/db/tables/settings"; -import { accessToken, SimpleSigner } from "@/libs/crypto"; +import { MASTER_SETTINGS_KEY, Settings } from "@/db/tables/settings"; +import { + accessToken, + getContactPayloadFromJwtUrl, + SimpleSigner, +} from "@/libs/crypto"; import { GiveServerRecord, GiveVerifiableCredential, @@ -225,27 +271,24 @@ import { import { Component, Vue } from "vue-facing-decorator"; import QuickNav from "@/components/QuickNav.vue"; import EntityIcon from "@/components/EntityIcon.vue"; +import { Account } from "@/db/tables/accounts"; // eslint-disable-next-line @typescript-eslint/no-var-requires const Buffer = require("buffer/").Buffer; -interface Notification { - group: string; - type: string; - title: string; - text: string; -} - @Component({ components: { QuickNav, EntityIcon }, }) export default class ContactsView extends Vue { - $notify!: (notification: Notification, timeout?: number) => void; + $notify!: (notification: NotificationIface, timeout?: number) => void; activeDid = ""; apiServer = ""; contacts: Array