Skip to content

Where people and agents ship software together. The open-source git platform for the whole job: issues, agents, checks and deploys to the edge.

Commit

Project descriptions and public channels, checked against what shipped (#52). Importing from GitHub says the repository's description comes across as its project's, as the import now does, and the MCP reference's repository create says its description becomes the project's. The rest of #45's pages (projects, managing repositories, forking, search) already said only projects have descriptions.

Chat's public channels say exactly who can read and join one: a member, or anyone signed in with a confirmed email address, except someone outside the workspace who was taken out of it; that only people come in from outside, not a workspace's tokens or agents, and that someone unconfirmed or signed out is asked to confirm or sign in; where the switch is (Visibility, Open to anyone on g1t, on workspace and public channels that aren't archived); and that a request to join takes a note of up to 300 characters. How the sidebar groups channels is left alone, for the change that splits public channels into a group of their own.

Checked:
services/integrations/src/github.rs (the import's describe call), apps/api/src/operations.rs (create_repo's description), services/chat/src/access.ts (mayRead, mayJoin, mayVisit, requestNote), apps/web/app/components/chat/channel.tsx and actions.tsx for the labels. Docs build (543 pages) and tests (4).
G1t-Session:
ses_01m4ynr1peevvs8zwaqakycv2e
syntaqxcommitted Parentfcc5171Browse files
3 files+13−60/3 viewed
+11−5
7474 | | Workspace `#` | Private 🔒 | Public 🌐 |
7575 | --- | --- | --- | --- |
7676 | Who can find it | Every member, under **Browse channels** | Only the people in it | Every member, and anyone on g1t with its link |
77−| Who can join | Any member | Only people someone in it adds, or lets in on a [request](#ask-to-join) | Anyone signed in to g1t |
78−| Who can read it | Every member | Only the people in it | Anyone signed in to g1t |
77+| Who can join | Any member | Only people someone in it adds, or lets in on a [request](#ask-to-join) | Anyone signed in to g1t with a confirmed email address, except someone outside the workspace who was [taken out of it](#public-channels) |
78+| Who can read it | Every member | Only the people in it | Every member, and anyone signed in to g1t with a confirmed email address |
7979 | Who can make one | Members, unless owners keep it to themselves | Members, unless owners keep it to themselves | Workspace owners |
8080
8181 Anyone in a channel who is not a member of the workspace shows as a
114114 - People outside the workspace talk there as **guests**. They see that
115115 channel and the workspace's other public ones, and nothing else of the
116116 workspace: no other channels, no direct messages, no people directory.
117+- Only people come into another workspace's channels: not a workspace's
118+ tokens, and not agents. Someone whose email address isn't
119+ confirmed yet is asked to confirm it first, and someone signed out is
120+ asked to sign in.
117121 - **@g1t works for the workspace's members only.** Guests never start a
118122 conversation with g1t, in a public channel or anywhere else, so nobody
119123 outside the workspace spends its AI.
120124 - Only a workspace owner makes a channel public, when creating it or later
121− from its details (**Open to anyone on g1t**). A private channel stays
122− private. Turning it off keeps the channel to the workspace again: guests
125+ from its details: under **Visibility**, turn on **Open to anyone on g1t**.
126+ The switch is there for workspace and public channels that aren't
127+ archived; a private channel stays private. Turning it off keeps the channel to the workspace again: guests
123128 who joined on their own leave it, and guests someone asked in stay.
124129 - A channel's owners and the workspace's owners can take anyone out of it
125130 from its details. Someone outside the workspace taken out of a public
158163
159164 Opening the link of a channel you cannot open (a private one, or a
160165 workspace one when you are not in the workspace) shows **You can't open
161−#channel** and a way to **Ask to join**, with an optional note. The page is
166+#channel** and a way to **Ask to join**, with an optional note of up to
167+300 characters. The page is
162168 the same whether or not the channel exists, so asking never tells anyone
163169 about a channel they may not see.
164170
+1−0
120120 | | |
121121 | --- | --- |
122122 | Every branch and tag | Yes, with full history |
123+| Its description | Yes, as its [project's](/guides/projects/) description, since a repository on g1t has none of its own. Change it later in the project's **Settings → General**. |
123124 | Issues | When **Copy issues too** is ticked: up to 200, oldest first, open or closed as on GitHub, with their labels (up to 10 each) |
124125 | Who opened an issue | Named in the issue: by their g1t username if they have linked GitHub, otherwise by their GitHub login. The issue itself is opened by you. |
125126 | Milestones | Named in each issue; g1t has no milestones |
+1−1
259259 | [`contents`](/reference/api/repositories/get-contents/) | What it holds at `path` (the root when left out) at `ref` (the default branch when left out): a file's `text` (null for a binary one; at most 200,000 characters), or a directory's `entries` and its README. | `repo` | `code:read` |
260260 | [`tarball`](/reference/api/repositories/download-tarball-archive/) | A link to a branch, tag or commit (`ref`, the default branch when left out) as a `.tar.gz` that needs no token, good for 10 minutes, as `url`, with the `commit` it is of. | `repo` | `code:read` |
261261 | [`zipball`](/reference/api/repositories/download-zipball-archive/) | The same as a `.zip`. | `repo` | `code:read` |
262−| [`create`](/reference/api/repositories/create-repo/) | Create a repository in one of your workspaces, empty or as a copy of a public git repository (`import_url`). `workspace` may be left out if you belong to exactly one. | `name` | `repo:write` |
262+| [`create`](/reference/api/repositories/create-repo/) | Create a repository in one of your workspaces, empty or as a copy of a public git repository (`import_url`). `description` becomes its [project's](/guides/projects/), as a repository has none of its own. `workspace` may be left out if you belong to exactly one. | `name` | `repo:write` |
263263 | [`update`](/reference/api/repositories/update-repo/) | Change its `website`, `topics` and `default_branch`, whether its default branch is `protected`, whether it is `private`, and whether a private repository may be forked (`allow_forking`). Maintain role; `protected`, `private`, `allow_forking` and `default_branch` need Admin, and `private` the [member privileges](/guides/workspaces/#member-privileges) unless you are an owner. | `repo` | `repo:write` |
264264 | [`get_settings`](/reference/api/repositories/get-repo-settings/) | How it handles pull requests: how they merge, and the default branch's required checks, approvals, bypassing checks, being up to date and merge queue as its [rulesets](/guides/rules/) stack. | `repo` | `repo:read` |
265265 | [`update_settings`](/reference/api/repositories/update-repo-settings/) | Change those settings. Only the fields given change; `required_checks` replaces the whole list. Maintain role. | `repo` | `repo:write` |

Comments

Sign in to comment.