owned this note
owned this note
Published
Linked with GitHub
# Eyre maintenance meeting minutes
###### tags: `minutes`
## Action Items
Jane: coordinate a meeting with DTolnay and merge the libraries, providing a `set_hook(ErrInfo) -> Handler`.
### In Progress
- [ ] Jane: Document MSRV policy
- stability policy, link to semver/cargo: https://doc.rust-lang.org/cargo/reference/semver.html#item-new
- [ ] Team: Move the issues from other repos to the main eyre repo
- [ ] Team: Create an issue for 2021 edition
- [ ] Team: Double check that we have all test checks are required for branch protection
- [ ] Freja: Review https://github.com/eyre-rs/eyre/pull/110
- [ ] Freja: migrate issues from color-eyre to eyre repo
- [ ] Freja: propose solutions for
- [ ] https://github.com/eyre-rs/color-eyre/issues/138
- [ ] https://github.com/eyre-rs/color-eyre/issues/139
### Backlog
- [ ] Jane: Document current release process
- [ ] Team: Go through all the issues and update them to the new label system
- [ ] Jane: setup a publishing team and configure it on crates.io
- [ ] Pavan: Fix the color support issues by using `anstyle`
- [ ] Pavan & Jane: look into specialization errors when trying to convert anyhow into eyre
- [ ] Jane: async check up on eyre and anyhow macro conversion logic
### Deadlines
## 2024-08-29
### Attendance
Jane, Freja, ~~Nori~~
### Agenda
* Agenda consent + Check-in
* Freja: Anyhow integration
* Jane: Triage
* Meeting Check-out
### Minutes
#### Review Prior Action Items
###### Completed
## 2024-08-15
### Attendance
Jane, ~~Freja~~, Nori
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (decide) triage issues and PRs
* Meeting Check-out
### Minutes
#### Review Prior Action Items
###### Completed
## 2024-06-20
### Attendance
Jane, Freja, Nori, David Tolnay
### Agenda
* Agenda consent + Check-in
* improving eyre & anyhow interop
* Provider API + IntoError conversion a la: https://github.com/dtolnay/anyhow/pull/307/files
* Review prior action items
* Meeting Check-out
### Minutes
-
#### Review Prior Action Items
###### Completed
## 2024-06-06
### Attendance
Jane, Freja, Nori
### Agenda
* Agenda consent + Check-in
* Review prior action items
* Anyhow interop
* 1.0 Goal
* Meeting Check-out
### Minutes
Two levels of compatability
#### Review Prior Action Items
###### Completed
- [ ] ~~Pavan: Merge other crates into monorepo~~
- [x] Team: Merge color-eyre
#### Anyhow interop
* anyhow::Result doesn't convert conveniently into eyre::Result (can't use `?`)
* https://github.com/eyre-rs/eyre/issues/31
* not a discoverable solution, feels like you have to jump through hoops
* https://github.com/eyre-rs/eyre/issues/171
* Two levels of anyhow conversion
* backtraces are lost during conversions
* Goal would be lossless compatibility
* Enumerating potential solutions
* upstream compatibility
* Upstream `EyreHandler` functionality into anyhow and port `eyre` to re-export `anyhow`
* conversion helper trait ala https://github.com/eyre-rs/eyre/pull/127/files
* plus #[diagnostic::on_unimplemented] and `provider` api being stabilized
## 2024-04-25
### Attendance
Jane, Freja, Nori
### Agenda
* Agenda consent + Check-in
* Review prior action items
* PR review
* Meeting Check-out
### Minutes
#### Review Prior Action Items
###### Completed
## 2024-03-28
### Attendance
Jane, Freja, Nori
### Agenda
* Agenda consent + Check-in
* Review prior action items
* Meeting Check-out
### Minutes
#### Review Prior Action Items
###### Completed
## 2024-03-14
### Attendance
Jane, Freja, Nori
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (D) color-eyre PR
* Merged!
* (D) make a new release
* Meeting Check-out
### Minutes
- (D) color eyre
- Fix owo-colors version (0.3 and 0.4 between spantrace and color-eyre)
- UI test is only sensitive ansi escape codes and ignores text content
- Merge color eyre into repo
- Cut a new release on a backport branch for color-eyre 0.6.3
- `cd color-eyre`
- `cargo release patch`
- Checked everything compiles and fix warnings
- `cargo release patch --execute`
#### Review Prior Action Items
###### Completed
## 2024-02-29
### Attendance
Jane, ~~Pavan~~, Freja, Nori
### Agenda
* Agenda consent + Check-in
* Leonie PR
* Build.rs r-a breakage (https://github.com/eyre-rs/eyre/issues/155)
* changelog
* Meeting Check-out
### Minutes
* leonie pr looks good
* tied to pr 150 which fixes some inconsistencies w/ OptionExt trait and how it relates to the eyre philosophy (None is not an error)
* breaking change, will be tagged 1.0
* Changelog
* proposal: we don't require changelog updates in prs, we just maintain good commit history hygiene and create the changelog as part of our release process
#### Review Prior Action Items
###### Completed
## 2023-01-18
### Attendance
Jane, ~~Pavan~~, Freja, Nori
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (E) color-eyre: flakey ui tests, depend on rustc symbols
* (D) anyhow compat feature: disable by default?
* (E) Logo
* Meeting Check-out
### Minutes
#### flakey tests
* related to current working directories
* difficult to debug because of output verbosity
* Jane: monorepo is more important than the test in the short term
* no objections to any solutions, up to disabling the test and opening an issue about regaining the functionality
* Nori: might be better to make this more manual, automatically create snapshots of the UI that can be regularly reviewed for errors
#### anyhow compat: disabled by default?
* yes, in the 1.0 branch
#### Logo discussion
* nori: like the stack, matches the mental model, like the question mark, relates to propagation
* can we tilt the questionmark to make it more like a drowsey
* previous notes suggested spreading the stack out more to make it more visible in smaller sizes
#### Review Prior Action Items
###### Completed
- [x] Jane: reply to Ok https://github.com/eyre-rs/eyre/issues/144
- [x] Freja: handle 1.0 breaking changes wrt anyhow compat
## 2024-01-04
### Attendance
Jane, ~~Pavan~~, Freja, ~~Nori~~
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (decide) Breaking change (Ok/EyreOk)
* (decide) anyhow compatibility feature flag
* (explore) draft PR structure of conversions
* ~~(explore) general issue triage~~
* Meeting Check-out
### Minutes
- Glob imports opt in to breaking changes
- Glob imports are a risk you are accepting
- https://doc.rust-lang.org/cargo/reference/semver.html#item-new
- breakages related to glob import ambiguity are not considered breaking changes
- Eyre already exports ambigous types such as Result, Report etc, and we would like to keep that consistency
- It would already be a breaking change if another libary exported a `Result` type and you glob imported both libraries.
- Re-export yourself creates extra boilerplate and does not play well with rust-analyzer nor editor search.
- **Decision**: we decided to prefer keeping the consistent name and allowing the minor breakage. Jane will write a response linking to https://doc.rust-lang.org/cargo/reference/semver.html#item-new and https://predr.ag/blog/some-rust-breaking-changes-do-not-require-major-version/ to explain reasoning
- Anyhow compatability feature flag
- Currently two ways to refer to the same thing (`Report`, `Error`)
- Principled divide between 'Context to error' such as location and debug info, compared to wrapping the error with a higher level type
- Nothing else that Jane can think of that should also be behind this flag
- **Decision**: slate this for 1.0, change the feature to default off, setup 1.0 branch and milestone
- **1.0**
- Reach out to Leonie regarding if they want anything more breaking before
- Reach out to others
- Add milestone
- std provide api would make structural conversion redundant
- two paths forward
- Move error library team to convince the library team to get it merging as is
- implement new copy of optimized provider API that resolves their concerns and get that merged then moved forward
#### Review Prior Action Items
###### Completed
## 2023-12-05
### Attendance
Jane, ~~Pavan~~, Freja, ~~Nori~~
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (Inform) review previous meeting
* updated pull request settings to only do squash merges and to use PR description and title for the commit
* will follow up with PR template for semantic commits
* (Explore) https://github.com/eyre-rs/eyre/pull/127
* Meeting Check-out
### Minutes
#### Review Prior Action Items
###### Completed
## 2023-11-21
### Attendance
Jane, ~~Pavan, Freja~~, Nori
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (explore) expectations in the review process
* Meeting Check-out
### Minutes
#### Review Prior Action Items
###### Completed
## 2023-11-07
### Attendance
Jane, Pavan, Freja
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (Decide) Documenting release process & making new releases
* Meeting Check-out
### Minutes
* pavan wants to test feature matrix of different crates, current issue blocking color-eyre PR
* Pavan may not be able to update this himself, Jane may have to do this
* Hyphen error chain
* Generalizable, maybe not that important as there are a limited number of styles
#### Review Prior Action Items
###### Completed
## 2023-10-24
### Attendance
Jane, Pavan, Freja
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (Explore) Documenting Team Membership
* (Explore) feedback on logo v2
* Meeting Check-out
### Minutes
- (J) finished docs PR
- Removed complex, controversial labels
- Updated logos with Paige, posted in discord
- Document team members
- Two teams, *maintainer* and *contributors*
- Maintainer
- Objection with reason privilege
- Contributors
- Easy to add new people to
- Triage access
- Logo v2
- Freja: 2 and 4, likes the question mark position
- Spread out the stack more to make legible at smaller sizes
- Jane: similar feelings, nothing to add
- Branch protection is good for now
#### Review Prior Action Items
###### Completed
- [x] Jane: Update the contributing doc to describe the proposed label system
- [x] Jane: Share feedback with Paige about logo design 14
## 2023-10-10
### Attendance
Jane, Pavan, Freja
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (Explore) logo v2 from paige
* (Decide) branch protection
* Meeting Check-out
### Minutes
#### Review Prior Action Items
###### Completed
- [x] Jane: remove individual (deprecated) permissions from repos
- [x] Pavan: Move the eyre code into a folder
## 2023-09-26
### Attendance
Jane (Facilitator), Pavan, Freja (scribe)
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (Explore) Logo ideas from Paige
* (Decide) Monorepo PR
* Meeting Check-out
### Minutes
- First monorepo PR
- Review
- Logo
- 15 designs in total
- Jane
- 5 Annoyed Eyes
- Many peoples reaction to errors is bergrudged, pavan concurs
- 7 Stacked Question Mark
- More technical and thematic
- 9
- (pavan) lot going on
- 12 Timeline Eyre
- More technical and thematic
- (pavan) lot going on
- 13 Question Mark Ferris
- (tei) quite close to rust book
- 14 Surprised Gear
- (pavan) really like the emotion
- (tei) cute, gives it a human/personal aspect
- (pavan) add question marks, makes it technical
- (tei) adding question mark might not be visible, maybe make it a stack of surprised gears?
- (jane) leaning towards 14 (gear)
- (jane) fill gaps to make it thematic
- Question mark may be too small to be visible
- Make a stack similar to 7
- Move forward with 14 and more iterations ^
- Tying more into technical or question mark motife, work well with low res
- May be ok as is, close enough for rust and captures the emotion
- Monorepo
- Subtree commit, bringing in the commits from other eyre repos
- Eyre is top level, could be hierarchial
- (pavan) eyre should be top level, the supporting crates are deps
- (jane) not as familiar with workspaces, how does publishing work
- (pavan) no issues with publishing, not sure about the separate folder since eyre is the star of the show
- (jane) prefer to have everything flat
- (pavan) prefers nested, can tolerate flat
- (tei) good to be consistent and have everything on equal level, especially when bringing in *color-eyre*
- (pavan) cargo workspaces can handle publishing really well (thanks pavan for an awesome tool)
- Moving forwards
- Freja:
- Better integrations and features, such as converting between anyhow without losing backtrace
- Pavan
- Better integrations, mature stable
- Jane
- Better integrations, but *where*, should it go in the eyre base library, or in a periferal library
- Color-eyre is the kitchen sink covers 90% of CLI
- Alternative version of color-eyre that can be used in parts
#### Review Prior Action Items
###### Completed
- [x] Jane: Mark Freja & Pavan as contributors on Discord & create a contributors channel
## 2023-09-19
### Attendance
Jane (facilitator), Pavan (scribe), Freja
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (Explore) issue label system
* 2021 edition
* meeting venue
* logo
* Meeting Check-out
### Minutes
* Monorepo creation
* Use git-subtree
* Update the README for other repos & archive them
* Label system (notes below)
* No issues with upgrading the edition
* Jane: We don't really gain much but provides a better contribution experience
* Pavan: Avoids tech-debt & bit rot
* Freja: Gives us inlined format_args
* Discord for meetings?
* Freja: discord preferred for better tracking.
* Pavan
* don't mind discord for videos and meetings
* do have issue with discord as a chat system
* hard to search, not stored. (zulip/irc have public archive, even prefer slack)
* would join meetings in discord but probably wouldn't participate in chat otherwise
* Jane: Really like zulip but it doesn't have video calls, don't like IRC/slack because of lack of moderation tools. We already have community discord.
* Proposal accepted, no objections
* Logo?
* Jane
* Look for inspirations from the book
* Know which artist to ask to draw
* Freja: Use eye
* Pavan: We need to connect it to rust (maybe the cog)
* Jane: Like the eye idea, but maybe a mouth is better from error reporting perspective
* Freja: eye is better recognized as a symbol
* Make sure to check for trademark issues
* Need to update the following:
* Github org avatar
* Discord logo
* Docs.rs logo for all crates
#### label system
* Pavan preference
* keep area for classifying which crate within the monorepo an issue applies to
* categories are good, apply c- for existing labels
* status is important
* not sure about os, priority & difficulty
* Freja preference
* feeling similar to Pavan
* don't need many types of label buckets
* Jane preference
* doesn't care about the difficulty if we can have `good-first-issue` (default github label)
* Priority is important but not the current proposed system. Would want them to be on urgency/importance axis
Proposal: Have area labels (like A-eyre, A-color-eyre), C- for categories (like C-breaking-change), status labels like (S-blocked), priority lables like (P-urgent/important), and `good-first-issue`, but otherwise seek to minimize the number of labels and only have labels that we use.
agreed, no objections
#### Review Prior Action Items
###### Completed
- [x] Jane: setup teams to manage permissions rather than doing it per user per repo
- Still need tei to accept invite to the eyre team and remove the deprecated individual permissions for her but it's mostly done at this point
- [x] Pavan: Send PR creating the monorepo
## 2023-09-05
### Attendance
Jane, ~~Pavan~~, Freja
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (Decide) MSRV resolution
* Co-working session
* Meeting Check-out
### Minutes
- OnceCell MSRV
- Coordinate
- Pin
- Giving up MSRV
- soften MSRV and base it off of once_cell policy
#### Review Prior Action Items
###### Completed
- [x] Freja: Send PR for MIRI fixes
## 2023-08-29
### Attendance
Jane, Pavan, Freja
### Agenda
* Agenda consent + Check-in
* (inform) Review Prior Meeting Notes
* Meeting Check-out
### Minutes
- Everyone agreed that libraries that are made for someone else should not use `ErrReport`
- unless when libraries are executing a user defined function where it might be useful
- justified to add anyhow integration to ease migration for external dependencies exporting anyhow
- Agreed that `anyhow` compat has no objections
- `Backtrace` as follow up
#### Review Prior Action Items
###### Completed
## 2023-08-22
### Attendance
~~Jane~~, Pavan, Freja
### Agenda
### Minutes
- Pavan: not considering himself a core maintainer, supporting role
- Fine with everything, as long as it is not unsafe and not low level
- Anyhow compatiability `anyhow::Result` and `eyre::Result`
- Many libraries expose anyhow errors
- Goes with tracing support
- wasmtime
- Spring off of it
- Added as a collaborator per repository rather than org
- Monorepo
- Pavan has quite a bit of experience
- No opinion, but willing to handle it
- Can use git subtree when merging the subrepositories to preserve history
- Well named and descriptive labels are good to have
- CC people
- Priority labels
#### Review Prior Action Items
###### Completed
----
Template for each meeting:
## Next Meeting Date
### Attendance
Jane, Freja, Nori
### Agenda
* Agenda consent + Check-in
* Review prior action items
* (inform) bullet point list of proposed agenda items (labeled either inform, explore, or decide)
* Meeting Check-out
### Minutes
#### Review Prior Action Items
###### Completed