Repository navigation
Implement cold-store archive with read-only mode for visitors - #16
Merged
Merged
Conversation
… visitors - Add a new GitHub Actions workflow for data synchronization to maintain a snapshot of forum discussions. - Remove the old reputation workflow as its functionality is now integrated into the new data sync workflow. - Update README and configuration files to reflect the new archive feature and its settings. - Create a client for fetching archived data, including discussions and user reputation profiles. - Modify UI components to support read-only mode, displaying archived content for signed-out users. - Implement tests for the new archive functionality, ensuring proper fetching and handling of archived data.
9 tasks
🧪 Test coverage |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a cold-store archive and anonymous read-only mode for the forum by adding a new data sync workflow and updating the configuration, documentation, and client code accordingly. The core reputation workflow and its supporting files are removed, with all data and enforcement now managed by the new
data-sync.ymlworkflow and associated scripts. Documentation is updated to reflect these changes, and the codebase now supports serving forum content to signed-out users via a public data branch.Major feature additions and changes:
Archive and Anonymous Read-Only Mode
databranch, which is then served directly from GitHub's CDN. This is configured inforum.config.tsand described in the README. [1] [2] [3]src/lib/archive/client.tsmodule, which provides fetchers for archived forum data, discussions, and per-user reputation from the data branch.Workflow and Infrastructure Updates
.github/workflows/data-sync.ymlto maintain thedatabranch, snapshotting all forum data and rep profiles on every relevant event and on a schedule. The workflow force-pushes a single-commit snapshot, ensuring the branch stays up-to-date and self-healing..github/workflows/rep.yml) and its entrypoint script (.github/scripts/rep-action.ts), consolidating all data and enforcement into the new data sync workflow. [1] [2]Documentation and Configuration
databranch. [1] [2] [3]forum.config.ts) with anarchivesection to enable the archive feature.UI Integration
archiveModeflag, allowing the app to conditionally handle anonymous read-only mode.Most important changes:
Archive and Data Branch
databranch, with configuration and documentation updates. [1] [2] [3]src/lib/archive/client.tsmodule for fetching archived forum data and user reputation from the CDN-backed data branch.Workflow and Data Sync
.github/workflows/data-sync.ymlto maintain thedatabranch, replacing the previous reputation workflow and providing a unified, self-healing data sync mechanism.Documentation and UI