diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c2ac733..5a1f0013 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,72 +1,72 @@ ## v4.3.3 — 2026-08-07 -- ✨ [Rozpad skóre vedoucího na jednotlivé akce](https://github.com/bosancz/interni-sekce/commit/5f7599e8f90a2975778ebb82d82e70828233ff38) Claude -- ✨ [Přepínání let a celkový součet dětodní v žebříčku vedoucích](https://github.com/bosancz/interni-sekce/commit/db4709717fc47ea858d351f13adc1f38a7ddca2a) Claude -- ✨ [Žebříček nejlepších vedoucích na hlavní stránce](https://github.com/bosancz/interni-sekce/commit/ccef48609a88bd42b81d7a103089b4e39ebc4006) Claude -- ✨ [Karta nevyplněných dat na stránce oddílu](https://github.com/bosancz/interni-sekce/commit/534719af7b9ae9f3b1ccad88dea63d5a9e9ed5ef) (#313) Claude -- 🐛 [Styly popoverů žebříčku mimo globální stylesheet](https://github.com/bosancz/interni-sekce/commit/d71d8be7da216d451130801cef03358154816893) Claude -- 🐛 [Oprava chyby při načítání členů s kontakty](https://github.com/bosancz/interni-sekce/commit/cd0ccd33a700543c6c3003ec26613d1ad371c3ad) (#313) Claude -- ♻️ [Zjednodušení řádků žebříčku vedoucích](https://github.com/bosancz/interni-sekce/commit/5acc472ce6f8ac9b2a2df5bd4d04e95c51919275) Claude +- ✨ [Rozpad skóre vedoucího na jednotlivé akce](https://github.com/bosancz/interni-sekce/commit/5f7599e8f90a2975778ebb82d82e70828233ff38) Claude +- ✨ [Přepínání let a celkový součet dětodní v žebříčku vedoucích](https://github.com/bosancz/interni-sekce/commit/db4709717fc47ea858d351f13adc1f38a7ddca2a) Claude +- ✨ [Žebříček nejlepších vedoucích na hlavní stránce](https://github.com/bosancz/interni-sekce/commit/ccef48609a88bd42b81d7a103089b4e39ebc4006) Claude +- ✨ [Karta nevyplněných dat na stránce oddílu](https://github.com/bosancz/interni-sekce/commit/534719af7b9ae9f3b1ccad88dea63d5a9e9ed5ef) (#313) Claude +- 🐛 [Styly popoverů žebříčku mimo globální stylesheet](https://github.com/bosancz/interni-sekce/commit/d71d8be7da216d451130801cef03358154816893) Claude +- 🐛 [Oprava chyby při načítání členů s kontakty](https://github.com/bosancz/interni-sekce/commit/cd0ccd33a700543c6c3003ec26613d1ad371c3ad) (#313) Claude +- ♻️ [Zjednodušení řádků žebříčku vedoucích](https://github.com/bosancz/interni-sekce/commit/5acc472ce6f8ac9b2a2df5bd4d04e95c51919275) Claude ## v4.3.2 — 2026-07-28 -- ✨ [Umožnění výběru a kopírování textu v seznamu změn](https://github.com/bosancz/interni-sekce/commit/b355a3fa60a853932d4a77302df94e2a05e61fd7) Claude -- ✨ [Odkaz na GitHub v záhlaví changelogu](https://github.com/bosancz/interni-sekce/commit/7b19dc8b3b3ebcc2b002bca35dd09705d1c5dcb4) Claude -- ♻️ [Odstranění podtitulku ze seznamu změn](https://github.com/bosancz/interni-sekce/commit/208a5ba6139adf431cd9b18672d2120eb61fb76c) Claude -- ♻️ [Přesunutí nadpisu "Seznam změn" do záhlaví modalu](https://github.com/bosancz/interni-sekce/commit/661f3fd085c0b43533aa2bdbc4a32a9447cb3ce4) Claude +- ✨ [Umožnění výběru a kopírování textu v seznamu změn](https://github.com/bosancz/interni-sekce/commit/b355a3fa60a853932d4a77302df94e2a05e61fd7) Claude +- ✨ [Odkaz na GitHub v záhlaví changelogu](https://github.com/bosancz/interni-sekce/commit/7b19dc8b3b3ebcc2b002bca35dd09705d1c5dcb4) Claude +- ♻️ [Odstranění podtitulku ze seznamu změn](https://github.com/bosancz/interni-sekce/commit/208a5ba6139adf431cd9b18672d2120eb61fb76c) Claude +- ♻️ [Přesunutí nadpisu "Seznam změn" do záhlaví modalu](https://github.com/bosancz/interni-sekce/commit/661f3fd085c0b43533aa2bdbc4a32a9447cb3ce4) Claude ## v4.3.1 — 2026-07-28 -- ✨ [Gitmoji u položek a odkazy na commity v seznamu změn](https://github.com/bosancz/interni-sekce/commit/8b5dfaebc800461a73d3e50649a6df8049f06181) Martin Kopeček -- ✨ [Zobrazení seznamu změn po kliknutí na verzi v menu](https://github.com/bosancz/interni-sekce/commit/527964f0cef0b84c03c4526c3021b139c3771dbe) Claude -- 👷 [Generování changelogu i při vydání na NEXT](https://github.com/bosancz/interni-sekce/commit/2d2880794cca5295a8553812efc959efc157481c) Martin Kopeček +- ✨ [Gitmoji u položek a odkazy na commity v seznamu změn](https://github.com/bosancz/interni-sekce/commit/8b5dfaebc800461a73d3e50649a6df8049f06181) Martin Kopeček +- ✨ [Zobrazení seznamu změn po kliknutí na verzi v menu](https://github.com/bosancz/interni-sekce/commit/527964f0cef0b84c03c4526c3021b139c3771dbe) Claude +- 👷 [Generování changelogu i při vydání na NEXT](https://github.com/bosancz/interni-sekce/commit/2d2880794cca5295a8553812efc959efc157481c) Martin Kopeček ## v4.3.0 — 2026-07-28 -- ✨ [Restrict permanent deletion to admins on all entities](https://github.com/bosancz/interni-sekce/commit/7caaba8226a39fd359dfc37b0d1d3e79aab03a25) Claude -- ✨ [Remove UsersList permission from vedouci](https://github.com/bosancz/interni-sekce/commit/fa9a584c33fe3b37c0699c96754830892ef8694c) Martin Kopeček -- ✨ [Make tag chips keyboard-accessible](https://github.com/bosancz/interni-sekce/commit/92b0821b8c0613fb4b9f6c4686b982d6a1d77490) Claude -- ✨ [Reintroduce photo tags editing and viewing](https://github.com/bosancz/interni-sekce/commit/fdf523292197760dfc0c16c9b77c5ed763db2c77) (#292) Claude -- ✨ [Gate admin/program routes on API root \_links permissions](https://github.com/bosancz/interni-sekce/commit/9fcebc4630cb03aa695eb9901ddceb8fcd2ccf9a) (#219) Claude -- ✨ [Load CPV events from raft.cz calendar](https://github.com/bosancz/interni-sekce/commit/dc780ce04da0170a51057ff02489a7b5998e28d5) (#139) Claude -- ✨ [Nabízet jen instruktory a vedoucí při přidávání vedoucího akce](https://github.com/bosancz/interni-sekce/commit/7d373739075b0fcc437475a6b688fcb6ce982a20) (#284) Claude -- 🐛 [Apply confirmed filter after the modal's back-close settles](https://github.com/bosancz/interni-sekce/commit/32a48c51c5c6caaaaf610764bd888a29eeef976d) Claude -- 🐛 [Apply the filter with replace, don't stack history entries](https://github.com/bosancz/interni-sekce/commit/185d23d05d8c26d504cef3f176880f64e13bd150) Claude -- 🐛 [Fix avatar initials for nicknames starting with a diacritic](https://github.com/bosancz/interni-sekce/commit/242cfe266f41eaf1cad0ebdc58c4cf97c542fb60) Claude -- 🐛 [Fix unused imports](https://github.com/bosancz/interni-sekce/commit/5b02c28d1dded57ded24c3ac2adbed863761b765) Martin Kopeček -- 🐛 [Stage every control in the mobile filter modal](https://github.com/bosancz/interni-sekce/commit/c3a2840844577f29db47c0483ca1b4173c6c37e6) Claude -- 🐛 [Fix duplicated CPV events and drop inapplicable Event links](https://github.com/bosancz/interni-sekce/commit/a8e31a1ff4796056bc246977c9daee11a5cd25ce) Claude -- 🐛 [Truly stage mobile filters instead of reverting the URL](https://github.com/bosancz/interni-sekce/commit/e99eb461371b5c5eb18d0a65c38e0219f93e8ae1) Claude -- 🐛 [Stage mobile filters and keep them on confirm](https://github.com/bosancz/interni-sekce/commit/48a30ccc4c1d8eea3f099299ed1a15590c162582) Claude -- 🎨 [Keep inputs and outputs adjacent in album-gallery](https://github.com/bosancz/interni-sekce/commit/4df143b46d91d0515c2cdbd7a99a928896a1bf9c) Claude -- ♻️ [Own the back-close settle in ModalService](https://github.com/bosancz/interni-sekce/commit/d9843f6847685603776be57e45e4fb0c45674cdd) Claude -- ♻️ [Move staging into a wrapper filter model](https://github.com/bosancz/interni-sekce/commit/e04768248e7d0b26bfff013caf0abbf80d77a950) Claude -- ♻️ [Polish photo tags editor after review](https://github.com/bosancz/interni-sekce/commit/9fc508fd62bcf9364c83608692cde8985acb6b3f) Claude -- 📝 [Start your own dev server when none is running](https://github.com/bosancz/interni-sekce/commit/46bd2ec8a35140b783dd34eaf2bbe2ce8d816a29) Claude +- ✨ [Restrict permanent deletion to admins on all entities](https://github.com/bosancz/interni-sekce/commit/7caaba8226a39fd359dfc37b0d1d3e79aab03a25) Claude +- ✨ [Remove UsersList permission from vedouci](https://github.com/bosancz/interni-sekce/commit/fa9a584c33fe3b37c0699c96754830892ef8694c) Martin Kopeček +- ✨ [Make tag chips keyboard-accessible](https://github.com/bosancz/interni-sekce/commit/92b0821b8c0613fb4b9f6c4686b982d6a1d77490) Claude +- ✨ [Reintroduce photo tags editing and viewing](https://github.com/bosancz/interni-sekce/commit/fdf523292197760dfc0c16c9b77c5ed763db2c77) (#292) Claude +- ✨ [Gate admin/program routes on API root \_links permissions](https://github.com/bosancz/interni-sekce/commit/9fcebc4630cb03aa695eb9901ddceb8fcd2ccf9a) (#219) Claude +- ✨ [Load CPV events from raft.cz calendar](https://github.com/bosancz/interni-sekce/commit/dc780ce04da0170a51057ff02489a7b5998e28d5) (#139) Claude +- ✨ [Nabízet jen instruktory a vedoucí při přidávání vedoucího akce](https://github.com/bosancz/interni-sekce/commit/7d373739075b0fcc437475a6b688fcb6ce982a20) (#284) Claude +- 🐛 [Apply confirmed filter after the modal's back-close settles](https://github.com/bosancz/interni-sekce/commit/32a48c51c5c6caaaaf610764bd888a29eeef976d) Claude +- 🐛 [Apply the filter with replace, don't stack history entries](https://github.com/bosancz/interni-sekce/commit/185d23d05d8c26d504cef3f176880f64e13bd150) Claude +- 🐛 [Fix avatar initials for nicknames starting with a diacritic](https://github.com/bosancz/interni-sekce/commit/242cfe266f41eaf1cad0ebdc58c4cf97c542fb60) Claude +- 🐛 [Fix unused imports](https://github.com/bosancz/interni-sekce/commit/5b02c28d1dded57ded24c3ac2adbed863761b765) Martin Kopeček +- 🐛 [Stage every control in the mobile filter modal](https://github.com/bosancz/interni-sekce/commit/c3a2840844577f29db47c0483ca1b4173c6c37e6) Claude +- 🐛 [Fix duplicated CPV events and drop inapplicable Event links](https://github.com/bosancz/interni-sekce/commit/a8e31a1ff4796056bc246977c9daee11a5cd25ce) Claude +- 🐛 [Truly stage mobile filters instead of reverting the URL](https://github.com/bosancz/interni-sekce/commit/e99eb461371b5c5eb18d0a65c38e0219f93e8ae1) Claude +- 🐛 [Stage mobile filters and keep them on confirm](https://github.com/bosancz/interni-sekce/commit/48a30ccc4c1d8eea3f099299ed1a15590c162582) Claude +- 🎨 [Keep inputs and outputs adjacent in album-gallery](https://github.com/bosancz/interni-sekce/commit/4df143b46d91d0515c2cdbd7a99a928896a1bf9c) Claude +- ♻️ [Own the back-close settle in ModalService](https://github.com/bosancz/interni-sekce/commit/d9843f6847685603776be57e45e4fb0c45674cdd) Claude +- ♻️ [Move staging into a wrapper filter model](https://github.com/bosancz/interni-sekce/commit/e04768248e7d0b26bfff013caf0abbf80d77a950) Claude +- ♻️ [Polish photo tags editor after review](https://github.com/bosancz/interni-sekce/commit/9fc508fd62bcf9364c83608692cde8985acb6b3f) Claude +- 📝 [Start your own dev server when none is running](https://github.com/bosancz/interni-sekce/commit/46bd2ec8a35140b783dd34eaf2bbe2ce8d816a29) Claude ## v4.2.2 — 2026-07-26 -- 🐛 [Load all group members in group members tab](https://github.com/bosancz/interni-sekce/commit/c9ee7be116407f0602cdaef34718ce588f1d1c98) Claude -- 🔧 [Remove version from package.json](https://github.com/bosancz/interni-sekce/commit/582bb784831fad7be033ff7dce765814bea05807) Martin Kopeček +- 🐛 [Load all group members in group members tab](https://github.com/bosancz/interni-sekce/commit/c9ee7be116407f0602cdaef34718ce588f1d1c98) Claude +- 🔧 [Remove version from package.json](https://github.com/bosancz/interni-sekce/commit/582bb784831fad7be033ff7dce765814bea05807) Martin Kopeček ## v4.2.1 — 2026-07-26 -- ✨ [Add heading buttons, report template, visible textarea](https://github.com/bosancz/interni-sekce/commit/bb9c2cc1daf0293805e9e4c96c49c2aa9fef0e1e) Claude -- 🐛 [Paint editor borders with defined theme tokens](https://github.com/bosancz/interni-sekce/commit/9cefa053d54d83dad9801ec1576b84bd3a388e7b) Martin Kopeček -- 🐛 [Outline textarea via wrapper so border always shows](https://github.com/bosancz/interni-sekce/commit/81e6143b4d61e1e2334fdca53be2dcefe8d1a1a7) Claude -- 🐛 [Use fill="outline" for a visible textarea border](https://github.com/bosancz/interni-sekce/commit/d36a6dc8b5b4dbac8fc73519d870743df2fd4863) Claude -- 👷 [Only create version tag when it does not already exist](https://github.com/bosancz/interni-sekce/commit/d1d359032f8d02b15393b23a543fedb7a9c47cc7) Claude +- ✨ [Add heading buttons, report template, visible textarea](https://github.com/bosancz/interni-sekce/commit/bb9c2cc1daf0293805e9e4c96c49c2aa9fef0e1e) Claude +- 🐛 [Paint editor borders with defined theme tokens](https://github.com/bosancz/interni-sekce/commit/9cefa053d54d83dad9801ec1576b84bd3a388e7b) Martin Kopeček +- 🐛 [Outline textarea via wrapper so border always shows](https://github.com/bosancz/interni-sekce/commit/81e6143b4d61e1e2334fdca53be2dcefe8d1a1a7) Claude +- 🐛 [Use fill="outline" for a visible textarea border](https://github.com/bosancz/interni-sekce/commit/d36a6dc8b5b4dbac8fc73519d870743df2fd4863) Claude +- 👷 [Only create version tag when it does not already exist](https://github.com/bosancz/interni-sekce/commit/d1d359032f8d02b15393b23a543fedb7a9c47cc7) Claude ## v4.2.0 — 2026-07-26 -- ✨ [Also file in-app bug reports as GitHub issues](https://github.com/bosancz/interni-sekce/commit/01fb23d8eb28c2dc314b21154ba9d680097c841d) Claude +- ✨ [Also file in-app bug reports as GitHub issues](https://github.com/bosancz/interni-sekce/commit/01fb23d8eb28c2dc314b21154ba9d680097c841d) Claude ## v4.1.5 — 2026-07-26 -- 🐛 [Hide the hover preview when an event is opened](https://github.com/bosancz/interni-sekce/commit/b1d49a435cc612d3d37ad7d2b821d67427cac2a8) (#278) Claude -- 🐛 [Fix too long bar solved by shorter names of pages](https://github.com/bosancz/interni-sekce/commit/2cc6526fa98dbc6d96dd28dfe3f567acea06d5dd) Jiří Kubíček -- 🔧 [Print logging info on cli](https://github.com/bosancz/interni-sekce/commit/9d012eddfbf70162f6a4455815c837969a31efe6) Martin Kopeček -- 🔧 [Remove obsolete mongo db from devcontainer](https://github.com/bosancz/interni-sekce/commit/f67831fcb4232e600069192d5f3899cf531d4ae8) Martin Kopeček +- 🐛 [Hide the hover preview when an event is opened](https://github.com/bosancz/interni-sekce/commit/b1d49a435cc612d3d37ad7d2b821d67427cac2a8) (#278) Claude +- 🐛 [Fix too long bar solved by shorter names of pages](https://github.com/bosancz/interni-sekce/commit/2cc6526fa98dbc6d96dd28dfe3f567acea06d5dd) Jiří Kubíček +- 🔧 [Print logging info on cli](https://github.com/bosancz/interni-sekce/commit/9d012eddfbf70162f6a4455815c837969a31efe6) Martin Kopeček +- 🔧 [Remove obsolete mongo db from devcontainer](https://github.com/bosancz/interni-sekce/commit/f67831fcb4232e600069192d5f3899cf531d4ae8) Martin Kopeček ## v4.1.4 — 2026-07-26 @@ -78,50 +78,50 @@ _Interní vylepšení a údržba._ ## v4.1.2 — 2026-07-26 -- 🐛 [Correct transposed photo aspect ratios in the gallery](https://github.com/bosancz/interni-sekce/commit/f012e0d122daf6610477f3fde006676ca2599e77) Claude +- 🐛 [Correct transposed photo aspect ratios in the gallery](https://github.com/bosancz/interni-sekce/commit/f012e0d122daf6610477f3fde006676ca2599e77) Claude ## v4.1.1 — 2026-07-25 -- 🐛 [Fix PWA icon white background on desktop installs](https://github.com/bosancz/interni-sekce/commit/dcac4587efa13ba22ea743e10241cad1b470e602) Claude +- 🐛 [Fix PWA icon white background on desktop installs](https://github.com/bosancz/interni-sekce/commit/dcac4587efa13ba22ea743e10241cad1b470e602) Claude ## v4.1.0 — 2026-07-25 -- ✨ [Full-text search via tsvector search_vector columns](https://github.com/bosancz/interni-sekce/commit/df74e3c75e299a661ac78d5a6e3c6c4ffe011eb1) Claude +- ✨ [Full-text search via tsvector search_vector columns](https://github.com/bosancz/interni-sekce/commit/df74e3c75e299a661ac78d5a6e3c6c4ffe011eb1) Claude ## v4.0.7 — 2026-07-25 -- ✨ [Update bg color in manifest](https://github.com/bosancz/interni-sekce/commit/8948dc6653a0e189212f94eb1c1b8d8aaac88104) Martin Kopeček -- 👷 [Update actions versions](https://github.com/bosancz/interni-sekce/commit/7c237871454f184039d973f5dce803d3bfb98492) Martin Kopeček -- 👷 [Rename image-name input](https://github.com/bosancz/interni-sekce/commit/7868ff8d64faef2564f53245bfd87f643b8743be) Martin Kopeček +- ✨ [Update bg color in manifest](https://github.com/bosancz/interni-sekce/commit/8948dc6653a0e189212f94eb1c1b8d8aaac88104) Martin Kopeček +- 👷 [Update actions versions](https://github.com/bosancz/interni-sekce/commit/7c237871454f184039d973f5dce803d3bfb98492) Martin Kopeček +- 👷 [Rename image-name input](https://github.com/bosancz/interni-sekce/commit/7868ff8d64faef2564f53245bfd87f643b8743be) Martin Kopeček ## v4.0.6 — 2026-07-25 -- 📝 [Add jirik22, Cita22 and MichalPham as contributors](https://github.com/bosancz/interni-sekce/commit/d664ef46f0775ed4b45930a2ecd664acfcf57816) Martin Kopeček +- 📝 [Add jirik22, Cita22 and MichalPham as contributors](https://github.com/bosancz/interni-sekce/commit/d664ef46f0775ed4b45930a2ecd664acfcf57816) Martin Kopeček ## v4.0.5 — 2026-07-25 -- 🐛 [Update naming](https://github.com/bosancz/interni-sekce/commit/722ef9b6fa25f4998e3c4c78e4254aef17d2f54d) Martin Kopeček +- 🐛 [Update naming](https://github.com/bosancz/interni-sekce/commit/722ef9b6fa25f4998e3c4c78e4254aef17d2f54d) Martin Kopeček ## v4.0.4 — 2026-07-24 -- 🐛 [Make install banner legible and on-brand in dark mode](https://github.com/bosancz/interni-sekce/commit/7b29d393a3d29b36f435b04a9d669f58d6c0fd78) Claude +- 🐛 [Make install banner legible and on-brand in dark mode](https://github.com/bosancz/interni-sekce/commit/7b29d393a3d29b36f435b04a9d669f58d6c0fd78) Claude ## v4.0.3 — 2026-07-24 -- 🐛 [Remove hardcoded NEXT beta label from page title](https://github.com/bosancz/interni-sekce/commit/5dfdae11a350160bb71da033de3892c9701a0951) Claude +- 🐛 [Remove hardcoded NEXT beta label from page title](https://github.com/bosancz/interni-sekce/commit/5dfdae11a350160bb71da033de3892c9701a0951) Claude ## v4.0.2 — 2026-07-24 -- 🐛 [Resolve legacy registration PDFs for public program endpoint](https://github.com/bosancz/interni-sekce/commit/b4585daee713eb29e09637d2328649dda5f58fa9) Claude +- 🐛 [Resolve legacy registration PDFs for public program endpoint](https://github.com/bosancz/interni-sekce/commit/b4585daee713eb29e09637d2328649dda5f58fa9) Claude ## v4.0.1 — 2026-07-24 -- ✨ [Add automatic native PWA install prompt and refresh app icons](https://github.com/bosancz/interni-sekce/commit/1b3208e7e0273475b7ee2c401a8f1874bf69f443) Claude -- 🐛 [Serve legacy event registration PDFs by Mongo ObjectId](https://github.com/bosancz/interni-sekce/commit/7b51abebbc27e08ba5940ed60890618a24521ee1) Claude -- 🐛 [Validate numeric route params with ParseIntPipe](https://github.com/bosancz/interni-sekce/commit/9519f0be60b365bc54360b8183d696382c238d59) Claude -- 👷 [Remove autorelease to next form next branch, remove next branch](https://github.com/bosancz/interni-sekce/commit/97659fccd0f9d662b414cc8c3217913ba2d83024) Martin Kopeček -- 👷 [Remove test deployment, remove autorelease from next](https://github.com/bosancz/interni-sekce/commit/ad15e29e87cb8c965c4f3e33efafb6daac362765) Martin Kopeček -- 🔧 [Update types](https://github.com/bosancz/interni-sekce/commit/cd5bd002b6fb8a78953964f25459980e7f311b85) Martin Kopeček +- ✨ [Add automatic native PWA install prompt and refresh app icons](https://github.com/bosancz/interni-sekce/commit/1b3208e7e0273475b7ee2c401a8f1874bf69f443) Claude +- 🐛 [Serve legacy event registration PDFs by Mongo ObjectId](https://github.com/bosancz/interni-sekce/commit/7b51abebbc27e08ba5940ed60890618a24521ee1) Claude +- 🐛 [Validate numeric route params with ParseIntPipe](https://github.com/bosancz/interni-sekce/commit/9519f0be60b365bc54360b8183d696382c238d59) Claude +- 👷 [Remove autorelease to next form next branch, remove next branch](https://github.com/bosancz/interni-sekce/commit/97659fccd0f9d662b414cc8c3217913ba2d83024) Martin Kopeček +- 👷 [Remove test deployment, remove autorelease from next](https://github.com/bosancz/interni-sekce/commit/ad15e29e87cb8c965c4f3e33efafb6daac362765) Martin Kopeček +- 🔧 [Update types](https://github.com/bosancz/interni-sekce/commit/cd5bd002b6fb8a78953964f25459980e7f311b85) Martin Kopeček ## v4.0.0 — 2026-07-24 @@ -131,34 +131,34 @@ _Interní vylepšení a údržba._ ## v3.3.1 — 2025-11-26 -- 🐛 [Test api urls](https://github.com/bosancz/interni-sekce/commit/837d01aa3d48661647d7a325f43928d977e3bc40) (#48) Martin Kopeček -- 🐛 [Correct API path in frontend environment file](https://github.com/bosancz/interni-sekce/commit/e72c0fc84524b7c168377491f51731f7a74317db) Martin Kopeček +- 🐛 [Test api urls](https://github.com/bosancz/interni-sekce/commit/837d01aa3d48661647d7a325f43928d977e3bc40) (#48) Martin Kopeček +- 🐛 [Correct API path in frontend environment file](https://github.com/bosancz/interni-sekce/commit/e72c0fc84524b7c168377491f51731f7a74317db) Martin Kopeček ## v3.3.0 — 2024-01-22 -- ✨ [Add members export to xlsx](https://github.com/bosancz/interni-sekce/commit/f433940d0bdd22206fc99faa169582e709429397) (#37) jhavelik +- ✨ [Add members export to xlsx](https://github.com/bosancz/interni-sekce/commit/f433940d0bdd22206fc99faa169582e709429397) (#37) jhavelik ## v3.2.9 — 2023-04-15 -- ✨ [Add expense types](https://github.com/bosancz/interni-sekce/commit/7c546aa702f3cb97bf4c91739fca0d95536b8f1f) Martin Kopeček +- ✨ [Add expense types](https://github.com/bosancz/interni-sekce/commit/7c546aa702f3cb97bf4c91739fca0d95536b8f1f) Martin Kopeček ## v3.2.8 — 2023-03-31 -- ✨ [Improve layout of member view page](https://github.com/bosancz/interni-sekce/commit/f1c2a3cd581925a63cc7a3deade8fc55bb0b8417) (#25) Martin Kopeček -- ✨ [Add notification mail for event submitted](https://github.com/bosancz/interni-sekce/commit/1b018337423b807addf86fa5aa4c884e781de298) (#23) Martin Kopeček +- ✨ [Improve layout of member view page](https://github.com/bosancz/interni-sekce/commit/f1c2a3cd581925a63cc7a3deade8fc55bb0b8417) (#25) Martin Kopeček +- ✨ [Add notification mail for event submitted](https://github.com/bosancz/interni-sekce/commit/1b018337423b807addf86fa5aa4c884e781de298) (#23) Martin Kopeček ## v3.2.7 — 2022-12-15 -- ✨ [Search memebers from home page](https://github.com/bosancz/interni-sekce/commit/c2fdd6f3f095860773619d47dd7fff99b9ff7b58) Martin Kopeček -- ✨ [Logo kudyznudy kvuli linku na haloween](https://github.com/bosancz/interni-sekce/commit/fa0786daf106cf94fc6f75ed42485484537bd163) Martin Kopeček -- ✨ [Remove ukraine banner](https://github.com/bosancz/interni-sekce/commit/df5142ea34216f407b6a329ed99981c4354380ba) Martin Kopeček -- ✨ [Devcontainer](https://github.com/bosancz/interni-sekce/commit/9a827ca6cdbad3130957af84e54c39513519e62d) Martin Kopeček -- ✨ [Automerge patch updates by dependabot](https://github.com/bosancz/interni-sekce/commit/2dcb9c6ce8cea0f80dadc9bac9ff02bd1bd29111) Martin Kopeček -- ✨ [Add commitlint](https://github.com/bosancz/interni-sekce/commit/fde9fc7d986224c5f17aa0e000cea611a2306d2c) Martin Kopeček -- 🐛 [Show leaders in attedee list](https://github.com/bosancz/interni-sekce/commit/96ee8e9dc556762c5b534b72b255b85c2fc944a2) Martin Kopeček -- 🐛 [Sorting of expenses in frontend and excel](https://github.com/bosancz/interni-sekce/commit/c1ca63569e820b3358b2d93e09a9210ff7147dbe) Martin Kopeček -- 🐛 [Expense numbers from 1](https://github.com/bosancz/interni-sekce/commit/a06f71ba3e3c030060180a296fb63c9648e32e9c) Martin Kopeček -- 🐛 [Fix typescript version in lock file](https://github.com/bosancz/interni-sekce/commit/711fc4504d233450334285ba617eb7d4528556a8) Martin Kopeček +- ✨ [Search memebers from home page](https://github.com/bosancz/interni-sekce/commit/c2fdd6f3f095860773619d47dd7fff99b9ff7b58) Martin Kopeček +- ✨ [Logo kudyznudy kvuli linku na haloween](https://github.com/bosancz/interni-sekce/commit/fa0786daf106cf94fc6f75ed42485484537bd163) Martin Kopeček +- ✨ [Remove ukraine banner](https://github.com/bosancz/interni-sekce/commit/df5142ea34216f407b6a329ed99981c4354380ba) Martin Kopeček +- ✨ [Devcontainer](https://github.com/bosancz/interni-sekce/commit/9a827ca6cdbad3130957af84e54c39513519e62d) Martin Kopeček +- ✨ [Automerge patch updates by dependabot](https://github.com/bosancz/interni-sekce/commit/2dcb9c6ce8cea0f80dadc9bac9ff02bd1bd29111) Martin Kopeček +- ✨ [Add commitlint](https://github.com/bosancz/interni-sekce/commit/fde9fc7d986224c5f17aa0e000cea611a2306d2c) Martin Kopeček +- 🐛 [Show leaders in attedee list](https://github.com/bosancz/interni-sekce/commit/96ee8e9dc556762c5b534b72b255b85c2fc944a2) Martin Kopeček +- 🐛 [Sorting of expenses in frontend and excel](https://github.com/bosancz/interni-sekce/commit/c1ca63569e820b3358b2d93e09a9210ff7147dbe) Martin Kopeček +- 🐛 [Expense numbers from 1](https://github.com/bosancz/interni-sekce/commit/a06f71ba3e3c030060180a296fb63c9648e32e9c) Martin Kopeček +- 🐛 [Fix typescript version in lock file](https://github.com/bosancz/interni-sekce/commit/711fc4504d233450334285ba617eb7d4528556a8) Martin Kopeček ## v3.2.3 — 2022-03-30 @@ -166,18 +166,18 @@ _Bez uživatelských změn._ ## v3.2.2 — 2022-03-30 -- ✨ [Add notice with link to stojimezaukrajinou.cz](https://github.com/bosancz/interni-sekce/commit/90ad4c6a15a6e6be4cb0631cc914acf1c5c58210) Martin Kopeček -- ✨ [Enable copying of rows, search always visible](https://github.com/bosancz/interni-sekce/commit/5e66938f781f7886a99fb54094982510ed170218) Martin Kopeček -- ✨ [Minor improvements for album photos editing](https://github.com/bosancz/interni-sekce/commit/9be669aee8e5ca722854c14e7bb99ece8a105526) Martin Kopeček -- ✨ [Add uptime badge](https://github.com/bosancz/interni-sekce/commit/1a349d5c1b042467e2a17e5f656f3fb7697604f2) Martin Kopeček -- ✨ [Add allcontributors to READM](https://github.com/bosancz/interni-sekce/commit/d038365acc34e1e125b9d5e0aeed798a0621926a) Martin Kopeček -- ✨ [Remove pf2022](https://github.com/bosancz/interni-sekce/commit/a1203bb25aa3f5c1023e82b9dfa67deeb0c93f06) Martin Kopeček -- ✨ [Folder rename](https://github.com/bosancz/interni-sekce/commit/ff44db6532a7eb242b40f95bac973a8b893852db) Martin Kopeček -- ✨ [Nicer attendees list](https://github.com/bosancz/interni-sekce/commit/2d712482aa98d7b74fd07fb76b377ac1a0743238) Martin Kopeček -- ✨ [Add pf 2022 popup](https://github.com/bosancz/interni-sekce/commit/627f12b96f84fc55b00e45a90476147a7562f7bb) Martin Kopeček -- ✨ [Partially revert home menu until better mobile laytou](https://github.com/bosancz/interni-sekce/commit/c087147b83aebb9838660929a62f416796e0c129) Martin Kopeček -- ✨ [Show menu on start on mobile](https://github.com/bosancz/interni-sekce/commit/c5695ac7499f4d194587ed56624805be7e7327f4) Martin Kopeček -- 🐛 [Tabs navigation v3.2.2](https://github.com/bosancz/interni-sekce/commit/35ddcf1e07ce1265479b02c1acc1f09cf1ca005f) Martin Kopeček -- 🐛 [Prevent arrows to move photos and esc to close when editing photo caption](https://github.com/bosancz/interni-sekce/commit/1fb051756ac03387b4b38a71b9ae5e0eceab3373) Martin Kopeček -- 🐛 [Event images and group colors in program](https://github.com/bosancz/interni-sekce/commit/dafa0daff76d23643aa9dd10d1ee50dc104a1cdd) Martin Kopeček -- 🐛 [Bad config path for JWT secret](https://github.com/bosancz/interni-sekce/commit/7fa9f94e63d37218ed87ea9e3820268c134a07a9) Martin Kopeček +- ✨ [Add notice with link to stojimezaukrajinou.cz](https://github.com/bosancz/interni-sekce/commit/90ad4c6a15a6e6be4cb0631cc914acf1c5c58210) Martin Kopeček +- ✨ [Enable copying of rows, search always visible](https://github.com/bosancz/interni-sekce/commit/5e66938f781f7886a99fb54094982510ed170218) Martin Kopeček +- ✨ [Minor improvements for album photos editing](https://github.com/bosancz/interni-sekce/commit/9be669aee8e5ca722854c14e7bb99ece8a105526) Martin Kopeček +- ✨ [Add uptime badge](https://github.com/bosancz/interni-sekce/commit/1a349d5c1b042467e2a17e5f656f3fb7697604f2) Martin Kopeček +- ✨ [Add allcontributors to READM](https://github.com/bosancz/interni-sekce/commit/d038365acc34e1e125b9d5e0aeed798a0621926a) Martin Kopeček +- ✨ [Remove pf2022](https://github.com/bosancz/interni-sekce/commit/a1203bb25aa3f5c1023e82b9dfa67deeb0c93f06) Martin Kopeček +- ✨ [Folder rename](https://github.com/bosancz/interni-sekce/commit/ff44db6532a7eb242b40f95bac973a8b893852db) Martin Kopeček +- ✨ [Nicer attendees list](https://github.com/bosancz/interni-sekce/commit/2d712482aa98d7b74fd07fb76b377ac1a0743238) Martin Kopeček +- ✨ [Add pf 2022 popup](https://github.com/bosancz/interni-sekce/commit/627f12b96f84fc55b00e45a90476147a7562f7bb) Martin Kopeček +- ✨ [Partially revert home menu until better mobile laytou](https://github.com/bosancz/interni-sekce/commit/c087147b83aebb9838660929a62f416796e0c129) Martin Kopeček +- ✨ [Show menu on start on mobile](https://github.com/bosancz/interni-sekce/commit/c5695ac7499f4d194587ed56624805be7e7327f4) Martin Kopeček +- 🐛 [Tabs navigation v3.2.2](https://github.com/bosancz/interni-sekce/commit/35ddcf1e07ce1265479b02c1acc1f09cf1ca005f) Martin Kopeček +- 🐛 [Prevent arrows to move photos and esc to close when editing photo caption](https://github.com/bosancz/interni-sekce/commit/1fb051756ac03387b4b38a71b9ae5e0eceab3373) Martin Kopeček +- 🐛 [Event images and group colors in program](https://github.com/bosancz/interni-sekce/commit/dafa0daff76d23643aa9dd10d1ee50dc104a1cdd) Martin Kopeček +- 🐛 [Bad config path for JWT secret](https://github.com/bosancz/interni-sekce/commit/7fa9f94e63d37218ed87ea9e3820268c134a07a9) Martin Kopeček diff --git a/CLAUDE.md b/CLAUDE.md index 10a4bde2..4e7a1426 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -6,7 +6,7 @@ - **An issue reaches the changelog only if the commit itself references it** — `Closes #123` (also `Fixes`/`Resolves`/`Refs`) in the commit *body*, or `(#123)` in the subject. Merge commits are excluded (`--no-merges`) and PR bodies are not part of git history, so a reference living only in the PR does not count. - `scripts/generate-changelog.mjs` **prepends** the new version's section to `CHANGELOG.md`, so manual edits to older sections survive. Every conventional type reaches it (only merges and non-conventional subjects are dropped); a version is one flat list, each entry labelled and ordered by its type's gitmoji: `feat` ✨, `fix` 🐛, `style` 🎨, `perf` ⚡️, `refactor` ♻️, `docs` 📝, `test` ✅, `build` 📦️, `ci` 👷, `revert` ⏪️, `chore` 🔧. The backend serves the file at `GET /api/changelog`; clicking the version in the menu shows it. - Each entry links to its commit — unstyled, underline on hover, so it still reads as plain text — and `ChangelogLinksPipe` links the `#123` references and makes everything open in a new tab. Sections older than 2023 were seeded from the legacy `bosancz/bosan.cz` repo, whose PR numbers do not map here: they carry commit links but no `#nnn`. -- **Entries end with the avatars of their authors**, linked to their GitHub profiles (a collapsed duplicate entry carries the authors of all its commits). When the committer is somebody else — usually Claude — their avatar sits behind the author's, 90 % covered like a collapsed GitHub avatar stack: not a link, and it does not open on hover. Commits committed by GitHub itself (`noreply@github.com`, i.e. its web UI) show the author alone. The layout hangs off `changelog-credit`/`-author`/`-committer`/`-avatar` in `changelog-modal.component.scss`. +- **Entries end with the avatars of their authors**, linked to their GitHub profiles (a collapsed duplicate entry carries the authors of all its commits). When the committer is somebody else — usually Claude — their avatar sits behind the author's, 60 % covered like a collapsed GitHub avatar stack (both are `--avatar-size: 1rem`): not a link, and it does not open on hover. One tooltip covers the whole credit — the author, or "Autor a Committer" (e.g. "Kopec a Claude") — so the avatars themselves carry none. Commits committed by GitHub itself (`noreply@github.com`, i.e. its web UI) show the author alone. The layout hangs off `changelog-credit`/`-author`/`-committer`/`-avatar` in `changelog-modal.component.scss`. - The account behind an avatar comes from a GitHub no-reply email, otherwise from `GET /repos/:o/:r/commits/:sha` — which needs `GITHUB_TOKEN` (passed to the generate step in `build.yml`) and the commit already pushed. One lookup answers for both identities of a commit. No account → a circle with initials; a failed lookup costs only the avatar, never the run. `--no-authors` skips the API entirely. - **Released sections are never regenerated, so changing the avatar markup needs `node scripts/generate-changelog.mjs --backfill`** — it rewrites only the credit at the end of each entry already in the file, is idempotent, and falls back to the API for commits the clone lacks (shallow checkout, squashed branch). - **Both releases generate the changelog, in the build job.** `build.yml` runs the generator right before `docker build` whenever `changelog-version` is set, so the section always reaches the image; `changelog-branch` then decides whether it is *kept*. PROD passes `vN.N.N` plus `changelog-branch: master`, so the file is committed and pushed **after** the image is published (a failed build must not leave a section behind for a version that never shipped — the retry would record it twice), and that commit is what `tag.yml` tags. NEXT passes `NEXT-` — the version the app reports — and no branch, so the section lives only inside the image. The range is always "since the last `v*` tag", so nothing accumulates. diff --git a/frontend/src/app/shared/components/changelog-modal/changelog-modal.component.scss b/frontend/src/app/shared/components/changelog-modal/changelog-modal.component.scss index 2c47a23b..c46fcf7e 100644 --- a/frontend/src/app/shared/components/changelog-modal/changelog-modal.component.scss +++ b/frontend/src/app/shared/components/changelog-modal/changelog-modal.component.scss @@ -76,10 +76,11 @@ // the credit closing each entry: the commit author, and behind them the committer when the // two differ. A wrapped entry keeps the stack on the text line, not in the hanging indent. .changelog-credit { - --avatar-size: 1.35rem; + --avatar-size: 1rem; display: inline-flex; - vertical-align: -0.35rem; + align-items: center; + vertical-align: -0.2rem; margin-inline-start: 0.25rem; // the entries hang their wrapped lines on a negative text-indent, which an inline-flex // would otherwise inherit and apply to its own content @@ -93,10 +94,9 @@ z-index: 1; } - // the committer sits behind the author with only a sliver showing, the way GitHub collapses - // an avatar stack + // the committer sits behind the author, mostly covered, the way GitHub collapses an avatar stack .changelog-committer { - margin-inline-start: calc(var(--avatar-size) * -0.9); + margin-inline-start: calc(var(--avatar-size) * -0.6); } .changelog-author, @@ -117,7 +117,7 @@ .changelog-initials { background: var(--ion-color-light); color: var(--ion-color-medium); - font-size: 0.7rem; + font-size: 0.5rem; font-weight: 600; line-height: var(--avatar-size); text-align: center; diff --git a/scripts/generate-changelog.mjs b/scripts/generate-changelog.mjs index 66e9f7ce..69de8ae4 100644 --- a/scripts/generate-changelog.mjs +++ b/scripts/generate-changelog.mjs @@ -319,18 +319,18 @@ function escapeHtml(text) { return text.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """); } -// A single avatar, carrying the person's name as its tooltip; somebody GitHub does not know gets a -// circle with their initials instead, which the frontend styles the same way. +// A single avatar; somebody GitHub does not know gets a circle with their initials instead, which the +// frontend styles the same way. The tooltip belongs to the whole credit, not to the single avatar. function renderAvatar({ name, login, avatar }) { - const title = escapeHtml(name); - if (!login) return `${escapeHtml(initials(name))}`; - return `${title}`; + if (!login) return `${escapeHtml(initials(name))}`; + return `${escapeHtml(name)}`; } // The credit closing an entry: the author's avatar, linked to their GitHub profile, and behind it — -// nine tenths covered, the way GitHub stacks them — the committer's when that is somebody else. Only -// the author's is a link, and the stack does not open up on hover. The inline HTML is kept plain -// enough to survive Angular's sanitizer, and its whole layout hangs off these two class names. +// mostly covered, the way GitHub stacks them — the committer's when that is somebody else. Only the +// author's is a link, and the stack does not open up on hover. One tooltip names both people +// ("Kopec a claude"). The inline HTML is kept plain enough to survive Angular's sanitizer, and its +// whole layout hangs off these class names. function renderCredit({ author, committer }) { const authorAvatar = renderAvatar(author); const parts = [ @@ -340,7 +340,9 @@ function renderCredit({ author, committer }) { ]; if (committer) parts.push(`${renderAvatar(committer)}`); - return `${parts.join("")}`; + const title = escapeHtml(committer ? `${author.name} a ${committer.name}` : author.name); + + return `${parts.join("")}`; } // Each entry opens with the gitmoji of its type and links to the commit it came from; a "#123" @@ -418,7 +420,7 @@ function prepend(file, section) { // The trailing group is the credit, in either the markup written today or the markdown image link // the first version of the feature emitted, so re-running only ever replaces it — never doubles it. const WRITTEN_ENTRY = - /^(- \S+ \[[^\]]*\]\(\S*?\/commit\/([0-9a-f]{7,40})\).*?)(\s*(?:|\[!\[).*)?$/; + /^(- \S+ \[[^\]]*\]\(\S*?\/commit\/([0-9a-f]{7,40})\).*?)(\s*(?: