Skip to content

Merge gnm 2026-09-16 - #302

Merged
AndyKilmory merged 537 commits into
mainfrom
merge-gnm-2026-09-16
Sep 16, 2026
Merged

AndyKilmory merged 537 commits into
mainfrom
merge-gnm-2026-09-16

Conversation

@AndyKilmory

Copy link
Copy Markdown

What does this change?

This is a merge of the latest GNM main branch into the BBC Images main branch to bring BBC Images fork in-line with GNM. All recent approved GNM changes and BBC Images changes are incorporated into this merge

How should a reviewer test this change?

No initial testing required - this is merge of previously approved and tested changes

lindseydew and others added 30 commits August 4, 2026 10:11
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](actions/setup-node@v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…ons/actions/setup-node-7

chore(deps): bump actions/setup-node from 6 to 7
Build the presigner client for a local run
…llection

Add script to bulk remove images from a given collection
…p.scala

Co-authored-by: Junyuan Xue <junyuanxue.is@gmail.com>
…p.scala

Co-authored-by: Holly Knox <168672047+hk-15@users.noreply.github.com>
* Remove v1 methods no longer used

* Remove the import of the library

* Rename the methods from v2

* Use get method rather than getV2

* Remove unused tests
…ographer_from_config

Remove dupe photographer from config
* Remove v1 methods

* Rename v2 methods

* Put the aliases back

* Put back the s3 v1 client for now
jonathonherbert and others added 22 commits September 15, 2026 11:03
The upload feature file specifies far more than we are wiring up in the first
pass. Tag everything we are not implementing yet with @todo and exclude those
tags from bddgen, so its "undefined step" errors stay meaningful for the
scenarios we do implement.

Gherkin tags cannot contain whitespace, so the pre-existing @todo annotations
were failing to parse; their notes move to comments.

Uploads mutate the single shared e2e user's upload history, so the feature runs
@mode:serial.
Wires up the upload page shell, prompt and select-files scenarios against the
real stack: eight scenarios covering the upload tools rendering, navigation to
search and to a filtered search, the current-uploads section, the prompt copy,
the file picker, queueing selected files, and the upload size limit.

Locators live in one place (steps/support/upload-page.ts) and prefer roles and
accessible names. `<dnd-uploader>` gains a region role so "the drag-and-drop
uploader should be active" has a hook.

Two things needed handling to make the page testable at all:

  * Kahuna's first-run graphic-image blur explainer covers the top bar, so the
    background accepts the default via its cookie.
  * An upload reaches a terminal state within about a second, so the scenario
    that needs one in flight holds the transfer to the ingest bucket open.

Two more scenarios are tagged @todo because the app cannot currently satisfy
them, with the reason recorded against each: the "uploads in progress" leave
confirmation never fires (ui-router destroys the controller scope before
$locationChangeStart), and the prompt's example label is guarded by a `ctrl`
that does not exist in filePrompt's isolated scope.
The warning does fire, but only for history navigations. On a ui-sref click
ui-router destroys the UploadCtrl scope before broadcasting
$locationChangeStart, so the listener registered on that scope never runs;
pressing back reaches it. The step now goes back rather than clicking the top
bar link.

For back to have somewhere to return to within the same document, the
background arrives at the upload page from search the way a user does, instead
of deep-linking to /upload.
prompt.html guarded the hint with `ctrl.presetLabels` and `ctrl.active`, neither
of which filePrompt provided. That name was not simply unset: the nested
<file-uploader> has no scope of its own, so its `controllerAs: 'ctrl'` publishes
FileUploaderCtrl onto the prompt's scope, and the guard read properties off that.

Expose the check on the prompt's own scope instead, sourced from
presetLabelService so it follows labels being added and removed in
gr-preset-labels' isolated scope.

The `!active` part of the guard is dropped: while the add-label form is open its
input already shows the same example as a placeholder.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…s are active to the 'An authorised user sees the upload tools' scenario
[e2e-tests] Add partial suite of tests for 'upload' feature specification
Comment thread kahuna/public/js/search/index.js Dismissed
@AndyKilmory
AndyKilmory merged commit 4384717 into main Sep 16, 2026
7 of 9 checks passed
@AndyKilmory
AndyKilmory deleted the merge-gnm-2026-09-16 branch September 16, 2026 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.