modify-pds
88 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b286cd1a84 |
Version packages (#2305)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
2267f1ec48 |
Add client-set proxy headers to PDS (#2251)
* tidy bsky auth * hook up new auth verifier * update auth throughout ozone * handle mod signing keys * add client proxy heads to pds * hook up rest of routes * simplify pipethrough & add some SSRF protection * tests * fix bad var * fix key parsing in pds * fix admin auth test * rename test * add pipethrough to write routes * update did doc id values * null creds string -> `none` * fix fetchLabels auth check * ✨ Add a couple more proxied requests that we use in ozone ui * Add runit to the services/bsky Dockerfile (#2254) add runit to the services/bsky Dockerfile * Improve tag detection (#2260) * Allow tags to lead with and contain only numbers * Break tags on other whitespace characters * Export regexes from rich text detection * Add test * Add test * Disallow number-only tags * Avoid combining enclosing screen chars * Allow full-width number sign * Clarify tests * Fix punctuation edge case * Reorder * Simplify, add another test * Another test, comment * Version packages (#2261) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * 🐛 Increment attempt count after each attempt to push ozone event (#2239) * Ozone delegates email sending to actor's pds (#2272) * ozone delegates email sending to user's pds * lexicon: add content field to mod email event * test email sending via mod event * fix auth verifier method * build branch * fix url check * better error handling for get account infos * fix labeler service id * fix iss on auth headers * fix dev-env ozone did * fix tests & another jwt issuer * ozone: fix ip check * fix aud check on pds mod service auth * tidy * fix pipethrough of headers --------- Co-authored-by: Foysal Ahamed <foysal@blueskyweb.xyz> Co-authored-by: Jake Gold <52801504+Jacob2161@users.noreply.github.com> Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: devin ivy <devinivy@gmail.com> |
||
|
|
582109cb03 |
Ozone ACLs (#2252)
* tidy bsky auth * hook up new auth verifier * update auth throughout ozone * handle mod signing keys * fix bad var * fix key parsing in pds * fix admin auth test * rename test * update did doc id values * null creds string -> `none` * fix fetchLabels auth check * ✨ Add a couple more proxied requests that we use in ozone ui * Add runit to the services/bsky Dockerfile (#2254) add runit to the services/bsky Dockerfile * Improve tag detection (#2260) * Allow tags to lead with and contain only numbers * Break tags on other whitespace characters * Export regexes from rich text detection * Add test * Add test * Disallow number-only tags * Avoid combining enclosing screen chars * Allow full-width number sign * Clarify tests * Fix punctuation edge case * Reorder * Simplify, add another test * Another test, comment * Version packages (#2261) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * 🐛 Increment attempt count after each attempt to push ozone event (#2239) * Ozone delegates email sending to actor's pds (#2272) * ozone delegates email sending to user's pds * lexicon: add content field to mod email event * test email sending via mod event * fix auth verifier method * better error handling for get account infos * fix labeler service id * fix iss on auth headers * fix dev-env ozone did * fix tests & another jwt issuer * ozone: fix ip check * fix aud check on pds mod service auth * tidy --------- Co-authored-by: Foysal Ahamed <foysal@blueskyweb.xyz> Co-authored-by: Jake Gold <52801504+Jacob2161@users.noreply.github.com> Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: devin ivy <devinivy@gmail.com> |
||
|
|
f65de89eed |
Feature: Appview v2 (#1924)
* add buf & connectrpc, codegen client * lint * prettier ignore * fix prettier ignore * tidy & add tests * filler commit * rm filler * server boilerplate * follows impl * posts impl * posts & likes impl * repost impl * profiles & handle null values * list impl * mutes impl * blocks impl * misc * feed gen impl * label impl * notifs impl * feeds impl * threads impl * early sketchwork * wip * stub out thick client * in-progress work on hydrator * tweak * hydrate profile labels, detail lists * feedgen hydration * protobuf tweaks * more protobuf tweaks * wip * snake case * moar snake case * tidy actor hydration * tidy parsing * type fixes, renaming, comments in hydrator * hydrate list items and likes * hydrate notifications * feed hydration * graph & label hydration * more record protobufs * pluralize * tweak pbs * use new methods * Setup dataplane grpc client/mock server (#1921) * add buf & connectrpc, codegen client * lint * prettier ignore * fix prettier ignore * tidy & add tests * add record getter mocks * post view hydration * fix up mock dataplane to match new protos * missed one * wire up dataplane in ctx & dev-env * adding some basic views * feed hydration, add blocks to post hydration * pass over notification hydration * tidy * merge * implement getProfile * hydrate post aggregation and viewer state * fix * fix codegen * get some tests passing! * add takedowns & some like bugfixing * all profile tests passing! * likes test * follow endpoints using data plane * reorg follow block rules * reposts * post views! * implement getList w/ dataplane caveat * adjust dataplane getListMembers to return listitem uris * implement getListMutes and -Blocks w/ dataplane * suggestions * timeline * misc view fixes * view fixes for mutes, self-mute/block * author feed * feed gen routes * tidy * misc block/mute fixes * list feed & actor likes * implement getLists, fix some empty cursors * implement getMutes, empty profile description fix * implement getBlocks, block application fix * implement getSuggestedFollowsByActor, needs some fixes * feed generation * search routes * threads * tidy * fix some snaps * fix getSuggestedFollowsByActor * implement listNotifications * implement getUnreadCount w/ dataplane * implement notifications.updateSeen w/ dataplane * 3rd party blocking tests * blocked profile viewer * add search mocks * refactor getFeed * createPipeline -> createPipelineNew * basic replygating functionality on dataplane w/o filtering violating replies * hack threadgates into dataplane, apply gates * deterministic thread orders in dataplane * misc cleanup around dataplane * upgrade typescript to v5.3 * update typescript linter deps * sync bsky proto, codegen * update dataplane, sync with bsky proto updates * remove indexer, ingester, daemon, moderation services from appview * convert more bsky internals to dataplane, remove custom feedgens, implement mute/unmuting in mock dataplane * remove bsky services. db and indexing logic into mock dataplane. * remove tests not needed by appview v2, misc reorg * add basic in-mem repo subscription to dataplane mock * fix dev-env, bsky tests, bsky build * cull bsky service entrypoint * add bsky service readme * build * tidy * tidy, fix pds proxy tests * fix * fix bsky entrypoint deps * support http2 grpc client * build * fix dataplane bad tls config/default * support multiple dataplane urls, retry when unavailable * build * tidy/fix * move dataplane mock tests into their own dir * cover label hydration through timeline test * bring back labels in appview tests * remove unused db primary/replica/coordinator from bsky dataplane * bsky proto add cids to contracts, buf codegen * sync-up bsky data-plane w/ codegen updates * start using dataplane interaction endpoints * add file * avoid overfetching from dataplane, plumb feed items and cids * pass refs through for post viewer state * switch list feeds to use feed item in dataplane * handle not found err on get-thread dataplane call * support use of search service rather than dataplane methods * mark some appview v2 todos * tidy * still use dataplane on search endpoints when search service is not configured * fix pds test * fix up bsky tests & snaps * tidy migrations * fix appview-v2 docker build * Support label issuer tied to appview v2 (#2033) support label issuer tied to appview * Appview v2: handle empty cursor on list notifications (#2017) handle empty cursor on appview listnotifs * Update appview v2 to use author feed enum (#2047) * update bsky protos with author feed enum, misc feed item changes * support new author feed enums in dataplane * fix build * Appview v2: utilize sorted-at field in bsky protos (#2050) utilize new sorted-at field in bsky protos * remove all dataplane usage of GetLikeCounts, switch to GetInteractionCounts * Appview v2, sync w/ changes to protos (#2071) * sync bsky protos * sync-up bsky implementation w/ proto changes * Appview v2 initial implementation for getPopularFeedGenerators (#2072) add an initial implementation for getPopularFeedGenerators on appview v2 * merge * fixes * fix feed tests * fix bsync mock * format * remove unused config * fix lockfile * another lockfile fix * fix duplicate type * fix dupplicate test * Appview v2 handling clearly bad cursors (#2092) * make mock dataplane cursors different from v1 cursors * fail open on clearly bad appview cursors * fix pds appview proxy snaps * Appview v2 no notifs seen behavior (#2096) * alter behavior for presenting notifications w/ no last-seen time * fix pds proxy tests * Appview v2 dataplane retries based on client host (#2098) choose dataplane client for retries based on host when possible/relevant * don't apply negated labels * display suspensions on actor profile in appview v2 * Appview v2 use dataplane for identity lookups (#2095) * update bsky proto w/ identity methods * setup identity endpoints on mock dataplane * move from idresolver to dataplane for identity lookups on appview * tidy * Appview v2: apply safe takedown refs to records, actors (#2107) apply safe takedown refs to records, actors * Fix timing on appview v2 repo rev header (#2113) fix timing on appview repo rev * fix post thread responses * Appview v2 don't apply 3p self blocks (#2112) do not apply 3p self-blocks * Appview v2 search for feed generators (#2118) * add protos for feedgen search * support feed search on getPopularFeedGenerators * Appview v2 config tidy (#2117) * remove mod and triage roles from appview * rename cdn and search config * remove custom feed harness from appview v2 * Appview v2: don't apply missing modlists (#2122) * dont apply missing mod lists * update mock dataplane * Update packages/bsky/src/hydration/hydrator.ts Co-authored-by: devin ivy <devinivy@gmail.com> * refactor & document a bit better * fix up other routes --------- Co-authored-by: devin ivy <devinivy@gmail.com> * Appview v2 enforce post thread root boundary (#2120) * enforce post thread root boundary * test thread root boundary * Appview v2 fix admin environment variable (#2137) fix admin env in appview v2 * Remove re-pagination from getSuggestions (#2145) * remove re-pagination from getSuggestions * fix test * Adjust wording for account suspension (#2153) adjust wording for account suspension * Appview v2: fix not-found and blocked uris in threads (#2201) * fix uris of not-found and blocked posts in threads * update snaps * ✨ Show author feed of takendown author to admins only (#2197) * fold in cid, auth, tracing, node version changes * remove dead config from bsky service entrypoint * build * remove ozone test codepaths for appview v2 * tidy, docs fix --------- Co-authored-by: Devin Ivy <devinivy@gmail.com> Co-authored-by: Foysal Ahamed <foysal@blueskyweb.xyz> |
||
|
|
30b05a7d4b |
Account migration (#2179)
* draft of account migration lexicons * format * clean up schemas * codegen * second pass on schemas * small fix * move around checkImportStatus * re-codegen * getServiceAuth * getServiceAuth impl * importRepo impl * handle uploadBlob for import * allow bringing your own did on createAccount * working on test flow * fleshing out flow * fix up sendPlcOP * small fixes * activate/deactivate account * full flow working! * schema tweaks * format * update schemas * moar codegen * match impl to new schemas * email flow for signed plc operation * add email flow for plc operations * impl plc op request email * proxy to entryway * tidy activate account * integrating account deactivated state * fix up tests * friendly parse on optional did auth * admin activate/deactivate routes * proxy relevant requests to entryway * remove admin activation routes * do not proxy acitvaition to entryway * cfg for disallowing imports * buff up test * refactor listMissingBlobs a bit * add validDid & activated to accoutn status * emit event on account activation * test creating a post after migrating * account deactivation tests * test name * tests on plc operations * fix recommended did creds * codegen * turn off accepting imports on createAccount * undo prev change * increment version * build branch * pr feedback * handle errs in p-queue * handle blob upload outside of txn * Clean old temp account migration lexicons (#2187) * clean old temp lexicons * rm old test * fix agent session test * fix bsky test * dont build branch |
||
|
|
87e4641e0c |
Tidy feed generator language headers (#2037)
* tidy code & return content-language headers in res * tidy * no undefined headers * tidy |
||
|
|
de2dbc2903 |
Split out moderation backend (#1970)
* mv appview * copy * finalize copy * package names * big WIP * first pass at mod servce * some tidy * tidy & fix compiler errors * rename to ozone, db migrations, add to dev-env & pds cfg * getRecord & getRepo mostly working * fix open handle * get record tests all working * moderation events working * statuses working * tidy test suite * search repos * server & db tests * moderation tests * wip daemon + push events * pds fanout working * fix db test * fanning takedowns out to appview * rm try/catch * bsky moderation test * introduce mod subject wrappers * more tidy * refactor event reversal * tidy some db stuff * tidy * rename service to mod-service * fix test * tidy config * refactor auth in bsky * wip patching up auto-mod * add label ingester in appview * fix a couple build issues * fix some timing bugs * tidy polling logic * fix up tests * fix some pds tests * eslint ignore * fix ozone tests * move seeds to dev-env * move images around * fix db schemas * use service auth admin reqs * fix remaining tests * auth tests bsky * another test * random tidy * fix up search * clean up bsky mod service * more tidy * default attempts to 0 * tidy old test * random tidy * tidy package.json * tidy logger * takedownId -> takedownRef * misc pr feedback * split daemon out from ozone application * fix blob takedown mgiration * refactor ozone config * do push event fanout on write instead of on read * make suspend error work again * add attempts check & add supporting index * fix takedown test ref * get tests working * rm old test * fix timing bug in event pusher tests * attempt another fix for timing bug * await req * service files * remove labelerDid cfg * update snaps for labeler did + some cfg changes * fix more snaps * pnpm i * build ozone images * build * make label provider optional * fix build issues * fix build * fix build * build pds * build on ghcr * fix syntax in entry * another fix * use correct import * export logger * remove event reverser * adjust push event fanout * push out multiple * remove builds |
||
|
|
f9fd3e68ca |
Feature branch: PDS v2 (#1789)
* cleanup repeat process all * wip * skip actor search test * skip actor search test * tweak processAll * decrease wait to 1 sec * repo_blob -> record_blob * simplify backlink linkTo * return repo_root to one row * sequence before updating repo_root * invite code forUser -> forAccount * ipld_block -> repo_block * use lru-cache fetchMethod * move did_cache to own db * better error handling on did cache * drop did_handle * fix sequencer wait time * debug * debug * more debug * check something * fix bday paradox * fix bday paradox * tidy up pds service auth * rm skipped test * retry http * tidy * improve fanout error handling * fix test * return signing key in did-web * more tests * tidy serivce auth checks * user_account -> account * remove inviteNote * keypair per repo * use an lru cache for keypairs as well * clean up repo * wip * wrap up accoutn manager * tidy * tidy * fix tests * fix disabled codes * fix appview tests * add note * set pragmas * tidy account manager getDb * rename pref transactor * user pref -> account pref * handle blob imports * tidy imports * add reserveSigningKey * wip transferAccount * clean up transferAccount * tests * tidy * tidy * configure entryway url on pds * handle entryway in pds admin endpoints * make importRepo temp * fix imports * make email optional on pds when using entryway * handle diffs * handle pds entryway usage for server, identity, admin endpoints * pds support for credentials from entryway * setup pds tests w/ entryway service * tidy * tidy * update entryway version * wip * test handle updates w/ entryway * split account table into two * tidy * tweak scripts * tidy tests * tidy * better config for actorstore & dbs * clean up cfg more * reorg actorstore fs layout * handle erros on actor db create * pr tidy & fix accoutn deletion test * pr feedback * fix bad merge * unskip test * fix subscribe repos tests * tidy repo root tables * tidy * fix tests * tidy delete tokens * tidy account getters * tidy * bulk deletesg * increase chunk size * handle racing refreshes * wip * fix auth test * invert import flow * clean up actor store on create account failure * tweak sequencer * prevent invite code races on createAccount * rm note * add back in race protection on getAccountInviteCodes * start feature branch * deleted app migration table * patch up new auth test * rm note * g * create accoutn delegated from entryway * tidy * fix test * change plcOp type to unknown * small fixes * sync up w entryway branch * Use proper error when authed account is not found (#1799) provide proper error when account not found in access-takedown check * build branch * build on ghcr * tweak service file * tweak service file * change where we save reserved keys * no tmp dir in blobstore either * fix blobstore temp location again * handle repeat record_blobs * create account before submitting plc op & undo if fail * small tweak * limit the number of local records * push out empty commit on transfer * fix issue with record_blob * add push blob endpoint * Set and validate token audiences on pds v2 (#1793) set and validate token audience on pds v2 * merge * include entryway did on tests * build branch * fix cache issue * xrpc server blob limit * put correct bytes * add auth to routes * handle quarantining/unquarantining a blob that does not exist * tidy * fix transfer tests * fix email request routes for entryway * PDS v2 entryway account deletion (#1819) * add admin lexicon for account deletion * implement admin account deletion endpoint * fix entryway proxying on account email checks * proxy to entryway for acct deletion * read-after-write sanity check * tweak * wip * finish refactor * fix test schema * application retry logic for busy * pr feedback * rm lru-cache * fix test pg schema * fix transfer test * Sqlite instrumentation for pds v2 (#1838) * sqlite instrumentation * build * remove build * dont reimport blobs * send ticks during import * close on error * catch handle validation error * add log * fix test * return emailConfirmedAt on getAccountInfo * Upgrade sharp on pds v2 (#1863) upgrade sharp to 0.32.6 * read all bytes before parsing car * Async car reader (#1867) * asynchronously read in car * dont buffer car * tweak * Gracefully handle indexing of invalid records (#1853) * gracefully handle indexing of invalid records * fix repo tests * Fix role auth for access-or-role verifier, getBlob check on actor takedowns (#1869) fix role auth for access-or-role verifier, fix getBlob actor takedown check * better cleanup of actor-stores * add ability to not ensure leaves * tidy * allow did:web transfer * Migration utility for actor-store (#1873) beginnings of helper for migrating all actors Co-authored-by: Devin Ivy <devinivy@gmail.com> * base case for findBlobRefs * App-level retries for sqlite on pds (#1871) * revamp retry helper to be more flexible re: backoff strategies * sqlite timeout helper * ensure sqlite wal on db creation/migration rather than every open * layer retries for sqlite on writes outside transactions on pds * tidy * fix up lockfile * tidy * fix lex codegen * fix timing bug in threadgate test * No-op update handling (#1916) do no produce commits on no-op updates * Retry on all SQLITE_BUSY error codes (#1917) retry on all sqlite_busy error codes * Pds v2 ensure sqlite ready (#1918) ensure sqlite is ready before making queries * try something * tidy * dont build branch --------- Co-authored-by: Devin Ivy <devinivy@gmail.com> |
||
|
|
3598898c03 |
Version packages (#1802)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
84e2d4d2b6 |
Update atproto source license to MIT/Apache2 (#1788)
* update LICENSE files to MIT/Apache2 * README: update top-level license * update package-level READMEs with license * changeset: license update |
||
|
|
ea04096b02 |
Version packages (#1774)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
46b108cb86 |
Facilitate authing w/ PDS based on DID doc (#1727)
* lexicon for did doc w/ auth credentials * include did doc w/ session when configured. configure on dev-env. * Add dynamic PDS URL adoption to the client * remove usage of did doc field from getsession in client * dry-up did doc type and validation * remove explicit dep on zod by identity package * move more did doc parsing to common-web * go back to strings * rollback breaking changes to identity package * add changeset --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com> Co-authored-by: dholms <dtholmgren@gmail.com> |
||
|
|
88a23d4b70 |
Add support for a bunny CDN img invalidator (#1689)
* add support for a bunny.net img invalidator * tidy * support multiple image invalidators * tidy |
||
|
|
527fc58e6d |
Version packages (#1685)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
41ee177f5a |
Email confirmation/update (#1568)
* lexicons * codegen * email templates * request routes * impl * migration * tidy * tests * tidy & bugfixes * format * fix api test * fix auth test * codegen * add unique constraint * Add email confirmed to AtpSessionData * interop test files (#1529) * initial interop-test-files * crypto: switch signature-fixtures.json to a symlink * syntax: test against interop files * prettier * Update interop-test-files/README.md Co-authored-by: Eric Bailey <git@esb.lol> * disable prettier on test vectors --------- Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: dholms <dtholmgren@gmail.com> * add getSuggestedFollowsByActor (#1553) * add getSuggestedFollowsByActor lex * remove pagination * codegen * add pds route * add app view route * first pass at likes-based suggested actors, plus tests * format * backfill with suggested_follow table * combine actors queries * fall back to popular follows, handle backfill differently * revert seed change, update test * lower likes threshold * cleanup * remove todo * format * optimize queries * cover mute lists * clean up into pipeline steps * add changeset * List feeds (#1557) * lexicons for block lists * reorg blockset functionality into graph service, impl block/mute filtering * apply filterBlocksAndMutes() throughout appview except feeds * update local feeds to pass through cleanFeedSkeleton(), offload block/mute application * impl for grabbing block/mute details by did pair * refactor getActorInfos away, use actor service * experiment with moving getFeedGenerators over to a pipeline * move getPostThread over to a pipeline * move feeds over to pipelines * move suggestions and likes over to pipelines * move reposted-by, follows, followers over to pipelines, tidy author feed and post thread * remove old block/mute checks * unify post presentation logic * move profiles endpoints over to pipelines * tidy * tidy * misc fixes * unify some profile hydration/presentation in appview * profile detail, split hydration and presentation, misc fixes * unify feed hydration w/ profile hydration * unify hydration step for embeds, tidy application of labels * setup indexing of list-blocks in bsky appview * apply list-blocks, impl getListBlocks, tidy getList, tests * tidy * update pds proxy snaps * update pds proxy snaps * fix snap * make algos return feed items, save work in getFeed * misc changes, tidy * tidy * fix aturi import * lex * list purpose * lex gen * add route * add proxy route * seed client helpers * tests * mutes and blocks * proxy test * snapshot * hoist actors out of composeThread() * tidy * tidy * run ci on all prs * format * format * fix snap name * fix snapsh --------- Co-authored-by: Devin Ivy <devinivy@gmail.com> * Improve xrpc server error handling (#1597) improve xrpc server error handling * Remove appview proxy runtime flags (#1590) * remove appview proxy runtime flags * clean up proxy tests * getPopular hotfix (#1599) dont pass all params * Interaction Gating (#1561) * lexicons for block lists * reorg blockset functionality into graph service, impl block/mute filtering * apply filterBlocksAndMutes() throughout appview except feeds * update local feeds to pass through cleanFeedSkeleton(), offload block/mute application * impl for grabbing block/mute details by did pair * refactor getActorInfos away, use actor service * experiment with moving getFeedGenerators over to a pipeline * move getPostThread over to a pipeline * move feeds over to pipelines * move suggestions and likes over to pipelines * move reposted-by, follows, followers over to pipelines, tidy author feed and post thread * remove old block/mute checks * unify post presentation logic * move profiles endpoints over to pipelines * tidy * tidy * misc fixes * unify some profile hydration/presentation in appview * profile detail, split hydration and presentation, misc fixes * unify feed hydration w/ profile hydration * unify hydration step for embeds, tidy application of labels * setup indexing of list-blocks in bsky appview * apply list-blocks, impl getListBlocks, tidy getList, tests * tidy * update pds proxy snaps * update pds proxy snaps * fix snap * make algos return feed items, save work in getFeed * misc changes, tidy * tidy * fix aturi import * initial lexicons for interaction-gating * add interactions view to post views * codegen * model bad reply/interaction check state on posts * initial impl for checking bad reply or interaction on write * omit invalid interactions from post thread * support not-found list in interaction view * hydrate can-reply state on threads * present interaction views on posts * misc fixes, update snaps * tidy/reorg * tidy * split interaction gating into separate record in lexicon * switch interaction-gating impl to use separate record type * allow checking reply gate w/ root post deletion * fix * initial gating tests * tighten gated reply views, tests * reply-gating list rule tests * allow custom post rkeys within window * hoist actors out of composeThread() * tidy * update thread gate lexicons, codegen * lex fix * rename gate to threadgate in bsky, update views * lex fix * improve terminology around reply validation * fix down migration * remove thread gates on actor unindexing * add back .prettierignore * tidy * run ci on all prs * syntax * run ci on all prs * format * fix snap --------- Co-authored-by: Devin Ivy <devinivy@gmail.com> * order by `like.indexedAt` in app view (#1592) * order by like.indexedAt * use keyset for ordering * simplify * ok ok ok I get it now * Update packages/bsky/src/api/app/bsky/feed/getActorLikes.ts Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com> --------- Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com> * Remove default value for post table invalid attrs (#1601) remove default value for post table attrs * Version packages (#1602) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * update Bluesky PBLLC to PBC (Public Benefit Corporation) (#1600) * Temporarily disable filtering `invalidReplyRoot`s (#1609) temporarily disable invalidReplyRoot check * fix syntax docs (#1611) * Version packages (#1612) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * Allow bypass on ratelimit ip (#1613) allow bypass on ratelimit ip * Write rate limits (#1578) * get rate limit ip correctly * add write rate-limits * Tweak createSession rate limit key (#1614) tweak create session rl key * Filter preferences for app passwords (#1626) filter preferences for app passwords * Tweak rate limit setup for multi rate limit routes (#1627) tweak rate limit setup for multi rate limit routes * Remove zod from xrpc-server error handling (#1631) remove zod from xrpc-server error handling check * Enforce properties field on lexicon object schemas (#1628) * add empty properites to thread gate schema fragments * tweak lexicon type * Add feed-vew and thread-view preferences (#1638) * Add feed and thread preference lexicons * Add feed-view and thread-view preference APIs * Add changeset for new preferences (#1639) Add changeset * Version packages (#1640) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * Disable getAccountInviteCodes for app passwords (#1642) disable getAccountInviteCodes for app passwords * remove cruft packages (uri, nsid, identifier) (#1606) * remove @atproto/nsid (previously moved to syntax) * remove @atproto/uri (previously moved to syntax) * remove @atproto/identifier (previously moved to syntax) * bump lockfile to remove old packages --------- Co-authored-by: Eric Bailey <git@esb.lol> * api: update login/resumeSession examples in README (#1634) * api: update login/resumeSession examples in README * Update packages/api/README.md Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com> --------- Co-authored-by: Daniel Holmgren <dtholmgren@gmail.com> * small syntax lints (#1646) * lint: remove unused imports and variables * lint: prefix unused args with '_' * eslint: skip no-explicit-any; ignore unused _var (prefix) * eslint: explicitly mark ignores for tricky cases * indicate that getPopular is deprecated (#1647) * indicate that getPopular is deprecated * codegen for deprecating getPopular * tidy up package.json and READMEs (#1649) * identity: README example and tidy * tidy up package metadata (package.json files) * updated README headers/stubs for several packages * crypto: longer README, with usage * syntax: tweak README * Apply suggestions from code review Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: devin ivy <devinivy@gmail.com> --------- Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: devin ivy <devinivy@gmail.com> * Improve the types of the thread and feed preferences APIs (#1653) * Improve the types of the thread and feed preferences APIs * Remove unused import * Add changeset * Version packages (#1654) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * Disable pds appview routes (#1644) * wip * remove all canProxyReadc * finish cleanup * clean up tests * fix up tests * fix api tests * fix build * fix compression test * update image tests * fix dev envs * build branch * fix service file * re-enable getPopular * format * rm unused sharp code * dont build branch * auto-moderator tweaks: pass along record URI, create report for takedown action (#1643) * auto-moderator: include record URI in abyss requests * auto-moderator: log attempt at hard takedown; create report as well The motivation is to flag the event to mod team, and to make it easier to confirm that takedown took place. * auto-mod: typo fix * auto-mod: bugfixes * bsky: always create auto-mod report locally, not pushAgent (if possible) * bsky: fix auto-mod build * bsky: URL-encode scanBlob call * Clear follow viewer state when blocking (#1659) * clear follow viewer state when blocking * tidy * add `tags` to posts (#1637) * add tags to post lex * kiss * add richtext facet and validation attrs * add tag validation attrs to post * codegen * add maxLength for tags, add description * validate post tags on write * add test * handle tags in indexer * add tags to postView, codegen * return tags on post thread view * format * revert formatting change to docs * use establish validation pattern * add changeset (cherry picked from commit fcb6fe7c26144662f791c7900afcd84c7bf1be6b) * remove tags from postView, codegen * remove tags from thread view * revert unused changes * Version packages (#1664) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * merge * Reverse order of blocks from sync.getRepo (#1665) * reverse order of blocks from sync.getRepo * write to car while fetching next page * Add hashtag detection to richtext (#1651) * add tag detection to richtext * fix duplicate tag index error * add utils * fix leading space index failures, test for them * add changeset * Version packages (#1669) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * proposed new search lexicons (#1594) * proposed new search lexicons * lexicons: lint * lexicons: fix actors typo * lexicons: camelCase bites again, ssssss * lexicons: add 'q' and mark 'term' as deprecated for search endpoints * codegen for search lexicon updates * bsky: prefer 'q' over 'term' in existing search endpoints * search: bugfix * lexicons: make unspecced search endpoints return skeleton obj * re-codegen for search skeleton obj * Disable pds appview indexing (#1645) * rm indexing service * remove message queue & refactor background queue * wip * remove all canProxyReadc * finish cleanup * clean up tests * fix up tests * fix api tests * fix build * fix compression test * update image tests * fix dev envs * build branch * wip - removing labeler * fix service file * remove kysely tables * re-enable getPopular * format * cleaning up tests * rm unused sharp code * rm pds build * clean up tests * fix build * fix build * migration * tidy * build branch * tidy * build branch * small tidy * dont build * Refactor PDS appview routes (#1673) move routes around * Strip leading `#` from from detected tag facets (#1674) ensure # is removed from facets * Version packages (#1675) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * Proxy search queries (#1676) * proxy search * tweak profile resp * fix admin.searchRepos * add mock mailer * Fix to daniel's MOCKERY of a mock mailer * Don't allow non-verified email updates until app feature is out (#1682) stricter updating email until app feature is out * changesets --------- Co-authored-by: Paul Frazee <pfrazee@gmail.com> Co-authored-by: bnewbold <bnewbold@robocracy.org> Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: Devin Ivy <devinivy@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
584dea52c4 |
tidy up package.json and READMEs (#1649)
* identity: README example and tidy * tidy up package metadata (package.json files) * updated README headers/stubs for several packages * crypto: longer README, with usage * syntax: tweak README * Apply suggestions from code review Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: devin ivy <devinivy@gmail.com> --------- Co-authored-by: Eric Bailey <git@esb.lol> Co-authored-by: devin ivy <devinivy@gmail.com> |
||
|
|
a7c42cfe39 |
Clean up prettier/eslint scripts (#1514)
* add prettierignore, hoist script * upgrade prettier * bump prettier eslint deps * format all files * hoist prettier check * remove unused scripts, hoist lint:fix * remove npm-run-all, unused * hoist lint * remove lint scripts * improve lint scripts * remove prettierignores * downgrade prettier deps to fix codgen * reformat all files * update makefile, format * fix locklife * final format --------- Co-authored-by: dholms <dtholmgren@gmail.com> |
||
|
|
90e8325e5f |
pnpm setup (#1532)
* use pnpm * fix dependency issues, replace yarn and lerna scripts * remove the main/dist scripts * update Dockerfiles * use pnpm * fix dependency issues, replace yarn and lerna scripts * remove the main/dist scripts * update Dockerfiles * update bin script * remove unused zod dep * fix type errors in pds * add types prop to packages * remove unused, bump lock * fix test running * build before test * fix pino types * format * pds depends on dev-env in test * refer to src instead of built packages * pds relies on bsky in test too * remove yarn.lock * add -r flag to root test * test push to aws * remove docker test * add publishConfig to new package * move services to top level dir (cherry picked from commit f5012bec33435a4473e9960066807623334f3aff) * update workflow paths (cherry picked from commit 5c70f0176d381ca35d6be10cfa173e22373a5b5d) * add main-to-dist script * use script in all packages, remove old Dockerfiles * remove old bsky service * remove newline * test container builds * Revert "test container builds" This reverts commit c228611f5e8e1624d4b124be4976c49590130f43. * remove unused config * test build containers * pnpm in syntax * bump dd-trace * shamefully hoist * even more shame * hoist, externalize deps * clean install for prod and smaller containers * dont build branches --------- Co-authored-by: dholms <dtholmgren@gmail.com> |
||
|
|
1d663df503 |
Fix runtime flags open handles (#1497)
fix runtime flags open handles |
||
|
|
3f0e1b2563 |
Read after write (#1398)
* first pass on profiles * quick test * wip * wip * test post thread * record embeds * get author feed profiles * wip timeline * fix get timeline * switch from counter to tid * tidy into a service * quick tid test * pr feedback * clock -> rev * update image formatting * disable migration & build branch * add recent posts to getAuthorFeed & handle post thread not found errors * refactor for lag header * tidy * rm collections check * tidy test * pr feedback * fix small bug * build branch * get migrations into system * enable migrations |
||
|
|
1ad6274202 |
Actor service fix (#1414)
* fix up bug in actor service * add in hydrate methods * build fix * couple more fixes * tidy * port to appview * dont build branch * fix issue with items in list * tidy * dont build branch * quick fix |
||
|
|
7e0201d4d6 |
Bump package versions (#1288)
* v0.3.0 * bump common-web to 0.2.0 * v0.2.0 * v0.2.0 * v0.1.0 * v0.1.0 * v0.1.0 * v0.2.0 * v0.4.0 * v0.1.0 * v0.2.0 * v0.2.0 * v0.3.0 * v0.2.0 |
||
|
|
3da0324873 |
Post record language tagging, lexicon language format (#1219)
* Add languages field to post record * helper for parsing bcp47 * add language format to lexicon * codegen for post record langs field * re-export language parsing in api package * tests and tidy for lexicon language format * index post langs, in-progress * update snapshots, fixes record-with-media embed issue * index post langs on bsky appview * don't bother indexing post langs in pds appview, tidy |
||
|
|
6fb9a8faea |
Fix dropped events in sync.subscribeRepos (#1167)
* wip * first pass done * chnage around how channels function * bugfixing * fix up migration & tests * fix dev-env * add prep migration for stream fixing * application code changes to use new repo_event table * dont send evts * add outgoing_repo_seq table + sqlite migrations * patch up down migration * patching up a couple things * update test * patchup * re-enable subscription route * add outgoingSeq column * updating * accidental add * temporarily disable stream * resolve merge conflict * add migration * migration for seq * fix test * id -> seq * get schema lock ids * tidy * fix server test * fix up * use bsky uniqueLockId approach * tidy * gh actions build * build branch * build branch * tweak test * rm constraint rename * small bugfix * check for seq not null * fix up issues * one more small change * tidy * no build branches |
||
|
|
a4a4af1693 |
all packages: prettier applies to tests/ in addition to src/ (#1170)
* pds: prettier:fix (on a JSON file) * package.json (multiple): run prettier on tests/ * bsky: prettier:fix (on a JSON file) |
||
|
|
bb4dd6e8a8 |
Count graphemes without Intl (#1044)
* count graphemes without intl * fix main file * run prettier * use graphemer * fix packages * use yarn * fix main script * reresolve packages |
||
|
|
49ee070cd6 | test (api, common, common-web): add further tests (#950) | ||
|
|
5f0db0c844 |
Update zod version, some perf improvements (#1021)
* Update zod version, some perf improvements * Fix circular type ref |
||
|
|
b01e47b617 | fix: updated repository field for packages (#994) | ||
|
|
7329c28564 |
Some improvements for tid.ts (#936)
* Some improvements for tid.ts * refactor dedash helper * tripple equal * run prettify |
||
|
|
958c9ef6b3 | add repository field to package.json (#895) | ||
|
|
db1042cf0d |
Blocks (#922)
* block lexicons * table schema * block processing * Actor-block migration * Add blocked post lexicon to getPostThread * getBlocks routes * Add missing lexicons to bsky * Add block state to actor views * throw on blocked accounts in getAuthorFeed * blcok state in profile views * Update getPostThread to support block views, update existing test * strip out blocks out oof timeline & popular * more routes * Test blocked posts in threads * Support blocks on record embeds * notifs * Update pds test snapshots w/ block state * fix search * Update pds actor search snapshots w/ blocks * test * tests * update lex * fix up from returning blocking as record * ci for branch * fix build issue in bsky * more blocks tests * fix actor search test * hook getBlocks up to router * bugfix & actually test lol --------- Co-authored-by: Devin Ivy <devinivy@gmail.com> |
||
|
|
68004c617f |
Appview proxy (#827)
* fix up a couple of tsc errors in app view merge * wip * simple proxy * use dev-env for appview tests * process all in blob resolver * another test fix * wip * copy proxied tests & add mutes to getFollows/getFollowers * tidy & add mutes to likes * more routes + getAuthorFeed tests * more testing * tests for feed views * thread testing * finished tests for threads * temporarily skip some tests * cleaning up & updating test names * separate db schema for appview * rearrange * typo * add notifications * re-enable notifs on pds appview * update schemas * updated some bsky snaps * wip * refactor did-resolver * clean up deps * some fixups + caching utilities * fix up & move to appCtx * neat its working * update bsky tests to new auth * rm unused pds config var * tidy * check exp in seconds * cache dids in postgres * add migration & did-cache * start tests * couple helpers around cache invalidation * fix expired check * wip * change cache semantics * did cache testing * do some cache revalidation in indexing * fix config * fix issue w did-resolver test-env prototype * use map instead of record * stale + expired * tests * clear entry method * fix up build * expired dids * clear missing dids * better verify payload * bump test timeout * fix notifs test * fix up proxied actor search tests * update snaps to include labels * fix dev env * fix up moderation route auth * fix more auth headers * fix auth on getPosts * increase jest timeouts * fix snaps |
||
|
|
553f59923c |
Get posts method (#876)
* implement getPosts method * tests * bsky tests * comment out test * Handle stripping record-with-media viewer info in bsky tests --------- Co-authored-by: Devin Ivy <devinivy@gmail.com> |
||
|
|
24f7183896 |
Improve streaming sync routes (#848)
* improve streaming sync routes * pr feedback |
||
|
|
bfa178ca62 |
IPLD test vectors (#734)
* Add dumy check to votes-to-likes app migration, tidy * Ensure there are writes in vote-to-like app migration * update migration name * pr feedback * count utf8 & grapheme length * add maxUtf8 * siwtch max semantics * plural * update post schema * added bytes & cid refs * add ipld<>json * fixin up a could tings * Add app.bsky.richtext.facet, replace post entities with facets * plural actors * wip * Setup backlinks table on pds * wip * send & recieve cids/bytes with xrpc * Track backlinks when indexing records on pds * handle ipld vals in xrpc server * added cids & bytes to codegen * In createRecord, add deletions to avoid duplicate likes/follows/reposts * Tests and fixes for prevention of dupe follows, likes, reposts * Backlink migration tidy * cleanup dag json parser * Fix dupe backlink inserts * Tidy * blob refs + codegen * Make profile displayName optional * Test view and updateProfile for empty display name * working into pds * Make aggregate counts optional on post and profile views * Make viewer state optional on post view for consistency * Remove deprecated myState field on profile view * Tidy repo method descriptions * tests & types & fixes * Implementation and tests for putRecord * Remove updateProfile method * Update repo service so that head can be taken for update externally * Lex updates for compare-and-swap records/commits * Add error to lex for bad repo compare-and-swaps * Improve update-at-head thru repo service * common package * Implement and test compare-and-swaps on repo write methods * Use lex discriminator for applyWrites * Remove post entity/facet index * Update lex descriptions to clarify repo write semantics * Make deleteRecord idempotent w/ tests * cleanup * fix things up * adding more formats * tests * updating schema * Only generate tid rkeys on pds, support literal rkeys on client * Add backlink indexes * Update format of post embed views, fix external uri validation * fixing up tests * Include embeds on record embeds * cleanup * Notify users when they are quoted * Remove determineRkey indirection * fix api tests * support concatenated cbor * integrating to server * re-enable tests * fix up tests * Thread compare-and-swaps down into repo service rather than use pinned storage * Tidy * Update packages/common/tests/ipld-multi.test.ts Co-authored-by: devin ivy <devinivy@gmail.com> * Update packages/lexicon/src/validators/formats.ts Co-authored-by: devin ivy <devinivy@gmail.com> * pr feedback * pr feedback * Add postgres-specific migration path for missing profile display names * Tidy/clarify deep embeds * Tidy * rm unused escape * decrease crud race count * update subscribeRepos lexicon * Fix applyWrite lexicon re: collection fields * sign post event type * update cids & bytes json encoding * update lex blob & cid-link types * updated codegen & pds * number -> float * missed a couple * remove old image constraints * pr feedback + descripts * no hardcoded port numbers * remove separate tooLarge evt * fix dumb build error * fixin gup lex + xrpc server * better parsing of message types * dont mutate body in subscription * bugfix in subscription * rm commented out code * init feature branch * undo * Remove old lexicons * Remove creator from profile view * wip * rework seqs * fixed up tests * bug fixing * sequence handles & notify in dbTxn * tidy * update lex to include times * test syncing handle changes * one more fix * handle too big evts * dont thread sequencer through everything * Split common into server vs web-friendly versions * Make lexicon, identifier web-safe using common-web * Switch api package to be a browser build, fix identifier package for browser bundling * Fix pds and repo for lexicon package changes, tidy * Make common-web a browser build, tidy * fixing up deps * fix up test * turn off caching in actions * Standardize repo write interfaces around repo input * Update repo write endpoints for repo input field * Remove scene follows during app migration * API package updates (#712) * Add bsky agent and various sugars to the api package * Add richtext library to api package * Update richtext to use facets and deprecate entities * Update richtext to use utf8 indices * Richtext converts deprecated entity indices from utf16 locations to utf8 locations * Add note about encodings in the lexicon * Add RichText facet detection * Remove dead code * Add deprecation notices to lexicons * Usability improvements to RichText * Update the api package readme * Add RichText#detectFacetsWithoutResolution * Add upsertProfile to bsky-agent * Update packages/pds/src/api/com/atproto/repo/applyWrites.ts Co-authored-by: devin ivy <devinivy@gmail.com> * pr feedback * fix flaky timing streaming tests * simplify emptyPromise * fixed up open handles * fix missed repo syntax * fix error in test from fkey constraint * fix another api agent bug * Embed consistency, add complex record embed * Tidy embed lex descriptions * rename pg schemas * use swc for jest * fix up deps * cleanup * Update pds indexing, views, tests for complex record embeds * fixing up profile view semantics * wip * update snaps * Rename embed.complexRecord to embed.recordWithMedia * Tidy aroud record w/ media embeds * Add grapheme utilities to api RichText (#720) Co-authored-by: dholms <dtholmgren@gmail.com> * Fix: app.bsky.feed.getPostThread#... to app.bsky.feed.defs#... (#726) * Update bskyagent to use repo param * Minor typing fix * Add exports to api package: blobref & lex/json converters (#727) * Add exports to api package: BlobRef & lex/json converters * Add an example react-native fetch handler * Switch all lingering references of recordRef to strongRef * Update lexicon for richtext facets to have multiple features, byte slice rather than text slice * Implement multi-feature richtext facets on pds * Update api package to use updated richtext facets * Minor fixes to admin repo/record views * Fix app migration exports, remove old app migration * Fix: sort richtext facets so they can render correctly * Disable app migration dummy checks that don't work on live deploy * Optimize lex de/serialization using simple checks * Tidy comment typos * App migration to cleanup notifications for likes, follows, old scene notifs * added test vectors for ipld serialization * another test * added method & test for ipld equality * tidy * test for unicode, floats & blob-refs * remove floats --------- Co-authored-by: Devin Ivy <devinivy@gmail.com> Co-authored-by: Paul Frazee <pfrazee@gmail.com> |
||
|
|
9bad971e21 |
Post lex refactor pkg publishes (#738)
* @atproto/common-web@0.1.0 * @atproto/identifier@0.1.0 * @atproto/crypto@0.1.1 * @atproto/common@0.2.0 * @atproto/repo@0.1.0 * @atproto/lexicon@0.1.0 * @atproto/xrpc@0.1.0 * @atproto/xrpc-server@0.1.0 * @atproto/lex-cli@0.1.0 * @atproto/pds@0.1.0 * @atproto/dev-env@0.1.0 * @atproto/api@0.2.0 |
||
|
|
7f008c05a0 |
Lexicon refactor (#658)
* remove return in test * couple of fixups in other pacakges * Add dummy checks to declaration and follow app migrations, remove paranoid join * update db nsid migration * Ensure there are writes in follow app migration * Add dumy check to votes-to-likes app migration, tidy * Ensure there are writes in vote-to-like app migration * update migration name * pr feedback * count utf8 & grapheme length * add maxUtf8 * siwtch max semantics * plural * update post schema * added bytes & cid refs * add ipld<>json * fixin up a could tings * Add app.bsky.richtext.facet, replace post entities with facets * plural actors * wip * Setup backlinks table on pds * wip * send & recieve cids/bytes with xrpc * Track backlinks when indexing records on pds * handle ipld vals in xrpc server * added cids & bytes to codegen * In createRecord, add deletions to avoid duplicate likes/follows/reposts * Tests and fixes for prevention of dupe follows, likes, reposts * Backlink migration tidy * cleanup dag json parser * Fix dupe backlink inserts * Tidy * blob refs + codegen * Make profile displayName optional * Test view and updateProfile for empty display name * working into pds * Make aggregate counts optional on post and profile views * Make viewer state optional on post view for consistency * Remove deprecated myState field on profile view * Tidy repo method descriptions * tests & types & fixes * Implementation and tests for putRecord * Remove updateProfile method * Update repo service so that head can be taken for update externally * Lex updates for compare-and-swap records/commits * Add error to lex for bad repo compare-and-swaps * Improve update-at-head thru repo service * common package * Implement and test compare-and-swaps on repo write methods * Use lex discriminator for applyWrites * Remove post entity/facet index * Update lex descriptions to clarify repo write semantics * Make deleteRecord idempotent w/ tests * cleanup * fix things up * adding more formats * tests * updating schema * Only generate tid rkeys on pds, support literal rkeys on client * Add backlink indexes * Update format of post embed views, fix external uri validation * fixing up tests * Include embeds on record embeds * cleanup * Notify users when they are quoted * Remove determineRkey indirection * fix api tests * support concatenated cbor * integrating to server * re-enable tests * fix up tests * Thread compare-and-swaps down into repo service rather than use pinned storage * Tidy * Update packages/common/tests/ipld-multi.test.ts Co-authored-by: devin ivy <devinivy@gmail.com> * Update packages/lexicon/src/validators/formats.ts Co-authored-by: devin ivy <devinivy@gmail.com> * pr feedback * pr feedback * Add postgres-specific migration path for missing profile display names * Tidy/clarify deep embeds * Tidy * rm unused escape * decrease crud race count * update subscribeRepos lexicon * Fix applyWrite lexicon re: collection fields * sign post event type * update cids & bytes json encoding * update lex blob & cid-link types * updated codegen & pds * number -> float * missed a couple * remove old image constraints * pr feedback + descripts * no hardcoded port numbers * remove separate tooLarge evt * fix dumb build error * fixin gup lex + xrpc server * better parsing of message types * dont mutate body in subscription * bugfix in subscription * rm commented out code * init feature branch * undo * Remove old lexicons * Remove creator from profile view * wip * rework seqs * fixed up tests * bug fixing * sequence handles & notify in dbTxn * tidy * update lex to include times * test syncing handle changes * one more fix * handle too big evts * dont thread sequencer through everything * Split common into server vs web-friendly versions * Make lexicon, identifier web-safe using common-web * Switch api package to be a browser build, fix identifier package for browser bundling * Fix pds and repo for lexicon package changes, tidy * Make common-web a browser build, tidy * fixing up deps * fix up test * turn off caching in actions * Standardize repo write interfaces around repo input * Update repo write endpoints for repo input field * Remove scene follows during app migration * API package updates (#712) * Add bsky agent and various sugars to the api package * Add richtext library to api package * Update richtext to use facets and deprecate entities * Update richtext to use utf8 indices * Richtext converts deprecated entity indices from utf16 locations to utf8 locations * Add note about encodings in the lexicon * Add RichText facet detection * Remove dead code * Add deprecation notices to lexicons * Usability improvements to RichText * Update the api package readme * Add RichText#detectFacetsWithoutResolution * Add upsertProfile to bsky-agent * Update packages/pds/src/api/com/atproto/repo/applyWrites.ts Co-authored-by: devin ivy <devinivy@gmail.com> * pr feedback * fix flaky timing streaming tests * simplify emptyPromise * fixed up open handles * fix missed repo syntax * fix error in test from fkey constraint * fix another api agent bug * Embed consistency, add complex record embed * Tidy embed lex descriptions * rename pg schemas * use swc for jest * fix up deps * cleanup * Update pds indexing, views, tests for complex record embeds * fixing up profile view semantics * wip * update snaps * Rename embed.complexRecord to embed.recordWithMedia * Tidy aroud record w/ media embeds * Add grapheme utilities to api RichText (#720) Co-authored-by: dholms <dtholmgren@gmail.com> * Fix: app.bsky.feed.getPostThread#... to app.bsky.feed.defs#... (#726) * Update bskyagent to use repo param * Minor typing fix * Add exports to api package: blobref & lex/json converters (#727) * Add exports to api package: BlobRef & lex/json converters * Add an example react-native fetch handler * Switch all lingering references of recordRef to strongRef * Update lexicon for richtext facets to have multiple features, byte slice rather than text slice * Implement multi-feature richtext facets on pds * Update api package to use updated richtext facets * Minor fixes to admin repo/record views * Fix app migration exports, remove old app migration * Fix: sort richtext facets so they can render correctly * Disable app migration dummy checks that don't work on live deploy * Optimize lex de/serialization using simple checks * Tidy comment typos * App migration to cleanup notifications for likes, follows, old scene notifs * Fix notification reason for change from vote to like --------- Co-authored-by: Devin Ivy <devinivy@gmail.com> Co-authored-by: Paul Frazee <pfrazee@gmail.com> |