* integrating new plc lib
* patching up did-resolver
* buffing up pds tests
* didResolver on ctx & plc in postgres
* bring dev env up to date
* re-add extension for linting
* tidy
* use current env vars
* pr feedback
* Add helper to consume subscription message frames
* Implement xrpc subscription consumer
* Simplify subscription consumer params
* Remove duped test
* Reconnect to subscription on initial setup
* Add reconnect hook on subscription, for logging
* Make subscription consumption cancelable
* Include error information in sub reconnect hook
* Yield info frames in byMessage()
* Separate app.bsky methods out into app view
* Fix websocket issue while splitting-out app view
* Start organizing app-view tables out of pds
* Move feed service, getTimeline, vote table into app-view
* Move record processing/indexing logically out of pds and into app-view
* Pull actor service functionality into app-view
* Factor app-view user functionality out of pds, replace actor w/ account service
* Tidy
* mst: more test coverage
In particular, ports the older fanout=32 corner-case tests to fanout=16.
I generated new paths with correct level and ordering, but haven't
actually verified that the resulting structures have the shape of the
ASCII diagrams in text.
* mst: additional comments, including TODO questions
* mst: default new MST layer to 'null' not 0
Looks like all current call sites of this 'create()' function override
the layer already. This is just making it explicit that the default,
null, means the layer has not been computed yet, distinct from being
layer=0.
* mst: remove one TODO and reformat another
From review.
* Add lexicon for post embeds
* Model post embeds
* Handle and present post embeds
* Test and tidy post embeds
* Generalize post embeds to record embeds
* Tidy
* change pkey on user table to did & rename to user_account
* migration
* tidy
* fixes suggested by bryn
* missed merge thing
* some updating hanldes
scheams
* impl + passing test
* more handle tests
* tidy
* update did doc + some new tests
* one more test
* test handle casing
* basic support for dns resolution on handles
* handle resolution
* fix up account create
* tsconfig
* workshop handle constraints
* bring pds up to speed w handle changes
* change dns subdomain
* another lil test
* bugfix
* update dns record format
* typo
* pds: fix logging of Bearer auth subject (DID)
* xrpc-server: handle missing and mangled Content-Type better
Eg, for blob uploads.
Also adds a test for incorrect mimetype supplied for a regular endpoint
(one not allowing "*/*").
* skip failing test
---------
Co-authored-by: dholms <dtholmgren@gmail.com>
* Add lexicon for getProfiles
* Split out presentation of profiles, implement getProfiles, test
* Cull actor/profile view lexicons down to three variants
* Map viewer in profile view, mark todos, lex tweak
* Apply basic profile view to methods, lex fix
* Switch searchTypeahead to actor-with-info view
* Switch getVotes to actor-with-info view
* Switch getMutes to actor-with-info view
* Switch getFollows and getFollowers to actor-with-info view
* Switch getRepostedBy to actor-with-info view
* Switch feed and notification views to use updated actor-with-info view
* change pkey on user table to did & rename to user_account
* migration
* tidy
* fixes suggested by bryn
* missed merge thing
* some updating hanldes
scheams
* impl + passing test
* more handle tests
* tidy
* update did doc + some new tests
* one more test
* test handle casing
* Fix did pkey down migration
---------
Co-authored-by: Devin Ivy <devinivy@gmail.com>
* Initialize post_hierarchy index
* Build post_hierarchy index from posts
* Power getPostThread method with post hierarchy index
* Generate ancestor reply notifications, fix tests and down migration
* Generate notifications for all reply ancestors
* pds sql: add indices for feed and post aggregations
Seems like aggregations/stats/counts are likely to get changed up in the
near term future, but in the very short term, these simple index
additions yielded non-trivial speedups even at small database sizes, in
my laptop testing.
* pds migration: fix index drops in 'down'
* handle: disallow new 2-char handle registration
This should not impact existing handles, only new registrations.
We discussed blocking these to prevent possible future URL path
collisions with, eg, ISO country or language codes.
* handle: reserve some more famous handles
This isn't the full list of thousands of twitter handles that have more
than 5 million or more than 1 million followers. Instead, it is only the
top 100 or so, plus a handful of additional top-50 instagram accounts (when
different), and a couple recent famous figures. Pretty subjective.
* handle: overall and segment lengths; enforce ASCII; test dashes
The 'address' package we are using to check domains doesn't seem to do
any overall length checks. The values and examples i'm testing here are
based on general domain limits. Technically a web domain could be 255,
it is email domains limited to 253 chars, but that seems like a
reasonable value to cut off at.