unison
unison copied to clipboard
unison share hosting FS0 megaticket
Before public release:
- [x] Fix handling of
%2Fwhen fetching definitions; https://github.com/unisoncomputing/enlil/issues/47 @tstat - [x] Include 'requestID' in error responses so users can point us at the appropriate logs. @mitchellwrosen
- [x] #3177
- [x] review https://github.com/unisonweb/unison/pull/3103
- [ ] ~#3189~
- [ ] ~validate / futureproof / document the plan for transitioning to project-based push/pulls incl syntax if applicable — @aryairani + @hojberg + ???~
- [x] #2911
- [x] Logging dashboard @ChrisPenner + @stew / @ceedubs
- [x] Update base path in welcome flow from
unison.public.dev.base.trunk->unison.public.base.mainhttps://github.com/unisonweb/unison/pull/3212
To triage:
(nothing here)
Performance:
- ~[] MsgPack, or some sort of wire-format change (currently base-
encoded JSON, which is slow to encode/decode)?~ https://github.com/unisonweb/unison/issues/3291
Can be after release:
- [ ] pre-check for fast-forwardiness using
Q.before@mitchellwrosen- looked into this; it is plenty fast without, but might still make sense to do?
- [ ] Discuss adding share-wide search by copying name-lookup-indexes into a global postgres table. - @ChrisPenner
- This enables cross-user search and a proper catalog page (which doesn't 404 when a project gets deleted).
- Potentially we could move some of the sqlite name index queries to use this instead IFF it's an NFS bottleneck, but that's just a bonus.
- [ ] do we want an all-sql ff path verification check instead of in-haskell?
- [x] environment variable for enabling
Timings - [ ] Fix "no table named term_name_lookup" error which occurs when querying an empty codebase.
- [ ] use codeserver discovery document to branch on protocol/client version in its response
- [ ] implement proper Refresh token approach (server) to avoid needing to re-auth very often — @ChrisPenner convert to ticket & add description
- [x] #3130
- [x] Rather than committing transcript codebase, construct it using a normal ucm transcript. @ChrisPenner
- [ ] decide on plan for migrating enlil codebases when the time comes
- [ ] automated mechanism for setting up postgres dbs on staging / nightly
- [ ] automated mechanism for upgrading/migrating postgres db for future releases
- [ ] take another look at streaming request/response
- [ ] auto-deploy enlil trunk to staging server / nightly?
- [ ] review 1d1a963ed18e80ca476ecacd4a62516457534eb8 and apply changes to server impl too if we like it
- [ ]
historyapi for fetching recent codebase 'push' events- [ ] decide on logging schema and add to relevant apis
- #3085
- #3004
- what about getting old/immutable versions of stuff?
- [ ] Improve the
browseendpoint; either by selectively loading names according the actual definitions we're fetching, or by moving the names index to postgres. - [ ] Move share-next -> share; and update URLs in Enlil
Notes
https://www.notion.so/unisonweb/Share-APIs-Feature-Set-0-1f7b4aeb81e54c8f9e0252a6dee4e982 https://lanes.io/u/cWc0DbQq9
@aryairani here's a few items I have:
Before dogfooding:
UI
- [x] Can't close the last item in the workspace
Don't know which category this fits in
- [x] 500 app error on SQLite lock https://github.com/unisonweb/unison/pull/3091
Before public release
UI
- [x] Namespace details in Perspective disappear when opening a definition
- [x] Avatar border for contrast
- [x] Slow main nav header animation
- [x] Missing hover on User summary in sidebar
- [x] User avatar and name in the sidebar should be truncated for long names
- [x] User search should show name in addition to handle
- [x] Mobile support
- [x] Support footer in workspace better to avoid weird scroll
- [x] Can't close definitions with "x" on the keyboard
- [x] Hookup the buttons on
/accountto create a support ticket - [x] Copyright and links in footer
- [x] Terms of services page
- [x] Privacy policy page
Before public release
ToS & privacy policy
- [ ] @runarorama to review terms of service and privacy policy, make any notes and edits
- [ ] @pchiusano to finalize ToS, send to @hojberg for HTML-ificiation
- [x] some kind of wrong error message, in place of "you said push.create but there was already something there"
.temp.test1> push.create test.public
⚠️
It looks like someone modified test.public an instant before
you. Pull and try again? 🤞
- [x] "you are bad" can mean "I don't see a
test1in the current namespace."
.temp.test1> push.create test.public test1
Encountered exception:
you are bad
CallStack ( from HasCallStack ) :
error
.temp.test1>
- [x] missing a
.
.temp.pull.test1> push test2
⚠️
The server said you don't have permission to read test2
- [x] pushing seems to strip off the first name segment (want to do the thing with "public" instead)
- [x] actually call
CodebaseOps.updateNameLookupIndex - [x] "no read permission" when trying to read non-your codebase non
.publicnamespace - [x] pushing base m3 sometimes we get the sql error sometimes
- [ ] pulling test.b.c triggered branch parse error
getBranchFormat"
, err = "too few bytes
From:\x9demandInput
Before public release
- [x] Support the Unison organization, such that users can browse and download
unison.base
- [ ] follow-up on https://github.com/unisoncomputing/enlil/pull/30/files#r890412219
- [ ] get CI green going for the
enlilsync branch
- [ ] review 1d1a963ed18e80ca476ecacd4a62516457534eb8 and apply changes to server impl too if we like it
FAQ
- Why don't we allow pushing outside of
public? We haven't worked out hiding private stuff on the front-end.
Adding a few "Before public release" UI items:
- [x] Setup metrics
- [x] Welcome terms modal
- [x] Empty codebase instructions
- [x] Good Pager Duty rotation setup
Before release:
- [x] Mobile support for Share UI
@aryairani is this ticket still worth keeping around?