Skip to content

Conversation

@gildesmarais
Copy link
Member

@gildesmarais gildesmarais commented Sep 9, 2025

Explorative Work / In Progress


This pull request introduces a comprehensive development and build system overhaul, adding a modern Astro-based frontend, updating Ruby and Node.js versions, and improving CI/CD workflows. The changes establish a unified Docker-based dev environment, integrate frontend and backend build/test/lint processes, and update documentation and project conventions to support the new architecture.

Development Environment & Tooling

  • Added a new .devcontainer setup with a custom Dockerfile and docker-compose.yml for unified Ruby and Node.js development, replacing the previous image-based devcontainer. [1] [2] [3]
  • Updated .tool-versions to use Ruby 3.4.6 and Node.js 22.19.0 for consistent local and CI environments.

Frontend Integration

  • Integrated an Astro frontend: added build stage to Dockerfile, ensured frontend assets are built and copied to the public directory, and updated Makefile targets for frontend setup, dev, test, lint, and clean. [1] [2] [3]
  • Updated documentation and copilot instructions to reflect the new frontend architecture and conventions.

Continuous Integration Improvements

  • Overhauled CI workflow: renamed and expanded .github/workflows/ci.yml to build, lint, and test both Ruby and frontend code, upload coverage, and manage Docker build/publish steps. [1] [2] [3]
  • Removed obsolete bundle update workflow.

Linting & Code Quality

  • Updated .rubocop.yml to use the new plugins syntax, exclude non-code files, and disable documentation requirement. [1] [2] [3]
  • Added .vscode workspace recommendations and settings for Ruby and frontend development. [1] [2]
  • Added .yardopts for improved documentation generation.

Dependency & Configuration Updates

  • Updated Gemfile for latest Ruby gems, frontend and backend dependencies, and improved local development options.
  • Updated environment and health check conventions in Dockerfile for improved security and maintainability.

References:
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20]

TODOs

  • easily usable auto source feature. show prominent form on root path.
    • enter url -> submit, stable url
    • provide advanced features (i.e. strategy selection)
    • gated behind env var / feature flag.
      • on by default to provide UX.
      • provide notes in readme, disable if "legacy env vars" are present
  • reduce roda to act as backend api

@gildesmarais gildesmarais added the WIP work in progress label Sep 9, 2025
- Deleted test scripts for auto-source and URL restrictions as they are no longer needed.
- Removed unused dependencies from package.json and package-lock.json to streamline the project.
- Updated the dev script to improve clarity in error messages regarding port conflicts.
@gildesmarais gildesmarais moved this to In progress in Project Board Sep 18, 2025
.
Signed-off-by: Gil Desmarais <git@desmarais.de>
Signed-off-by: Gil Desmarais <git@desmarais.de>
…ce, HealthCheck, HttpCache, LocalConfig, RackAttack, SecurityLogger, SsrfFilterStrategy, and XmlBuilder. These tests are no longer relevant to the current implementation.
- Simplified the auto source configuration in CONFIGURATION.md.
- Removed obsolete allowed origin checks from feeds.rb.
- Updated session storage usage in frontend tests and hooks.
- Enhanced error handling for unsupported strategies in API endpoints.
- Improved rate limiting responses in rack_attack.rb.
.
Signed-off-by: Gil Desmarais <git@desmarais.de>
.
Signed-off-by: Gil Desmarais <git@desmarais.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

WIP work in progress

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

2 participants