-
Notifications
You must be signed in to change notification settings - Fork 1
Chat
The Flutter team uses a Discord server, which you are invited to join. The server is open to the public, though some channels are intended only for people who are actively contributing.
We recommend you use the same display name on Discord and GitHub.
We have different channels for different purposes (this list is not exhaustive):
Channel | Description | Participants |
---|---|---|
#welcome | Welcome message. | Only admins can post. Anyone can read. |
#announcements | Flutter announcements (e.g. breaking changes). | Only team members can post (but not frequently). Anyone can read. |
#server-support | Forum for asking for your role to be changed, for code of conduct violations to be raised, and for other administrative issues. | Anyone. |
#general | Chat about anything related to Flutter. | Anyone. |
#help | People asking for our help. | Anyone. |
#dart | Questions about the Dart language. | Anyone. |
#tree-status | Announcements about whether the trees are open or closed. | Anyone, but discussion should happen elsewhere. |
#hackers | Chat about anything related to Flutter. | Flutter contributors. Anyone can watch. |
#hackers-* | Chat specifically about foo, where foo is something to do with Flutter development, for example "engine", "framework", "add-to-app", etc. | Flutter contributors. Anyone can watch. |
#hackers-dart | Questions about the Dart language. | Flutter contributors. Anyone can watch. |
#hackers-devexp | For people working on tools that improve the developer experience. | Flutter tooling contributors. Anyone can watch. |
#hackers-new | New people to the team and people who want to help them. | Flutter contributors. Anyone can watch. |
#hackers-triage | For use while triaging bugs. | Flutter contributors. Anyone can watch. |
#hidden-chat | Chat about anything related to Flutter. | Flutter contributors only. Not public. |
general (voice) | Talk (audio) about anything related to Flutter. | Anyone. |
team (voice) | Talk (audio) that is only open to team members. | Flutter contributors. |
The #hidden-chat and #team channels are not publicly-readable, you have to be a member of the "team member" role to see them.
If you need a new channel, raise the topic in #server-support. Channels are cheap.
If you find your team's channel is hard to follow due to having too many topics discussed at once, ask for a new channel.
If you would like a channel for subcommunities, e.g. #women or #china, that should be fine. (Subcommunities that are already overrepresented in the main channels, e.g. #english-speakers, are less likely to be good candidates for dedicated channels.)
For practical reasons, we do not use Discord for chat groups limited to specific customers. For example, if your company wants a private discussion channel with the Flutter team, we would not use Discord.
Each channel describes its topic in the channel description. Please read the channel description before posting in a channel, to make sure you're using the appropriate one.
If you can't find an appropriate channel, use #hackers or ask for a new channel to be created. Again, channels are cheap.
Our code of conduct applies to the Discord server, as it does to any communications involving Flutter.
The #hackers-* channels are visible to anyone, but please only post in those channels if you are actively contributing. If you want help with your app, ask in #help instead. If you want to learn how to contribute, have a look at our contributing guide.
See the contributor access wiki page for details on becoming a member of the "team" role.
Please don't direct-message people unless they are comfortable with it (ask publicly first). You can disable direct messages on this server by changing your Privacy settings for the server, or on a global basis by changing your Privacy & Safety user settings.
Discord has a threadingish feature called Replies that lets you tie messages to earlier messages and notify the original commenter.
You can change your status (online, away, custom messages) by clicking on your avatar in Discord.
If you want to write a design doc for people to review, we recommend using Google Docs.
We have a template you can use, at flutter.dev/go/template. It describes the process for minting a flutter.dev/go/foo
shortlink for your design doc.
We recommend you use that template so that people can immediately recognize that this is a Flutter design document and that it is shared publicly.
When you implement a design, document it in the source code in detail. The API documentation is the usual place where we document our designs. It's perfectly reasonable for API docs to be multiple pages long with subheadings (e.g. see the docs for RenderBox!). Do not assume that anyone will ever read your design doc after the discussion has finished. Similarly, do not assume that anyone will look at closed GitHub issues or PR discussions.
For future archeologists, a list of design documents can be found at https://flutter.dev/docs/resources/design-docs.
- Home of the Wiki
- Roadmap
- API Reference (stable)
- API Reference (master)
- Glossary
- Contributor Guide
- Chat on Discord
- Code of Conduct
- Issue triage reports
- Our Values
- Tree hygiene
- Issue hygiene and Triage
- Style guide for Flutter repo
- Project teams
- Contributor access
- What should I work on?
- Running and writing tests
- Release process
- Rolling Dart
- Manual Engine Roll with Breaking Commits
- Updating Material Design Fonts & Icons
- Postmortems
- Setting up the Framework development environment
- The Framework architecture
- The flutter tool
- API Docs code block generation
- Running examples
- Using the Dart analyzer
- The flutter run variants
- Test coverage for package:flutter
- Writing a golden-file test for package:flutter
- Setting up the Engine development environment
- Compiling the engine
- Debugging the engine
- Using Sanitizers with the Flutter Engine
- Testing the engine
- The Engine architecture
- Flutter's modes
- Engine disk footprint
- Comparing AOT Snapshot Sizes
- Custom Flutter engine embedders
- Custom Flutter Engine Embedding in AOT Mode
- Flutter engine operation in AOT Mode
- Engine-specific Service Protocol extensions
- Crashes
- Supporting legacy platforms
- Metal on iOS FAQ
- Engine Clang Tidy Linter
- Why we have a separate engine repo
- Reduce Flutter engine size with MLGO
- Setting up the Plugins development environment
- Setting up the Packages development environment
- Plugins and Packages repository structure
- Plugin Tests
- Contributing to Plugins and Packages
- Releasing a Plugin or Package
- Unexpected Plugins and Packages failures