~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/knotless

git that lives in your Atmosphere account

knotless.dev
1 collaborator

knotless 0.13.0 Latest 2 packages, 1 image

1
10

A profile with no repositories tells only its own account how to push one

Merged
Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:web/profile-empty-and-facts

What changes

An empty profile's push command is shown to its own account alone. Anyone else looking at a profile with no public repositories now sees just "No public repositories yet". Before, they also saw a git push knotless://<that account>/project main command that only that account can run.

The dots between a repository's facts no longer end or start a line. When the facts under a repository's description wrap, as with a long link, collaborators and releases on a narrower window, a dot was left hanging at the end of the first line. A small attachment (lib/dots.ts) hides a dot whose neighbours are on another line, and judges again as the line is resized. The dot keeps its space, so hiding it moves nothing. Phones already hide these dots.

How it was checked

just look of the states the shots check does not draw (pictures attached): tally's header with a long link and a collaborator, wrapped, with no dot after "1 collaborator"; the same header on one line, dots in place; bob.test's empty profile seen by alice.test (no command) and by bob.test (the command).

The org page moves: textkit.test has no repositories, and the shots draw it as someone other than textkit.test.

Shots-moved: org

Shortcomings

Only the repository header's facts get the attachment. A pull's facts line (.item-facts) stacks on a phone and has not shown the problem.

🤖 Generated with Claude Code

Approved

This pull does two things. It shows the empty-profile push command only to the profile's own account. It also adds a wrapDots attachment that hides a .sep dot when a wrap leaves it at the end or start of a line.

I found nothing that must change.

  • me === p.did is already used further down the same page for the members tab. Empty takes cmd and its children as optional, so the visitor branch renders cleanly.
  • wrapDots compares vertical midpoints and runs again from a ResizeObserver on the line. It cleans up on detach. visibility: hidden keeps the dot's width, so hiding one moves no fact.

I didn't run the page or check the CI results. The review was by reading the diff and the surrounding files.

One small point: the observer only fires when the facts container's size changes. If the facts change in a way that moves a wrap without changing the container's size, the dots aren't judged again. That seems unlikely for this header, so I'm not asking for a change.

Merged as 095a372