summaryrefslogtreecommitdiff
path: root/src/SMAPI.Web/Framework
AgeCommit message (Collapse)Author
2023-04-09update release notesJesse Plamondon-Willard
2023-04-09Merge pull request #876 from jltaylor-us/update-manifestJesse Plamondon-Willard
Add `UpdateManifest` update keys
2023-01-29add stricter validation for update manifestsJesse Plamondon-Willard
2023-01-29Remove copyright line from individual filesJamie Taylor
2023-01-29simplify & validate manifest mod page URLsJesse Plamondon-Willard
This avoids an issue where users are told to download it from the JSON manifest URL.
2023-01-29rename & validate format versionJesse Plamondon-Willard
2023-01-29group response modelsJesse Plamondon-Willard
2023-01-29adjust JSON formatter instead of adding a new oneJesse Plamondon-Willard
2023-01-29require subkey for update manifest checksJesse Plamondon-Willard
2023-01-29encapsulate update manifest implementation details when possibleJesse Plamondon-Willard
2023-01-29minor formatting, copyediting, and error-handlingJesse Plamondon-Willard
2022-11-09fix & improve split-screen column in log parserJesse Plamondon-Willard
2022-10-09add 'strict mode' release with deprecated APIs stripped outJesse Plamondon-Willard
2022-10-09optimize string splitsJesse Plamondon-Willard
2022-10-01Add UpdateManifest site type.Jamie Taylor
Adds the UpdateManifest site key and associated client. This required some additional features in the existing update machinery. Each "version" can now (optionally) have its own download URL. Mod Page objects can now specify that subkey matching (for that page) should be "strict". A strict subkey match does not fall back to matching with no subkey if a subkey was provided but produced no versions. It also strips the leading '@' from the subkey. IModDownload objects are now responsible for deciding whether a subkey matches or not. The default behavior is unchanged, but this allows different mod sites to have different rules for subkey matching (which the UpdateManifest mod site uses to force exact matches).
2022-10-01refactor UpdateKey parsing, move responsibility for subkey matchingJamie Taylor
UpdateKey parsing now allows multiple : and @ inside the update key, splitting on the first occurence of each Subkey matching is moved into IModDownload / GenericModDownload, in preparation for some Mod Sites using something less error-prone than substring matching.
2022-08-08fix log parsing for invalid content packs (#860)Jesse Plamondon-Willard
2022-07-09update log parser for new update alert formatJesse Plamondon-Willard
2022-07-06update code annotationsJesse Plamondon-Willard
2022-07-05detect missing/outdated Error Handler for 'suggested fixes' sectionJesse Plamondon-Willard
2022-06-19fix mod count in log parser metadataJesse Plamondon-Willard
2022-05-18update for the new CurseForge APIJesse Plamondon-Willard
2022-04-16fix Nexus API key needed to launch web project locallyJesse Plamondon-Willard
2022-04-12enable nullable annotations in the web project & related code (#837)Jesse Plamondon-Willard
2022-04-09enable nullable annotations in log parser (#837)Jesse Plamondon-Willard
2022-04-06enable nullable annotations by default (#837)Jesse Plamondon-Willard
This adds `#nullable disable` to all existing code (except where null is impossible like enum files), so it can be migrated incrementally.
2022-04-06remove some unused/redundant codeJesse Plamondon-Willard
2022-04-06simplify with newer pattern featuresJesse Plamondon-Willard
2022-04-06use target-typed newJesse Plamondon-Willard
2022-02-12add data-* attributes to log parser for external toolsJesse Plamondon-Willard
2022-02-11use Array.Empty to avoid unneeded array allocationsJesse Plamondon-Willard
2021-12-09fix log parser handling when multiple mods have the exact same nameJesse Plamondon-Willard
2021-11-27automatically include beta versions on Nexus for SMAPI update checksJesse Plamondon-Willard
2021-11-27remove direct download for beta versionsJesse Plamondon-Willard
With this change, only the main version has a direct download. Showing beta info here caused a few issues: * The vast majority of players don't use the game beta, so they were often confused about which version to download. * Beta versions typically have much longer release info (e.g. detailed summary, release notes, caveats and warnings, etc), and the extra download button made the player guide button under it less prominent and visible. Those both contributed to information overload and the above confusion. * Unlike main versions, beta versions aren't permanently archived on GitHub (since the beta branch is routinely rebased onto the latest stable update). That makes it messy to manage beta releases through GitHub. Instead there's now a message under the download button which clearly links to where the beta version can be downloaded.
2021-10-02add support for unified mod data overrides on the wikiJesse Plamondon-Willard
2021-08-25fix prerelease update alerts shown for non-prerelease playersJesse Plamondon-Willard
2021-04-30fix update subkeys for Nexus mods marked as adult contentJesse Plamondon-Willard
2020-12-23fix edge cases in SMAPI log parsing (#743)Jesse Plamondon-Willard
2020-12-20update for split-screen modeJesse Plamondon-Willard
This includes splitting GameRunner (the main game instance) from Game1 (now a per-screen game state), adding a PerScreen<T> utility to simplify per-screen values, adding separate per-screen input handling and events, adding new Context fields for split-screen, and logging the screen ID in split-screen mode to distinguish log entries.
2020-09-27fix update-check error for Chucklefish mods due to site changeJesse Plamondon-Willard
2020-09-13add support for renewing uploaded JSON/log filesJesse Plamondon-Willard
2020-08-15fix broken URL in update alerts for unofficial versionsJesse Plamondon-Willard
2020-07-26use ordinal comparison/sorting instead of invariantJesse Plamondon-Willard
2020-05-24add update subkeysJesse Plamondon-Willard
2020-05-23refactor update check APIJesse Plamondon-Willard
This simplifies the logic for individual clients, centralises common logic, and prepares for upcoming features.
2020-05-23drop MongoDB codeJesse Plamondon-Willard
MongoDB support unnecessarily complicated the code and there's no need to run distributed servers in the foreseeable future. This keeps the abstract storage interface so we can wrap a distributed cache in the future.
2020-05-22keep verb when redirecting api.smapi.ioJesse Plamondon-Willard
2020-05-16migrate subdomain redirects to AzureJesse Plamondon-Willard
2020-05-16simplify single-instance deployment and make MongoDB server optionalJesse Plamondon-Willard
2020-05-16minor cleanupJesse Plamondon-Willard