Michael Black
692d8e5d10
bskyweb: add isPartOf jsonld post attr ( #10945 )
2026-06-23 12:07:00 -05:00
Jim Calabro
5c04a41a11
Add a Metrics Server to bskyweb ( #10863 )
2026-06-11 08:52:12 -04:00
Michael Black
3095bbfbec
bskyweb: add video objects to jsonld SEO ( #10814 )
2026-06-10 13:54:24 -05:00
Michael Black
38fb9c2165
bskyweb: meta noindex tag for non-indexable pages ( #10803 )
2026-06-09 15:54:54 -05:00
Michael Black
be30947089
bskyweb: extract gallery media for SEO ( #10813 )
2026-06-09 11:10:33 -05:00
Samuel Newman
c4f3a2cb89
[Chat] Rename invite route to /chat/ ( #10782 )
2026-06-08 09:26:23 -07:00
DS Boyce
73dae02df3
Create screen for managing chat requests ( #10635 )
2026-06-02 13:28:06 -07:00
Samuel Newman
bccca283b9
[Chat] Add /c/:code handler to bskyweb ( #10630 )
2026-06-01 08:28:38 -07:00
DS Boyce
ce4efc511b
Refactor notification settings as dialogs ( #10646 )
...
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2026-05-29 09:35:14 -07:00
Samuel Newman
a5e29442b5
[Chat] Add other chat route handlers to bskyweb ( #10639 )
2026-05-29 06:35:32 -07:00
Michael Black
60917d1125
Refactor and improve seo schema.org data ( #10613 )
2026-05-28 11:26:25 -05:00
Jim Calabro
28428a5750
Add Prometheus Metrics to Bskyweb ( #10370 )
2026-05-11 05:41:44 -04:00
bnewbold
a7b6cd4504
bskyweb: update to golang v1.26 ( #10208 )
2026-04-10 10:25:40 -07:00
Eric Bailey
0937f522af
Serve og:video tags on post URLs ( #10039 )
2026-03-11 11:46:27 -05:00
Spence Pope
2bd9811652
[APP-1928] add bot/automated account badge and self-labeling settings ( #10008 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
2026-03-10 13:28:49 -05:00
Samuel Newman
8b1c47a499
bskyweb: use avatar thumbnail for post og:image fallback ( #9923 )
2026-03-02 22:28:16 +00:00
Sylwia
80c0aa35e2
Add CORS headers to /oembed API ( #9845 )
2026-02-19 22:07:49 -08:00
Samuel Newman
90d650def2
Use video thumbnail as og:image for posts with video embeds ( #9877 )
2026-02-16 15:35:29 +00:00
Samuel Newman
ad7d49ef8f
[Contacts] Contacts matching flow ( #9486 )
...
* add expo-contacts
* add expo-sms
* update copy
* add basic settings screen
* state machine, flow screen
* phone input screen
* otp screen
* tweak spacing
* resend code logic
* add layoutanimationconfig
* check availablility in settings screen
* get contacts
* matches screen
* search, temp setup for matches UI
* add a bunch of number parsing logic with libphonenumber
* cast to looser type
* rename sync to find
FCF (Find Contacts Flow)
* update geolocation hook
* nicer design for settings screen
* add completed state
* up border contrast
* update expo deps
* add pending spinner
* add country whitelist
* add empty state screen
* drop add more functionality
* upload -> import
* fix typo
* fix permission string
* copy updates
* rm envelope icon
* update sms copy
* add inviteinfo component
* woke is back
* [Contacts] NUXes (#9515 )
* add a bunch of number parsing logic with libphonenumber
* add banner nux
* add announcement nux
* native only nux
* rm shitty animation
* move isNative check
* [Contacts] Onboarding step (#9489 )
* add a bunch of number parsing logic with libphonenumber
* restructure onboarding to better support dynamic screens
* integrate existing flow into onboarding
* add intro step
* lift state up to allow going back freely
* gate onboarding by geo if unsupported country
* add done button to standalone flow
* [Contacts] Add `contact-match` notification type to feed (#9519 )
* add a bunch of number parsing logic with libphonenumber
* add contact-joined notif type
* update string, api package
* Update NotificationFeedItem.tsx
* Update NotificationFeedItem.tsx
* Delete SyncContactsFlow.web.tsx
* fix follow back btn for this case
* [Contacts] API integration (#9487 )
* api integration for flow
* copy tweak
* tweaks after running it
* wire up status page
* rename toast
* use api lib
* rm temp code
* maybe fix otp error
* clear code on error/resend
* add 1s delay to verify success
* update package versions
* Delete SyncContactsFlow.web.tsx
* try and fix yarn.lock lint
* even woker
* fix uppercase friends
* surfdude feedback
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* rm log
* allow resend on invalid code
* Update GetContacts.tsx
* overwrite country code if possible
* fix Apple's Best Feature
* devenv latest
* disable bounces
* interactive keyboard dismiss
* copy changes
* national format
* allow resending immediately
* move success state down a bit
* Update FindContactsSettings.tsx
* [Contacts] More onboarding changes (#9491 )
* integrate existing flow into onboarding
* refreshed onboarding styles, rm stepper
* center content on web
* Add back dismiss button for internal onboarding
* Import sort
---------
Co-authored-by: Eric Bailey <git@esb.lol >
* add matches query to shadow
* add clockwise arrow
* update status design, fix dismiss, fix queries
* add metrics
* add more comments
* Update metrics.ts
* refetch both queries on PTR
* fix shadow state in matches page
* reduce empty space at bottom
* show contact info on matches
* filter out contacts without numbers at an earlier stage
* Error handling ✨
* get notifs working
* filter out businesses
* rm log
* remove TODO from learn more links
* try and exclude from web bundle
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
Co-authored-by: Eric Bailey <git@esb.lol >
2025-12-12 10:32:06 -08:00
Jim Calabro
f7e61056f5
Sitemap Handlers for bsky.app ( #9525 )
...
* implement sitemap handlers for users
* ensure compressed payload is passed through
* improved handling
* reverse header order
* add the sitemap to robots.txt
2025-12-11 09:09:52 -05:00
Jim Calabro
7735183af4
Merge pull request #9475 from bluesky-social/jc/cache
...
Use FromCache Rather Than FromFile on Template Render
2025-12-03 16:47:46 -05:00
David Buchanan
fd14bbfef9
move yt embed script to its own source file ( #9337 )
2025-11-06 10:15:49 -08:00
Hailey
4a9185b0f5
nit
2025-10-06 20:41:04 -07:00
Hailey
1354bf987d
check for self labels when determining if we should hide embeds
2025-10-06 20:39:43 -07:00
Elijah Seed-Arita
7f4e302b85
feat: hide embeds for moderated posts ( #9152 )
2025-10-06 19:34:26 -07:00
hailey
cbcce8c960
improve og profile card ( #9051 )
2025-09-22 11:05:49 -07:00
Caidan
ac71ea235f
improve: enhance post OpenGraph metadata with engagement data and auth handling ( #9046 )
2025-09-17 14:30:10 -07:00
Caidan Williams
f5079b8158
feat: add OpenGraph metadata for feed URLs in bskyweb
...
Enable rich link previews when feed URLs are shared in iMessage, Slack, and other social platforms. Adds feed title, description, creator info, and avatar images to improve sharing experience.
2025-09-09 20:03:50 -07:00
Eric Bailey
535d4d6cf7
📓 Bookmarks ( #8976 )
...
* Add button to controls, respace
* Hook up shadow and mutation
* Add Bookmarks screen
* Build out Bookmarks screen
* Handle removals via shadow
* Use truncateAndInvalidate strategy
* Add empty state
* Add toasts
* Add undo buttons to toasts
* Stage NUX, needs image
* Finesse post controls
* New reply icon
* Use curvier variant of repost icon
* Prevent layout shift with align_start
* Update api pkg
* Swap in new image
* Limit spacing on desktop
* Rm decimals over 10k
* Better optimistic adding/removing
* Add metrics
* Comment
* Remove unused code block
* Remove debug limit
* Fork shadow for web/native
* Tweak alt
* add preventExpansion: true
* Refine hitslop
* Add count to anchor
* Reduce space in compact mode
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-09-04 17:30:15 -05:00
Caidan Williams
eb45154823
refactor: rename canonical filter to canonicalize_url for better clarity
...
- Rename filter from 'canonical' to 'canonicalize_url' to follow Pongo2
naming conventions
- Update function name from filterCanonical to filterCanonicalizeURL
- Update template usage in post.html and profile.html
- Update test function name and all references
2025-08-25 17:18:15 -07:00
Caidan Williams
685650b296
test: add comprehensive coverage for canonical URL filter
...
- Verify clean URL passthrough behavior
- Test query parameter removal functionality
- Test fragment removal functionality
- Test combined query params and fragments handling
- Ensure graceful degradation for malformed URLs
2025-08-25 16:04:45 -07:00
Caidan Williams
60a1be6de0
feat(seo): add canonical URL filter to remove query parameters
...
Addresses community feedback about canonical URLs being misleading
when they include UTM parameters. The new Pongo2 filter creates
clean canonical URLs while preserving tracking parameters for
social sharing.
2025-08-25 16:04:45 -07:00
Eric Bailey
912ab1bd9b
[LEG-246] Geo overlay ( #8881 )
...
* Add AgeBlockedGeo
* Add MaxMind usage text
* Add geo overlay
---------
Co-authored-by: rafael <rafael@blueskyweb.xyz >
2025-08-22 14:55:16 -05:00
Jaz Volpert
4393a275ae
fix echoprom config
2025-07-30 21:42:26 +00:00
Austin McKinley
2b92697e3e
switch to using DefaultServeMux, include go.mod and go.sum changes
2025-07-29 17:51:55 -07:00
Austin McKinley
ea226da275
add metrics to embedr service
2025-07-29 17:36:58 -07:00
Eric Bailey
bc78fb224e
Add comment ( #8739 )
2025-07-29 15:14:12 -05:00
Eric Bailey
1dbc331314
UI for age assurance compliance ( #8652 )
...
* Add geo prop
* Add prelim fetch
* Add geo debug
* Pass in assurance state to notifications registration
* Comments
* Bump git index
* Add some component utils, no design, gate chat
* Disable mod prefs buttons, does not yet edit mod prefs
* Add initial prompt component
* Refine logic for showing prompt
* Add send email dialog
* Hook up dialog to fake mutation
* Fix geo debug bug
* Move provider inside query provider
* Slightly better screen gater
* Ok decent fallback with isExempt
* Reorg
* Wrap prompt in new logic
* Override mod prefs
* Use real endpoints, optimistic state
* Add persistent card, add time-ago, warning to dialog
* Add comment
* No undefined query values
* Fix case in import
* Wait for AA to load before registering push
* Override prefs in all locations
* Small refactor of notifications registration
* Register push after aa state
* Add retries
* Update blocked screens UI
* Strengthen email validation
* Add intent dialog
* Do service auth for init
* Rug refreshJwt
* Update copy
* Some mobile styles, add dev mode option
* Fix links on native
* Clean up intent dialog on native
* Don't mutate existing session, only copy
* Handle email validation error from server
* Clarity is better
* Moar clear
* Fixes
* Tweaks
* Add country code
* Gate it
* Refresh state after redirect
* Re-check on window focus
* Remove todo
* Enable in dev
* Check for did match on redirect
* Add blocked state
* Add appeal dialog
* Copy tweaks
* Inset in blue well
* Nux the prompt
* Copy updates
* Refetch just in case
* Uppercase country code
* Align copy, add notice to chat screens
* Tweak copy
* Add test code
* Add debug code
* Refactor AccountCard
* Big refactor
* Delay post-feed queries instead
* Debug code
* Clean up state
* Reorg
* Clean up copy
* Comments
* Reorg
* UPdate URL
* Cleanup
* Remove todo
* Update debug code
* revert unneeded changes
* UPdate nux name
* Revert unneeded change
* Updaet storage schema
* Checkpoint: cleanup
* Checkpoint: almost there
* isLoaded -> isReady
* Rename useAgeAssurance
* isUnderage -> isDeclaredUnderage
* Decompose, add docblocks
* Refactor
* UPdate debug
* Apply suggestion from @surfdude29
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Apply suggestion from @surfdude29
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Apply suggestion from @surfdude29
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Apply suggestion from @surfdude29
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Apply suggestion from @surfdude29
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Apply suggestion from @surfdude29
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Drop including Bluesky
* Apply suggestion from @surfdude29
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Apply suggestion from @surfdude29
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Remove todo
* Gate debug
* Revert unneeded change
* Fail closed
* Comments
* Comment
* Comment
* fix prettier
* rm viewheader
* bump sdk
* prevent overlap in admonition
* add age assurance intent route
* Just meow
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
* Nix callback
* Fix spelling of dismissible lol
* Don't compare translated string
* Better KWS link labels
* Hide DMs send options in menu
* Add button
* Fix order
* Use only supported languages
* Rm button
* best-effort language mapping
* improve typing
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
2025-07-16 13:58:07 -05:00
Jim Calabro
c9c91fb113
omitempty on aa ( #8647 )
2025-07-14 16:22:41 -05:00
jcalabro
1da123b12b
Fix Age Restriction Type
2025-07-14 16:21:06 -04:00
jcalabro
c2a5b3efa8
Detect Age Restricted Geos
2025-07-10 12:41:15 -04:00
Samuel Newman
bc072570d2
Activity notification settings ( #8485 )
...
Co-authored-by: Eric Bailey <git@esb.lol >
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
Co-authored-by: hailey <me@haileyok.com >
2025-07-01 14:36:04 -07:00
Samuel Newman
21989b558b
Granular notification settings ( #8484 )
...
* add mockup screen
* add notification index screen
* add redirect screen
* upgrade sdk
* new icons
* add new screens
* make router typesafe, finish adding screens
* add routes to go server
* load settings
* push notif settings
* improve web
* fix lockfile lint
* no $type on preferences
* prompt to enable push notifications
* fix reply prefs
* space out options
* fix copy error
* Update RepostsOnRepostsNotificationSettings.tsx
* only send minimal diff to putPrefs
* fix yarn.lock
* Update Navigation.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* Update src/screens/Settings/NotificationSettings/index.tsx
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
* add description to `syncOthers`
---------
Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com >
2025-06-17 02:37:14 -07:00
bnewbold
38a3f37ce8
bskyweb: bump indigo (several codegen updates) ( #8442 )
...
* bump indigo (several codegen updates)
* update call to getAuthorFeed
2025-06-06 16:05:00 -07:00
Eric Bailey
0ac15920a4
Verification ( #8226 )
...
* WIP
* Alignment with icon
* Add create/remove prompts
* Fill out check dialog a bit
* Reorg
* Handle was verified state
* Add warning to edit profile
* Add warning to handle dialog
* Decent alignment in posts on all platforms
* Refactor alignment for posts, chatlist, hover card
* Disable on profile
* Convo header
* Compute simple verification state
* Add other icon, rename, integrate
* Swap in simple state for profile edits
* Clean up utility hooks
* Add verifications UI to dialog
* Add edu nux
* Revert change
* Fix wrapping of check on profile
* Rename
* Fix gap under PostMeta
* Update check dialogs
* Handle takendown verifiers in check dialog
* alf composer reply to
* Refactor verification state
* Add create/remove mutations, non-functional for now
* Fix up post-rebase
* Add check to first author noty
* Do cache updates after mutations
* DRY up hook, add to profile updates too
* Add to drawer
* Update account list
* Adapt to new types
* Hook up mutations
* Use profile shadow in feeds
* Add to settings
* Shadow currentAccountProfile
* Add invalid state to verifications
* Fix alignment and overflow in Settings and Drawer
* Re-integrate post rebase
* Remove debug code
* Update copy
* Add unverified notification support
* Remove link
* Make sure dialog closes
* Update URL
* Add settings screen
* Integrate new setting into verification states
* Add metrics, bump package, fix bad import
* NUX fixes
* Update copy
* Fixes
* Update types
* fix search autocomplete
* fix lint
* add display name warning to new dialog
* update default prefs
* Add parsing support for notifications
* Bump pkg
* Tweak noty styles
* Adjust check alignment
* Tweak check alignment
* Fix badge for verifier
* Modify copy
---------
Co-authored-by: Samuel Newman <mozzius@protonmail.com >
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
2025-04-18 19:15:32 -07:00
Eric Bailey
148bfa803d
Content interests ( #8114 )
...
* Content prefs screen
* Handle debounce, rename
* Fix format
* Let's just use interests
* Reuse hook
2025-04-04 10:26:48 -05:00
bnewbold
462708e207
bskyweb: add robots disallow and 'canonical' config flags ( #4760 )
2025-02-28 16:09:48 -05:00
Samuel Newman
1e3b7feccf
Screen for searching user's posts ( #7622 )
...
* search user's posts screen
* custom placeholder copy if self
* navigate to /profile/:handle
* add name to title
* show header on desktop
2025-02-14 23:22:32 +00:00
devin ivy
ec9cafdbbd
bskyweb: do not serve cache headers on non-2XX for static assets ( #7469 )
2025-01-17 17:36:58 +00:00
Eric Bailey
a2019aceec
Trending (Beta) ( #7144 )
...
* Add WIP UIs for trending topics and suggested starterpacks
* Disable SPs for now
* Improve explore treatment a bit, add some polish to cards
* Add tiny option in RightNav
* Add persisted option to hide trending from sidebar
* Add to settings, abstract state, not updating in tab
* Fix up hide/show toggle state, WITH broadcast hacK
* Clean up persisted code, add new setting
* Add new interstitial to Discover
* Exploration
* First hack at mute words
* Wire up interstitial and Explore page
* Align components
* Some skeleton UI
* Handle service config, enablement, load states, update lex contract
* Centralize mute word handling
* Stale time to 30m
* Cache enabled value for reloads, use real data for service config
* Remove broadcast hack
* Remove titleChild
* Gate settings too
* Update package, rm langs
* Add feature gate
* Only english during beta period
* Hook up real data
* Tweak config
* Straight passthrough links
* Hook up prod agent
* Fix no-show logic
* Up config query to 5 min
* Remove old file
* Remove comment
* Remove stray flex_1
* Make trending setting global
* Quick placeholder state
* Limit # in sidebar, tweak spacing
* Tweak gaps
* Handle hide/show of sidebar
* Simplify messages
* Remove interstitial
* Revert "Remove interstitial"
This reverts commit 1358ad47fd .
* Only show interstitial on mobile
* Fix gap
* Add explore page recommendations
* [topics] add topic screen (#7149 )
* add topic screen
* decode
* fix search query
* decode
* add server route
* Fix potential bad destructure (undefined)
---------
Co-authored-by: Paul Frazee <pfrazee@gmail.com >
Co-authored-by: Dan Abramov <dan.abramov@gmail.com >
Co-authored-by: Hailey <me@haileyok.com >
2024-12-17 19:45:39 -08:00