tasks:

- 40 notifications :
  - push, where we trigger a ServiceWorker(?) in the app to reach out and check for new data assignee:matthew
  - extract private_key_hex in py-push-server webpush.py
  - lock down regenerate_vapid endpoint (so only we admins can do it on demand)
  - remove sleep in py-push-server app.py

- .3 fix the Project-location-selection map display to not show on top of bottom icons (and any other UI tweaks on the map flow) assignee-group:ui

- .5 Add infinite scroll to gifts on the home page

- .5 If notifications are not enabled, add message to front page with link/button to enable

- show VC details... somehow:
  - .5 make a VC details page, or link to endorser.ch (including confirmations)
  - 01 allow download of each VC (& confirmations, to show that they actually own their data)
  - 04 allow user to download VCs, mine + ones I can see about me from others
  - add VC confirmation?

- Release Minimum Viable Product :
  - generate new webpush.db entry, webpush.py private_key_hex & subscription_info & vapid_claims email
  - .5 deploy endorser.ch server above Dec 1 (to get plan searches by names as well as descriptions)
  - 08 thorough testing for errors & edge cases
  - 01 ensure ability to recover server remotely, and add redundant access
  - Turn off stats-world or ensure it's usable (eg. cannot zoom out too far and lose world, cannot screenshot).
  - Add disclaimers.
  - Switch default server to the public server.
  - Deploy to a server.
  - Ensure public server has limits that work for group adoption.
  - Test PWA features on Android and iOS.
  blocks: ref:https://raw.githubusercontent.com/trentlarson/lives-of-gifts/master/project.yaml#kickstarter%20for%20time

- make identicons for contacts into more-memorable faces (and maybe change project identicons, too)
- allow some gives even if they aren't registered
- .5 Add start date to project
- .3 check that Android shows "back" buttons on screens without bottom tray
- .1 Make give description text box into something that expands as they type?
- .5 customize favicon 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
- .5 include the hash of the latest commit on help page next to version (maybe Trent's git-hash branch)
- .5 remove references to localStorage for projectId (now that it's pulling from the path)
- bug (that is hard to reproduce) - on the second 'give' recorded on prod it showed me as the agent
- switch some checks for activeDid to check for isRegistered
- .2 in SeedBackupView, don't load the mnemonic and keep it in memory; only load it when they click "show"
- .5 fix cert generation on server (since it didn't happen automatically for Nov 30)
- contacts v+ :
  - 01 Import all the non-sensitive data (ie. contacts & settings).
  - .2 show error to user when adding a duplicate contact
  - 01 parse input more robustly (with CSV lib and not commas)
- stats v1 :
  - 01 show numeric stats
  - 04 show different graphic for projects vs people (gnome?) 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")
  - 08 convert to cleaner implementation (maybe Drie -- https://github.com/janvorisek/drie)

- .5 show seed phrase in a QR code for transfer to another device
- .5 on DiscoverView, switch to a filter UI (eg. just from friend
- .5 don't show "Offer" on project screen if they aren't registered

- 24 Move to Vite
- 32 accept images for projects
- 32 accept images for contacts

- linking between projects or plans :
  - show total time given to & from a project
  - terminology:
    - for subtasks: fulfills (is it really the same?), feeds, contributes to, supplies, boosts, advances
    - for blocking: blocks, precedes, comes before, is sought by -- vs follows, seeks, builds on ("contributes to" isn't specific enough, "succeeds" has different, possibly confusing meaning)

- .5 add "back" button to all screens that aren't part of the bottom tray
- .5 fit as many icons as possible on home & project view screens but only going halfway down the page assignee-group:ui
- .5 Replace Gifted/Give in ContactsView with GiftedDialog

- Stats :
  - 01 point out user's location on the world
  - 01 present a credential selected from the stats
  - 04 show gives spreading to other places
  - badge for most gives/receives/confirms per day/week/month
  - badge for amount given/offered to your project
  - set a goal of given/offers

- automated tests, eg. cypress

- Notifications (wake on the phone, push notifications)

- Connect with phone contacts

- Multiple identities

- Support KERI AIDs
- Support Peer DIDs
- Support messaging through DIDComm
- Write to or read from a different ledger (eg. private ACDC, EAS & attest.sh)

- Do we want split first name & last name?

- 40 notifications v+ :
  - pull, w/ scheduled runs

- 01 On nearby search, if user starts changing their box but cancels and goes back to the map it is zoomed far out. Fix to fit the box better.
- 16 From the home screen, make the quick action even easier.

log:
- videos for multiple identities https://youtu.be/p8L87AeD76w and for adding time to contacts https://youtu.be/7Yylczevp10 done:2023-03-29
- project lists, contact totals & actions, multiple identifiers, stats-world, activity feed, rename of this project file (use "--follow --") milestone:2 done:2023-06-27