Skip to content

Less queries#1542

Open
geichelberger wants to merge 2 commits intoopencast:r/19.xfrom
geichelberger:less-queries
Open

Less queries#1542
geichelberger wants to merge 2 commits intoopencast:r/19.xfrom
geichelberger:less-queries

Conversation

@geichelberger
Copy link
Copy Markdown
Contributor

Filter-driven reloads are now centralized to prevent multiple data
fetches at once. Further, added a feature to cancel ongoing requests and
ensure that older responses don’t replace newer data.

After applying filters, there’s a temporary pause on auto-refresh to
prevent interruptions while users are still filtering.

Removed duplicate fetch behavior in search/filter apply logic by
avoiding page-navigation fetch plus manual reload in the same
interaction.

@geichelberger geichelberger changed the base branch from develop to r/19.x March 31, 2026 15:41
@geichelberger geichelberger added the type:bug Something isn't working label Mar 31, 2026
Filter-driven reloads are now centralized to prevent multiple data
fetches at once. Further, added a feature to cancel ongoing requests and
ensure that older responses don’t replace newer data.

After applying filters, there’s a temporary pause on auto-refresh to
prevent interruptions while users are still filtering.
Removed duplicate fetch behavior in search/filter apply logic by
avoiding page-navigation fetch plus manual reload in the same
interaction.
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 3, 2026

Use docker or podman to test this pull request locally.

Run test server using develop.opencast.org as backend:

podman run --rm -it -p 127.0.0.1:3000:3000 ghcr.io/opencast/admin-interface:pr-1542

Specify a different backend like stable.opencast.org:

podman run --rm -it -p 127.0.0.1:3000:3000 -e PROXY_TARGET=https://stable.opencast.org ghcr.io/opencast/admin-interface:pr-1542

It may take a few seconds for the interface to spin up.
It will then be available at http://127.0.0.1:3000.
For more options you can pass on to the proxy, take a look at the README.md.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 3, 2026

This pull request is deployed at test.admin-interface.opencast.org/1542/2026-04-03_14-43-49/ .
It might take a few minutes for it to become available.

@geichelberger geichelberger requested a review from Arnei April 7, 2026 19:33
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 8, 2026

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

Copy link
Copy Markdown
Member

@Arnei Arnei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reads sound to me and works from my testing. I would like to see a brief comment in the code that explains the intent behind these functions (basically what you already wrote in the commit message).

dispatch(goToPage(0));
dispatch(deselectAll());
dispatch(setOffset(0));
dispatch(setPageActive(1));
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this not set to 0 instead of 1?


currentLoadRequest.current?.abort?.();

const fetchRequest = dispatch(fetchResource()) as Promise<PayloadAction<any, string>> & { abort:() => void };
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can do without the type assertions here to make this a bit easier to read?

@geichelberger
Copy link
Copy Markdown
Contributor Author

geichelberger commented Apr 10, 2026

@Arnei, is there a way to resolve the conflicts without reverting those changes? 0eff28d
We need the synchronization in the layer above. Or should that be done at the redux level?

@Arnei
Copy link
Copy Markdown
Member

Arnei commented Apr 10, 2026

I made the changes before looking at this PR. It could arguably be fine to revert them?

Not sure how this could be done at the redux level. You'd still have to have state somehow, but could you still keep that in refs? Would you want to use redux state? I don't know.

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

Labels

status:conflicts type:bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants