Skip to content

Conversation

@seuros
Copy link
Collaborator

@seuros seuros commented Jan 6, 2026

In this PR , there are lot of changes i had locally, that i better push upstream before i lose/forget about them.

1 ) removed loco-rs and moved to rama directly.
why ? because i had to fight and convert request between axium and rama, and that code was not even authored by me. (used Claude), the current code is more aligned with clean coding.

  1. Removed the multiple adapter support. Vein must be either compiled for postgresql or sqlite3 (default will be sqlite3), if someone want to switch database, they have to recompile. (I plan to have binaries ready later)
    This allow us to build features that are specialized for the database backend instead of using postgresql as a distributed sqlite3.

  2. New theme. Fallout 4 style i had laying around from another project. Because building boring dashboard is not fun.

  3. Still working on finishing the SBOM network. It pretty complicated, because of the version resolution.


The proxying still works, the mess is in the admin dashboard. that many people didn't even know existed.

I will get roast by copilot, address what is helpfull, and continue.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR represents a major architectural refactoring that removes the loco-rs framework dependency and migrates to rama directly. The key changes include making database backends (SQLite vs PostgreSQL) mutually exclusive at compile time, changing the GemMetadata.platform field from Option<String> to String, removing the admin dashboard's sea-orm migrations, and introducing a new Fallout 4 terminal-inspired theme.

Key Changes:

  • Removed loco-rs framework and axum dependencies, migrating admin dashboard to pure rama with SSE support
  • Changed database backend architecture from runtime enum dispatch to compile-time type aliases
  • Converted GemMetadata.platform from optional to required field with "ruby" as default
  • Introduced new Fallout 4 terminal theme with Datastar for reactive UI

Reviewed changes

Copilot reviewed 82 out of 83 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/gem_metadata/version_req.rs New Ruby version requirement parser with pessimistic version constraints
src/gem_metadata/sbom.rs Enhanced SBOM generation with recursive dependency resolution
src/gem_metadata/parser.rs Platform field now defaults to "ruby" instead of None
crates/vein-adapter/src/lib.rs Compile-time feature checks for mutually exclusive backends
crates/vein-adapter/src/cache/types.rs Platform field changed from Option to String
crates/vein-adapter/src/cache.rs CacheBackendKind enum removed, replaced with CacheBackendTrait
crates/vein-admin/src/main.rs Complete rewrite removing loco-rs, using rama directly
crates/vein-admin/src/router.rs New file defining rama-based routing
crates/vein-admin/src/controllers/*.rs Controllers rewritten for rama's IntoResponse pattern
crates/vein-admin/assets/css/terminal.css New Fallout 4-inspired terminal theme (889 lines)

Due to reaching the iteration limit, I was unable to complete a full detailed review. The PR contains significant architectural changes that would benefit from thorough testing and validation, particularly around the type system changes (platform field), database backend selection mechanism, and the new admin UI implementation.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 87 out of 88 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@seuros seuros merged commit 6d74999 into master Jan 8, 2026
8 checks passed
@github-actions github-actions bot mentioned this pull request Jan 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants