# 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