Added
- Global search now includes contacts (matched by name, phone, email) and shopping items (matched by name); clicking a result navigates directly to the respective module
- Contacts search results deep-link via
?open=<id>and open the edit modal immediately on page load - Shopping search results deep-link via
?list=<id>&highlight=<id>: the correct list tab is activated and the matched item is scrolled into view - Calendar search results deep-link via
?open=<id>and open the event edit modal immediately on page load
Fixed
- Calendar search results previously navigated to
/calendarwithout identifying the specific event; results now carry the event id and open the edit modal directly - Replaced all
innerHTMLassignments incalendar.js,contacts.js, andshopping.jswithreplaceChildren()andinsertAdjacentHTMLto comply with the project XSS policy
Full Changelog: https://github.com/ulsklyc/oikos/blob/main/CHANGELOG.md