Commit Graph
61 Commits
Author SHA1 Message Date
Raphael Michel 2bd5e90a86 Fix isort 2026-07-07 15:43:00 +02:00
Raphael Michel 8095134400 Add query tagging for periodic tasks 2026-07-07 14:55:32 +02:00
Raphael MichelandGitHub 7732794317 Do not use redis cache at import time (#6321)
During our [2026-06-27 incident](https://pretix.eu/about/en/blog/20260630-pretix-hosted-outage/),
we noticed that pretix is using redis at import time. This means that
gunicorn and celery process were unable to start on servers who could
currently not reach redis. This is kinda mitigated through auto-restart
on systemd or docker level, but that's not really how it is supposed to
work. Celery even has smart retry/reconnect logic that becomes pointless
this way.
2026-07-07 10:47:12 +02:00
pajowuandGitHub 8e63fafc62 Devex: Fix vite devserver capturing stdin (#6267)
Pass DEVNULL as stdin to vite, otherwise the vite devserver captures parts of stdin, making things like pasting during debugging impossible
2026-06-11 16:25:48 +02:00
f04df7a6ee Migrate vue2 control components and widget to vue3 and vite (#5989)
* setup vite and integrate fully with django

- vite starts with `python manage.py runserver`
- add templatetags to simply load vite hmr and entry points
- add eslint (recheck rules)
- enable non-strict ts

* better syntax for cors header setting

* migrate checkin rules editor to vue3

- move constants to a module
- move reading from and writing to non-vue html to django interop module
- switch to composition api and script setup sfc with pug
- use optional chaining operators a lot to simplify code

* migrate webcheckin plugin to vite+vue3

- migrate vue sfcs to script setup and pug
- move fetch calls into a api.ts module
- move common formatting and i18n strings into module

* fix migration error

* first draft migrating widget to vue3/vite

* first couple widget e2e tests

courtesy of claude
most of the tests don't work yet

* test file is not actually used

* drop widget_ prefix from e2e test fixtures

* add test for complete widget journey for simple event

* switch timezone in e2e tests to Europe/Berlin

* make dates in e2e tests relative

* migrate widget bugfix #5886

* start testing event series widget

* working vite widget setup for prod (untested), local dev (with or without dev server) and pytests, with flags for running the old version or the vite version

* simplify e2e test iframe check

* less flaky e2e tests

* top level await in iife build mode is not supported, so let's do import.meta.glob instead (we just need the build step not to see await, the code doesn't actually ever get loaded because it's DEV only)

* fix inconsistencies from automatic migration

* Allow gradual rollout of new vite-based widget by adding urls to an allowlist that gets checked against the "Origin" http header of request fetching the widget js

* add e2e tests for widget button, testing empty cart, adding specific items, and subevents

* remove janky claude testts again

* resolve migration TODOs: properly refocus parent on navigations

* use `npm run dev:control` for the vite dev server for admin components

* upgrade npm dependencies

* fix js linter errors

* fix python linter errors

* build all control vue components

* add new js config files to check-manifest ignore

* working prod build

acutal serving of built assets not tested yet

* fix templatetag paths to match what's in the vite mantifest

* add missing quotes around 'unsafe-eval' cors value

* remove now unused old vue2 tooling

* try fixing e2e test ci

* fix flake8 error

* check if vite build artefacts are in the wheel

* add license headers

* remove dom manipilation code necessary for `div.pretix-widget-compat` to work. No longer needed for vue3

* remove superfluous `createElement` calls

They might have been there because of IE, which is no longer relevant

* make widget dev mode parametizable through query params and document the usage and those params

* fix rst syntax

* remove migration todos file

Co-authored-by: luelista <mira@teamwiki.de>

* rearrange dockerfile commands for smaller image, thanks @luelista

* Update .gitignore, adding .vite

Co-authored-by: luelista <mira@teamwiki.de>

* add eslint CI

* make vue dev work in plugins

* fix docker build

* rebuild vite setup to support static prod plugins and dynamic hmr plugin development

* use toml for vite plugin config instead of standalone json file

* Add widget changes from #6047, #6149

* Allow buttons to reuse cart (Z#23226853)

* Always keep cart of buttons with items set

* widget: handle cart if not same-site (#6149)

---------

Co-authored-by: luelista <mira@teamwiki.de>
Co-authored-by: Kara Engelhardt <engelhardt@pretix.eu>
2026-05-11 15:05:06 +02:00
Richard Schreiber 4fed47fb9b Fix live_receivers for django 5 2026-03-24 17:14:05 +01:00
Phin WolkwitzandGitHub c143d50290 Update django to 5.2 2026-03-24 16:33:28 +01:00
Raphael MichelandGitHub 177a7d07fc Update license header (#5540) 2025-10-10 15:32:46 +02:00
e2ae553c69 Add Spanish (LatAm) and improve how we count language coverage (Z#23200505) (#5308)
* Add Spanish (LatAm) and improve how we count language coverage

* Apply suggestions from code review

Co-authored-by: Richard Schreiber <schreiber@rami.io>

* Fix license header

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-07-17 17:06:25 +02:00
Raphael MichelandGitHub 0dd66f9468 runperiodic: Robustness against closed DB connections (#5314) 2025-07-16 15:35:19 +02:00
Raphael Michel 70f06a8f40 Fix an incorrect exception handling 2024-12-04 16:59:58 +01:00
Raphael MichelandGitHub 22e9a6eb92 Add warning to backend if cronjob is not running (#4550) 2024-10-24 22:50:34 +02:00
Raphael Michel 4069c61054 runperiodic: Allow to list all tasks 2024-09-26 10:32:53 +02:00
Raphael Michel fbf362a91f Export management command: Fix bug in exporter detection 2023-11-30 11:49:16 +01:00
Raphael MichelandGitHub f4b437e92b Remove MariaDB support (#3381) 2023-06-05 18:25:20 +02:00
Raphael MichelandGitHub bd32b33ba9 Bump Django to 4.1.* (#2989) 2023-06-05 09:56:31 +02:00
Tobias KunzeandGitHub b29686d9f2 Fix shell_scoped without shell_plus (#3292) 2023-05-04 21:09:32 +02:00
Raphael MichelandGitHub 4ef96b7e94 Move build setup to pyproject.toml (#3240) 2023-04-25 10:02:52 +02:00
Raphael Michel 4c9640561c Increase size of monetary decimal fields 2023-03-16 21:26:37 +01:00
Raphael Michel 59d46ddded Revert "First steps into pytz deprecation"
This reverts commit e4e7d50659.
2023-02-01 13:15:18 +01:00
Raphael Michel e4e7d50659 First steps into pytz deprecation 2023-02-01 13:12:24 +01:00
Raphael Michel 6403e5370a Don't crash if a exporter signal returns None 2022-11-01 13:40:22 +01:00
Raphael Michel e76d13bf8e Improve logging of periodic command errors 2022-10-31 15:23:32 +01:00
Raphael Michel 20c6f0b327 Fix logging in shell_scoped with --override 2022-04-07 14:24:27 +02:00
Raphael Michel 4f25d8ba89 shell_scoped: Add --print-sql argument 2022-04-06 18:56:18 +02:00
Raphael Michel a37ed6f001 Bump versions of pycodestyle and pep8-naming 2022-02-13 20:39:31 +01:00
Raphael Michel c9d3428996 Extend check_order_transactions by number of tickets 2022-01-22 22:00:35 +01:00
Raphael Michel 290e14689d Fix check_order_transactions on SQLite 2021-10-29 15:38:52 +02:00
Raphael Michel 4b53d39e3e Add debug command check_order_transactions 2021-10-19 17:10:08 +02:00
Raphael Michel 19fb6c8c34 create_order_transactions: Make suitable for large datasets 2021-10-19 15:25:34 +02:00
Raphael MichelandGitHub 8ebba9de86 Data model for transactional history (#2147) 2021-10-18 17:28:58 +02:00
Raphael Michel 5eefe9ad1e Fix linter issues 2021-09-20 16:51:48 +02:00
Raphael Michel af7c6d360f Partially revert migration command monkeypatching 2021-09-17 11:07:46 +02:00
Raphael Michel adf40e1d56 Refactor our migrate command monkeypatching 2021-09-17 10:20:43 +02:00
Raphael Michel f367d5e675 Multi-event exports: Pass organizer, fix in staff mode 2021-07-24 16:46:37 +02:00
Raphael MichelandGitHub a93287207b pretix Community Edition moves to AGPLv3-based license (#2023) 2021-04-12 10:33:47 +02:00
Raphael Michel 002ab4aa06 runperiodic: --exclude 2021-03-09 11:50:19 +01:00
ef8b6f60b8 Adjust runperiodic logging (#1974)
Co-authored-by: Irmantas Marozas <irmantas.marozas@juvare.com>
2021-02-23 15:47:13 +01:00
Raphael Michel 8241ddf5be runperiodic: Allow to execute specific tasks only 2020-10-22 21:05:10 +02:00
Raphael Michel 019801e9dc Cronjob: Fix issue in waiting list handling 2020-09-09 22:15:41 +02:00
Raphael Michel 878becfee9 Cronjob: Allow keyboard interrupt 2020-09-09 21:52:03 +02:00
Felix RindtandGitHub b7754d8737 Command line exporter: support multiple and all events (#1766) 2020-09-09 16:19:12 +02:00
Raphael Michel d064a7affa Add verbose output to runperiodic management command 2020-09-06 22:34:40 +02:00
Felix Rindt 985e1ac9bf Fix TypeError: Unknown option(s) for shell command: skip_checks. 2020-07-24 16:53:51 +02:00
Raphael Michel a310c33497 Add progress bar to some large exports 2020-07-23 21:35:58 +02:00
Raphael Michel 389884d191 shell_scoped: Fall back to shell if shell_plus is not installed 2020-03-06 14:03:06 +01:00
SohaltandRaphael Michel b870dde301 Replace occurrences of "blacklist" with "banlist" (#1434)
* Rename blacklist to banlist

* Rename more cases of blacklist to banlist

* Rename Blacklist -> Banlist in migrations
2019-10-15 14:58:48 +02:00
Raphael Michel 6df1960f79 Use robust plugin calling in runperiodic 2019-07-25 09:20:34 +02:00
Christian GonzálezandRaphael Michel a2fbc376a5 typo in comment (#1339) 2019-07-14 16:59:08 +02:00
Raphael Michel 328cd9bdc5 Use shell_plus in shell_scoped 2019-07-03 14:32:07 +02:00