Skip to content

Add the ability for song book entries to have videos.#1067

Merged
SLUCHABLUB merged 4 commits intoDsek-LTH:mainfrom
SLUCHABLUB:svansen
Jan 26, 2026
Merged

Add the ability for song book entries to have videos.#1067
SLUCHABLUB merged 4 commits intoDsek-LTH:mainfrom
SLUCHABLUB:svansen

Conversation

@SLUCHABLUB
Copy link
Contributor

🧩 Summary

I added a video: String? field in the database for songs. Unless it is set to null, a video will loaded from the string interpreted as a URI.

There seemed to be some trailing spaces at some spots in the zmodel file that my editor removed.

🔗 Related issues (if any)

Closes #1062

📸 Screenshots / recordings (if applicable)

Screenshot from 2026-01-26 20-25-31

💬 Other information

There are currently no way to add captions. The specific video that this PR regards does however not have accompanying captions.

@davidagardh davidagardh self-requested a review January 26, 2026 20:34
@SLUCHABLUB SLUCHABLUB moved this from 🆕 New to 🏗 In Progress in CPU Jan 26, 2026
Copy link
Contributor

@davidagardh davidagardh left a comment

Choose a reason for hiding this comment

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

👍

@SLUCHABLUB SLUCHABLUB moved this from 🏗 In Progress to 📝In review in CPU Jan 26, 2026
@SLUCHABLUB SLUCHABLUB moved this from 📝In review to 🆕 New in CPU Jan 26, 2026
@SLUCHABLUB SLUCHABLUB merged commit 65f5231 into Dsek-LTH:main Jan 26, 2026
1 check passed
@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in CPU Jan 26, 2026
Isak-Kallini added a commit that referenced this pull request Mar 10, 2026
* Fix editing café opening hours (#1046)

* Improve error message

* Fix form name param

* Change project logo URL in README (#1052)

Updated project logo link in README.md.

* 1049 uggo access gui (#1053)

* Sort policies into groups

* Finish everything, everything is a tree now :)

* Create component for access pages, refactor pages and english comments

* fix committee icon refresh loop (#1055)

* fix icon fallbacks (#1056)

* Add webhook sending on news creation (#1060)

* Add in-progress webhook sending on news creation

* Fix remaining bugs and limit scope

* fix lint

* Potential fix for code scanning alert no. 13: Incomplete string escaping or encoding

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: Bluenix <bluenixdev@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Consume endpoint (#895)

* feat: Add QR code scanning for ticket consumption

Implements a complete QR code scanning system for validating and consuming event tickets:

Features:
- QR code scanner component using @zxing/library
- Event-specific scan pages at /events/[slug]/scan
- Consumable detail view with validation status
- Admin QR code management page at /admin/qr
- Ticket consumption tracking and history
- Support for scanning from inventory page

Changes:
- Add QRCodeScanner.svelte component with camera access
- Add useQRScanner hook for QR code detection
- Add consumable.ts server utilities for ticket consumption
- Add scan routes for events with ticket validation
- Add consume action to mark tickets as used
- Add QR code admin page to routes
- Filter events with tickets in event listing
- Update translations for scanning UI
- Add @zxing/library dependency

The system validates tickets against the event, checks consumption status,
displays owner information, and shows question responses if available.

* fix: resolve linting and formatting issues

* feat: add visual indication of recent consumption

* fix: missing translations

* chore: remove snaplet config files

* chore: reset config.json to default

* feat: minor improvements

* Update src/routes/(app)/events/[slug]/scan/[consumable]/+page.svelte

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* update github issue and PR templates

* Update door access backup list

This list has been checked and approved by the Head of Facilities (Källarmästare) and the Head of CPU (Processmästare)

* Fix the app back button on my machine (#1066)

* Fix the app back button on my machine

* Remove accidental negation from testing

* Add search function in access menu (#1065)

* Add search function to access by position

* Lint

* fix app back button on empty history

* Add the ability for song book entries to have videos. (#1067)

* Add the ability for song book entries to have videos.
* Add roles for programmes.

* actually fix back button this time

* Fix cost centers for 2026 (#1069)

* Fix cost centers for 2026

* Change cost center descriptions (#1080)

* Update clarity on alcohol accounting

* Add s1-s4 reminder on ALKO

* Scheduler service (#977)

* initial scheduling service

* rename `executed` field to `has_executed`

* added password auth to scheduler

* don't expose password in scheduler service logs

* add rate limiting to scheduler service

* add proof of concept for user auth via jwt in scheduler service

* also store id_token in session token for later decryption

* move code out of main.go file in scheduler service

* read port from .env when starting scheduler service

* remove global context variable in scheduler

* add function for retrieving decrypted jwt

* store user identifier with scheduled tasks

* add GET endpoint to scheduler for retrieving tasks per user

* use query params for scheduler GET auth

* remove hardcoded values from scheduler auth

* improve JWT validation and subject handling in scheduler

* add refresh token logic to website auth

* implement scheduled publishing for news articles

- Added `publishTime` field to article schema and form for scheduling
article publication
- Implemented backend logic to send data to the scheduler service for
later publishing
- Created API endpoint `/api/schedule/news` to handle scheduled article
creation and notifications

* fix uninitialised global vars in scheduler auth

* fix jwt subject logic in scheduler

* add scheduled news view to news page

* only fetch non-executed tasks on GET requests

* improve error handling for fetching scheduled news

* prevent marking failed scheduled tasks as executed

* redirect to news page on succesful scheduling

* extract news scheduling logic to generic function

* add cleanup logic to scheduler rate limiters

* add error handling when fetching user's scheduled news

* extend JWT and Session types

* remove unused public env var

* remove fatal log when reading env in scheduler

* log out user if tokens are invalid

* remove debug logs and add documentation

* only schedule notifications not article creation

* fetch scheduled news from db instead of scheduler

* improve ui and add publish time to edit

* support updating/deletion of scheduled news

* add go formatting tools for scheduler service

* add Dockerfile, compose, and clean up logs in prod

* only show user's own scheduled articles

* implement requested changes to scheduler backend

* remove unnecessary types

* Add github action

* Fix format

---------

Co-authored-by: Rufus Kogg Röjder <rufus@rojder.se>

* remove unnecessary env var

* News share button (Closes #1081) (#1085)

* Implement share button for news (and as a side effect migrate Svelte in this file)

Implement share button for news (and as a side effect migrate Svelte in this file)

Run format

* Maybe fix

Typescript, more like freakscript

* Maybe fix v2

Definitely freakscript

* Add aria label

* Add accessibility and refactor

* Formatting

---------

Co-authored-by: Melker Widén <melker.widen@gmail.com>

* Fix fucked styling... maybe (#1086)

* Remove article body from share (#1087)

* fix scheduling error messages

* add debug logs for scheduler

* use secure cookie prefix when decrypting jwt

* scheduler working - remove debug logs

* Stocklist2.0 (#1088)

* first draft

* second draft

* draft 2

* Big changes made

* Fixa buggar kring edit och borttagning av batches

* fixed errors

* fixed some more errors

* errors 3.0

* Squash database migrations

---------

Co-authored-by: Casper Jensen <casper.v.jensen@gmail.com>
Co-authored-by: CasperJensen19 <144714740+CasperJensen19@users.noreply.github.com>
Co-authored-by: David Agardh <21132805+davidagardh@users.noreply.github.com>
Co-authored-by: David Agardh <agardh.david@gmail.com>

* Possible fix stocklist error 500


* possible fix for the internal error

* removed prisma/client imports from client in stocklist

---------

Co-authored-by: Casper Jensen <casper.v.jensen@gmail.com>
Co-authored-by: CasperJensen19 <144714740+CasperJensen19@users.noreply.github.com>
Co-authored-by: David Agardh <21132805+davidagardh@users.noreply.github.com>
Co-authored-by: David Agardh <agardh.david@gmail.com>

* fix news with empty notification text field

* stocklist v.3.0 done (#1092)

* stocklist v.3.0 done

* fixed errors

* fixed more errors

* migration squash

* added compability for wine in overview (#1112)

* added compability for wine in overview

* fixed calc for nrbottles

* change descriptive text for nollning start so it reads properly (#1113)

* hotfixed inventorycalc (#1114)

* Fix/nrbottlesdontdecrement (#1115)

* fixed delta for nr bottles for correct update

* added last change

* Improve document upload UX (#1098)

Improve clarity of how the user's inputs will be used in creating a new
file.
Further, introduce a new standard for SRD meetings to use the style
"SRD<num>" for meetings.

Clarify distinction between filename and meeting name

Default to SRD<num> for SRD documents

* Add compatibility with old meeting formats (#1122)

* fixed some bugs (#1125)

---------

Co-authored-by: David Agardh <21132805+davidagardh@users.noreply.github.com>
Co-authored-by: Jacob Johansson <jacob@trettiofem.com>
Co-authored-by: carlhaggren <carl.haggren@gmail.com>
Co-authored-by: Felix Ohrgren <179166750+fgren@users.noreply.github.com>
Co-authored-by: Bluenix <bluenixdev@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Erik Heimdal <63123731+ekvanox@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Simon Mechler <170467894+Fiery-132@users.noreply.github.com>
Co-authored-by: ManneG <74592735+ManneG@users.noreply.github.com>
Co-authored-by: Christofer Gärtner <80417726+christofergartner@users.noreply.github.com>
Co-authored-by: SLUCHABLUB <81807027+SLUCHABLUB@users.noreply.github.com>
Co-authored-by: Rufus Kogg Röjder <rufus@rojder.se>
Co-authored-by: Melker Widén <melker.widen@gmail.com>
Co-authored-by: Melker Widén <85902964+memagu@users.noreply.github.com>
Co-authored-by: Elias Follin <143102901+efollin@users.noreply.github.com>
Co-authored-by: Casper Jensen <casper.v.jensen@gmail.com>
Co-authored-by: CasperJensen19 <144714740+CasperJensen19@users.noreply.github.com>
Co-authored-by: David Agardh <agardh.david@gmail.com>
Co-authored-by: Tomas Kamsäter <112856079+Tomas-Ka@users.noreply.github.com>
Isak-Kallini added a commit that referenced this pull request Mar 23, 2026
* Fix editing café opening hours (#1046)

* Improve error message

* Fix form name param

* Change project logo URL in README (#1052)

Updated project logo link in README.md.

* 1049 uggo access gui (#1053)

* Sort policies into groups

* Finish everything, everything is a tree now :)

* Create component for access pages, refactor pages and english comments

* fix committee icon refresh loop (#1055)

* fix icon fallbacks (#1056)

* Add webhook sending on news creation (#1060)

* Add in-progress webhook sending on news creation

* Fix remaining bugs and limit scope

* fix lint

* Potential fix for code scanning alert no. 13: Incomplete string escaping or encoding

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: Bluenix <bluenixdev@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Consume endpoint (#895)

* feat: Add QR code scanning for ticket consumption

Implements a complete QR code scanning system for validating and consuming event tickets:

Features:
- QR code scanner component using @zxing/library
- Event-specific scan pages at /events/[slug]/scan
- Consumable detail view with validation status
- Admin QR code management page at /admin/qr
- Ticket consumption tracking and history
- Support for scanning from inventory page

Changes:
- Add QRCodeScanner.svelte component with camera access
- Add useQRScanner hook for QR code detection
- Add consumable.ts server utilities for ticket consumption
- Add scan routes for events with ticket validation
- Add consume action to mark tickets as used
- Add QR code admin page to routes
- Filter events with tickets in event listing
- Update translations for scanning UI
- Add @zxing/library dependency

The system validates tickets against the event, checks consumption status,
displays owner information, and shows question responses if available.

* fix: resolve linting and formatting issues

* feat: add visual indication of recent consumption

* fix: missing translations

* chore: remove snaplet config files

* chore: reset config.json to default

* feat: minor improvements

* Update src/routes/(app)/events/[slug]/scan/[consumable]/+page.svelte

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* update github issue and PR templates

* Update door access backup list

This list has been checked and approved by the Head of Facilities (Källarmästare) and the Head of CPU (Processmästare)

* Fix the app back button on my machine (#1066)

* Fix the app back button on my machine

* Remove accidental negation from testing

* Add search function in access menu (#1065)

* Add search function to access by position

* Lint

* fix app back button on empty history

* Add the ability for song book entries to have videos. (#1067)

* Add the ability for song book entries to have videos.
* Add roles for programmes.

* actually fix back button this time

* Fix cost centers for 2026 (#1069)

* Fix cost centers for 2026

* Change cost center descriptions (#1080)

* Update clarity on alcohol accounting

* Add s1-s4 reminder on ALKO

* Scheduler service (#977)

* initial scheduling service

* rename `executed` field to `has_executed`

* added password auth to scheduler

* don't expose password in scheduler service logs

* add rate limiting to scheduler service

* add proof of concept for user auth via jwt in scheduler service

* also store id_token in session token for later decryption

* move code out of main.go file in scheduler service

* read port from .env when starting scheduler service

* remove global context variable in scheduler

* add function for retrieving decrypted jwt

* store user identifier with scheduled tasks

* add GET endpoint to scheduler for retrieving tasks per user

* use query params for scheduler GET auth

* remove hardcoded values from scheduler auth

* improve JWT validation and subject handling in scheduler

* add refresh token logic to website auth

* implement scheduled publishing for news articles

- Added `publishTime` field to article schema and form for scheduling
article publication
- Implemented backend logic to send data to the scheduler service for
later publishing
- Created API endpoint `/api/schedule/news` to handle scheduled article
creation and notifications

* fix uninitialised global vars in scheduler auth

* fix jwt subject logic in scheduler

* add scheduled news view to news page

* only fetch non-executed tasks on GET requests

* improve error handling for fetching scheduled news

* prevent marking failed scheduled tasks as executed

* redirect to news page on succesful scheduling

* extract news scheduling logic to generic function

* add cleanup logic to scheduler rate limiters

* add error handling when fetching user's scheduled news

* extend JWT and Session types

* remove unused public env var

* remove fatal log when reading env in scheduler

* log out user if tokens are invalid

* remove debug logs and add documentation

* only schedule notifications not article creation

* fetch scheduled news from db instead of scheduler

* improve ui and add publish time to edit

* support updating/deletion of scheduled news

* add go formatting tools for scheduler service

* add Dockerfile, compose, and clean up logs in prod

* only show user's own scheduled articles

* implement requested changes to scheduler backend

* remove unnecessary types

* Add github action

* Fix format

---------

Co-authored-by: Rufus Kogg Röjder <rufus@rojder.se>

* remove unnecessary env var

* News share button (Closes #1081) (#1085)

* Implement share button for news (and as a side effect migrate Svelte in this file)

Implement share button for news (and as a side effect migrate Svelte in this file)

Run format

* Maybe fix

Typescript, more like freakscript

* Maybe fix v2

Definitely freakscript

* Add aria label

* Add accessibility and refactor

* Formatting

---------

Co-authored-by: Melker Widén <melker.widen@gmail.com>

* Fix fucked styling... maybe (#1086)

* Remove article body from share (#1087)

* fix scheduling error messages

* add debug logs for scheduler

* use secure cookie prefix when decrypting jwt

* scheduler working - remove debug logs

* Stocklist2.0 (#1088)

* first draft

* second draft

* draft 2

* Big changes made

* Fixa buggar kring edit och borttagning av batches

* fixed errors

* fixed some more errors

* errors 3.0

* Squash database migrations

---------

Co-authored-by: Casper Jensen <casper.v.jensen@gmail.com>
Co-authored-by: CasperJensen19 <144714740+CasperJensen19@users.noreply.github.com>
Co-authored-by: David Agardh <21132805+davidagardh@users.noreply.github.com>
Co-authored-by: David Agardh <agardh.david@gmail.com>

* Possible fix stocklist error 500


* possible fix for the internal error

* removed prisma/client imports from client in stocklist

---------

Co-authored-by: Casper Jensen <casper.v.jensen@gmail.com>
Co-authored-by: CasperJensen19 <144714740+CasperJensen19@users.noreply.github.com>
Co-authored-by: David Agardh <21132805+davidagardh@users.noreply.github.com>
Co-authored-by: David Agardh <agardh.david@gmail.com>

* fix news with empty notification text field

* stocklist v.3.0 done (#1092)

* stocklist v.3.0 done

* fixed errors

* fixed more errors

* migration squash

* added compability for wine in overview (#1112)

* added compability for wine in overview

* fixed calc for nrbottles

* change descriptive text for nollning start so it reads properly (#1113)

* hotfixed inventorycalc (#1114)

* Fix/nrbottlesdontdecrement (#1115)

* fixed delta for nr bottles for correct update

* added last change

* Improve document upload UX (#1098)

Improve clarity of how the user's inputs will be used in creating a new
file.
Further, introduce a new standard for SRD meetings to use the style
"SRD<num>" for meetings.

Clarify distinction between filename and meeting name

Default to SRD<num> for SRD documents

* Add compatibility with old meeting formats (#1122)

* fixed some bugs (#1125)

---------

Co-authored-by: David Agardh <21132805+davidagardh@users.noreply.github.com>
Co-authored-by: Jacob Johansson <jacob@trettiofem.com>
Co-authored-by: carlhaggren <carl.haggren@gmail.com>
Co-authored-by: Felix Ohrgren <179166750+fgren@users.noreply.github.com>
Co-authored-by: Bluenix <bluenixdev@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Erik Heimdal <63123731+ekvanox@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Simon Mechler <170467894+Fiery-132@users.noreply.github.com>
Co-authored-by: ManneG <74592735+ManneG@users.noreply.github.com>
Co-authored-by: Christofer Gärtner <80417726+christofergartner@users.noreply.github.com>
Co-authored-by: SLUCHABLUB <81807027+SLUCHABLUB@users.noreply.github.com>
Co-authored-by: Rufus Kogg Röjder <rufus@rojder.se>
Co-authored-by: Melker Widén <melker.widen@gmail.com>
Co-authored-by: Melker Widén <85902964+memagu@users.noreply.github.com>
Co-authored-by: Elias Follin <143102901+efollin@users.noreply.github.com>
Co-authored-by: Casper Jensen <casper.v.jensen@gmail.com>
Co-authored-by: CasperJensen19 <144714740+CasperJensen19@users.noreply.github.com>
Co-authored-by: David Agardh <agardh.david@gmail.com>
Co-authored-by: Tomas Kamsäter <112856079+Tomas-Ka@users.noreply.github.com>
Isak-Kallini pushed a commit that referenced this pull request Mar 23, 2026
* Add the ability for song book entries to have videos.
* Add roles for programmes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

Add spritbolaget svansen to website

2 participants