chadtmiller.com/pds.js
An atproto PDS in JavaScript, for Cloudflare Workers and Node
0
0
# @pdsjs/git-ui
## 0.0.1
### Patch Changes
- 04b15d0: The repositories page gains a New repository button and a /new form, with the
visibility a private repository needs: a permissioned space. Making one
private asks for nothing further, the space is created for it keyed by the
name, and it is offered only when the account's PDS serves the space methods.
A private repository lists for the owner, opens at the same address a public one does, and an
empty repository shows its push instructions until the first push. The sign-in
grant names `repo:dev.pdsjs.git.repo?action=create&action=update`, so creating
is in the requested scope rather than resting on `atproto` full access.
- 04b15d0: The commits and commit pages of a repository nothing has been pushed to say so
with the same empty state the issues and pull request lists use, instead of
showing the server's refusal.
- 04b15d0: The browser app probes the page's own origin for the `dev.pdsjs.git.*`
methods before falling back to the account's PDS, so the same build works
served from a forge that answers them beside the page.
- f27dcf7: The settings tab gains renaming, and the forge addresses a repository by name
while reading its record by key.
A repository's displayed name came from its record's URI, which a minted key
turns into a TID on every screen; the rows a listing puts in hand carry the
name as a field, so that is what the map is keyed by and what a page shows.
The pack reader in the page and the config record beside a repository both
want the key instead, so the rows are indexed by key as well.
Renaming writes one field, and the panel says what it costs: the issues, pull
requests and checks stay with the repository, and the clone remotes have to be
re-pointed. A private repository keeps its name, because the space holding it
is what an address resolves to.
- e0b38cd: The browser app gains the repository's own settings, at `/<repo>/settings`,
for the owner's sign-in alone. Four groups, each saving on its own the way
`dev.pdsjs.git.updateSettings` takes them: the description and the default
branch, the protected branches, the check runner, and the packages the
repository builds. The runner field takes a handle as well as a DID, and
resolves the handle to the DID the record holds. The package list offers what
the account has already published to its own npm and OCI registries, read
from the two registry collections.
A protected name whose branch is gone, and a linked package no longer
published, both stay listed, so saving an unrelated change does not drop them.
The sign-in grant names `repo:dev.pdsjs.git.config?action=create&action=update`
beside the repository record it already asked for, since the settings write
both records. A session granted before the scope grew is sent back through
consent, the way every scope growth is.
- 04b15d0: Every screen takes one shape: a band fixed at the top and a body that scrolls
on its own, so the bar, the section tabs and whatever a page fixes above its
list stay put on every route, including the form pages and the notices. The
bands are one height, the detail pages open on one heading, and the forms
share one text field. The pull request tabs scroll sideways on a phone rather
than wrapping, the first-visit placeholders take the shape of the screens they
stand in for, and the git-service probe no longer takes a host's single-page
fallback for an answer.
- @pdsjs/git-ci@0.5.2
- @pdsjs/npm@0.1.3
- @pdsjs/oci@0.1.3
- @pdsjs/git@0.1.5