385 Commits

Author SHA1 Message Date
Alex Lion
d5df9a73f8 Fix form submissions losing values when field names contain spaces or non-word characters 2026-05-08 22:42:04 +02:00
Alex Lion
57596952d4 Update package-lock.json: add asset name, upgrade dependencies, and remove unused packages 2026-05-08 14:50:33 +02:00
Alex Lion
e246530c23 Bump version to 2.5.1 2026-05-08 14:34:53 +02:00
Alex Lion
534d915782 Handle Ecto.NoResultsError in event retrieval and redirect with error message 2026-05-08 10:55:38 +02:00
Alex Lion
b762e21325 Fix crash on event manager pages when an event has multiple activity leaders 2026-05-08 10:47:01 +02:00
alxlion
153cadb42b Fix presentation views without slide count 2026-04-29 13:42:05 +00:00
alxlion
3cfb3cab7f Fix event code normalization validation 2026-04-29 13:16:48 +00:00
Alex Lion
c4303d0de2 Add event-scoped retrieval functions for embeds, forms, polls, posts, and quizzes 2026-04-06 15:08:20 +02:00
Alex Lion
efe6d6de51 Fix test fixtures for seeded roles 2026-04-06 14:04:15 +02:00
alxlion
0bc2b9239b Add audit log feature 2026-03-19 17:31:46 +00:00
Raúl R Pearson
4bbf9742c5 Add audit log (#214)
* Add audit log

* Update translation files

* Improve Audit queries

* Improve Audit.Log schema

* Make user auth audit logs async

* Relax Flop and Flop Phoenix dep specs

* Make Flop.validate!/2 call more robust

* Improve a11y and UI for audit log live view

* Improve audit_logs indexes

* Fix formatting

* Fix async_log_action and tests

* Add remote_ip

* Update translation files
2026-03-19 18:29:09 +01:00
Alex Lion
4a1af7d341 Update changelog with oidc fix 2026-03-05 18:40:01 +01:00
Alexandre Lion
60821dccd8 Fix/OIDC authelia compatibility (#216)
* Fix OIDC compatibility with self-hosted providers like Authelia

* Refactor OIDC authentication to enhance compatibility with Authelia and Entra ID

* Improve logging format and enhance code readability in OIDC authentication
2026-03-05 18:36:12 +01:00
Alex Lion
3df8d5c3dd Fix crash when broadcasting events to leaders with unregistered emails 2026-03-05 18:34:28 +01:00
Alex Lion
f2fd8e7535 Fix quiz submission to handle duplicate options and update average score in real-time 2026-02-25 10:22:20 +01:00
Alex Lion
1f052c274d Fix date picker destroy crash when pickr is uninitialized 2026-02-24 10:41:31 +01:00
Alex Lion
0382d2c2f3 Fix date picker crash for unsupported browser locales 2026-02-24 10:38:42 +01:00
Alex Lion
b96b7dd68d Bump version to 2.5.0 in CHANGELOG and mix.exs 2026-02-10 09:34:49 +01:00
Alexandre Lion
910627f4ba Fix form submission crash for anonymous attendees (#210)
The FormSubmit changeset required user_id, but anonymous attendees only
have attendee_identifier. This caused a CaseClauseError since the error
tuple was unhandled. Now the changeset accepts either user_id or
attendee_identifier, and error cases are properly handled.
2026-02-09 19:19:05 +01:00
Alexandre Lion
8f46837900 Fix critical security vulnerabilities (#211)
* Fix critical security vulnerabilities

Address 5 critical findings from security audit:
- Sanitize custom embed HTML to prevent stored XSS (strip all non-iframe content)
- Escape URLs in format_body/1 to prevent reflected XSS via post messages
- Add authorization check to form export endpoint (IDOR fix)
- Replace String.to_atom/1 on user input with explicit whitelists (8 locations)
- Add IP-based rate limiting on authentication endpoints via Hammer

* Start rate limiter before endpoint in supervision tree

* Update CHANGELOG
2026-02-09 19:18:14 +01:00
Alex Lion
7d98198ae5 Update CHANGELOG for v.2.4.1: add fixes and improvements 2026-01-23 12:35:51 +01:00
Raúl R Pearson
767f0ddfd5 Handle slides for empty presentation (#200) 2026-01-23 12:11:09 +01:00
Raúl R Pearson
93229e8fbd Improve SMTP config (#197)
Drops Mua in favour of the SMTP Swoosh adapter and adjusts the config
accordingly. The lock file has also been cleaned up by running
`mix deps.unlock --unused`.
2026-01-23 12:08:30 +01:00
Raúl R Pearson
374535c870 Fix custom S3 endpoint config (#199)
When using the standard AWS S3 service, the `nil` values in `s3_scheme`,
`s3_host` and `s3_port` create problems.
2025-12-30 12:53:54 +01:00
Alex Lion
6f0a4c3b9d Bump version to 2.4.1 and update CHANGELOG for upcoming release 2025-12-28 12:33:32 +01:00
Alex Lion
a5d9bef8e8 Update CHANGELOG for v.2.4.0: add breaking changes, new features, and fixes 2025-12-26 14:07:55 +01:00
Raúl R Pearson
c8d87196ba Left join leader in get_managed_event!/2 (#194) 2025-12-06 11:32:41 +01:00
Raúl R Pearson
5cf4759f05 Make S3 service configurable (#190) 2025-12-06 11:31:28 +01:00
Raúl R Pearson
6dc618151a Enable optional form fields (#193)
* Enable optional form fields

* Suffix optional text and email component labels

* Update gettext files
2025-12-05 12:31:00 +01:00
Raúl R Pearson
3b511bcc6e Improve event live listing (#185)
* Expand user events PubSub

* Improve updates in events LiveView
2025-12-04 15:00:23 +01:00
Raúl R Pearson
ac6f28fccf Delete @tailwindcss/container-queries plugin (#191)
This is no longer needed with Tailwind 4.
2025-11-28 17:01:37 +01:00
Raúl R Pearson
10a5392d56 Set PollOpt preload order (#187) 2025-11-20 13:37:18 +01:00
Alexandre Lion
5853bc34d8 Add admin panel and user roles (#189) 2025-11-20 10:44:06 +01:00
Dimitrije Dimitrijevic
16bcce1a60 Fix duplicate key quiz when duplicate (#182)
* add quiz_responses association to user

* bugfix possible duplicate key entries in multi when adding quiz responses

* remove user_id from casting changeset in QuizResponse

* pass whole user to submit_quiz function

* update test to match changes

* simplify submit_quiz/3 function for inserting quiz response

---------

Co-authored-by: Dimitrije Dimitrijevic <me@dimitrijedimitrijevic.com>
2025-11-04 18:46:29 +01:00
Raúl R Pearson
fc667bb478 Hideable presenter attendee count (#183) 2025-10-28 18:34:49 +01:00
albanobattistella
51c8496dc4 i18n: improve Italian language (#179) 2025-10-26 17:01:53 +01:00
Raúl R Pearson
03feb9a901 Fix email change confirmation (#172)
* Update translation files

I run `mix gettext.extract` and `mix gettext.merge priv/gettext`
as it seems that the files were somewhat outdated.

* Fix email change confirmation

Send the confirmation email to the new address

* Tweak email change confirmation email

* Run ./dev.sh format
2025-09-10 08:16:55 +02:00
Nami Sunami
0ccf3ae6e2 Un-expose db port (#173) 2025-09-08 09:07:05 +02:00
Alex Lion
c8bf32542f feat: add hu and lv locales to airpicker and moment 2025-08-24 09:55:09 +02:00
possible-im
4c678dc8df Latvian translation added (v1) (#163)
Co-authored-by: im <ivo.mezits@possible.lv>
2025-08-21 09:13:32 +02:00
bpisch
d7a530c670 Add Hungarian translation (#161) 2025-08-21 09:13:03 +02:00
Alex Lion
d3c45533f0 fix: spacing in settings 2025-08-09 19:29:20 +02:00
Alex Lion
73a23511c2 Update changelog 2025-08-09 16:43:42 +02:00
Chayan Das
137d5f3de1 add scroll to the setting drawer (#168)
Signed-off-by: Chayan Das <01chayandas@gmail.com>
2025-08-09 16:33:43 +02:00
Alex Lion
8d04136474 update changelog 2025-07-16 17:15:34 +02:00
Aryel780
9b4cda357b fix: Scrollbar not showing in event manager when no presentation file (#162) 2025-07-16 17:13:00 +02:00
Alex Lion
983552772a feat: add configurable language support via LANGUAGES environment variable 2025-07-11 14:46:33 +01:00
Alex Lion
0a8c000ac1 docker: fix image builder and runner from alpine to ubuntu 2025-07-11 12:52:13 +01:00
Alex Lion
68cf5a645d ci: install tailwind globally 2025-07-07 23:29:48 +02:00
Alex Lion
db239d0b4b ci: fix tailwind.install 2025-07-07 23:24:46 +02:00