Commit Graph

2270 Commits

Author SHA1 Message Date
Max Berger
bd3be1c56b Refactor Web UI Javascript into separate files
This will simplify further maintainance. Instead of a single large file,
there are now separate files for each models, api, utils, and constants.
There are also separate files for all Scenes.

There are no functional changes in this patch.
2026-02-18 22:10:55 +01:00
Peter Bieringer
526462b1e3 fix issue#1984 (refix issue#1851) 2026-02-17 08:42:32 +01:00
Georgiy
c4362b6392 Merge branch 'master' of github.com:metallerok/Radicale into recurrence_all_day_comparsion 2026-02-06 19:43:53 +03:00
Georgiy
0493a88190 (#1966) Test for incompatible overridding RECURRENCE-ID dt type 2026-02-05 19:58:32 +03:00
Georgiy
296a90fc0c Merge branch 'master' of github.com:metallerok/Radicale into overridden_recurrence_validation 2026-02-05 19:30:50 +03:00
Georgiy
4e88cbbbc2 Merge branch 'master' of github.com:metallerok/Radicale into recurrence_all_day_comparsion 2026-02-04 19:34:52 +03:00
Georgiy
76d798ccd5 (#1979) test for overridden all day rrule event 2026-02-04 19:26:12 +03:00
Georgiy
859ca7f41d (#1979) Fix invalid RECURRENCE-ID comparsion for all-day events 2026-02-03 19:39:24 +03:00
Georgiy
10c750f6fa (#1966) overridden recurrence validation 2026-01-25 18:21:22 +03:00
Tobias Brox
0388051046 Fix unclosed scandir iterator in path_to_filesystem
Use os.scandir() as a context manager to ensure the iterator is
properly closed. This fixes ResourceWarning: unclosed scandir iterator
that occurs when the iterator is garbage collected without being closed.

Fixes #1972

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 17:02:14 +01:00
Peter Bieringer
2351f49ae4 add testcases 2026-01-22 21:36:07 +01:00
Peter Bieringer
fa38e25468 add files for testcase 2026-01-22 21:36:07 +01:00
Peter Bieringer
a143c5d765 Workaround delete all empty lines to avoid vobject parsing errors 2026-01-22 21:36:07 +01:00
Peter Bieringer
b3ccd39d11 update copyright 2026-01-22 21:36:07 +01:00
Peter Bieringer
02a6cd55e3 fix for lint 2026-01-22 06:35:12 +01:00
Peter Bieringer
a75e3ebdec Testcase for PR#1968 (MOVE with URL-encoded Destination header) 2026-01-22 06:30:38 +01:00
laurisvr
9a2bbb589c Fix MOVE failing with URL-encoded Destination header
Destination header wasn't being decoded before urlparse(), and relative
URLs (empty netloc) failed the host comparison.

Ran into this with email usernames where @ gets encoded as %40."
2026-01-21 17:02:48 +01:00
Peter Bieringer
863d2e14d0 change loglevel 2026-01-10 07:48:55 +01:00
Peter Bieringer
ffb2fb5e78 cosmetics 2026-01-10 07:48:43 +01:00
Peter Bieringer
5214287875 replace too simple autodetection with hash length by proper regular expression 2026-01-08 05:39:44 +01:00
Peter Bieringer
373ffaed2e add htpasswd test cases for SHA256/512 with explicit rounds 2026-01-08 05:38:21 +01:00
Peter Bieringer
f676dd7621 cosmetics 2026-01-06 17:41:35 +01:00
Peter Bieringer
3eb5f32d3d update copyright year 2026-01-06 17:34:43 +01:00
Peter Bieringer
27eedc098d skip bcrypt tests if not usable 2026-01-06 17:34:26 +01:00
Peter Bieringer
e2532ff2a7 display module versions on test start 2026-01-06 17:34:04 +01:00
Peter Bieringer
84bf14fd8e add note about bcrypt vs. passlib/libpass 2026-01-06 17:33:02 +01:00
Peter Bieringer
731716856c check whether bcrypt is usuable with passlib/libpass version 2026-01-06 17:32:24 +01:00
Peter Bieringer
46526cbb71 add check for bcrypt vs. passlib/libpass version 2026-01-06 17:31:24 +01:00
Peter Bieringer
6efb627903 fix typo 2026-01-06 17:30:11 +01:00
Samuel Tardieu
8ace7878a1 fix misindented early return
The wrong indentation could cause the mail hook to bail early without
any logging when the end time of the event being added/modified happened
later than the current boundary being checked (1 full minute before the
current time).

For example, this caused emails not to be sent in the following setup:
Etar + DAVx⁵ on Android.
2026-01-03 15:43:57 +01:00
John Wiegley
1f76b08831 Add CardDAV supported-address-data, update vCards to 4.0 (#1948)
* Add CardDAV supported-address-data, update vCards to 4.0

- radicale/app/propfind.py: Add CS:getctag and CR:supported-address-data
  properties to VADDRESSBOOK collections in allprop responses; implement
  CR:supported-address-data handler that advertises vCard 4.0 as preferred
  format with 3.0 fallback per RFC 6352 section 6.2.2

- radicale/tests/static/contact1.vcf: Update from vCard 3.0 to 4.0 format

- radicale/tests/static/contact_multiple.vcf: Update both contact entries
  from vCard 3.0 to 4.0 format

- radicale/tests/static/contact_photo_with_data_uri.vcf: Update from vCard
  3.0 to 4.0 format; change PHOTO property from 3.0 syntax with ENCODING=b
  and TYPE parameters to 4.0 data URI syntax

* Conditionally offer vCard 4.0 based on vobject version

- Add vobject_supports_vcard4() helper function in utils.py
- Modify propfind.py to only advertise vCard 4.0 if vobject >= 1.0.0
- Add vCard 3.0 static test files for fallback testing
- Add tests for both vCard 3.0 and 4.0 contacts (v4 tests skipped if
  vobject < 1.0.0)
- Add propfind tests for CR:supported-address-data property

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Default vCard fixtures to v3.0, add explicit v4 files

- contact1.vcf: Change VERSION from 4.0 to 3.0 to make vCard 3.0 the default
  test fixture format, since vCard 3.0 is more widely supported

- contact1_v3.vcf: Delete file as contact1.vcf now serves as the v3.0 fixture

- contact1_v4.vcf: Add new file with VERSION 4.0 for explicit vCard 4.0
  testing with vobject >= 1.0.0

- contact_multiple.vcf: Change VERSION from 4.0 to 3.0 for both contacts to
  align with new default

- contact_multiple_v3.vcf: Delete file as contact_multiple.vcf now serves as
  the v3.0 fixture

- contact_multiple_v4.vcf: Add new file with VERSION 4.0 for both contacts

- contact_photo_with_data_uri.vcf: Change VERSION from 4.0 to 3.0 and update
  PHOTO property to use v3.0 format with ENCODING=b;TYPE=png parameters

- contact_photo_with_data_uri_v3.vcf: Delete file as
  contact_photo_with_data_uri.vcf now serves as the v3.0 fixture

- contact_photo_with_data_uri_v4.vcf: Add new file with VERSION 4.0 and v4.0
  PHOTO data URI format

- test_base.py: Update test methods to use renamed fixture files, with v3.0
  tests using default fixtures and v4.0 tests using explicit _v4.vcf files

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 16:28:10 +01:00
Peter Bieringer
17a3816e91 add comment, code review 2025-12-28 13:12:41 +01:00
Peter Bieringer
b60718a21b extend content output for verify-item 2025-12-28 12:39:39 +01:00
Peter Bieringer
bab630a728 remove normal hexdump output 2025-12-28 12:39:25 +01:00
Peter Bieringer
9801cca9d9 fix detection of unicode + hexdump header 2025-12-28 12:38:59 +01:00
Peter Bieringer
baacba191b adjust/extend copyright 2025-12-28 09:13:18 +01:00
Peter Bieringer
fdcd3e2deb fix tox issues 2025-12-28 09:13:07 +01:00
Peter Bieringer
7e1890d630 request log: add checksum on debug level, call expensive debug only on debug level 2025-12-28 08:09:35 +01:00
Peter Bieringer
22d253c95a log_bad_put_request_content: log hexdump of request on debug level 2025-12-28 08:09:35 +01:00
Peter Bieringer
76abfe719b only call expensive debug logging on debug level 2025-12-28 08:09:35 +01:00
Peter Bieringer
6bd7a5b5e3 add checksum and hexdump support 2025-12-28 08:09:35 +01:00
Peter Bieringer
61136c1e7a log max_connections on startup 2025-12-17 08:41:01 +01:00
Peter Bieringer
cbece4f276 catch 2 more xml tokens 2025-12-17 08:31:08 +01:00
Peter Bieringer
cf98ef0b4a rename function and fix type 2025-12-13 08:06:58 +01:00
Peter Bieringer
c73a53d815 remove copy-paste overhead 2025-12-13 08:06:44 +01:00
Peter Bieringer
690914e49f add unit 2025-12-13 08:00:06 +01:00
Peter Bieringer
b8ed32f3ee log max-content-length on startup, add formatted int to raw values 2025-12-13 07:59:28 +01:00
Peter Bieringer
2411b63852 add function for calculating units for integers 2025-12-13 07:59:02 +01:00
Peter Bieringer
81b3c28737 test RFC4791#5.2.5: SHOULD NOT be returned by a PROPFIND DAV:allprop request 2025-12-12 08:49:23 +01:00
Peter Bieringer
a7e9521b38 honor RFC4791#5.2.5: SHOULD NOT be returned by a PROPFIND DAV:allprop request 2025-12-12 08:49:13 +01:00