bbassie and Claude Opus 4.8
49eb594e5b
Persist table sort/filter state in the URL
...
Tables such as Hosts, Instances, Users, Roles, etc. now write their sort
order, column filters and pagination into the URL query string, so reload,
link-sharing and browser back/forward restore the same view (closes #927 ).
Every parameter is namespaced with the table name so the URL is
self-describing and two tables can share a page without colliding, e.g.
?user.sort=name&user.name=bob&user.admin=true or ?instance.name=foo.
Adds two reusable hooks, exported from @clusterio/web_ui so plugins can use
them too:
- useTableQueryState: makes an antd Table controlled and round-trips its
sort/filter/pagination through the URL via useSearchParams. The pure
serialisation helpers live in util/tableQuery.ts and are unit tested.
- useColumnSearch: a column-header text-search filter (matching the Users
table style), persisted through the same filter mechanism.
Applied to Hosts, Roles, Plugins, the instance list (standalone and on the
host detail page), Users (main table and the online-players list on the
instance detail page), instance saves, the per-instance user stats, the mod
packs and stored mods tables, and the subspace_storage storage page. The
storage page's resource search moves from a standalone box into the Resource
column header, keeping its regex matching.
The bundled user filter persists as separate readable params (user.name,
user.admin, ...) via a per-column FilterCodec rather than one JSON blob.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-24 23:23:54 +00:00
Cooldude2606
9e727f9a13
Merge pull request #917 from Cooldude2606/feature/user-status-filter
...
Enhance user filters and improve UI components
2026-06-13 15:18:22 +01:00
Cooldude2606
d35e8caa2b
Merge pull request #914 from Cooldude2606/feature/view-changelog
...
Add viewable changelog
2026-06-12 16:14:19 +01:00
Cooldude2606
b9c073e26f
Fix typo in ci publish workflow
2026-06-12 16:08:37 +01:00
Cooldude2606
b160fecac4
Make icons local to package
2026-06-12 16:04:39 +01:00
Cooldude2606
dab727f90f
Fix import in AboutModal
2026-06-10 22:39:26 +01:00
Cooldude2606
0e36df8ae3
Add AboutModal
2026-06-10 22:35:00 +01:00
Cooldude2606
f7d3516c24
Remove internal div from changelog
2026-06-10 20:18:05 +01:00
Cooldude2606
e6665d0803
Fix incorrect use of path.parse within create template ( #919 )
2026-06-10 20:01:53 +01:00
Cooldude2606
6fd4654c21
Merge pull request #913 from Cooldude2606/refactor/subscriptions-2
...
Refactor subscription handling and add new filter classes
2026-06-02 22:51:13 +01:00
Cooldude2606
b5c99fad2a
Fix incorrect doc comment
2026-06-02 22:50:41 +01:00
Cooldude2606
f588f7f8d4
Guard against div0 in cpuUsage ( #918 )
2026-06-02 22:49:45 +01:00
Cooldude2606
4fe83cbcbc
Add duration filter to first seen column
2026-06-01 23:12:47 +01:00
Cooldude2606
069a050f39
Unify column for instance and no instance
2026-06-01 23:04:57 +01:00
Cooldude2606
577615803b
Add loading={!synced} to table and inputs
2026-06-01 22:45:04 +01:00
Cooldude2606
680ade5975
Add instance filter to users page
2026-06-01 22:44:13 +01:00
Cooldude2606
6914645c19
Make Username reusable and fix active icon issue
2026-06-01 21:58:27 +01:00
Cooldude2606
1d0b6b9a62
Add user status filters
2026-06-01 21:47:33 +01:00
Cooldude2606
dd80d49989
Add viewable changelog
2026-05-31 03:52:42 +01:00
Cooldude2606
e3d5f434a4
Better toString and test coverage
2026-05-29 20:14:23 +01:00
Cooldude2606
11b8a0ff97
Fix bad snapshot initialisation
2026-05-29 19:15:27 +01:00
Cooldude2606
e54b292fce
Fix tests relating to permissions
2026-05-29 18:38:07 +01:00
Cooldude2606
41222343e3
Add tests
2026-05-29 17:45:14 +01:00
Cooldude2606
4676f1c820
Add filteredHandler to EventSubscriber
2026-05-29 14:09:19 +01:00
Cooldude2606
e49b82842d
Add ValueSubscriber and MapSubscriber
2026-05-28 01:12:05 +01:00
Cooldude2606
e0a39e5630
Add option for events to define get filters
2026-05-28 01:11:38 +01:00
Cooldude2606
21b050b220
Call subscriptionUpdate for all update cases
2026-05-28 00:38:15 +01:00
Cooldude2606
9bed1223fd
Add option to replace filters
2026-05-28 00:33:45 +01:00
Cooldude2606
4735f0725d
Add SubscriptionFilters class
2026-05-28 00:25:29 +01:00
Cooldude2606
1f27617a27
Use addressIndex and a map for subscriptions
2026-05-27 23:35:31 +01:00
Cooldude2606
ee460d677d
Rename libAddress.index to requestIndex and add addressIndex
2026-05-27 23:23:29 +01:00
Cooldude2606
f2ca465ec6
Merge pull request #909 from Cooldude2606/fix/small-things
...
Multiple small changes
2026-05-14 13:08:06 +01:00
Cooldude2606
40e6961711
Fix conflict between defaultFilteredValue and responsive
2026-05-14 12:51:04 +01:00
Cooldude2606
1bb51988ac
Fix popconfirm on instance kill button
2026-04-25 23:32:30 +01:00
Cooldude2606
2c30fa4a94
Add user section to changelog script
2026-04-25 22:38:23 +01:00
Cooldude2606
a22186ca01
Add a newline after each section title in change log
2026-04-25 22:19:49 +01:00
Cooldude2606
746b11ff65
Add scrollable div to player auth server list
2026-04-25 22:18:32 +01:00
Cooldude2606
de51741835
Use workspace:^ rather than workspace:*
2026-04-25 22:06:36 +01:00
Cooldude2606
a633c42904
Fix default filter for online users table
2026-04-25 22:03:02 +01:00
Cooldude2606
7522424517
2.0.0-alpha.25
v2.0.0-alpha.25
2026-04-24 17:41:16 +01:00
Cooldude2606
57f15d7ba4
Merge pull request #894 from Cooldude2606/fix/892
...
Fix accessing main inventory when in map view
2026-04-24 11:30:56 +01:00
Cooldude2606
1af672aa1d
Always exit remote view on sync
2026-04-23 17:25:13 +01:00
Cooldude2606
41f8f493aa
Fix nil table key error in factorio 1.1
2026-04-23 00:19:20 +01:00
Cooldude2606
8be95c140a
Fix edge cases with physical location and controller
2026-04-22 22:37:42 +01:00
Cooldude2606
add0088704
Switch to xpcall for better trace backs
2026-04-22 00:49:45 +01:00
Cooldude2606
037f06808e
Support remote controller type within deserialize
2026-04-22 00:45:31 +01:00
Daniel
01456818a8
Merge pull request #897 from Cooldude2606/feature/custom-version-input
...
Allow custom versions to be selected as a target
2026-04-20 22:26:11 +02:00
Cooldude2606
5c3182fb56
Merge pull request #902 from Cooldude2606/feature/improved-role-page
...
Improved RoleViewPage
2026-04-19 22:52:19 +01:00
Cooldude2606
f515b2db80
Disable the select all and clear buttons using canUpdate
2026-04-19 22:47:05 +01:00
Daniel
eb2c2b5aec
Merge pull request #901 from Cooldude2606/fix/instance-config-update
...
Add missing instanceConfigUpdated to InstanceConfigSetRequest
2026-04-19 22:48:22 +02:00