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
…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 <[email protected]>
.
Signed-off-by: Gil Desmarais <[email protected]>
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