Skip to content

Applying tag changes gives no feedback when the tags page was opened by URL #315

Description

@johardi

What happens

On the project tags page, clicking Apply saves the tags correctly — but if the page was reached by a direct URL, a reload, or a bookmark (#projects/{id}/tags), nothing visible happens afterwards. No navigation, no confirmation, no busy indicator, and the tag list is not refreshed. The button feels dead, even though the save actually succeeded (reloading the page shows the saved tags).

Reaching the page through the Project menu behaves differently: after Apply the app navigates back to the view you came from, so at least something visibly happens.

Why

ProjectTagsPresenter.handleApplyChanges does exactly one thing after a successful save: settingsPresenter.goToNextPlace(). The "next place" is carried inside ProjectTagsPlace, and only the Project-menu handler (EditProjectTagsUIActionHandler) fills it in. A tags page opened from a URL has no next place, so goToNextPlace() is a silent no-op. The apply path also never calls settingsPresenter.setBusy(...), so there is no in-flight indication either. Measured with a browser probe: the save round-trip completes in ~10 ms, followed by nothing.

This is not related to the event transport — no push/poll/SSE is involved in this flow. It predates the SSE epic (#303); it just became more noticeable while testing it.

Other pages likely affected

Any settings-style page built on SettingsPresenter with a URL-reachable place (prefixes, forms, project settings) has the same shape: Apply-then-navigate with no fallback when there is nowhere to navigate to.

Suggested fix

In handleApplyChanges: show the busy state during the save, and on success either navigate when a next place exists (unchanged behavior), or stay on the page and visibly acknowledge the apply — refresh the tag list from the saved state. Same pattern can then be applied to the sibling settings pages.

How to verify

  1. Open a project, go to #projects/{id}/tags directly (or reload the tags page).
  2. Type a label into the blank tag row, press Tab, click Apply.
  3. Before the fix: nothing visible happens. After the fix: the page shows the save happened (busy indicator during the round-trip, refreshed list after it).

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions