Commits
Signed-off-by: oppiliappan <me@oppi.li>
use the blessed logotype
Signed-off-by: oppiliappan <me@oppi.li>
the behavior is like so now:
- comments no longer have a reaction button below them
- like linear/discord/slack: the reaction button shows up on hover in
the comment header to the right
- when existing reactions are present, a reaction button can be seen in
the bottom, *in addition* to the one in the header (just like linear's
comment threads)
Signed-off-by: oppiliappan <me@oppi.li>
unifies button styles in putIssue, new comment, edit comment, reply
comment etc.
Signed-off-by: oppiliappan <me@oppi.li>
the thread collapse behavior should only show up when hovering over the
hit-area or the collapse button.
Signed-off-by: oppiliappan <me@oppi.li>
the new header includes the correct timestamp, removes the hover buttons
etc.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
- errors are printed to the right of the button
- any existing error messages are dismissed before a new request is
fired
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
this will fix the verified mark bug
Signed-off-by: Seongmin Lee <git@boltless.me>
switch home/mission control to fractional columns with per-column
max-widths and a 1920px outer cap.
resolves [TAN-505](https://linear.app/tangled/issue/TAN-505)
Signed-off-by: eti <eti@eti.tf>
types.Commit already extracts the change-id commit header (written by
jj) on both the log and diff paths; this exposes it in the ui:
- commit lists (repo log, repo index): hovering the commit hash shows
the full change id as a tooltip
- commit page: full commit and parent hashes on their own line below
the commit meta, with the full change id underneath in
jj-conventional purple
Card felt flat — radial gradient added noise without depth.
Replaced with a clean linear gradient (dark mode inverted),
brighter text contrast, and a CSS-masked gradient shield icon.
Refs: [TAN-486](https://linear.app/tangled/issue/TAN-486)
Signed-off-by: eti <eti@eti.tf>
anonymous text nodes don't receive gap from the parent flex container;
wrapping "authored by" and "and committed by" in explicit span elements
fixes the missing space between user link and label text
Signed-off-by: eti <eti@eti.tf>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
fixes duplications in our DB from an unfortunate spindle deploy. on the
offchance that there are other spindle instances out there that deployed
master, this should fix all ingested statuses.
Signed-off-by: oppiliappan <me@oppi.li>
when selecting fork sources, we were selecting by at_uri, which was
causing the queries to sliently fail. switching to repoDids here fixes
fork sources, and as a result, fixes the templates to render the right
repo card text: `<user> forked <repo> to <repo>`.
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: eti <eti@eti.tf>
Lewis: May this revision serve well! <lewis@tangled.org>
benchmarked on a synthetic db (10k users, 500k follows, 500k stars,
50k repos), the per-source queries behind the following timeline were
slow because of missing indexes and a poor query shape:
- stars filtered by did had no usable index; sqlite picked
idx_stars_subject_type which matches nearly every row (~312ms)
- follower/following counts group by subject_did, which had no
index, forcing a full scan (~229ms)
- follows ordered by followed_at with no index sorted every matched
row in a temp b-tree (~157ms)
fixes:
- new indexes: stars(did, subject_type, created),
follows(subject_did), follows(followed_at), repos(created); the
latter two also let the global timeline read newest-first straight
off an index instead of sorting
- push the following-set membership check into sql with a subquery
(orm.FilterInSubquery) instead of materializing all followed dids
in go and binding them as hundreds of placeholders in three
separate queries
all benchmarked queries now run in ~1ms.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Useful during local testing.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
this is a temporary change to remove the copy-to-clipboard button in
readmes and blob views. to reintroduce this:
- understand if we need this at all (you can view raw, ctrl+a, ctrl+c)
- dedup code with existing copy-to-clipboard buttons
- figure out a good design for this in blob views, it is a bit cluttered
at the moment
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Also set etag for any small contents.
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Directly embedding xrpc response to page parameter makes super hard to
track which value is used where.
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Signed-off-by: Seongmin Lee <git@boltless.me>
Serving raw SVG from same origin can cause XSS attack.
Using octet-stream for SVG file will break the README rendering.
Thus, assuming knotmirror is hosted on different origin, appview will
just redirect to knotmirror for all `/raw/` blob paths.
Signed-off-by: Seongmin Lee <git@boltless.me>
the trending widget used a stretched link (absolute inset-0) inside a
position:relative table row. safari does not support positioned table
rows as containing blocks, so each row link stretched to a distant
ancestor and swallowed taps far outside the widget, e.g. the
global/following toggle on mobile. replace the table with real anchor
rows laid out on a grid.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Sorry for not catching this the first time!
Signed-off-by: Smit Patil <smit@smit.codes>
Signed-off-by: smit.codes <smit@smit.codes>
Signed-off-by: Smit Patil <smit@smit.codes>
Signed-off-by: smit.codes <smit@smit.codes>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Lewis: May this revision serve well! <lewis@tangled.org>
- new -kind flag selects between the logo and the full logotype
- -template now accepts a directory of templates
- -size accepts a bare width; height is derived from the template
viewBox aspect ratio
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
Signed-off-by: oppiliappan <me@oppi.li>
Lewis: May this revision serve well! <lewis@tangled.org>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
Signed-off-by: oppiliappan <me@oppi.li>
the behavior is like so now:
- comments no longer have a reaction button below them
- like linear/discord/slack: the reaction button shows up on hover in
the comment header to the right
- when existing reactions are present, a reaction button can be seen in
the bottom, *in addition* to the one in the header (just like linear's
comment threads)
Signed-off-by: oppiliappan <me@oppi.li>
types.Commit already extracts the change-id commit header (written by
jj) on both the log and diff paths; this exposes it in the ui:
- commit lists (repo log, repo index): hovering the commit hash shows
the full change id as a tooltip
- commit page: full commit and parent hashes on their own line below
the commit meta, with the full change id underneath in
jj-conventional purple
benchmarked on a synthetic db (10k users, 500k follows, 500k stars,
50k repos), the per-source queries behind the following timeline were
slow because of missing indexes and a poor query shape:
- stars filtered by did had no usable index; sqlite picked
idx_stars_subject_type which matches nearly every row (~312ms)
- follower/following counts group by subject_did, which had no
index, forcing a full scan (~229ms)
- follows ordered by followed_at with no index sorted every matched
row in a temp b-tree (~157ms)
fixes:
- new indexes: stars(did, subject_type, created),
follows(subject_did), follows(followed_at), repos(created); the
latter two also let the global timeline read newest-first straight
off an index instead of sorting
- push the following-set membership check into sql with a subquery
(orm.FilterInSubquery) instead of materializing all followed dids
in go and binding them as hundreds of placeholders in three
separate queries
all benchmarked queries now run in ~1ms.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>
this is a temporary change to remove the copy-to-clipboard button in
readmes and blob views. to reintroduce this:
- understand if we need this at all (you can view raw, ctrl+a, ctrl+c)
- dedup code with existing copy-to-clipboard buttons
- figure out a good design for this in blob views, it is a bit cluttered
at the moment
Signed-off-by: oppiliappan <me@oppi.li>
the trending widget used a stretched link (absolute inset-0) inside a
position:relative table row. safari does not support positioned table
rows as containing blocks, so each row link stretched to a distant
ancestor and swallowed taps far outside the widget, e.g. the
global/following toggle on mobile. replace the table with real anchor
rows laid out on a grid.
Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.org>