LearnNewsExamplesServices
Frontmatter
id9092
titleRefactor: Convert DevRank to use Streaming Proxy
stateClosed
labels
airefactoring
assigneestobiu
createdAtFeb 10, 2026, 6:56 PM
updatedAtFeb 10, 2026, 7:51 PM
githubUrlhttps://github.com/neomjs/neo/issues/9092
authortobiu
commentsCount1
parentIssue9089
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 10, 2026, 7:51 PM

Refactor: Convert DevRank to use Streaming Proxy

Closed v12.0.0 airefactoring
tobiu
tobiu commented on Feb 10, 2026, 6:56 PM

Objective

Adopt the new Streaming Proxy in the DevRank application to demonstrate the performance gains.

Tasks

  1. Data Conversion:

    • Create a script to permanently convert apps/devrank/resources/users.json to users.jsonl.
    • Update apps/devrank/services/Storage.mjs to save data as .jsonl (append-only is easier!).
  2. Store Update:

    • Modify apps/devrank/store/Users.mjs (or equivalent) to use:
              proxy: {
          ntype: 'stream',
          url: '../resources/users.jsonl'
      }
  3. UI Updates:

    • Ensure the Grid/List handles the incremental updates smoothly (progressive rendering).

Verification

  • Measure "Time to First Record" (should be < 50ms).
  • Verify "Time to First Render" on slow network simulation.
tobiu added the ai label on Feb 10, 2026, 6:56 PM
tobiu added the refactoring label on Feb 10, 2026, 6:56 PM
tobiu added parent issue #9089 on Feb 10, 2026, 6:58 PM
tobiu cross-referenced by #9093 on Feb 10, 2026, 7:05 PM
tobiu assigned to @tobiu on Feb 10, 2026, 7:08 PM
tobiu referenced in commit 21abc63 - "refactor: Migrate DevRank to JSONL persistence and Streaming Proxy (#9093, #9092)" on Feb 10, 2026, 7:50 PM
tobiu
tobiu Feb 10, 2026, 7:51 PM

Input from Gemini 3 Pro:

✦ I have switched the DevRank Contributors store to use the new Neo.data.proxy.Stream.

Changes

  • apps/devrank/store/Contributors.mjs: Replaced the url config with a proxy config pointing to module: StreamProxy and the new users.jsonl file.

Performance Note (Regression)

Initial local testing indicates a significant performance regression (10s blank page) compared to the previous JSON load. This suggests the streaming implementation in Store or Proxy needs optimization (likely related to event batching or the TextDecoderStream chunking strategy). This will be addressed in a follow-up optimization task (likely under #9091).

tobiu closed this issue on Feb 10, 2026, 7:51 PM