Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: JMBeresford/retrom
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.7.42
Choose a base ref
...
head repository: JMBeresford/retrom
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.7.43
Choose a head ref
  • 10 commits
  • 31 files changed
  • 2 contributors

Commits on Nov 5, 2025

  1. chore: publish crates wf

    JMBeresford committed Nov 5, 2025
    Configuration menu
    Copy the full SHA
    b59ce5f View commit details
    Browse the repository at this point in the history
  2. chore: lock file

    JMBeresford committed Nov 5, 2025
    Configuration menu
    Copy the full SHA
    d31a9ec View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2025

  1. perf: add database indexes and optimize hot paths (#427)

    Profiled the codebase and identified several performance bottlenecks
    causing slow queries and unnecessary allocations.
    
    ## Database Indexes
    
    Added migration `2025-11-04-043457_add_performance_indexes` with 10
    strategic indexes:
    
    - `game_files(game_id)`, `games(platform_id)` - foreign key indexes
    - `game_files(game_id, is_deleted)` - composite index for common query
    pattern
    - `games.is_deleted`, `game_files.is_deleted` - filter indexes
    - `game_metadata.igdb_id`, `platform_metadata.igdb_id` - metadata lookup
    indexes
    - `games(steam_app_id) WHERE steam_app_id IS NOT NULL` - partial index
    
    These eliminate sequential scans on queries like:
    ```rust
    schema::game_files::table
        .filter(game_files::game_id.eq_any(&game_ids))
        .filter(game_files::is_deleted.eq(false))
    ```
    
    ## Rust Optimizations
    
    **`grpc-service/src/games.rs`**:
    - Removed redundant `into_iter().collect()` allocation
    - Changed clones to references (`game.path.clone()` → `ref
    updated_path`)
    - Parallelized file deletions with `join_all()` instead of sequential
    loop
    
    **`grpc-service/src/library/metadata_handlers.rs`**:
    - Iterate with `.iter()` + selective clone vs cloning entire vector
    upfront
    
    ## React Memoization
    
    Added `React.memo` to `GameItem` and `GameImage` components to prevent
    re-renders in virtualized lists when parent state changes but props are
    unchanged.
    
    **Before:**
    ```tsx
    function GameItem(props: { game: Game }) { ... }
    ```
    
    **After:**
    ```tsx
    const GameItem = memo(function GameItem(props: { game: Game }) { ... });
    ```
    Copilot authored Nov 6, 2025
    Configuration menu
    Copy the full SHA
    f80b0e0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bb1a511 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2025

  1. Configuration menu
    Copy the full SHA
    58de623 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    08d39c4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2dad54d View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2025

  1. fix: built-in ppsspp emulation (#433)

    PPSSPP emulation should now be working again for:
    
    - Non-safari-based web browsers
    - Windows desktop clients
    JMBeresford authored Nov 9, 2025
    Configuration menu
    Copy the full SHA
    54c97e3 View commit details
    Browse the repository at this point in the history
  2. fix: overlay UI tweaks

    JMBeresford committed Nov 9, 2025
    Configuration menu
    Copy the full SHA
    92c4f6f View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2025

  1. chore(main): release 0.7.43 (#431)

    🤖 I have created a release *beep* *boop*
    ---
    
    
    ##
    [0.7.43](v0.7.42...v0.7.43)
    (2025-11-09)
    
    
    ### Features
    
    * update emulatorJS version 4.2.1 -> 4.2.3
    ([58de623](58de623))
    
    
    ### Bug Fixes
    
    * built-in ppsspp emulation
    ([#433](#433))
    ([54c97e3](54c97e3))
    * cache control header for public files
    ([2dad54d](2dad54d))
    * catch memory access error in web emulation
    ([08d39c4](08d39c4))
    * overlay UI tweaks
    ([92c4f6f](92c4f6f))
    
    
    ### Performance Improvements
    
    * add database indexes and optimize hot paths
    ([#427](#427))
    ([f80b0e0](f80b0e0))
    
    ---
    This PR was generated with [Release
    Please](https://github.com/googleapis/release-please). See
    [documentation](https://github.com/googleapis/release-please#release-please).
    JMBeresford authored Nov 10, 2025
    Configuration menu
    Copy the full SHA
    7bad442 View commit details
    Browse the repository at this point in the history
Loading