~ 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