Skip to content

Mapper: a "Map" choice isn't saved until another action triggers a save #2895

Closed

Description

@paynejd

In the Mapper, choosing Map on a candidate sets the row to Proposed, but no autosave runs. The mapping is saved only when a later action, such as Approve or AutoMatch, triggers a save. If the user reloads or closes the tab in between, the browser shows its "leave site?" warning, and leaving anyway loses the proposed mapping. Until then, collaborators can't see it either.

Reproduced on staging (MAP-1.0.17-beta, 2026-10-12): after Map, no PUT within 40 s, and after a reload the row was Unmapped again. Approve on the same row autosaved within 8 s and survived the reload. The code on main is the same.

  • Map and unmap schedule an autosave, as Approve does, so a Proposed mapping survives a reload.
  • Integration test: Map, wait for the autosave, reload, and the row is Proposed with the chosen concept.

Components: oclmap src/components/map-projects/MapProject.jsx. onMap/_onMap (~L3396–3430) don't call scheduleAutoSave; onReviewDone calls scheduleAutoSave('decision_change').

Activity

  1. added this to the P3 · Mapper: GA milestone on Oct 12, 2026
  2. ocl-automation commented on Oct 12, 2026

    @ocl-automation
    Collaborator

    Automated Triage — 2026-10-12

    Dimension Score
    Complexity 2
    Scope 1
    Clarity 5
    Dependency 1
    Risk 2

    Decision: decision/ai-ready
    Type: type/bug
    Signals: signal/quick-win, signal/low-risk, signal/small-scope, signal/well-specified

    The issue names the file and functions (onMap/_onMap in MapProject.jsx don't call scheduleAutoSave, unlike onReviewDone), and gives a reproduction and two acceptance checkboxes. The fix is a small change in one component plus an integration test. Risk is low because the worst case is an extra save request, which is easy to revert. The reproduction was already done on staging, so nothing further is needed.


    Generated by ticket-triage pipeline v3. Model: anthropic/claude-sonnet-5.5 (openrouter).

  3. paynejd commented on Oct 14, 2026

    @paynejd
    MemberAuthor

    @snyaggarwal Please decide if this is a feature that we want right now. Auto-save is definitely useful and intuitive, but there might be reasons to limit the frequency of auto-saves until we implement a more efficient model.

  4. snyaggarwal commented on Oct 19, 2026

    @snyaggarwal
    Contributor

    Yes, I think we need to move away for selecting which events qualifies for auto-save to "there are enough events in the queue, lets save" and "its long enought and events are present, lets save"

  5. snyaggarwal commented on Oct 26, 2026

    @snyaggarwal
    Contributor

    Bumping this to P4

  6. paynejd commented on Oct 30, 2026

    @paynejd
    MemberAuthor

    Fixed by OpenConceptLab/oclmap@42acd478, merged in OpenConceptLab/oclmap#122. onMap, which handles both Map and unmap, now schedules an autosave, as Approve does. The commit referenced only OpenConceptLab/ocl_online#418, so it didn't close this ticket; closing it by hand.

    Verified on staging (Mapper 1.0.43) on 2026-10-30 by the staging e2e battery, in two runs. After Map alone, the decision is saved within 40 s (mapper.map.autosave), and it survives a reload (mapper.map.reload). Both checks had failed in every earlier run. They are the integration test this ticket asked for; they check the saved decision, not the concept.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

component/mapperMapping toolsdecision/ai-readyReady for autonomous AI executionsignal/low-riskSafe to execute with minimal downsidesignal/quick-winLow complexity, high clarity — easy winsignal/small-scopeLimited to a small part of the codebasesignal/well-specifiedClear requirements and acceptance criteriastage/triagedAI triage complete — scored and classifiedtype/bugSomething is broken

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions