unison icon indicating copy to clipboard operation
unison copied to clipboard

unison share hosting FS0 megaticket

Open aryairani opened this issue 3 years ago • 13 comments

Before public release:

  • [x] Fix handling of %2F when 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.main https://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
  • [ ] history api 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 browse endpoint; 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 avatar Feb 16 '22 20:02 aryairani

@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 /account to create a support ticket
  • [x] Copyright and links in footer
  • [x] Terms of services page
  • [x] Privacy policy page

hojberg avatar May 26 '22 17:05 hojberg

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

pchiusano avatar May 26 '22 19:05 pchiusano

  • [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? 🤞

aryairani avatar Jun 01 '22 19:06 aryairani

  • [x] "you are bad" can mean "I don't see a test1 in the current namespace."
.temp.test1> push.create test.public test1          
Encountered exception:
you are bad
CallStack ( from HasCallStack ) :
   error
.temp.test1>

aryairani avatar Jun 01 '22 20:06 aryairani

  • [x] missing a .
 .temp.pull.test1> push test2                                               

  ⚠️
  
  The server said you don't have permission to read test2

aryairani avatar Jun 01 '22 20:06 aryairani

  • [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 .public namespace
  • [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

aryairani avatar Jun 01 '22 21:06 aryairani

Before public release

  • [x] Support the Unison organization, such that users can browse and download unison.base

hojberg avatar Jun 03 '22 21:06 hojberg

  • [ ] follow-up on https://github.com/unisoncomputing/enlil/pull/30/files#r890412219
  • [ ] get CI green going for the enlil sync branch

aryairani avatar Jun 06 '22 18:06 aryairani

  • [ ] review 1d1a963ed18e80ca476ecacd4a62516457534eb8 and apply changes to server impl too if we like it

aryairani avatar Jun 07 '22 21:06 aryairani

FAQ

  • Why don't we allow pushing outside of public? We haven't worked out hiding private stuff on the front-end.

aryairani avatar Jun 13 '22 15:06 aryairani

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

hojberg avatar Jun 16 '22 20:06 hojberg

Before release:

  • [x] Mobile support for Share UI

hojberg avatar Jul 05 '22 18:07 hojberg

@aryairani is this ticket still worth keeping around?

hojberg avatar Dec 22 '23 19:12 hojberg