May Release

The May release brings a set of improvements that make eCamp feel faster and more reliable. Alongside the performance work, there are also a few small but very practical interface improvements.
Tick off material list items
Material list items can now be checked off directly in the table. This is especially useful when you are packing, shopping, checking, or returning material step by step. #9697
Faster filters, print views, and program pages
We reworked loading and filtering in the dashboard, program, and print views. Pages can now render earlier, filter states stay more consistent, and print previews are only loaded once they are actually needed.
This also removes a few awkward loading states, stabilizes result counts, and fixes a possible crash caused by invalid labels. #9690
The app bundle was optimized as well: better tree-shaking means less unused code is shipped to the browser. #9734
Better display for camps with many periods
The camp list is now easier to read when a camp has many periods. The view takes up less space and is more comfortable to scan. #9634
The toolbar in the program view was also adjusted as part of the ongoing UI migration. #9733
More caching
Additional API responses are now cached, including individual activities and the days of a camp period. This means eCamp has to reload less data and responds faster in many situations. The cache lifetime was also increased to 12 hours. #9678 #9679 #9680
Bug fixes
- When editing camp collaborators, roles can be changed again even if the invited person has not accepted the invitation yet. #9726
- Empty fields are handled correctly again in our custom validators and are no longer accidentally treated as required. #9669
- A performance issue was fixed when saving checklist items, avoiding unnecessary database queries for larger lists. #9632
- A typo in the material list route was fixed and covered with additional tests. #9633
Technical updates
Under the hood, dependencies were updated, the test structure was improved, and parts of the API Platform setup were synchronized with upstream. This helps us keep eCamp up to date and makes future changes easier to verify. #9642 #9674 #9675