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.

g1t.sh
564 linesCodeBlameRaw
1---
2title: Chat
3description: Talk to your team in channels, direct messages and threads, live. React, add your workspace's own emoji, set a status, and choose what notifies you.
4---
5
6import { Steps } from '@astrojs/starlight/components';
7import Soon from '../../../components/Soon.astro';
8import Conversation from '../../../components/Conversation.astro';
9import Message from '../../../components/Message.astro';
10import Aside from '../../../components/Aside.astro';
11import Card from '../../../components/Card.astro';
12import { CardGrid } from '@astrojs/starlight/components';
13
14**Chat is where a workspace talks.** Everyone in a workspace can find its
15channels, write in the same threads and message each other directly. You
16can ask a teammate a question in a channel or a direct message, and the
17answer arrives in the place you asked.
18
19Chat is open to every member of a workspace, on every plan, the free one
20too. Chat is never charged: no seats, no per-message price and no history
21cutoff.
22
23Open **Chat** in the rail on the left, or go to
24`g1t.sh/<workspace>/-/chat`.
25
26## A conversation
27
28Here is a morning in `#web`, a channel for the web app, its releases and
29its bugs:
30
31<Conversation title="# web" topic="The web app, its releases and its bugs">
32<Message name="Priya Shah" time="10:42">
33
34Thursday's release is #412, #415 and #417. @dana can you check the invite emails in #412 before then? They change what customers receive.
35
36</Message>
37<Message name="Dana Brooks" time="10:43">
38
39On it. I'll reply in a thread here with anything I find.
40
41</Message>
42<Message name="Ana Ruiz" time="10:45">
43
44#417 is merged. Charts read correctly in dark mode now.
45
46</Message>
47</Conversation>
48
49Priya **mentioned** `@dana`, so the message is counted as a mention in
50Dana's sidebar and, with the default settings, notifies her.
51
52Everyone is shown by name. A person is their display name, or their
53username as they wrote it when they have none. Their username is on their
54card: select a name or avatar to see it. Messages someone sends within
55five minutes of each other sit under one name, and each new day starts with a divider.
56The sidebar, the people typing, notifications and phone alerts all name
57people the same way.
58
59Messages that agents wrote in a workspace's chat in the past still show
60where they were posted, under the name the agent had, or as a deleted
61agent.
62
63## Channels
64
65A channel is a named conversation, such as `#web`, `#releases` or
66`#support`. Every workspace starts with `#general`, and everyone new is put
67in it the first time they open Chat (owners can choose other
68[default channels](#workspace-chat-settings)). A private channel shows a
69lock in place of `#`, in the sidebar, in Browse channels and at the top of
70the channel.
71
72| | Public channel | Private channel |
73| --- | --- | --- |
74| Who can find it | Every member, under **Browse channels** | Only its members |
75| Who can join | Any member, by opening it and choosing **Join** | Only people a member adds |
76| Who can read it | Every member | Only its members |
77
78### Create a channel
79
80<Steps>
81
821. In Chat's sidebar, choose **Create a channel**.
832. Give it a **name**. Names are what people type after `#`: up to 80
84 lowercase letters, digits, dashes and underscores. `Web Team` becomes
85 `web-team`.
863. Optionally, say what the channel is for. That line shows under its name.
874. Turn on **Private** if only the people you invite should find and read
88 it.
895. Choose **Create channel**. You are its owner and first member. Invite
90 people once it is made.
91
92</Steps>
93
94A workspace's owners can keep creating public channels, private channels or
95both to themselves ([chat settings](#workspace-chat-settings)). When they
96have, **Create a channel** is turned off for everyone else and says why, and
97someone who may create only one kind gets that kind.
98
99### Join, leave and browse
100
101- **Browse channels** lists every public channel, and the private ones
102 you're in, at `g1t.sh/<workspace>/-/chat/browse`, and at the end of the
103 sidebar's **Channels**. Choose a channel anywhere on its row to read it,
104 and choose **Join** to post in it and see it in your sidebar. A private channel
105 you're not in never appears.
106- **Archived**, on the same page, lists archived channels.
107- You can leave a channel, and join a public one again at any time.
108- When you join, everything already said counts as read, so a busy channel
109 doesn't greet you with its whole history as unread.
110
111### Rename, archive and change the topic
112
113Open a channel's details (the members button at the top right) to change
114it.
115
116| Change | Who can |
117| --- | --- |
118| **Topic** | Any member of the channel. |
119| **Rename** | The channel's owners and the workspace's owners, or only the workspace's owners if they chose so in [chat settings](#workspace-chat-settings). The address follows the new name for everyone who has it open. |
120| **Archive** | The same people as rename. An archived channel leaves everyone's sidebar and nobody can post in it, but its history stays readable. |
121| **Unarchive** | The same people, from the archived channel itself or **Browse channels → Archived**. |
122
123`#general` is never renamed or archived. Everyone looking at a channel sees
124a change to it the moment it is made.
125
126### Star and mute
127
128- **Star** a channel to keep it at the top of your sidebar.
129- **Mute** a channel to stop its unread count from drawing your eye. You
130 still see mentions of you.
131
132Both are yours alone; nobody else's sidebar changes.
133
134## The sidebar
135
136Chat's sidebar lists, from the top:
137
138| Section | What's in it |
139| --- | --- |
140| **Pinned** | Conversations you pinned (hover over one and choose the pin, or right-click it). Only when you have some. |
141| **Channels** | The channels you're in, by name, then **Browse channels** with how many more you could join. **+** creates one. |
142| **Direct messages** | [g1t](#talk-with-g1t) first, then your direct messages, the latest first. The pencil starts a new message. Empty, it says **Message a teammate.** |
143
144Unread conversations are in bold with a count; mentions of you are counted
145in lavender. **All**, **Unread** and **Mentions** filter every section, and
146**Jump to channel or person** finds any of them by name.
147
148Choose a section's name to fold it. A folded section still shows what's
149unread and the conversation you have open, and it stays folded on that
150device until you open it again.
151
152## Direct messages
153
154A direct message is a private conversation between you and up to eight
155other members. Start one with **New message** in Chat's sidebar and pick
156who to message.
157
158- The same group of members always gets the same conversation, whatever
159 order you pick them in.
160- A DM with only yourself is a place for notes.
161
162## Talk with g1t
163
164**g1t** is at the top of your direct messages, with its mark for a face.
165Write to it like anyone else and it answers, with your workspace's own AI
166provider and the model an owner chose: see [Ask g1t](/guides/ask/) for
167setting it up and what it knows.
168
169- It is the same conversation as **Ask** in the top bar: a question asked
170 there is posted here with the page it was asked from, and the answer
171 shows in both places as it is written.
172- The answer streams in as g1t writes it. **Stop answering**, over the box
173 you write in, ends it; what came stays. Writing again while it answers
174 does the same, and g1t answers your newest words.
175- **New conversation**, at the top, leaves a mark: g1t reads only what is
176 said after it. Everything before stays to read.
177- Under its latest answer, **Answer again** has it answer anew, and
178 **Copy** copies an answer. Each answer says which provider and model
179 wrote it.
180- Until an owner chooses a provider, g1t replies with where to choose one.
181- Only you and g1t are in it: g1t can't be added to a group message or a
182 channel, and mentioning `@g1t` in a channel doesn't ask it anything.
183 You can delete g1t's messages in it, as well as your own.
184- It notifies you of an answer the way any direct message does, once the
185 answer is done.
186
187## Threads
188
189Reply to any message to start a thread under it. The thread keeps a side
190conversation out of the channel, and the message shows how many replies it
191has and when the last one came.
192
193The **⋯** on a message (hover over it; on a phone, press and hold it) and
194the **⋯** at the top of an open thread have **Copy link to thread**: a link
195that opens the conversation with the thread beside it, to paste anywhere in
196g1t.
197
198## Mentions
199
200Type `@` and a name to mention a person by username: `@priya`, `@dana`.
201Suggestions match display names too, so `@Pri` finds Priya Nair. In the
202conversation the mention reads as the name people know, `@Priya Nair`, and
203opens their card; the message itself keeps `@priya`. A mention is counted
204in that person's sidebar separately from other unread messages, so it
205stands out.
206
207An address such as `me@example.com` is never read as a mention.
208
209## Format a message
210
211Messages can have bold, italic and struck-through words, links, inline
212code, code blocks, lists and quotes. Format as you write, three ways:
213
214- **The formatting bar** above the text. **T** at the bottom left of the
215 composer shows or hides it, and your choice is kept on that device. On a
216 phone it starts hidden; when it is shown, swipe it sideways for the rest.
217- **Shortcuts.** Select words, or start typing after one. The keyboard
218 button at the end of the bar lists them too.
219- **Markdown, typed inline.** It turns into its formatting as you type:
220 `*bold*` becomes **bold** when you type the closing `*`.
221
222| Formatting | Shortcut (⌘ on a Mac) | Or type |
223| --- | --- | --- |
224| Bold | Ctrl+B | `*bold*` or `**bold**` |
225| Italic | Ctrl+I | `_italic_` |
226| Strikethrough | Ctrl+Shift+X | `~struck~` or `~~struck~~` |
227| Link | Ctrl+K | Select words and paste an address over them |
228| Inline code | Ctrl+Shift+C or Ctrl+E | `` `code` `` |
229| Code block | Ctrl+Alt+Shift+C | ` ``` ` then Enter, or ` ```ts ` to name the language |
230| Bulleted list | Ctrl+Shift+8 | `- ` at the start of a line |
231| Numbered list | Ctrl+Shift+7 | `1. ` at the start of a line |
232| Quote | Ctrl+Shift+9 | `> ` at the start of a line |
233
234**Ctrl+K** asks where the link goes, and for its text when nothing is
235selected. On a link already, it changes the address or removes the link.
236A link goes to a web address, an email address or a page on g1t; anything
237else is refused. Undo (**Ctrl+Z**) takes formatting back off.
238
239### Enter and new lines
240
241| Key | In a line of text | In a list | In a code block |
242| --- | --- | --- | --- |
243| **Enter** | Sends | Adds an item; on an empty item, leaves the list | Adds a line; three in a row leave the block |
244| **Shift+Enter** | Starts a new line | Adds an item | Adds a line |
245| **Ctrl+Enter** | Sends | Sends | Sends |
246
247In a quote, Enter sends and Shift+Enter starts the next line of the quote.
248
249### What a message shows
250
251Every message is shown with its formatting.
252Code blocks with a language g1t knows (`ts`, `rust`, `python`, `sh`,
253`sql`, `json` and others) are coloured, and have a copy button. A web
254address on its own becomes a link, and links open in a new tab. A heading
255shows as a bold line, and a rule as a line across.
256
257A table written in Markdown shows as a table: a header row, a row of
258`---` under it (`:--`, `:-:` or `--:` to line a column up left, centre
259or right), then a row per line. A wide table scrolls sideways inside the
260message. The composer has no table to edit, so editing a message with
261one shows its rows as the lines they were written as.
262
263```md
264| Session | Length | Who |
265| --- | --: | --- |
266| Welcome and tour | 45 min | Ana |
267| Your first issue | 60 min | Margo |
268```
269
270Chat never shows HTML: `<b>` reads as typed. An image written in Markdown
271shows as a link to it, not the image.
272
273### Messages are Markdown
274
275What you send is kept as Markdown, the formatting written as `**bold**`,
276`_italic_`, `~~struck~~` and so on. That is what you edit when you change
277a message, so formatting survives the round trip. Text you paste without formatting, such as from a terminal, is
278read as Markdown too; paste with **Ctrl+Shift+V** to keep it exactly as it
279is. Notifications, pop-ups and browser notifications show a message's
280words without the marks: `**Release** is _done_` reads *Release is done*.
281
282To show a character that would format, put a backslash before it: `\*`
283shows `*`.
284
285## Live
286
287Chat is live. Messages, edits and deletions appear for everyone in the
288channel the moment they happen, without reloading. You also see:
289
290- **Typing.** Who is writing right now, in the channel or in a thread.
291- **Channel changes.** A new name, topic, or archiving.
292- **Read state.** Your sidebar shows unread counts per channel, and the
293 channel scrolls to the first message you haven't read.
294
295If your connection drops, Chat reconnects on its own and fills in what you
296missed.
297
298## Edit and delete
299
300You can edit or delete your own messages. On a computer, hover your message,
301open its **⋯** and choose **Edit message**: it opens in the composer, in
302place, with its formatting. Enter or **Save** keeps the change, Esc or
303**Cancel** leaves it as it was. On a phone, press and hold the message and
304choose **Edit**. An edited message says so. A deleted message is removed
305for everyone; replies under it stay.
306
307A message can be up to 40,000 characters, and is written in Markdown (see
308[format a message](#format-a-message)).
309
310## Reactions
311
312A reaction says *seen*, *agreed* or *done* without another message.
313
314| Where you are | How to react |
315| --- | --- |
316| On a computer | Hover a message and choose **React** in the toolbar that appears, then pick an emoji. |
317| On a phone | Long-press a message, then pick one of the quick reactions in the sheet, or open the picker. |
318| On an existing reaction | Click its pill to add yours. Click it again to take yours back. |
319
320The picker has a search box, **Recently used**, the standard emoji by group,
321a skin tone, and a **This workspace** tab for your
322[custom emoji](#custom-emoji). Arrow keys move through it and Enter picks.
323
324Hover a reaction's pill to see who reacted, such as *Priya, Dana and 3
325more*. Your own reactions are highlighted.
326
327| Limit | |
328| --- | --- |
329| Different emoji on one message | 50. More of an emoji already there always fits. |
330| What you can react with | One emoji: a standard one, or one of the workspace's own, written `:name:`. |
331
332## Custom emoji
333
334A workspace can add its own emoji: the team's logo, a mascot, an inside
335joke. Everyone in the workspace can use them in messages and reactions.
336
337### Add an emoji
338
339<Steps>
340
3411. Open the workspace's **Emoji** page: `g1t.sh/<workspace>/-/emoji`.
3422. Under **Add an emoji**, choose an image. It shows in a preview at the
343 size it appears in messages.
3443. Give it a **name**, such as `shipit`. People type it as `:shipit:`.
3454. Choose **Add emoji**.
346
347</Steps>
348
349| | Rules |
350| --- | --- |
351| File | A PNG, GIF or WebP, up to 256 KB and 512×512 pixels. Animated GIFs and WebPs stay animated. The file's type is read from its contents, not its name. |
352| Name | 2 to 32 characters: lowercase letters, digits, `-`, `_` and `+`. Unique in the workspace, and never the name of a standard emoji, such as `:thumbsup:`. |
353
354Custom emoji images are served from `g1tusercontent.com`, apart from the
355site, like avatars.
356
357### Aliases
358
359An **alias** is another name for an emoji you already have: both show the
360same image. Under **Add an alias**, pick the emoji and type the new name.
361Aliases follow the same name rules.
362
363### Who can add emoji
364
365Owners choose in the workspace's [chat settings](#workspace-chat-settings):
366
367| Setting | Means |
368| --- | --- |
369| **Any member** (the default) | Anyone in the workspace can add emoji and aliases. |
370| **Owners only** | Members use the workspace's emoji; only owners add them. |
371
372### Remove an emoji
373
374Whoever added an emoji, and the workspace's owners, can remove it with
375**Remove** beside it. Removing an emoji removes its aliases too.
376
377### Use one
378
379Type `:` and a couple of letters in the composer, and a list of matching
380emoji appears, the workspace's own marked **This workspace**. Up and Down
381move through it, Enter or Tab puts the emoji in, and Escape closes it. A whole
382`:shortcode:` you type yourself works too.
383
384## Workspace chat settings
385
386A workspace's owners decide what members can do in its chat, under
387**Workspace → Chat → Chat settings** (`g1t.sh/<workspace>/-/settings/chat`).
388Every member can open the page to see what is allowed; only owners can
389change it. g1t enforces each setting, whichever app or API the request
390comes from.
391
392| Setting | Choices |
393| --- | --- |
394| **Creating channels** | Who can create public and private channels (**Any member**, the default, or **Owners only**) is set with the workspace's other permissions, under [Permissions → Chat](/guides/permissions/#chat); this page says what is allowed today and leads there. |
395| **Renaming and archiving** | **Channel owners and workspace owners** (the default) or **Workspace owners only**. Any member of a channel can still change its topic. |
396| **Custom emoji** | Who can add them: **Any member** (the default) or **Owners only**. |
397| **Default channels** | The public channels someone new is put in the first time they open Chat. `#general` unless owners choose others. People already in the workspace are not moved, and anyone can leave a default channel. |
398
399Changing a setting doesn't change what already exists: channels already
400made stay, whoever made them.
401
402## Presence and status
403
404Everyone you share a workspace with can see whether you're here, and what
405you've said about yourself, wherever your name shows: beside a direct
406message in the sidebar, on the card over your name, in a channel's member
407list, in the workspace's [People directory](/guides/people-and-teams/#the-directory) and after your name on your messages.
408It all moves live; nobody has to reload.
409
410| The dot on an avatar | It means |
411| --- | --- |
412| Green | **Active**: g1t is open and they've used it in the last 10 minutes. |
413| A ring | **Away**: every tab they have open has sat untouched for 10 minutes, or they set themselves away. |
414| Amber, with a bar | **Notifications paused**: they're here, but nothing pops up for them until the time they chose. |
415| None | **Offline**: no tab of g1t is open. |
416
417### Set a status
418
419Open the menu on your avatar at the foot of the rail (on a phone, **More**,
420then **You and help**) and choose **Set a status**. Give it an
421emoji and a few words, or pick one:
422
423| | Clears after |
424| --- | --- |
425| 🗓️ In a meeting | 1 hour |
426| 🚌 Commuting | 30 minutes |
427| 🎯 Focusing | 1 hour |
428| 🤒 Out sick | Today |
429| 🌴 On vacation | Never: it stays until you change it |
430
431**Clear after** can be 30 minutes, 1 hour, 4 hours, today (your midnight),
432this week (the end of your Sunday), never, or a time you choose. When the
433time comes your status goes, for everyone at once, whether or not you're
434online. Clear it sooner with **Clear status** in the same menu.
435
436### Away
437
438Your dot turns to a ring by itself after 10 minutes without using g1t, and
439back to green as soon as you do. **Set yourself away** keeps you away
440however much you use it, until you choose **Set yourself active**.
441
442### Statuses from other apps
443
444A status has a source: you, a calendar, or another integration. Calendar
445and integration statuses (such as "In a meeting" while one is on your
446calendar) are coming with those integrations, which you will connect under
447[your integrations](/guides/integrations/#workspace-and-personal). One you set yourself always
448wins: a calendar never replaces or clears it. <Soon />
449
450## Notifications
451
452g1t tells you when something is for you, wherever you are in the app.
453
454| | |
455| --- | --- |
456| **Pop-ups** | While g1t is open in any tab, a message for you pops up in the corner, whichever page you are on: a DM, a mention, a reply in your thread, a review requested. Reply from the pop-up without leaving the page, or open the conversation. |
457| **Sounds** | A short sound when something is for you: a message in a conversation you have open but are not looking at, a direct message, a mention. Which, and how loud, is yours to set; see [Sounds and do not disturb](#sounds-and-do-not-disturb). |
458| **Counts** | The rail's Chat badge and each conversation's unread and mention counts update live, in every open tab. |
459| **Browser notifications** | Turn them on, and this browser shows a notification when you're away from g1t, even with every tab closed. g1t never pushes to a browser where you're already looking at g1t. |
460
461### Choose what you hear about
462
463Open **Settings → Notifications** (`g1t.sh/settings/notifications`):
464
465| Notify me about | You hear about |
466| --- | --- |
467| **DMs and mentions** (the default) | Direct messages, mentions and replies in your threads. |
468| **Everything** | Every message in conversations you're in, and everything in your notifications. |
469| **Nothing** | No pop-ups or browser notifications. Counts still update. |
470
471Under **For a workspace**, you can give one workspace a different level,
472such as **Everything** for a small team and **DMs and mentions** for a big
473one. **Send a test notification** shows you what one looks like.
474
475### Sounds and do not disturb
476
477Chat makes a sound when something is for you, and only then. Each sound is
478short (under a quarter of a second), warm and two-toned, made by g1t
479itself: nothing is downloaded. What plays when:
480
481| Sound | When |
482| --- | --- |
483| **New message** | A message in a conversation you have open, while the window is behind another or you are in another conversation. |
484| **Direct message** | A direct message from someone else. |
485| **Mention** | A message that @mentions you. It wins over the other two. |
486| **Sent** | A soft tick as your message goes. Off until you turn it on. |
487
488The rules behind them:
489
490- Nothing sounds for the conversation you are looking at in a window that
491 is in front: what is on screen is silent.
492- Nothing sounds for your own messages, in a conversation you
493 [muted](#star-and-mute), or while Do not disturb is on.
494- At most one sound every 1.5 seconds: a burst of messages is one sound,
495 and the same message never sounds twice.
496- Browsers allow sound only after you have clicked or typed on the page,
497 so the first message after a page opens may be silent.
498
499Open **Settings → Notifications** (`g1t.sh/settings/notifications`),
500under **Sounds & notifications**, to change them. The settings are kept
501with your account, so every device you sign in on sounds the same:
502
503| Setting | What it does | Default |
504| --- | --- | --- |
505| **Sounds** | Whether anything plays at all. Counts and pop-ups still show. | On |
506| **Sound set** | **Soft** (warm and low) or **Bright** (higher and shorter). Press play by any sound to hear it. | Soft |
507| **Volume** | From 0 to 100. | 60 |
508| **New message**, **Direct message**, **Mention**, **Sent** | Each sound on or off. | All on but Sent |
509| **Do not disturb** | Off, or for 30 minutes, an hour, two hours, or until tomorrow at 9:00 your time. | Off |
510| **Desktop notifications** | While this window is behind another, a message to you shows as a system notification from the open tab. Turning it on asks the browser's permission once, from this switch and never when a page loads. Not offered where browser notifications above are on: those already show it. In [the desktop app](/guides/desktop/) it is on, and the app shows them itself. | Off |
511
512**Do not disturb** is one thing everywhere: the bell-off button at the top
513of the chat sidebar, **Pause notifications** on the menu on your avatar,
514and the setting above all set it. While it holds, nothing sounds, nothing
515pops up and no browser notification is sent, whatever your settings;
516counts and your notifications still update, the bell in the top bar shows
517a small amber dot, and everyone sees your amber dot. It ends on its own at
518the time you chose; **Resume notifications**, or **Off**, ends it early.
519
520At most three pop-ups show at once. Each stays six seconds, and stays while your pointer or keyboard is on
521it. Nothing pops up for the conversation you have open.
522
523g1t never asks to show browser notifications when a page loads. After
524your first pop-up for a DM or a mention, it offers once: **Get notified
525when someone messages you**. If you say no, it doesn't ask again; turn
526them on later under **Settings → Notifications**.
527
528[Notifications](/guides/notifications/) are separate: they keep every item until you
529deal with it, whatever these settings say.
530
531## Coming soon
532
533These are planned and not built yet:
534
535<CardGrid>
536 <Card title="Cards for everything" icon="layout-list">
537 Pull requests, checks, deploys and approvals as cards in the channels
538 linked to a project, with their buttons working in place. <Soon />
539 </Card>
540 <Card title="Mentions in Notifications" icon="bell">
541 Mentions as items in [Notifications](/guides/notifications/), so
542 acting in either place settles both. <Soon />
543 </Card>
544 <Card title="Files" icon="paperclip">
545 Files uploaded to a conversation, under the workspace's file rules.
546 <Soon />
547 </Card>
548 <Card title="Search" icon="search">
549 Messages in [site-wide search](/guides/search/), with only what you can
550 read. <Soon />
551 </Card>
552 <Card title="Desktop app" icon="monitor">
553 g1t in a window of its own, with notifications from your system and a
554 badge on the icon: [the desktop app](/guides/desktop/). On a phone,
555 [the phone app](/guides/mobile/) has Chat in full, with notifications.
556 </Card>
557</CardGrid>
558
559## Next
560
561- [Notifications](/guides/notifications/): everything waiting for you, in
562 one place, until you deal with it.
563- [People and teams](/guides/people-and-teams/): the workspace's
564 directory, profiles and teams.