{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":823349834,"defaultBranch":"master","name":"furrctorio","ownerLogin":"cliftontoaster-reid","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-07-02T21:48:15.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/42320331?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1721672146.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"725a3c5d8120ad41353bd10c7d223a682d8e6f00","ref":"refs/heads/dependabot/cargo/cargo-5c0860a51f","pushedAt":"2024-07-22T18:15:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump openssl in the cargo group across 1 directory\n\nBumps the cargo group with 1 update in the / directory: [openssl](https://github.com/sfackler/rust-openssl).\n\n\nUpdates `openssl` from 0.10.64 to 0.10.66\n- [Release notes](https://github.com/sfackler/rust-openssl/releases)\n- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.66)\n\n---\nupdated-dependencies:\n- dependency-name: openssl\n dependency-type: indirect\n dependency-group: cargo\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump openssl in the cargo group across 1 directory"}},{"before":"3a3664cf686bf2154ce21ca8a11fc17387a584d8","after":"f1b46fab9aeb4e3e9ce055c6dfce14e946513881","ref":"refs/heads/master","pushedAt":"2024-07-05T10:47:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Implement Version Comparison and Ordering for FModRelease\n\nSummary:\nThis commit introduces the ability to compare and order FModRelease instances based on their version numbers. This is achieved by implementing the `PartialEq`, `Eq`, `PartialOrd`, and `Ord` traits for the `FModRelease` struct. Additionally, a `ToString` implementation is added for the `VersionEncapsulate` enum to facilitate string conversion of version numbers.\n\nChanges:\n\n1. Added `ToString` implementation for `VersionEncapsulate` enum.\n - Files affected: `furrctorio_core/src/model/fmod.rs`\n - Purpose: Enables string conversion of version numbers for easier comparison and ordering.\n\n2. Implemented `PartialEq`, `Eq`, `PartialOrd`, and `Ord` traits for `FModRelease` struct.\n - Files affected: `furrctorio_core/src/model/fmod.rs`\n - Purpose: Allows for comparison and ordering of `FModRelease` instances based on their version numbers.\n\n3. Updated `find_last_release` method in `ConfigModEntry` struct to sort the releases before returning the last one.\n - Files affected: `furrctorio_yaml/src/model/mod_entry.rs`\n - Purpose: Ensures that the latest release is returned, even if the releases are not in chronological order.\n\n4. Added a test case to verify that the latest release is returned by `find_last_release` method.\n - Files affected: `furrctorio_yaml/src/model/mod_entry.rs`\n - Purpose: Ensures that the `find_last_release` method correctly identifies and returns the latest release.\n\nBackground:\n\nThe `FModRelease` struct represents a release of a Factorio mod, and each release has a version number associated with it. In order to determine the latest release of a mod, it is necessary to be able to compare the version numbers of different releases. This commit introduces the ability to compare and order `FModRelease` instances based on their version numbers, which enables the `find_last_release` method to correctly identify and return the latest release.","shortMessageHtmlLink":"Implement Version Comparison and Ordering for FModRelease"}},{"before":"4808986e8dde382b0f7ed1f249c55e6a0ec86c4f","after":"3a3664cf686bf2154ce21ca8a11fc17387a584d8","ref":"refs/heads/master","pushedAt":"2024-07-04T19:45:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Removed unused keys.","shortMessageHtmlLink":"Removed unused keys."}},{"before":"8284d3c470adad37fe25cd87972a10cd678ec5c4","after":"4808986e8dde382b0f7ed1f249c55e6a0ec86c4f","ref":"refs/heads/master","pushedAt":"2024-07-04T19:39:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Improve Rust workflow efficiency and cache management\n\nImproved Rust workflow with:\n- Added cache purging for old caches\n- Updated cache restoration keys\n- Enhanced build command for verbosity\n- Formatted code according to style guidelines","shortMessageHtmlLink":"Improve Rust workflow efficiency and cache management"}},{"before":"e5cd155b6de27da1168a64d234d1bf86fadde87a","after":"8284d3c470adad37fe25cd87972a10cd678ec5c4","ref":"refs/heads/master","pushedAt":"2024-07-04T19:30:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Tried updating cache to v4, as v3 never ended saving the cache.","shortMessageHtmlLink":"Tried updating cache to v4, as v3 never ended saving the cache."}},{"before":"48d72515df5fb9d20cee6eb31cbd77605e2bfbce","after":"e5cd155b6de27da1168a64d234d1bf86fadde87a","ref":"refs/heads/master","pushedAt":"2024-07-04T19:23:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Optimize Rust build process with caching for Cargo target and dependencies\n\n- Add caching for Cargo target directory\n- Add caching for Cargo home directory\n- Update GitHub Actions workflow file\n- Improve build performance\n- Enhance development experience","shortMessageHtmlLink":"Optimize Rust build process with caching for Cargo target and depende…"}},{"before":"c1f8e559e22241b891211d5e6a480f7e0ad1e2a2","after":"48d72515df5fb9d20cee6eb31cbd77605e2bfbce","ref":"refs/heads/master","pushedAt":"2024-07-04T19:16:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Update Context and FMod structs for improved functionality and error handling\n\nThis commit introduces several modifications to the codebase, primarily focusing on the `Context` and `FMod` structs in the `furrctorio_core` module. The changes include:\n\n1. Added tests for the `get_mods` function in the `Context` struct to ensure its correctness and reliability.\n2. Improved the `get_mods` function to handle optional factorio version and page number parameters.\n3. Updated the `FMod` struct to include a new `VersionEncapsulate` enum that can handle both `Version` and `String` types for the mod version.\n4. Added a `match_version` function to the `FModRelease` struct to compare a mod release version with a version requirement.\n5. Updated the `download` function in the `FModRelease` struct to handle downloading mod releases.\n6. Updated the `get_release` function in the `ConfigModEntry` struct to filter mod releases based on the version requirement and return the latest matching release.\n\nThese changes improve the functionality and error handling of the `Context` and `FMod` structs, making them more robust and reliable. The tests added for the `get_mods` function ensure its correctness and provide a safety net for future modifications. The `VersionEncapsulate` enum and `match_version` function in the `FModRelease` struct enable more flexible version handling, while the updates to the `download` and `get_release` functions improve the overall usability and functionality of the `FMod` struct.\n\nFiles affected:\n- `furrctorio_core/src/model/context.rs`\n- `furrctorio_core/src/model/fmod.rs`\n- `furrctorio_yaml/src/model/mod_entry.rs`","shortMessageHtmlLink":"Update Context and FMod structs for improved functionality and error …"}},{"before":"d69722c3198787559d835960901fd19bdf95dd76","after":"c1f8e559e22241b891211d5e6a480f7e0ad1e2a2","ref":"refs/heads/master","pushedAt":"2024-07-04T15:46:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Add Factorio Versions and Pagination to Context and Mod Modules\n\nThis commit introduces the following changes:\n\n1. Added a new module `constants` to the `furrctorio_core` crate. This module contains an enumeration `FactorioVersions` that represents the supported versions of the game Factorio.\n\n2. In the `context` module, added a new argument `options` to the `get_request` method. This argument is an optional vector of tuples containing string slices. It allows for additional query parameters to be added to the request URL.\n\n3. In the `context` module, added a new method `get_mods` that fetches a list of mods from the Factorio mods server. This method takes two arguments: `page` and `factorio_version`. The `page` argument specifies the page number to fetch, and the `factorio_version` argument filters mods by the specified Factorio version. The method returns a Result containing the list of mods or a reqwest::Error.\n\n4. In the `mod` module, added a new module `pagination` that contains a struct `FModList` representing a list of mods with pagination information.\n\n5. In the `context` module, updated the `get_mod` and `get_mod_short` methods to use the new `get_request` method with the `options` argument set to `None`.\n\nThese changes enhance the functionality of the `furrctorio_core` crate by adding support for Factorio versions and pagination to the `Context` and `Mod` modules. This allows for more flexible and efficient retrieval of mods from the Factorio mods server.","shortMessageHtmlLink":"Add Factorio Versions and Pagination to Context and Mod Modules"}},{"before":"697731653f7b6181e27642374d360f27f436b762","after":"d69722c3198787559d835960901fd19bdf95dd76","ref":"refs/heads/master","pushedAt":"2024-07-03T20:02:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Added missing crate `dotenv`","shortMessageHtmlLink":"Added missing crate dotenv"}},{"before":"e4e119c77e2e7191a8f6a2569cccc7d50bac4584","after":"697731653f7b6181e27642374d360f27f436b762","ref":"refs/heads/master","pushedAt":"2024-07-03T17:32:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Applied `new_from_env` for other tests.","shortMessageHtmlLink":"Applied new_from_env for other tests."}},{"before":"ae9269ea073ab218577e57cfbcd3e730e0fcb2af","after":"e4e119c77e2e7191a8f6a2569cccc7d50bac4584","ref":"refs/heads/master","pushedAt":"2024-07-03T17:26:14.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Applied `new_from_env` for other tests.","shortMessageHtmlLink":"Applied new_from_env for other tests."}},{"before":"2ffe9bd3bc1a8a72f824c211e3043dd8a772c138","after":"ae9269ea073ab218577e57cfbcd3e730e0fcb2af","ref":"refs/heads/master","pushedAt":"2024-07-03T17:07:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Add functions to get mod versions and find last release, refactor model module\n\n- Add functions to get short and full versions of the mod information from the config\n- Add a function to find the last release of the mod using short, full, and other available information\n- If no release is found, the function returns Ok(None)\n- Refactor model module into config and mod_entry submodules for better organization\n- Update Cargo.toml and Cargo.lock files to reflect the changes\n- Update the model module to use the new submodules and functions\n- Update the commit message to accurately describe the changes made","shortMessageHtmlLink":"Add functions to get mod versions and find last release, refactor mod…"}},{"before":"ef92294de723e1cc9a5569b7eaa2cb861b22dc8b","after":"2ffe9bd3bc1a8a72f824c211e3043dd8a772c138","ref":"refs/heads/master","pushedAt":"2024-07-03T17:03:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Refactored default implementation to no longer require version classification as Option","shortMessageHtmlLink":"Refactored default implementation to no longer require version classi…"}},{"before":"56454b54e287ebae633fc176ab65980646951624","after":"ef92294de723e1cc9a5569b7eaa2cb861b22dc8b","ref":"refs/heads/master","pushedAt":"2024-07-03T12:40:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Add furrctorio_yaml module and refactor dependencies\n\nAdd furrctorio_yaml module to the project and refactor dependencies to include it.\n\n* Add furrctorio_yaml module\n* Update Cargo.toml and Cargo.lock\n* Refactor dependencies\n* Add model and prelude modules in furrctorio_yaml","shortMessageHtmlLink":"Add furrctorio_yaml module and refactor dependencies"}},{"before":"a388017bdcf5b765f026ca196964abb79f792cc7","after":"56454b54e287ebae633fc176ab65980646951624","ref":"refs/heads/master","pushedAt":"2024-07-03T12:26:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Added required env variables","shortMessageHtmlLink":"Added required env variables"}},{"before":"07318de5dc8ce80cc08ad5b34e044b68d64a5b0d","after":"a388017bdcf5b765f026ca196964abb79f792cc7","ref":"refs/heads/master","pushedAt":"2024-07-03T12:21:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Added required env variables","shortMessageHtmlLink":"Added required env variables"}},{"before":"848ba49b8a4d39b3214a42ed082ffee05166a274","after":"07318de5dc8ce80cc08ad5b34e044b68d64a5b0d","ref":"refs/heads/master","pushedAt":"2024-07-03T12:19:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Update GitHub Actions workflow to target 'master' branch","shortMessageHtmlLink":"Update GitHub Actions workflow to target 'master' branch"}},{"before":"00370d646ed3357d4f651194efef3cd8e86bf3d3","after":"848ba49b8a4d39b3214a42ed082ffee05166a274","ref":"refs/heads/master","pushedAt":"2024-07-03T12:16:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Refactor FMod structs and add convenience methods\n\nRefactor FMod structs to implement a common trait for easier manipulation.\nAdd methods to retrieve name, convert to short format, and fetch full details.\n\n- Refactor FMod structs\n- Add convenience methods\n- Implement common trait\n- Add name retrieval method\n- Add full details fetching method","shortMessageHtmlLink":"Refactor FMod structs and add convenience methods"}},{"before":"c131a767adb8d95fb765d7dda88f6e6a544e5c00","after":"00370d646ed3357d4f651194efef3cd8e86bf3d3","ref":"refs/heads/master","pushedAt":"2024-07-03T11:53:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Rename rust.yaml to rust.yml","shortMessageHtmlLink":"Rename rust.yaml to rust.yml"}},{"before":"24a13230389a2a1b4f43a2014b249a1e3447ce2d","after":"c131a767adb8d95fb765d7dda88f6e6a544e5c00","ref":"refs/heads/master","pushedAt":"2024-07-03T11:52:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Add Rust CI workflow for testing on push and pull requests","shortMessageHtmlLink":"Add Rust CI workflow for testing on push and pull requests"}},{"before":"3202e3a67657e0b11c37667544f7f01c098bbd39","after":"24a13230389a2a1b4f43a2014b249a1e3447ce2d","ref":"refs/heads/master","pushedAt":"2024-07-03T10:43:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Refactor `get_request` method for reusability\n\nRefactored the get_request method to improve code reusability.\n\n- Extracted common logic for `GET` and `POST` requests\n- Added error handling for `URL` parsing\n- Updated `get_mod_info` and `get_mod_info_full` methods to use `get_request`\n- Improved code readability and maintainability","shortMessageHtmlLink":"Refactor get_request method for reusability"}},{"before":null,"after":"3202e3a67657e0b11c37667544f7f01c098bbd39","ref":"refs/heads/master","pushedAt":"2024-07-02T21:48:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"cliftontoaster-reid","name":"Clifton Toaster Reid","path":"/cliftontoaster-reid","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42320331?s=80&v=4"},"commit":{"message":"Added a readme and license.","shortMessageHtmlLink":"Added a readme and license."}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yMlQxODoxNTo0Ni4wMDAwMDBazwAAAASGE_kz","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0yMlQxODoxNTo0Ni4wMDAwMDBazwAAAASGE_kz","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0wMlQyMTo0ODoyNi4wMDAwMDBazwAAAAR1RRyA"}},"title":"Activity · cliftontoaster-reid/furrctorio"}