* Adds GrowthBook feature flag for suggested users from Discover
* Moves GrowthBook URL to envvar
* Reverts search feature
* Some minor fixes
* Adds GrowthBook feature flag for suggested users from Discover
* Moves GrowthBook URL to envvar
* Some minor fixes
* Keep search filtering exploration around but disable until migration
* Properly initialize GrowthBook client
* Cleans up
* Migrate flags
* Tweak context creation and types
* Add refetching and more error handling
* Rename config to be a little more clear
* Remove check validation, not needed
* Yeah ok we can do this
* Changeset
---------
Co-authored-by: Eric Bailey <git@esb.lol>
* Improve code coverage of `@atproto/lex-data` tests
* Improve typing of `@atproto/syntax` type assertion utilities
* Improve performance of `@atproto/lex-schema ` string format checking
* Remove `assertX` string format assertion utilities
* tidy
* tidy
* Rename `isLanguageString` to `validateLanguage`
* add string format utils
* tidy
* Refactor uri validation to use `@atproto/syntax`
* More language validation to @atproto/syntax
* lexicons: add germ chat declaration record, and ref from profile view
* codegen germ record for bsky pkg
* make lex-client build happy by including germ ref
* add germ chat declaration methods to dataplane .proto
* dataplane codegen
* start wiring up germ chat records
* germ lex in api package
* api codegen
* initial attempt at germ record test
* update germ lexicon
* make codegen
* updates for germ declaration NSID rename
* implement new germ hydration
* more progress on germ integration
* fix germ profile test
The main issue here was forgetting the '.associated.' bit in the data
path.
* remove unnecessary germ imports/refs
* hydrate germ metadata in basic profile view (as per schema)
* type fixes for germ appview test
* prettier
* synchronize bsky.proto with dataplane; run buf:gen
* add changeset for Germ declaration records
* Replace `tap`'s event validation from "zod" to "@atproto/lex"
* Expose `record` data as parsed atproto data (including CIDs and Uint8Arrays)
* Minor change to validation of integers in lex data
* tidy
* tidy
* test using vitest
* add missing `tap` from root `tsconfig.json`
* Fix inability to assign (object containing) open union results to `LexMap` type
* properly support and type default values
* strong cohesion
* changeset
* tidy
* Add validation error as cause when handling invalid records
* tidy
* Update `cborg` dependency, fixing encoding of strings with invalid surrogate pairs, and ignoring `undefined` object properties
* tidy
* Simplify encoding logic of `number`
* Improvements around usage of `noUndefinedVals`
* Memoize array schemas (without options)
* Memoize empty params schemas
* tidy
* tidy
* Fix oauth response when using `prompt=select_account` and no session are available
Fixes#4566
* allow the account to be pre-selected when `prompt=login`
* pds: stop probing image dimensions
* remove width and height from BlobMetadata
* remove image dimension checks from tests
* comment out width and height in Blob schema
Implements detection and facet generation for cashtags (stock tickers) like $AAPL
and $BTC. Cashtags are identified by a dollar sign followed by 1-5 alphanumeric
characters, with the first character being a letter. Detected cashtags are
normalized to uppercase and included as tag facets in the rich text output.
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>