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

chadtmiller.com/pds.js

An atproto PDS in JavaScript, for Cloudflare Workers and Node

0
0
main
63 lines · 3.5 KB Raw History
# @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