alpha
Login
or
Join now
tangled.org
/
core
Star
11
Fork
68
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Monorepo for Tangled
tangled.org
Star
11
Fork
68
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
16
Pulls
28
Pipelines
core
/
appview
/
at
6c6ca65b2e841d28be771b6e3f3dfe281bb6af05
35 folders
1 file
eti
appview: persist newsletter signup/dismiss per-user for cross-device hiding
2mo ago
6c6ca65b
bsky
appview: persist newsletter signup/dismiss per-user for cross-device hiding the newsletter widget used only localStorage to remember whether a user had signed up or dismissed it, so the cta kept reappearing whenever a user opened tangled on another device or browser. for logged-in users, store the state in a newsletter_preferences table keyed on did with an enum status ('subscribed' | 'dismissed') and the email they gave us. the home and timeline handlers read this row to decide whether to render the widget, and the server-rendered gfi banner widens when the widget is gone so the grid doesn't leave an empty column. resend stays the source of truth for the mailing list itself (sending, bounces, one-click unsubscribes) — the new table only answers the render-time question 'should this did see the widget right now?', which resend cannot cheaply answer because it's keyed on email rather than did and would add a network hop to every timeline render. anonymous visitors keep the localStorage fallback. the client-side 'already dismissed in a past session' path deliberately only calls hide() (not dismiss()) so that a stale localStorage flag can't clobber a subscribed row set from another device. Signed-off-by: eti <eti@eti.tf>
2 months ago
cache
appview,knotserver: pref-handle display + identity ingest Lewis: May this revision serve well! <lewis@tangled.org>
2 months ago
cloudflare
appview/cloudflare: add kv, r2 and dns client wrappers Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
4 months ago
commitverify
commitverify: skip unsigned commits before DB lookup Signed-off-by: Matías Insaurralde <matias@insaurral.de>
2 months ago
config
appview: upgrade to resend-go/v3, add newsletter signup upgrade to resend-go/v3 and add a newsletter signup endpoint. replace the join CTA with a newsletter signup form. rework the timeline page to be a two-column layout on desktop. Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org> Signed-off-by: eti <eti@eti.tf>
2 months ago
db
appview: persist newsletter signup/dismiss per-user for cross-device hiding the newsletter widget used only localStorage to remember whether a user had signed up or dismissed it, so the cta kept reappearing whenever a user opened tangled on another device or browser. for logged-in users, store the state in a newsletter_preferences table keyed on did with an enum status ('subscribed' | 'dismissed') and the email they gave us. the home and timeline handlers read this row to decide whether to render the widget, and the server-rendered gfi banner widens when the widget is gone so the grid doesn't leave an empty column. resend stays the source of truth for the mailing list itself (sending, bounces, one-click unsubscribes) — the new table only answers the render-time question 'should this did see the widget right now?', which resend cannot cheaply answer because it's keyed on email rather than did and would add a network hop to every timeline render. anonymous visitors keep the localStorage fallback. the client-side 'already dismissed in a past session' path deliberately only calls hide() (not dismiss()) so that a stale localStorage flag can't clobber a subscribed row set from another device. Signed-off-by: eti <eti@eti.tf>
2 months ago
email
appview: upgrade to resend-go/v3, add newsletter signup upgrade to resend-go/v3 and add a newsletter signup endpoint. replace the join CTA with a newsletter signup form. rework the timeline page to be a two-column layout on desktop. Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org> Signed-off-by: eti <eti@eti.tf>
2 months ago
filetree
appview/pages: differentiate open/close icons in filetree the giant tailwind safelist is used because nested groups cannot be styled using tailwind, and therefore we need named groups. we pre-populate the source html with up to 12-deep named groups and their variants so that tailwind generates the right css. Signed-off-by: oppiliappan <me@oppi.li>
3 months ago
indexer
appview/indexer: propagate SearchInContext error instead of nil, nil Search was returning nil,nil on error, silently bypassing every caller's error guard and causing a nil pointer dereference on the result. Return nil,err instead. Signed-off-by: Matías Insaurralde <matias@insaurral.de>
2 months ago
issues
ogre: show issue/pull author in card footer Replace the footer's leading slot with the author's avatar and handle for issue and pull request cards. For long handles, ellipsize and drop the reaction and comment counts to keep the tangled logo visible. appview/{issues,pulls}: send author info to ogre Resolve the author's handle and avatar URL from the issue/pull owner DID and pass them in the payload so ogre can render the author in the card footer. Signed-off-by: eti eti@eti.tf
2 months ago
knots
appview: remove `oauth.User` type This is not required anymore. `MultiAccountUser` can just hold active user DID. Signed-off-by: Seongmin Lee <git@boltless.me>
5 months ago
labels
appview: remove `oauth.User` type This is not required anymore. `MultiAccountUser` can just hold active user DID. Signed-off-by: Seongmin Lee <git@boltless.me>
5 months ago
mentions
appview: rename refresolver module to mentions usage of the resolver is now mentionsResolver. Signed-off-by: oppiliappan <me@oppi.li>
6 months ago
middleware
appview,knotserver: pref-handle display + identity ingest Lewis: May this revision serve well! <lewis@tangled.org>
2 months ago
models
appview: bubble up error on `PullFromRecord` Signed-off-by: Seongmin Lee <git@boltless.me>
2 months ago
notifications
appview: remove `oauth.User` type This is not required anymore. `MultiAccountUser` can just hold active user DID. Signed-off-by: Seongmin Lee <git@boltless.me>
5 months ago
notify
appview/pulls: update handlers for new pull model Signed-off-by: oppiliappan <me@oppi.li>
3 months ago
oauth
appview: remove `oauth.User` type This is not required anymore. `MultiAccountUser` can just hold active user DID. Signed-off-by: Seongmin Lee <git@boltless.me>
5 months ago
pages
appview: persist newsletter signup/dismiss per-user for cross-device hiding the newsletter widget used only localStorage to remember whether a user had signed up or dismissed it, so the cta kept reappearing whenever a user opened tangled on another device or browser. for logged-in users, store the state in a newsletter_preferences table keyed on did with an enum status ('subscribed' | 'dismissed') and the email they gave us. the home and timeline handlers read this row to decide whether to render the widget, and the server-rendered gfi banner widens when the widget is gone so the grid doesn't leave an empty column. resend stays the source of truth for the mailing list itself (sending, bounces, one-click unsubscribes) — the new table only answers the render-time question 'should this did see the widget right now?', which resend cannot cheaply answer because it's keyed on email rather than did and would add a network hop to every timeline render. anonymous visitors keep the localStorage fallback. the client-side 'already dismissed in a past session' path deliberately only calls hide() (not dismiss()) so that a stale localStorage flag can't clobber a subscribed row set from another device. Signed-off-by: eti <eti@eti.tf>
2 months ago
pagination
appview: add basic issue indexer - Heavily inspired by gitea - add `GetAllIssues` which only receives a paginator and gathers all issues ignoring `repoAt` field Signed-off-by: Seongmin Lee <boltlessengineer@proton.me>
11 months ago
pipelines
appview/pipelines: fix incorrect totals the default query limits to 30 items, we need a separate query for total pipeline counts. Signed-off-by: oppiliappan <me@oppi.li>
4 months ago
pulls
ogre: show issue/pull author in card footer Replace the footer's leading slot with the author's avatar and handle for issue and pull request cards. For long handles, ellipsize and drop the reaction and comment counts to keep the tangled logo visible. appview/{issues,pulls}: send author info to ogre Resolve the author's handle and avatar URL from the issue/pull owner DID and pass them in the payload so ogre can render the author in the card footer. Signed-off-by: eti eti@eti.tf
2 months ago
randomart
show branches in a dropdown
1 year ago
repo
appview/repo: replace log.Printf/Println with structured logging in feed.go Signed-off-by: Matías Insaurralde <matias@insaurral.de>
2 months ago
reporesolver
appview,knotserver: pref-handle display + identity ingest Lewis: May this revision serve well! <lewis@tangled.org>
2 months ago
searchquery
appview/searchquery: add dynamic tag extraction and shared resolution helpers Add KnownTags map and GetDynamicTags/GetNegatedDynamicTags methods to extract label-value search filters from parsed queries. Any tag:value pair whose key is not a known system tag (state, author, label) is treated as a dynamic label filter. Add resolve.go with shared helpers: IdentResolver type, ResolveAuthor, ExtractTextFilters, and ResolveDIDLabelValues. These keep resolution logic in the searchquery package without coupling it to idresolver. Signed-off-by: Thomas Karpiniec <tom.karpiniec@outlook.com>
3 months ago
serververify
orm: extract orm package from appview includes query and migration helpers Signed-off-by: oppiliappan <me@oppi.li>
6 months ago
settings
appview/settings: replace log.Printf with structured logging Signed-off-by: Matías Insaurralde <matias@insaurral.de>
2 months ago
signup
appview/signup: fix HTML notice not being rendered Signed-off-by: oppiliappan <me@oppi.li>
2 months ago
sites
appview/sites: use repoIdentifier for archive requests we could just use the knotmirror here directly instead of deploying from the knot, but we'd need the knotmirror to update before the site. for now just deploy from the knot. Signed-off-by: oppiliappan <me@oppi.li>
2 months ago
spindles
appview: remove `oauth.User` type This is not required anymore. `MultiAccountUser` can just hold active user DID. Signed-off-by: Seongmin Lee <git@boltless.me>
5 months ago
state
appview: persist newsletter signup/dismiss per-user for cross-device hiding the newsletter widget used only localStorage to remember whether a user had signed up or dismissed it, so the cta kept reappearing whenever a user opened tangled on another device or browser. for logged-in users, store the state in a newsletter_preferences table keyed on did with an enum status ('subscribed' | 'dismissed') and the email they gave us. the home and timeline handlers read this row to decide whether to render the widget, and the server-rendered gfi banner widens when the widget is gone so the grid doesn't leave an empty column. resend stays the source of truth for the mailing list itself (sending, bounces, one-click unsubscribes) — the new table only answers the render-time question 'should this did see the widget right now?', which resend cannot cheaply answer because it's keyed on email rather than did and would add a network hop to every timeline render. anonymous visitors keep the localStorage fallback. the client-side 'already dismissed in a past session' path deliberately only calls hide() (not dismiss()) so that a stale localStorage flag can't clobber a subscribed row set from another device. Signed-off-by: eti <eti@eti.tf>
2 months ago
strings
appview: remove `oauth.User` type This is not required anymore. `MultiAccountUser` can just hold active user DID. Signed-off-by: Seongmin Lee <git@boltless.me>
5 months ago
validator
appview/validator: write validators for pull records Signed-off-by: oppiliappan <me@oppi.li>
4 months ago
xrpcclient
appview: switch to indigo oauth library Signed-off-by: oppiliappan <me@oppi.li>
8 months ago
ingester.go
appview,knotserver: pref-handle display + identity ingest Lewis: May this revision serve well! <lewis@tangled.org>
2 months ago