Compare commits

...
766 Commits
Author SHA1 Message Date
smizrahi 9f96905c3a feat(core): Add URL encryption for GDPR compliancy. Remove log 2024-01-02 13:48:54 +01:00
smizrahi 10d789fb1f feat(core): Add URL encryption for GDPR compliancy 2023-12-22 11:33:40 +01:00
smizrahi d505b874f7 Merge branch 'master' into feature-gdpr 2023-12-20 18:01:40 +01:00
Hivert Quentin cbeaa4cc11 chore(ytnef): missing symbols with centos 2023-12-20 17:02:32 +01:00
Hivert Quentin 427f7f4b4f feature(contact): Show 100 first results for global address book. Fix commit #17eca6f 2023-12-20 15:36:37 +01:00
Hivert Quentin d68bbc836c chore(js/css): update generated files 2023-12-19 01:00:44 -05:00
smizrahi 51b6c0d9a3 fix(ui): Fix text/placeholder overlaps when Chrome autofill applies 2023-12-18 22:42:13 +01:00
Hivert Quentin 5f2e4889f3 chore(js/css): update generated files 2023-12-18 08:27:23 -05:00
smizrahi 37379ba416 fix(preferences): Fix error 500 when changing password 2023-12-18 14:24:50 +01:00
smizrahi 17eca6f96a feature(contact): Show 100 first results for global address book 2023-12-18 08:34:53 +01:00
Hivert Quentin 26c7462eb0 fix(contacts): Custom contacts categories in sogo.conf wasn't working 2023-12-14 18:11:10 +01:00
smizrahi 0d471efe97 Update changelog 2023-12-12 13:00:46 +01:00
Hivert Quentin 8375c9352e chore(js/css): update generated files 2023-12-12 06:10:11 -05:00
smizrahi f85c53190c fix(addressbook): Fix exception when using multiple address book source and searching. Fixes #5906. 2023-12-12 12:08:25 +01:00
Hivert Quentin 3cd860838c chore(js/css): update generated files 2023-12-12 01:00:56 -05:00
Hivert Quentin 377cff935f chore(release): 5.9.1 2023-12-11 15:49:23 +01:00
Hivert Quentin 06a6ed7768 i18n(cy): Update Welsh translations 2023-12-11 14:32:48 +01:00
Hivert Quentin 0e50d37531 i18n(uk): Update Ukrainian translations 2023-12-11 14:32:47 +01:00
Hivert Quentin 8d1fc1e306 i18n(tr_TR): Update TurkishTurkey translations 2023-12-11 14:32:47 +01:00
Hivert Quentin 10369aa654 i18n(sv): Update Swedish translations 2023-12-11 14:32:46 +01:00
Hivert Quentin 057a1ba105 i18n(es_ES): Update SpanishSpain translations 2023-12-11 14:32:46 +01:00
Hivert Quentin 527fded19c i18n(es_AR): Update SpanishArgentina translations 2023-12-11 14:32:45 +01:00
Hivert Quentin ca21bf4ce1 i18n(sl_SI): Update Slovenian translations 2023-12-11 14:32:45 +01:00
Hivert Quentin cd7e06c2ed i18n(sk): Update Slovak translations 2023-12-11 14:32:44 +01:00
Hivert Quentin 9126cae27d i18n(sr@latin): Update SerbianLatin translations 2023-12-11 14:32:43 +01:00
Hivert Quentin ed444fdc22 i18n(sr): Update Serbian translations 2023-12-11 14:32:43 +01:00
Hivert Quentin 3809ec3904 i18n(ru): Update Russian translations 2023-12-11 14:32:41 +01:00
Hivert Quentin d9c716c1b6 i18n(ro_RO): Update Romanian translations 2023-12-11 14:32:41 +01:00
Hivert Quentin e4f07c466e i18n(pt): Update Portuguese translations 2023-12-11 14:32:40 +01:00
Hivert Quentin 6d270fe7a4 i18n(nn_NO): Update NorwegianNynorsk translations 2023-12-11 14:32:40 +01:00
Hivert Quentin 3d5f352111 i18n(nb_NO): Update NorwegianBokmal translations 2023-12-11 14:32:39 +01:00
Hivert Quentin fe7369e427 i18n(sr_ME@latin): Update Montenegrin translations 2023-12-11 14:32:39 +01:00
Hivert Quentin d6c9ecdeb0 i18n(mk_MK): Update Macedonian translations 2023-12-11 14:32:39 +01:00
Hivert Quentin a9ecaed5fa i18n(lv): Update Latvian translations 2023-12-11 14:32:38 +01:00
Hivert Quentin 21741954dd i18n(kk): Update Kazakh translations 2023-12-11 14:32:38 +01:00
Hivert Quentin 41fb85e6a3 i18n(ja): Update Japanese translations 2023-12-11 14:32:38 +01:00
Hivert Quentin 53036b323f i18n(it): Update Italian translations 2023-12-11 14:32:36 +01:00
Hivert Quentin a16d29b70b i18n(id_ID): Update Indonesian translations 2023-12-11 14:32:35 +01:00
Hivert Quentin 2de6241220 i18n(is): Update Icelandic translations 2023-12-11 14:32:34 +01:00
Hivert Quentin 0b22fa6cd5 i18n(hu): Update Hungarian translations 2023-12-11 14:32:34 +01:00
Hivert Quentin 694c21de99 i18n(he): Update Hebrew translations 2023-12-11 14:32:34 +01:00
Hivert Quentin 5aa7ebf2ae i18n(gl): Update Galician translations 2023-12-11 14:32:33 +01:00
Hivert Quentin dba2332864 i18n(fi): Update Finnish translations 2023-12-11 14:32:33 +01:00
Hivert Quentin 402c3d0a1f i18n(nl): Update Dutch translations 2023-12-11 14:32:33 +01:00
Hivert Quentin 76911fd445 i18n(da_DK): Update Danish translations 2023-12-11 14:32:32 +01:00
Hivert Quentin 029a82143f i18n(cs): Update Czech translations 2023-12-11 14:32:32 +01:00
Hivert Quentin 715d25d40a i18n(hr_HR): Update Croatian translations 2023-12-11 14:32:31 +01:00
Hivert Quentin fc2a82c3b0 i18n(zh_TW): Update ChineseTaiwan translations 2023-12-11 14:32:31 +01:00
Hivert Quentin cf87022348 i18n(zh_CN): Update ChineseChina translations 2023-12-11 14:32:31 +01:00
Hivert Quentin 3040543c79 i18n(ca): Update Catalan translations 2023-12-11 14:32:31 +01:00
Hivert Quentin 3815bc1c5e i18n(bg_BG): Update Bulgarian translations 2023-12-11 14:32:31 +01:00
Hivert Quentin 2afbcbeaed i18n(bs_BA): Update Bosnian translations 2023-12-11 14:32:31 +01:00
Hivert Quentin 33f3a1b716 i18n(eu): Update Basque translations 2023-12-11 14:32:31 +01:00
Hivert Quentin 28d883dac1 i18n(ar): Update Arabic translations 2023-12-11 14:32:31 +01:00
Hivert Quentin c75f210864 i18n(pl): Update Polish translations 2023-12-11 14:32:31 +01:00
Hivert Quentin cfab85624b i18n(pt_BR): Update BrazilianPortuguese translations 2023-12-11 14:32:30 +01:00
Hivert Quentin 6e9e7f98ef i18n(lt): Update Lithuanian translations 2023-12-11 14:32:30 +01:00
Hivert Quentin 8a4bc2a716 i18n(de): Update German translations 2023-12-11 14:32:30 +01:00
Hivert Quentin fd5e28ec77 chore(js/css): update theme default 2023-12-11 14:06:44 +01:00
Hivert Quentin 1961f1a914 chore(js/css): update generated files 2023-12-11 14:06:44 +01:00
Hivert Quentin 0704949056 chore(npm): Update CKEditor to version 4.22.1 2023-12-11 14:06:44 +01:00
WoodySlum 85870d6b16 Merge pull request #350 from kovacs-andras/master
docs(guides): update documentation url
2023-12-11 14:03:27 +01:00
Andras Kovacs 669dcaa242 update documentation url 2023-12-05 14:38:11 +01:00
Hivert Quentin 21571ab1e0 fix(calendar): If content is NSData, properly convert it to NSString 2023-12-05 10:58:48 +01:00
smizrahi 7d66699219 feat(password): Add specials characters to POLICY_MIN_SPECIAL_SYMBOLS 2023-12-04 16:43:16 +01:00
smizrahi cd50ee0176 feat(core): Add mobile provisioning download for Apple's devices. Fix nil port when using standard http configuration (port 80 and 443) 2023-12-04 10:36:41 +01:00
WoodySlum da24c0d0a7 Merge pull request #348 from marvin-j97/patch-1
style(login): Replace envelop icon with key on login page
2023-11-28 16:44:03 +01:00
Marvin 7b15327b19 Use vpn_key icon 2023-11-28 15:47:35 +01:00
Hivert Quentin 6eae3f2b16 i18n(gl): Change Galician name to Galego 2023-11-28 08:49:31 +01:00
smizrahi 3cd9910638 fix(core): Fix user profile retrieval when using utf8mb4_bin collation - in this case the SQL results may return NSdata instead of NSString. Fixes #5902. 2023-11-27 15:51:33 +01:00
smizrahi fb542e6e26 Merge branch 'feature-5726-gab-autocomplete' 2023-11-27 11:19:17 +01:00
smizrahi 60e6bb5b3b Merge branch 'master' into feature-5726-gab-autocomplete 2023-11-27 11:18:31 +01:00
Hivert Quentin 86c9b4ec07 chore(js/css): update generated files 2023-11-24 01:01:04 -05:00
Hivert Quentin 2e670f7e62 feat(mail): Add an option in Preferences to display full email instead of name alone in mailboxes 2023-11-23 14:09:57 +01:00
Hivert Quentin 8babb23c58 chore(js/css): update generated files 2023-11-23 01:00:53 -05:00
Hivert Quentin 1ae02ebd70 fix(UI): selectAll button was still keeping alle items in memory 2023-11-22 11:07:58 +01:00
smizrahi aa53524751 feat(mail): Add SOGoMailHideInlineAttachments option to hide attachments when inline. Fixes #5490. Fix default values in sogo.conf. 2023-11-20 11:57:26 +01:00
Marvin 6734b4ea16 design(RootPage): Use lock icon for password field
https://pictogrammers.com/library/mdi/icon/key/
2023-11-18 15:46:46 +01:00
Hivert Quentin bb943e414d fix(sogo-tool): add protection to expire-sessions if the input is not an integer 2023-11-17 15:50:41 +01:00
smizrahi ca2c5c188e feat(mail): Add SOGoMailHideInlineAttachments option to hide attachments when inline. Fixes #5490. Improve bracket icon. 2023-11-17 10:46:22 +01:00
Hivert Quentin 0023a9ce3c fix(calendar): do not let DURATION and DTEND be both present in vevent 2023-11-17 09:24:12 +01:00
Hivert Quentin 1e8127b461 fix(calendar): properly set the start date range for yearly events 2023-11-16 11:18:23 +01:00
smizrahi 6b08f2e4de fix(core): Fix calendar issues with Thunderbird related to vlist exclusion. Fix error log on photo. Closes #5885 2023-11-13 23:02:07 +01:00
Hivert Quentin 605d8b1169 chore(js/css): update generated files 2023-11-11 00:00:50 -05:00
Hivert Quentin c872fb4d9c feat(preferences): can set SOGoForwardConstraints to 3 to accept both internal and external domains from SOGoForwardConstraintsDomains 2023-11-10 15:07:14 +01:00
smizrahi 11ad203388 feat(addressbook): Add global address book autocomplete on vlist 2023-11-09 14:08:16 +01:00
smizrahi 0b1f2b0405 feat(addressbook): Add global address book autocomplete on vlist 2023-11-08 22:36:40 +01:00
smizrahi 0560efd1f6 feat(addressbook): Add global address book autocomplete on vlist 2023-11-08 18:10:06 +01:00
smizrahi d1634054d6 fix(mail): Clean temporary files when mail is sent. Check if body part is NGMimeFileData to add path for cleaning. 2023-11-07 10:38:54 +01:00
Hivert Quentin 7481ccf370 fix(hmtl): prevent html injection of tag form 2023-11-06 14:04:53 +01:00
Hivert Quentin 65374e44fc fix(scripts): wrong type for c_value in script for complete unicode coverage 2023-11-06 09:21:52 +01:00
Hivert Quentin f8b7986501 fix(template): wrong ending tag 2023-11-04 11:32:17 +01:00
Hivert Quentin 8da3d06117 chore(js/css): update generated files 2023-11-04 00:00:46 -04:00
Hivert Quentin d0b4b50456 feat(core): add SOGoDisableExport option to disable export for mail, calendar and contacts 2023-11-03 18:20:12 +01:00
Hivert Quentin e0ef59d5f2 feat(core): Add SOGoDisableSharingAnyAuthUser option to disable sharing to any user authenticated for mail, contacts and calendar 2023-11-03 17:01:49 +01:00
Hivert Quentin 6e60b10755 feat(ux): select all button will unselect all if click again 2023-11-03 15:13:48 +01:00
Hivert Quentin 0df0e34073 doc(sogo-tool): Add doc to detailed sogo-tool 2023-11-02 17:20:05 +01:00
smizrahi f41ab2ed0c feat(mail): Add SOGoMailHideInlineAttachments option to hide attachments when inline. Fixes #5490. 2023-11-02 09:45:51 +01:00
smizrahi abce5f42cf feat(mail): Add SOGoMailHideInlineAttachments option to hide attachments when inline. Fixes #5490. 2023-11-01 18:25:01 +01:00
smizrahi 277b73c663 docs(calendar+addressbook): Add provisioning profile doc 2023-11-01 15:57:42 +01:00
smizrahi f35a37bbdd fix(mail): Clean temporary files when mail is sent 2023-11-01 15:40:33 +01:00
smizrahi 9c0948518b fix(mail): Fix duplication of images when saving draft. Fixes #5888. Clean old code 2023-11-01 10:29:25 +01:00
smizrahi 4fe01f96d7 feat(core): Add mobile provisioning download for Apple's devices. Update translations (incompatible icon under windows) 2023-10-31 12:15:00 +01:00
smizrahi a273f7aca5 feat(core): Add mobile provisioning download for Apple's devices. Update translations (incompatible icon under windows) 2023-10-31 12:10:05 +01:00
Hivert Quentin 8f635d4856 chore(js/css): update generated files 2023-10-31 00:00:55 -04:00
Hivert Quentin 068126cd22 chore(js/css): update generated files 2023-10-19 00:00:47 -04:00
smizrahi 9ef49bb56f feat(core): Add URL encryption for GDPR compliancy (fix some dav issues) 2023-10-18 16:37:08 +02:00
smizrahi 54a1f922f9 Merge branch 'master' into feature-gdpr 2023-10-18 13:29:29 +02:00
smizrahi 65f8336255 feat(core): Add mobile provisioning download for Apple's devices. Fix shared calendar and contacts 2023-10-18 11:43:35 +02:00
WoodySlum c67ad819ab Merge pull request #347 from leecher1337/fix-5884
fix(eas): Fix for excessive memory usage on mailboxes with thousands of folders (by @leecher1337)
2023-10-17 21:03:39 +02:00
smizrahi 64a6319635 feat(core): Add URL encryption for GDPR compliancy (refactoring) 2023-10-17 16:43:50 +02:00
smizrahi 31c6f78913 feat(core): Add URL encryption for GDPR compliancy 2023-10-17 16:17:25 +02:00
Hivert Quentin 4b45dc7584 fix(translation): incorret value causing trouble to transifex 2023-10-17 09:23:33 +02:00
leecher1337 063fb2be3d Fix for excessive memory usage on mailboxes with thousands of folders 2023-10-16 16:12:24 +02:00
smizrahi ee9899fe3d fix(mail): Fix duplication of images when saving draft. Fixes #5888 2023-10-13 10:29:42 +02:00
smizrahi 81f2d88db3 fix(core): Add cache for CDefaultsSize to avoid spamming SQL request (pgsql) 2023-10-11 12:57:45 +02:00
Hivert Quentin baf6bdfedf chore(js/css): update generated files 2023-10-11 06:23:20 -04:00
Hivert Quentin c569ed2d77 fix(http): set correct Accept header when dowloading eml file 2023-10-11 11:32:26 +02:00
smizrahi 87e1240ace fix(core): Add cache for CDefaultsSize to avoid spamming SQL request 2023-10-10 17:37:59 +02:00
Hivert Quentin b396a277f0 feat(reply): add references header when replying 2023-10-04 14:55:27 +02:00
Hivert Quentin e460e5377c chore(js/css): update generated files 2023-10-04 00:00:47 -04:00
Hivert Quentin 1d3da92bab fix(addressbook): autocomplete correctly return two contacts from two ldap with same id 2023-10-03 14:28:57 +02:00
Hivert Quentin b1d8475520 chore(language): fixed french and double key 2023-10-03 09:12:02 +02:00
smizrahi d38cc86d29 feat(core): Add mobile provisioning download for Apple's devices. Fix build issue 2023-09-28 09:18:43 +02:00
Hivert Quentin df2f73f1f6 chore(js/css): update generated files 2023-09-28 00:00:48 -04:00
smizrahi 19915e3dff feat(core): Add mobile provisioning download for Apple's devices 2023-09-27 17:28:29 +02:00
smizrahi 6d16ee7988 feat(core): Add mobile provisioning download for Apple's devices 2023-09-27 17:28:29 +02:00
Hivert Quentin 5b73a60aa6 chore(release): 5.9.0 2023-09-27 10:20:23 +02:00
Hivert Quentin 487ad1a849 i18n(cy): Update French translations 2023-09-25 16:33:17 +02:00
Hivert Quentin 0e2deac164 i18n(cy): Update Welsh translations 2023-09-25 16:24:51 +02:00
Hivert Quentin 5ee12a4507 i18n(uk): Update Ukrainian translations 2023-09-25 16:24:34 +02:00
Hivert Quentin dfc1ab7e0e i18n(tr_TR): Update TurkishTurkey translations 2023-09-25 16:24:34 +02:00
Hivert Quentin d5c1b742f4 i18n(sv): Update Swedish translations 2023-09-25 16:24:34 +02:00
Hivert Quentin ea8f04ac7c i18n(es_ES): Update SpanishSpain translations 2023-09-25 16:24:06 +02:00
Hivert Quentin 64865aa85a i18n(es_AR): Update SpanishArgentina translations 2023-09-25 16:24:06 +02:00
Hivert Quentin b08b5dd79a i18n(sl_SI): Update Slovenian translations 2023-09-25 16:24:05 +02:00
Hivert Quentin 8a10213b75 i18n(sk): Update Slovak translations 2023-09-25 16:24:05 +02:00
Hivert Quentin 1710112c4e i18n(sr@latin): Update SerbianLatin translations 2023-09-25 16:24:05 +02:00
Hivert Quentin 2242c21323 i18n(sr): Update Serbian translations 2023-09-25 16:24:05 +02:00
Hivert Quentin da609c448e i18n(ru): Update Russian translations 2023-09-25 16:08:07 +02:00
Hivert Quentin 9aebf9bf02 i18n(ro_RO): Update Romanian translations 2023-09-25 16:08:07 +02:00
Hivert Quentin 46d5779088 i18n(pt): Update Portuguese translations 2023-09-25 16:08:06 +02:00
Hivert Quentin 92d38c108e i18n(pl): Update Polish translations 2023-09-25 16:08:06 +02:00
Hivert Quentin 02d32d5f6c i18n(nn_NO): Update NorwegianNynorsk translations 2023-09-25 16:08:06 +02:00
Hivert Quentin 0368bad3c5 i18n(nb_NO): Update NorwegianBokmal translations 2023-09-25 16:08:06 +02:00
Hivert Quentin 865aba3248 i18n(sr_ME@latin): Update Montenegrin translations 2023-09-25 16:08:06 +02:00
Hivert Quentin bbb09555f0 i18n(mk_MK): Update Macedonian translations 2023-09-25 16:08:06 +02:00
Hivert Quentin 493f5f625f i18n(lv): Update Latvian translations 2023-09-25 16:08:05 +02:00
Hivert Quentin ed5199aee7 i18n(kk): Update Kazakh translations 2023-09-25 16:08:05 +02:00
Hivert Quentin 2fee2f8782 i18n(it): Update Italian translations 2023-09-25 16:08:03 +02:00
Hivert Quentin e50b66b62e i18n(id_ID): Update Indonesian translations 2023-09-25 16:08:03 +02:00
Hivert Quentin ee3ed0779c i18n(is): Update Icelandic translations 2023-09-25 16:08:02 +02:00
Hivert Quentin e3d392b12a i18n(hu): Update Hungarian translations 2023-09-25 16:08:01 +02:00
Hivert Quentin 41842e2d39 i18n(he): Update Hebrew translations 2023-09-25 16:08:01 +02:00
Hivert Quentin 86e5872dc1 i18n(gl): Update Galician translations 2023-09-25 16:08:01 +02:00
Hivert Quentin 7ff0699648 i18n(fi): Update Finnish translations 2023-09-25 16:08:01 +02:00
Hivert Quentin 03d43079d3 i18n(nl): Update Dutch translations 2023-09-25 16:08:01 +02:00
Hivert Quentin 9ef58e7c6d i18n(da_DK): Update Danish translations 2023-09-25 16:08:00 +02:00
Hivert Quentin 1a5408c2b3 i18n(cs): Update Czech translations 2023-09-25 16:08:00 +02:00
Hivert Quentin b1df5d4d14 i18n(hr_HR): Update Croatian translations 2023-09-25 16:08:00 +02:00
Hivert Quentin e330c552c3 i18n(zh_TW): Update ChineseTaiwan translations 2023-09-25 16:08:00 +02:00
Hivert Quentin 300cfe4e27 i18n(zh_CN): Update ChineseChina translations 2023-09-25 16:08:00 +02:00
Hivert Quentin c82a48f96f i18n(ca): Update Catalan translations 2023-09-25 16:07:59 +02:00
Hivert Quentin 6606f9865a i18n(bg_BG): Update Bulgarian translations 2023-09-25 16:07:58 +02:00
Hivert Quentin ce6efafe54 i18n(pt_BR): Update BrazilianPortuguese translations 2023-09-25 16:07:58 +02:00
Hivert Quentin fc93272d70 i18n(bs_BA): Update Bosnian translations 2023-09-25 16:07:58 +02:00
Hivert Quentin 6293f62d83 i18n(eu): Update Basque translations 2023-09-25 16:07:56 +02:00
Hivert Quentin 132912b566 i18n(ar): Update Arabic translations 2023-09-25 16:07:56 +02:00
Hivert Quentin 97d01fb14e i18n(ja): Update Japanese translations 2023-09-25 16:07:56 +02:00
Hivert Quentin 4974648c33 i18n(lt): Update Lithuanian translations 2023-09-25 16:07:56 +02:00
Hivert Quentin 0f0ecf71c3 i18n(de): Update German translations 2023-09-25 16:07:55 +02:00
Hivert Quentin ff263b99fe fix(contacts): Fix 5875 2023-09-25 15:11:45 +02:00
Hivert Quentin 8604389152 fix(translation): french syntax 2023-09-25 10:33:28 +02:00
Hivert Quentin bba1da1b2b fix(sieve): sieve availibility was checked even if we disable it 2023-09-18 11:44:45 +02:00
Hivert Quentin bafb1ffc69 chore(js/css): update generated files 2023-09-14 00:00:46 -04:00
Hivert Quentin 5534d4b6ee fix(notification): body was not send + missing tooltip 2023-09-13 14:52:08 +02:00
Hivert Quentin 8efdee4ef9 chore(html): change support mail to sogo 2023-09-12 11:23:25 +02:00
Hivert Quentin 320938445c chore(js/css): update generated files 2023-09-12 00:00:45 -04:00
smizrahi dc23721b75 fix(js): Fix url redirection to null when disconnected. Closes #5844. 2023-09-11 14:55:44 +02:00
smizrahi 4abf12b4bb fix(preferences): Signature could not be saved when SOGoCreateIdentitiesDisabled is set to YES and no signature is on identity 2023-09-11 11:56:10 +02:00
smizrahi 1a257c7768 fix(calendar): Fix Out of range value for column 'c_startdate' SQL error. Add log. 2023-09-11 11:34:20 +02:00
Hivert Quentin a1528bcc03 fix(cas): correction on pgtUrl 2023-09-09 11:43:24 +02:00
Hivert Quentin 041bb98e9d chore(cas): make script both python2 and 3 compatible 2023-09-09 10:15:34 +02:00
Hivert Quentin f2df405616 fix(calendar): some kinds of events are not shown 2023-09-07 13:17:44 +02:00
Hivert Quentin 68b1c1e5df fix(CAS): key based on tciket was too long for memecached 2023-09-07 09:14:24 +02:00
smizrahi f0719ee409 fix(addressbook): Remove vlist from dav request for Thunderbird only. In Thunderbird 115, using vlist results in contact duplication 2023-09-06 14:02:05 +02:00
smizrahi 87b89ed094 docs(calendar): Update Apple's calendar instructions for 5.8.9 2023-09-04 10:23:29 +02:00
Hivert Quentin 402e54a6fc chore(js/css): update generated files 2023-09-02 00:00:53 -04:00
Hivert Quentin 16af360006 fix(notifications): bug with older user profile 2023-09-01 17:21:38 +02:00
Hivert Quentin 27c9dd36e5 chore(js/css): update generated files 2023-09-01 00:00:53 -04:00
Hivert Quentin 3309346b46 feat(notificaiton) move custom message to body instead of subject 2023-08-31 15:22:56 +02:00
Hivert Quentin d133961302 chore(js/css): update generated files 2023-08-31 00:00:46 -04:00
Hivert Quentin 6b647050fc feat(notification): add custom message 2023-08-30 17:04:49 +02:00
Hivert Quentin acaddf5d4f chore(js/css): update generated files 2023-08-30 00:00:46 -04:00
Hivert Quentin 82b69d1414 feat(notification): add enotify sieve script 2023-08-29 10:07:53 +02:00
smizrahi 4f7c73143f fix(calendar): Fix MacOS X Ventura calendar support. Fixes #5639 2023-08-22 18:11:53 +02:00
smizrahi 1c93796ae1 test(timeout): Change some timeouts fo tests 2023-08-17 11:27:04 +02:00
smizrahi fce02db7d1 fix(calendar): Revert commit e47566e3a and change HTTP status from 409 to 403 when event has a sequence number lower than than the new one. This should fix some Apple's duplication events 2023-08-16 17:18:59 +02:00
Hivert Quentin c5814d60a4 fix(calendar): recurrenid wasn't working properly 2023-08-16 17:18:59 +02:00
Hivert Quentin f3ddc867cf chore(js/css): update generated files 2023-08-16 07:30:31 -04:00
smizrahi 5e471c5d66 fix(js): Fix invalid sass version 2023-08-16 13:27:34 +02:00
smizrahi a1a07ddcee chore(js/css): update generated files 2023-08-16 06:59:10 +00:00
smizrahi cab5bc011e fix(calendar): Avoid event duplication when adding an ics with an older sequence number and event already added in calendar 2023-08-14 17:18:37 +02:00
smizrahi 4d2c77195e fix(calendar): When an event has no date (weird case), it is not possible to remove the event (NSException) 2023-08-14 17:08:27 +02:00
Hivert Quentin e959583390 fix(mail): Templates namespace is correctly returned 2023-08-09 16:30:33 +02:00
smizrahi 82178eeba9 fix(calendar): Fix NAME:NSInvalidArgumentException REASON:SOGoAppointmentFolder(instance) does not recognize davCalendarProxyReadFor 2023-08-09 14:44:35 +02:00
smizrahi 382b8a0a1a fix(calendar): Do not send tentative participation mail when user open mail or add ics to calendar app 2023-08-08 15:49:15 +02:00
Hivert Quentin f3981c4276 fix(calendar): deleted occurence of repeated event could cause some troubles with other imrbicated occurences
The fix is within SOPE/NGCards/iCalRecurrenceCalculator.m:244, the others files are juste modified to make the code more readable
2023-08-07 17:16:50 +02:00
Hivert Quentin f5f74f751a fix(preferences): Fix language list sorting on preferences page 2023-08-04 10:36:50 +02:00
Hivert Quentin 528d178256 chore(packaging): debian 12 2023-08-02 11:36:36 +02:00
Hivert Quentin f3dce5d50b chore(js/css): update generated files 2023-08-01 00:00:53 -04:00
smizrahi b7e529dd49 fix(mail): When signature is too big and changing identity, a 'regex too big' error occurs. In this case just add signature at the end. Fixes #5695. 2023-07-31 10:41:37 +02:00
smizrahi 68cef9ae03 feat(calendar): Add CALDAV Mac OS X Sonoma (14) support 2023-07-31 09:19:23 +02:00
smizrahi 87bbba0c8d feat(calendar): Add CALDAV Mac OS X Sonoma (14) support 2023-07-31 09:19:15 +02:00
smizrahi e0d76fba65 fix(login): Fix language list sorting on login page 2023-07-27 14:15:26 +02:00
Hivert Quentin 5b352635b8 chore(js/css): update generated files 2023-07-27 00:00:52 -04:00
smizrahi 8582e423bd feat(preferences): Add user preferences to enable / disable signature for new mail, reply and forward 2023-07-26 19:38:57 +02:00
Hivert Quentin 577d991d42 chore(js/css): update generated files 2023-07-26 00:00:48 -04:00
smizrahi 5d315ac180 fix(addressbook): Fix broken image in shared address book when image is null 2023-07-25 20:39:49 +02:00
smizrahi 326bc68f4c fix(preferences): Fix the issue when signature is too long and preferences are not saved. Note that MySQL profile table should be updated with a migration script 2023-07-25 17:22:11 +02:00
smizrahi ec27f7e714 fix(user): Replace length with count for NSArray 2023-07-25 16:08:08 +02:00
smizrahi e731303439 docs(ldap): Fix ldap field invalid names 2023-07-25 10:08:23 +02:00
Hivert Quentin 0cb896d4fe chore(js/css): update generated files 2023-07-21 00:00:46 -04:00
Hivert Quentin ba4c7a5300 fix(preferences): add autocomplete for recipients in automatic forward 2023-07-20 09:26:16 +02:00
Hivert Quentin 40512f6b06 chore(js/css): update generated files 2023-07-20 00:00:48 -04:00
smizrahi d1a51e8340 feat(core): Add in user settings to force password change for a user when logging - update documentation 2023-07-17 11:07:43 +02:00
Hivert Quentin bd8b49d2c9 fix(calendar): Repeated events didn't use the correct timezone in some cases 2023-07-12 15:00:24 +02:00
smizrahi 57ba5397e5 fix(calendar): Fix duplicates in series appointments for Apple's Calendar 2023-07-12 08:49:01 +02:00
Hivert Quentin d55030323b chore(js/css): update generated files 2023-07-12 00:00:46 -04:00
smizrahi 9918f75580 feat(core): Add in user settings to force password change for a user when logging 2023-07-11 18:48:54 +02:00
smizrahi 7600e9e179 fix(calendar): Fix duplicates in series appointments for Apple's Calendar 2023-07-11 15:26:31 +02:00
smizrahi a48440754c fix(ui): Disable send button while mail is sending. Fixes #5825. 2023-07-10 11:22:08 +02:00
Hivert Quentin e53e5493c6 style(UX): add missing tooltips 2023-07-07 17:35:32 +02:00
WoodySlum 6eee167876 Merge pull request #345 from modir/patch-1
fix(doc): Update SOGo"s developer
2023-07-05 10:03:14 +02:00
Raffael 8e4d801df0 Changing "Inverse" to "Alinto" 2023-06-29 00:10:49 +02:00
smizrahi b666137a70 fix(preferences): Disable auxiliary mail accounts creation when SOGoCreateIdentitiesDisabled is enabled 2023-06-28 14:36:19 +02:00
Hivert Quentin a95f6c0799 chore(js/css): update generated files 2023-06-21 18:00:51 -04:00
smizrahi 09d03261af feat(preferences): Add subtext in vacation filter to explain the behavior 2023-06-21 16:33:54 +02:00
smizrahi 8a8dcae029 fix(calendar): Add negative timestamp support to use date before 1970-01-01. Fixes #4914 (partial) 2023-06-21 15:51:18 +02:00
smizrahi fccc910791 docs(installation): Add RHEL9 support 2023-06-20 22:27:26 +02:00
smizrahi e42f28cf22 chore(release): 5.8.4 2023-06-20 22:27:08 +02:00
smizrahi eb42e1787c fix(preferences): Fix NSException issue when SOGoCreateIdentitiesDisabled is set 2023-06-20 22:25:12 +02:00
Hivert Quentin 8baa770681 chore(js/css): update generated files 2023-06-14 18:00:51 -04:00
Hivert Quentin af59e57fc0 fix(mail): Fix a bug when pressing the key DEL more than once to delete mails 2023-06-14 17:47:23 +02:00
smizrahi 22372a7598 fix(calendar): Fix calendar green dot stucks in original day when browser is opened for days and day change. Fixes #5783 2023-06-12 10:18:26 +02:00
Hivert Quentin 117540dbb1 chore(npm): update ckeditor with galician language 2023-06-12 08:56:30 +02:00
Hivert Quentin 665861d830 i181(gl_ES) add Galician language support 2023-06-12 08:56:30 +02:00
smizrahi f9fdad251d fix(mail): Removed invalid HTML tags in mail body. Fixes #5755 2023-06-07 14:42:21 +02:00
smizrahi f22672cef8 fix(calendar): Fix calendar green dot stucks in original day when browser is opened for days and day changed 2023-06-07 10:06:59 +02:00
smizrahi fa5264e822 fix(calendar): Increase timeout to 60 seconds for large ics calendar. Closes #5781. 2023-06-06 09:04:01 +02:00
smizrahi b68a215ea2 fix(calendar): Fix regression on calendar event modification. Start date was set to 1970. Fixes #5777. 2023-06-01 17:13:49 +02:00
smizrahi e87d511e79 chore(js/css): update generated files 2023-05-30 16:32:40 +00:00
Hivert Quentin 854e83c22c fix(mail): autocomplete can find two lists named the same but in different address books 2023-05-30 18:29:55 +02:00
smizrahi 24200e7d34 chore(js/css): update generated files 2023-05-30 16:26:08 +00:00
smizrahi 9da6521cfb Merge branch 'master' into SOGo-5.8 2023-05-30 18:25:41 +02:00
Hivert Quentin c64fabd09b fix link in changelog + add files in gitignore 2023-05-30 14:59:04 +02:00
Hivert Quentin 4177ec13e0 chore(release): 5.8.3 2023-05-30 10:25:06 +02:00
Hivert Quentin 0f06c576f6 i18n(fr): Update French translations 2023-05-30 09:47:02 +02:00
Hivert Quentin b4e315b1d8 i18n(sr): Update Serbian translations 2023-05-30 09:47:02 +02:00
Hivert Quentin e8f507d7b9 i18n(nb_NO): Update NorwegianBokmal translations 2023-05-30 09:47:02 +02:00
Hivert Quentin 973a0efa6c i18n(de): Update German translations 2023-05-30 09:47:01 +02:00
Hivert Quentin ad47aec62e i18n(da_DK): Update Danish translations 2023-05-30 09:47:01 +02:00
Hivert Quentin a8f2a3749a i18n(hu): Update Hungarian translations 2023-05-30 09:47:01 +02:00
Hivert Quentin 6655f06cc0 i18n(uk): Update Ukrainian translations 2023-05-30 09:47:01 +02:00
Hivert Quentin d8a2146014 i18n(tr_TR): Update TurkishTurkey translations 2023-05-30 09:47:01 +02:00
Hivert Quentin 239016fdc2 i18n(ru): Update Russian translations 2023-05-30 09:47:01 +02:00
Hivert Quentin 51817fc6b4 i18n(pl): Update Polish translations 2023-05-30 09:47:01 +02:00
Hivert Quentin 97b69af241 i18n(it): Update Italian translations 2023-05-30 09:47:01 +02:00
Hivert Quentin 42b9a03725 i18n(nl): Update Dutch translations 2023-05-30 09:47:01 +02:00
Hivert Quentin b6c7521f14 i18n(bg_BG): Update Bulgarian translations 2023-05-30 09:47:01 +02:00
Hivert Quentin 818332edd6 i18n(pt_BR): Update BrazilianPortuguese translations 2023-05-30 09:47:01 +02:00
Hivert Quentin 5f47fc7bcb i18n(cy): Update Welsh translations 2023-05-30 09:47:00 +02:00
Hivert Quentin af96d2b5c4 i18n(sv): Update Swedish translations 2023-05-30 09:47:00 +02:00
Hivert Quentin 2b7552a5a9 i18n(es_ES): Update SpanishSpain translations 2023-05-30 09:47:00 +02:00
Hivert Quentin ccf4872347 i18n(es_AR): Update SpanishArgentina translations 2023-05-30 09:47:00 +02:00
Hivert Quentin 17fca79bb0 i18n(sl_SI): Update Slovenian translations 2023-05-30 09:46:59 +02:00
Hivert Quentin 1ea3f009bb i18n(sk): Update Slovak translations 2023-05-30 09:46:59 +02:00
Hivert Quentin b1f6d20e9f i18n(sr@latin): Update SerbianLatin translations 2023-05-30 09:46:59 +02:00
Hivert Quentin 7be8e644a9 i18n(ro_RO): Update Romanian translations 2023-05-30 09:46:58 +02:00
Hivert Quentin 6bb781b531 i18n(pt): Update Portuguese translations 2023-05-30 09:46:58 +02:00
Hivert Quentin 3e93296902 i18n(nn_NO): Update NorwegianNynorsk translations 2023-05-30 09:46:56 +02:00
Hivert Quentin d5bf149f7a i18n(sr_ME@latin): Update Montenegrin translations 2023-05-30 09:46:55 +02:00
Hivert Quentin d4a2d6b6f4 i18n(mk_MK): Update Macedonian translations 2023-05-30 09:46:55 +02:00
Hivert Quentin 07a01e3fdd i18n(lt): Update Lithuanian translations 2023-05-30 09:46:54 +02:00
Hivert Quentin 56e040c6d5 i18n(lv): Update Latvian translations 2023-05-30 09:46:53 +02:00
Hivert Quentin f3bdda516e i18n(kk): Update Kazakh translations 2023-05-30 09:46:52 +02:00
Hivert Quentin 8d842ccfb4 i18n(ja): Update Japanese translations 2023-05-30 09:46:52 +02:00
Hivert Quentin aa43c5bf31 i18n(id_ID): Update Indonesian translations 2023-05-30 09:46:50 +02:00
Hivert Quentin 7f7f224621 i18n(is): Update Icelandic translations 2023-05-30 09:46:49 +02:00
Hivert Quentin b8c5d8f4a8 i18n(he): Update Hebrew translations 2023-05-30 09:46:48 +02:00
Hivert Quentin 33427ac00b i18n(fi): Update Finnish translations 2023-05-30 09:46:48 +02:00
Hivert Quentin e5dc0408ce i18n(cs): Update Czech translations 2023-05-30 09:46:47 +02:00
Hivert Quentin b706d1b41f i18n(hr_HR): Update Croatian translations 2023-05-30 09:46:47 +02:00
Hivert Quentin 0a2d702c69 i18n(zh_TW): Update ChineseTaiwan translations 2023-05-30 09:46:46 +02:00
Hivert Quentin 0b4fddc232 i18n(zh_CN): Update ChineseChina translations 2023-05-30 09:46:45 +02:00
Hivert Quentin 87f778d01c i18n(ca): Update Catalan translations 2023-05-30 09:46:44 +02:00
Hivert Quentin 76dcd4f6aa i18n(bs_BA): Update Bosnian translations 2023-05-30 09:46:43 +02:00
Hivert Quentin fb5fa0c63d i18n(eu): Update Basque translations 2023-05-30 09:46:43 +02:00
Hivert Quentin 2c0b59fa71 i18n(ar): Update Arabic translations 2023-05-30 09:46:42 +02:00
smizrahi a44e96755a Update gitignore 2023-05-24 18:17:56 +02:00
smizrahi 1a06996381 test(core): Add junit output format 2023-05-24 18:17:41 +02:00
smizrahi a7ecb5816d Merge branch 'SOGo-5.8' into fix-green-dot 2023-05-24 11:13:12 +02:00
smizrahi e3a7acd329 Merge branch 'SOGo-5.8' into fix-5768 2023-05-23 15:54:54 +02:00
smizrahi 23da4cca7b fix(mail): Signature images are not handled properly in forwarded or replied to messages. Save extracted body parts (for signature) into file system. Fixes #5768 2023-05-23 15:50:48 +02:00
Hivert Quentin 10f2e622d2 chore(timezones): Update to version 2023c 2023-05-23 11:27:41 +02:00
Hivert Quentin 3b4bf71f77 chore(js/css): update generated files 2023-05-23 08:07:03 +00:00
Hivert Quentin 7292dbc780 chore(npm): Update CKEditor to version 4.21.0 2023-05-23 09:42:28 +02:00
smizrahi ab954a150e fix(mail): Fix email without subject according to RFC 2822. Fixes #5743 2023-05-22 18:23:28 +02:00
root 7b13006390 chore(js/css): update generated files 2023-05-22 16:21:59 +00:00
smizrahi 139ef15284 fix(calendar): Fix search issue on repeated events when one title is changed the event could not be found 2023-05-22 16:17:32 +02:00
smizrahi d436afb054 fix(mail): Signature images are not handled properly in forwarded or replied to messages. Save extracted body parts (for signature) into file system. Fixes #5768 2023-05-22 10:54:48 +02:00
Hivert Quentin e076d0db73 fix(calendar,preferences) Small fixes for commit 5c4d467d and 6050c4ee 2023-05-22 10:11:58 +02:00
Hivert Quentin 5c4d467d06 feat(calendar): add copy to clipboard button in "links to calendar" panel 2023-05-19 13:14:55 +02:00
Hivert Quentin 6050c4ee61 feat(preferences): show special characters when changing password 2023-05-17 18:12:21 +02:00
smizrahi 9ab59e7420 Merge branch 'master' into sogo-5.8 2023-05-16 10:58:23 +02:00
smizrahi 613ee7b8b3 docs(upgrading): Add instructions for Mac OS X Ventura changes introduced in SOGo 5.8.2 2023-05-16 10:58:03 +02:00
smizrahi 572abfb589 Merge branch 'master' into sogo-5.8 2023-05-16 10:34:19 +02:00
smizrahi 32a04998e5 fix(calendar): Fix Out of range value for column 'c_startdate' SQL error 2023-05-15 20:17:55 +02:00
smizrahi 158a5becc9 fix(calendar): Fix Out of range value for column 'c_startdate' SQL error 2023-05-15 20:07:34 +02:00
Hivert Quentin 9c7ef089c2 fix(mail): Recipients with umlaut (ü) trigerred the end of string
With chrome and edge and a german keyboard, the ü was considered as a separator keycode when adding recipients
2023-05-15 15:13:15 +02:00
Hivert Quentin a14f9a7b79 fix(preferences): Cannot save preferences when SOGoCreateIdentitiesDisabled=YES 2023-05-12 16:34:16 +02:00
smizrahi 1df2586745 fix(addressbook): Fix asynchronous selection of contacts - cards are not added as they're not yet loaded. 2023-05-10 10:32:46 +02:00
root 807622dd53 chore(js/css): update generated files 2023-05-10 08:27:21 +00:00
smizrahi a5d4715e76 fix(core): Add + = special characters in password policy 2023-05-10 09:39:38 +02:00
smizrahi d802b92a13 Revert "fix(UI): Make the login page honor the color theme"
This reverts commit 607bc08c92.
2023-05-03 15:02:11 +02:00
smizrahi 479d29a6e2 chore(sogo-tool): Fix delete ALL acl SQL issue 2023-05-02 17:44:29 +02:00
smizrahi dd60e016c6 fix(calendar): Fix Web Calendar (ics) subscription with authentication between SOGo instances not possible after upgrading from 5.7.0 to 5.8.2. Fixes #5753 2023-05-02 13:32:23 +02:00
smizrahi 39ab482b7f fix(activesync): Wrong decoding emails in Outlook via EAS. Force utf-8 when contnet-type is different than html part. Original fix from tfu. Fixes #5664 2023-04-26 09:49:54 +02:00
smizrahi d9ac1b916f Merge branch 'fix-5749' 2023-04-26 09:32:06 +02:00
smizrahi 6643cf531a chore(js/css): update generated files 2023-04-25 22:48:19 +02:00
smizrahi 96639b70a0 feat(calendar): Add week number on month view. Fixes #4457. 2023-04-25 22:46:18 +02:00
smizrahi 861dea8efa i18n(base): Fix the meaning of 'Disable auto reply on' 2023-04-25 09:07:44 +02:00
smizrahi dc8c1c10ed i18n(fr): Fix the meaning of 'Disable auto reply on' 2023-04-25 08:57:25 +02:00
smizrahi d43de46a5a i18n(en): Fix the meaning of 'Disable auto reply on' 2023-04-25 08:56:54 +02:00
smizrahi 810cd1235f feat(mail): Add autolink from ckeditor. Fixes #5749 2023-04-24 10:05:47 +02:00
smizrahi 3b0fbdd4f4 fix(js): Fix JavaScript error when send mail from Addressbook. Fixes #5750. 2023-04-24 09:41:21 +02:00
smizrahi 7b711eabb3 fix(eas): Fix error 500 when SOGoCacheCleanup triggered cleanup with shibboleth 4.2.1. Fore refresh ticket in iFrame in this case 2023-04-29 16:07:32 +02:00
smizrahi 650ca16ff7 fix(calendar): Fix calendar green dot stucks in original day when browser is opened for days and day changed 2023-04-19 23:31:49 +02:00
smizrahi af6202bee6 feat(preferences): Add SOGoCreateIdentitiesDisabled domain option which disables identity creation for users in preferences 2023-04-18 16:57:31 +02:00
smizrahi 5500ce7085 fix(eas): Fix error 500 when SOGoCacheCleanup triggered cleanup with shibboleth 4.2.1. Fore refresh ticket in iFrame in this case 2023-04-17 10:53:23 +02:00
smizrahi 46215aca87 fix(calendar): Rework confirmation box when dismissing calendar event edition with background click, only if the event is in edition. Rework of #5585. Closes #5720. Fixes #5732. 2023-04-06 10:57:52 +02:00
smizrahi dbd4e20c34 fix(mail): Fix images in attachements when replying to a mail. Fixes #5731 2023-04-06 09:13:08 +02:00
smizrahi 4fc61a28d5 fix(calendar): Rework confirmation box when dismissing calendar event edition with background click, only if the event is in edition. Rework of #5585. Closes #5720. 2023-04-05 17:49:01 +02:00
smizrahi fd7bdd8393 i18n(fr): Update French localization 2023-04-05 14:24:31 +02:00
WoodySlum a5e7a53c8b Merge pull request #325 from adetk/master
i18n(ru): Date specific Russian from and to translations
2023-04-05 14:19:40 +02:00
smizrahi 6ccd22b511 fix(calendar): Rework confirmation box when dismissing calendar event edition with background click, only if the event is in edition. Rework of #5585. Closes #5720. 2023-04-05 14:13:17 +02:00
adetk a2c357f045 Update Localizable.strings
i18n(ru): Date specific Russian from and to translations (PR #325)
2023-04-05 11:31:34 +06:00
smizrahi 2f36fa55fe fix(core): Add . , : ; special characters in password policy 2023-04-04 17:18:05 +02:00
smizrahi d49ef4047a fix(mail): Fix invalid forward template when replying. Closes #5726 2023-04-04 08:45:12 +02:00
smizrahi 0edd3f757f fix(mail): Removed attachements of images when replying to a mail. As the image is inline, the attachement shall be removed. 2023-04-03 19:11:53 +02:00
Adet Kineyev b61bde9072 i18n(kk): Update Kazakh translations 2023-04-03 13:22:37 +06:00
smizrahi 6acb245fec fix(js): Fix display of body message when 'to' field is not filled in. Closes #5721 2023-04-03 09:08:35 +02:00
adetk 346a3edbcf Merge branch 'Alinto:master' into master 2023-04-03 12:51:53 +06:00
smizrahi 6338ca19c2 chore(release): 5.8.2 2023-03-28 21:43:35 +02:00
smizrahi 95cb615e92 chore(release): 5.8.2 2023-03-28 21:34:01 +02:00
smizrahi 5e11702d88 Update ChangeLog 2023-03-28 21:28:35 +02:00
smizrahi f813b78c3c fix(calendar): Impossible to create a new event after creating a new one. Closes #5718 2023-03-28 21:26:21 +02:00
smizrahi 5a825881d9 chore(release): 5.8.1 2023-03-28 09:50:02 +02:00
smizrahi 072ff5ac85 chore(timezones): Update to version 2023b 2023-03-28 09:11:31 +02:00
smizrahi b2873bf5f1 i18n(cy): Update Welsh translations 2023-03-27 19:46:49 +02:00
smizrahi 90b174bda1 i18n(uk): Update Ukrainian translations 2023-03-27 19:46:49 +02:00
smizrahi f87a8557bd i18n(tr_TR): Update TurkishTurkey translations 2023-03-27 19:46:49 +02:00
smizrahi a0d047ad07 i18n(sv): Update Swedish translations 2023-03-27 19:46:49 +02:00
smizrahi 43d925b4ef i18n(es_ES): Update SpanishSpain translations 2023-03-27 19:46:49 +02:00
smizrahi d6a63bd7bf i18n(es_AR): Update SpanishArgentina translations 2023-03-27 19:46:49 +02:00
smizrahi 5a67603816 i18n(sl_SI): Update Slovenian translations 2023-03-27 19:46:49 +02:00
smizrahi d18581514e i18n(sk): Update Slovak translations 2023-03-27 19:46:48 +02:00
smizrahi 1489b7d219 i18n(sr): Update Serbian translations 2023-03-27 19:46:09 +02:00
smizrahi 0d21123def i18n(ro_RO): Update Romanian translations 2023-03-27 19:46:08 +02:00
smizrahi d2a5fd0b2d i18n(pt_BR): Update Portuguese translations 2023-03-27 19:46:08 +02:00
smizrahi 62edb09b9c i18n(pl): Update Polish translations 2023-03-27 19:46:08 +02:00
smizrahi 7d60dbb2c6 i18n(nn_NO): Update NorwegianNynorsk translations 2023-03-27 19:46:08 +02:00
smizrahi f66992cef4 i18n(sr_ME@latin): Update Montenegrin translations 2023-03-27 19:46:08 +02:00
smizrahi deef331029 i18n(mk_MK): Update Macedonian translations 2023-03-27 19:46:08 +02:00
smizrahi dd0d9bd5fe i18n(lt): Update Lithuanian translations 2023-03-27 19:46:08 +02:00
smizrahi b9eacdbe49 i18n(lv): Update Latvian translations 2023-03-27 19:46:08 +02:00
smizrahi d860a3c016 i18n(kk): Update Kazakh translations 2023-03-27 19:46:08 +02:00
smizrahi 44ea7a684e i18n(ja): Update Japanese translations 2023-03-27 19:46:07 +02:00
smizrahi 561ab7e866 i18n(it): Update Italian translations 2023-03-27 19:46:07 +02:00
smizrahi 12c32ef1d2 i18n(id_ID): Update Indonesian translations 2023-03-27 19:46:07 +02:00
smizrahi 7cbef4bdd4 i18n(is): Update Icelandic translations 2023-03-27 19:46:07 +02:00
smizrahi 38ebd5a38f i18n(he): Update Hebrew translations 2023-03-27 19:46:07 +02:00
smizrahi 7b66aa9dad i18n(fi): Update Finnish translations 2023-03-27 19:46:07 +02:00
smizrahi 6c816cba6b i18n(nl): Update Dutch translations 2023-03-27 19:46:07 +02:00
smizrahi 4f7e04d5b4 i18n(cs): Update Czech translations 2023-03-27 19:46:07 +02:00
smizrahi e16f5fa0f9 i18n(hr_HR): Update Croatian translations 2023-03-27 19:46:07 +02:00
smizrahi 245ede949e i18n(zh_TW): Update ChineseTaiwan translations 2023-03-27 19:46:07 +02:00
smizrahi 1344f2a7dd i18n(zh_CN): Update ChineseChina translations 2023-03-27 19:46:06 +02:00
smizrahi 485f40cca4 i18n(ca): Update Catalan translations 2023-03-27 19:46:06 +02:00
smizrahi 982b1ec1f6 i18n(bg_BG): Update Bulgarian translations 2023-03-27 17:53:30 +02:00
smizrahi 28784836c8 i18n(pt_BR): Update Portuguese (Brazil) translations 2023-03-27 17:51:11 +02:00
smizrahi ddf55270a6 i18n(bs_BA): Update Bosnian translations 2023-03-27 17:49:55 +02:00
smizrahi 9192f2b76d i18n(eu): Update Basque translations 2023-03-27 17:49:04 +02:00
smizrahi 3714b147ed i18n(ar): Update Arabic translations 2023-03-27 17:47:21 +02:00
smizrahi ac8aeec83f i18n(ru): Update Russian translations 2023-03-27 17:46:43 +02:00
smizrahi a3c9044b7e i18n(de): Update German translations 2023-03-27 17:42:08 +02:00
smizrahi ecd1344065 i18n(da_DK): Update Danish translations 2023-03-27 17:41:34 +02:00
smizrahi e4534c0bfd i18n(nb_NO): Update Norwegian Bokmål translations 2023-03-27 17:36:33 +02:00
smizrahi cdbe91decf i18n(hu): Update Hungarian translations 2023-03-27 17:34:38 +02:00
smizrahi 3f01de6c8f chore(npm): Update CKEditor to version 4.21.0 2023-03-27 11:27:35 +02:00
smizrahi 65d4c5c480 fix(calendar): Add confirmation box when dismissing calendar event edition with background click, only if the event is in edition. Fixes #5585 2023-03-27 09:38:56 +02:00
smizrahi bb4a88b6df fix(calendar): Add confirmation box when dismissing calendar event edition with background click, only if the event is in edition. Fixes #5585 2023-03-22 19:39:44 +01:00
smizrahi f5ed10b00c fix(mail): Fix images not displayed when forward / reply to a mail. Fixes #3981. Fixes #5715 2023-03-22 16:17:58 +01:00
smizrahi 7ad7f5efa6 fix(ui): Add error message on UI when too many mails are sent in short time. Fix fr translation. Fix documentation 2023-03-21 17:35:45 +01:00
smizrahi e12583eb4e feat(mail): Add punycode (RFC 3492) to encode domain with special characters 2023-03-21 10:27:43 +01:00
smizrahi 39032ac80f feat(mail): Add punycode (RFC 3492) to encode domain with special characters 2023-03-21 10:23:56 +01:00
smizrahi 13178a16f2 feat(mail): Add punycode (RFC 3492) to encode domain with special characters 2023-03-21 10:22:43 +01:00
smizrahi 0a9b3d6adf feat(mail): Add punycode (RFC 3492) to encode domain with special characters 2023-03-21 10:19:32 +01:00
smizrahi abd7fdd385 chore(js/css): update generated files 2023-03-15 17:44:01 +01:00
smizrahi 66c728ca84 fix(packaging): Add MFA to Ubuntu Jammy 2023-03-15 09:55:42 +01:00
smizrahi 64d817ab0d fix(calendar): Add confirmation box when dismissing calendar event edition with background click, only if the event is in edition. Fixes #5585. 2023-03-14 16:20:31 +01:00
WoodySlum 8bd97d1464 Merge pull request #343 from jkanefendt/fix-move-messages-across-mailboxes
Fix moving mails across mailboxes
2023-03-14 08:35:05 +01:00
Johannes Kanefendt 49488efab9 Refactored variable declaration 2023-03-14 08:26:23 +01:00
Johannes Kanefendt a556e742fb fix(mail): Store the Deleted flag in the correct (source) mailbox when moving mails across mailboxes 2023-03-10 15:57:53 +01:00
smizrahi 4dc8ef946d fix(mail): Fix images not displayed when forward / reply to a mail. Fixes #3981 2023-03-07 10:17:02 +01:00
smizrahi 0d2f6d8c2a fix(packaging): Check if there are sh files in usr/share/doc/sogo before applying chmod. Fixes partially #5698 2023-02-27 22:53:25 +01:00
smizrahi 63548a84cf fix(packaging): Specify compression format for dpkg-deb 2023-02-27 22:02:17 +01:00
smizrahi 189144c531 fix(packaging): Specify compression format for dpkg-deb 2023-02-27 18:38:33 +01:00
smizrahi 5049423113 fix(packaging): Specify compression format for dpkg-deb 2023-02-27 18:33:20 +01:00
smizrahi 7ea7572766 fix(packaging): Add usr/share/doc/sogo/ for packaging. Fixes partially #5698 2023-02-27 11:22:39 +01:00
smizrahi 114c98c32d fix(packaging): Add usr/share/doc/sogo/ for packaging. Fixes partially #5698 2023-02-27 10:38:46 +01:00
smizrahi 754f3aa230 test(js): Increase test timeout for CI 2023-02-27 10:29:49 +01:00
smizrahi 02f855059b fix(mail): Fix segfault when TNEF does not get any data. Fixes #4190 2023-02-23 11:58:58 +01:00
smizrahi 53f9449a51 feat(alarms): Add possibility to use SMTP master account for system alarms. Fixes #5565. 2023-02-20 18:53:08 +01:00
smizrahi 7faf4eb2f4 feat(alarms): Add possibility to use SMTP master account for system alarms. Fixes #5565. 2023-02-20 17:23:17 +01:00
smizrahi 1964ef0358 fix(dav): Improve logging. Closes #4190 2023-02-20 10:15:42 +01:00
smizrahi 8001e3f6ab feat(alarms): Add possibility to use SMTP master account for system alarms. Fixes #5565. 2023-02-16 18:51:28 +01:00
smizrahi 2c6f5225d4 i18n(de): Update German translations 2023-02-14 16:43:00 +01:00
smizrahi ffcaf6c433 18n(transifex): Update transifex for new apis 2023-02-14 09:48:41 +01:00
smizrahi b51b695999 18n(transifex): Update transifex for new apis 2023-02-14 09:46:34 +01:00
smizrahi f7b416fac2 18n(fr_FR): Update aboutbox 2023-02-13 11:12:59 +01:00
smizrahi 959a4107d4 18n(en_EN): Update aboutbox 2023-02-13 11:12:59 +01:00
WoodySlum 406bd35875 Merge pull request #341 from Fulguritus/master
fix(UI): Make the login page honor the color theme Fixes #5687
2023-02-13 10:52:41 +01:00
smizrahi ef53f6c809 fix(calendar): Fix inaccessibility to personal calendar on Mac OS X Ventura. Fixes #5639 2023-02-01 09:25:39 +01:00
Alex Vogt 607bc08c92 fix(UI): Make the login page honor the color theme
partial solution by specifying the theme and accent color manually

Fixes #5687 (partially)
2023-01-31 19:43:42 +01:00
smizrahi ba0d4a51c0 fix(calendar): Fix inaccessibility to personal calendar on Mac OS X Ventura. Fixes #5639 2023-01-31 17:39:00 +01:00
smizrahi 7e357f1bc9 fix(calendar): Fix inaccessibility to personal calendar on Mac OS X Ventura. Fixes #5639 2023-01-26 17:12:08 +01:00
smizrahi f15840217b fix(calendar): Fix duplicate event on Apple Calendar when creating a new reccurent event, inviting attendee and changing an occurence 2023-01-18 17:20:30 +01:00
smizrahi a5347c70aa fix(calendar): Fix inaccessibility to personal calendar on Mac OS X Ventura. Fixes #5639 2023-01-17 16:32:53 +01:00
smizrahi 4d7a425428 fix(js): Change grunt-contrib-uglify from 5.0.0 to 5.2.2 2023-01-16 17:23:21 +01:00
smizrahi 04e15b5695 feat(eas): Add SOGoEASDisableUI system parameter to remove EAS options in UI when ActiveSync is not used 2023-01-16 15:31:27 +01:00
WoodySlum c178963bfc Merge pull request #339 from helsinki-systems/fix/too-many-vars
fix(configure): Prevent pulling in unnecessary vars
2023-01-13 08:56:21 +01:00
Janne Heß b223fe0b86 fix(configure): Prevent pulling in unnecessary vars 2023-01-11 18:12:12 +01:00
smizrahi 842fa97d37 fix(authentication): Reduce Cookie user key len to avoid exceeding 4096 bytes. Users in chrome <= 75 could not login due to cookie of 4099 bytes 2023-01-05 15:59:14 +01:00
smizrahi 0bd530ab64 feat(preferences): Improve TOTP - add validation code in preferences before saving to ensure user add qr code in totp application 2023-01-04 17:37:46 +01:00
smizrahi 7d72fe1281 fix(calendar): Fix inaccessibility to personal calendar on Mac OS X Ventura. Fixes #5639 2023-01-03 23:33:28 +01:00
smizrahi 86805369a3 fix(calendar): Fix inaccessibility to personal calendar on Mac OS X Ventura. Fixes #5639 2023-01-03 15:24:30 +01:00
adetk 5e8a4b4034 Merge branch 'Alinto:master' into master 2022-12-24 16:57:31 +06:00
smizrahi a7f3daa33f fix(calendar): Fix inaccessibility to personal calendar on Mac OS X Ventura. Fixes #5639 2022-12-13 12:33:58 +01:00
smizrahi 6ee8f764e9 fix(calendar): Fix inaccessibility to personal calendar on Mac OS X Ventura. Fixes #5639 2022-12-13 11:08:43 +01:00
smizrahi 435495f007 feat(core): Add SOGoDisableSharing option to disable sharing for mail, contacts and calendar 2022-12-12 12:03:59 +01:00
smizrahi 5d6b40c8cf fix(core(js)): Removed es6 'const' for build issues with grunt 2022-12-12 09:14:23 +01:00
smizrahi 03e6d0012b fix(calendar): Fix inaccessibility to personal calendar on Mac OS X Ventura. Fixes #5639 2022-12-07 17:57:00 +01:00
smizrahi fe9ae12e46 fix(security): Security fix for WSTG-INPV-02. Fix NSException where tried to modify NSDictionary. Closes #5651. 2022-12-05 11:45:45 +01:00
smizrahi ed9d247f3e chore(release): 5.8.0 2022-11-30 15:50:43 +01:00
smizrahi a010f629f0 fix(security): Security fix for WSTG-INPV-02. Fix NSException where mailIdentities is invalid on init. Closes #5651. 2022-11-30 12:40:52 +01:00
smizrahi 6971ebd2d1 fix(security): Security fix for WSTG-INPV-02. Fix assertion on NSRange 2022-11-29 17:34:34 +01:00
smizrahi b3e43454f9 Update changelog and version 2022-11-29 16:02:54 +01:00
smizrahi 59d4c08950 chore(timezones): Update to version 2022f 2022-11-29 13:37:19 +01:00
smizrahi 0cd7a170a0 i18n(nb_NO): Update Norwegian Bokmål translations 2022-11-29 13:19:39 +01:00
smizrahi 67cf3c0017 chore(npm): Update CKEditor to version 4.20.0 2022-11-29 10:58:38 +01:00
smizrahi 49879efbc6 fix(ui): Change active user name on top left with primary identity 2022-11-23 14:44:07 +01:00
smizrahi 27860648c1 fix(core): Fix NSException when c_content is NULL. Closes #5644. Original fix by @jvdsn. 2022-11-23 14:25:15 +01:00
smizrahi 26b9429396 fix(ui): Change active user name on top left with primary identity 2022-11-23 13:33:59 +01:00
smizrahi d3634747d5 feat(password-recovery): Change secondary email obfuscation 2022-11-23 10:06:43 +01:00
smizrahi b1f84891b0 fix(security): Security fix for WSTG-INPV-02. Add unit test. 2022-11-23 09:34:54 +01:00
smizrahi 48c7375544 perf(mail): Improve IMAP fetch sorting using NSDictionary keys instead of indexOfObject. Code refactoring 2022-11-22 17:48:45 +01:00
smizrahi f5c6fcc350 fix(security): Security fix for WSTG-INPV-02. Fix build issue in ubuntu trusty 2022-11-22 17:37:15 +01:00
smizrahi 58540f15e2 feat(password-recovery): Change when secret question answer is wrong, go back to secret question instead of login 2022-11-22 17:31:59 +01:00
smizrahi c62b043e26 fix(addressbook): Fix NSException on address book where uppercaseString is called on data 2022-11-22 15:12:58 +01:00
smizrahi 96cd1880da i18n(nb_NO): Update Norwegian Bokmål translations 2022-11-22 14:10:50 +01:00
smizrahi 37291facc7 i18n(da_DK): Update Danish translations 2022-11-22 14:10:50 +01:00
WoodySlum (Le Programmeur) c378ffdbba Merge pull request #334 from tfux/5330
fix(eas): ensure correct encoding of attachments(fixes #5330)
2022-11-22 12:19:46 +01:00
smizrahi efac49ae91 fix(security): Security fix for WSTG-INPV-02. Add XSS protection on identity fullName. Fixes #5642. 2022-11-22 10:54:06 +01:00
smizrahi 1e0f5f0089 fix(security): Security fix for WSTG-INPV-02. Add XSS protection on folders and mail title / content 2022-11-22 10:09:41 +01:00
root dff907a158 fix(eas) ensure correct encoding of attachments(fixes #5330) 2022-11-21 11:05:33 +01:00
smizrahi dcbfd830d4 fix(security): Security fix for WSTG-INPV-02. Add XSS protection on folders and mail title / content. Fix build issue in ubuntu trusty. 2022-11-18 09:16:40 +01:00
smizrahi 60ec3152e8 perf(mail): Improve IMAP fetch sorting using NSDictionary keys instead of indexOfObject. Code refactoring 2022-11-18 08:58:10 +01:00
smizrahi 38e886a3e0 perf(mail): Improve IMAP fetch sorting using NSDictionary keys instead of indexOfObject. Fix build issue. 2022-11-16 21:59:11 +01:00
smizrahi 40b5c0918a perf(mail): Improve IMAP fetch sorting using NSDictionary keys instead of indexOfObject 2022-11-16 21:08:48 +01:00
smizrahi 714acfc838 fix(security): Security fix for WSTG-INPV-02. Add XSS protection on folders and mail title / content 2022-11-14 14:36:46 +01:00
WoodySlum (Le Programmeur) 967479335c Merge pull request #333 from tfux/5640
fix(eas) improvement for bug #5612 (fixes #5640)
2022-11-14 09:03:46 +01:00
root e1c7e32f84 fix(eas) improvement for bug #5612 (fixes #5640) 2022-11-12 22:37:15 +01:00
smizrahi 7bfa900ae1 feat(login): Add button to discover password 2022-11-09 15:40:29 +01:00
WoodySlum (Le Programmeur) 8bfc3e4205 Merge pull request #332 from ichdasich/adjust_imap_authenticate_documentation
Adjust imap authenticate documentation
2022-11-08 17:09:47 +01:00
Tobias Fiebig 14608b168a docs(core): extend documentation for NGImap4AuthMechanism in sogo.conf
update documentation for NGImap4AuthMechanism to highlight that using
`AUTHENTICATE` is necessary to allow users to have UTF-8 characters in their
passwords, i.e., especially 'umlauts'.
2022-11-08 13:45:04 +01:00
Tobias Fiebig a846edee1c docs(core): add NGImap4AuthMechanism = "plain"; to sample config file
forcing `AUTHENTICATE` using Add NGImap4AuthMechanism = "plain"; is necessary
for setups where users have UTF-8 characters in their password
2022-11-08 13:41:08 +01:00
WoodySlum (Le Programmeur) 2d4a700700 Merge pull request #330 from tfux/5612
fix(eas) use bare email address (fixes #5612)
2022-11-08 08:19:24 +01:00
WoodySlum (Le Programmeur) b4633bdbf3 Merge pull request #329 from tfux/5626
fix(eas) ensure Templates and Junk folder exits (fixes #5626)
2022-10-31 17:48:56 +01:00
root 2d9a70944b fix(eas) use bare email address (fixes #5612) 2022-10-30 16:55:54 +01:00
root 2ffe3d79d2 fix(eas) ensure Templates and Junk folder exits (fixes #5626) 2022-10-30 16:11:42 +01:00
smizrahi 18c92dac31 feat(password-recovery): Add loader for password recovery - when requests are slow, the UI does not display anything. 2022-10-26 16:23:55 +02:00
smizrahi 7444865544 Removed useless comment in code 2022-10-26 14:39:20 +02:00
smizrahi 549d6a8463 fix(calendar): Update c_startdate field when updating event. Fixes #4376 2022-10-26 14:30:10 +02:00
smizrahi 9b023f43d5 feat(password-recovery): Avoid removing XSRF token cookie on passwordRecoveryCheck request 2022-10-25 14:50:12 +02:00
Le Programmeur 43b81bf9fd Merge pull request #327 from helsinki-systems/fix/duplicated-recurrence-rules
Fix OOM when having a lot of recurrence rules
2022-10-24 14:50:05 +02:00
Le Programmeur b672b0acc3 Merge pull request #328 from helsinki-systems/fix/mail-validation
fix(mail(js)): fix validation of email addresses
2022-10-24 13:50:17 +02:00
smizrahi 440a15ba98 feat(password-recovery): Clean session cookies on password change 2022-10-24 13:49:13 +02:00
Max Hausch d194b1e921 fix(mail(js)): fix validation of email addresses
This fixes a js error that was introduced by
67ccf748ed If applied, this fix allows
users to copy and paste multiple email addresses into the recipient
fields, e.g., from a excel file.
2022-10-20 10:52:28 +02:00
smizrahi e269df8c6e feat(password-recovery): Improve documentation 2022-10-19 15:53:47 +02:00
smizrahi b7531bc59b feat(password-recovery): Fix undefined in URL when click on back button 2022-10-19 15:41:39 +02:00
smizrahi 119e3870cf i18n(nb_NO): Update Norwegian Bokmål translations 2022-10-19 14:47:30 +02:00
smizrahi 0409ee37be i18n(da_DK): Update Danish translations 2022-10-18 21:40:08 +02:00
smizrahi 4c01ea210e i18n(fr): Update French translations 2022-10-18 21:37:16 +02:00
smizrahi e51aee8ce0 i18n(sr): Update Serbian translations 2022-10-18 21:35:15 +02:00
smizrahi 57fb62244d i18n(nb_NO): Update Norwegian Bokmål translations 2022-10-18 21:30:10 +02:00
smizrahi 33940b14ea feat(password-recovery): Improve password lost link style 2022-10-18 16:19:20 +02:00
Janne Heß 20e4dced40 Fix OOM when having a lot of recurrence rules
We had a broken client that created calendar entries with a lot of
recurrence rule (all of them FREQ=WEEKLY) and a lot of alarms. This led
to SOGo going out of memory.

This patch works around that by filtering out duplicated rules as they
yield the same date ranges and we only need to have them once.
2022-10-18 13:42:13 +02:00
smizrahi 5fb82fe414 feat(calendar): Refresh data when clicking on 'today' 2022-10-17 18:55:32 +02:00
smizrahi 77062befc5 feat(password-recovery): Update documentation 2022-10-17 11:56:17 +02:00
smizrahi d50080ea5b feat(password-recovery): Add LDAP password recovery 2022-10-16 14:46:19 +02:00
smizrahi cddfdb90f9 feat(calendar): Add SOGoDisableOrganizerEventCheck parameter - this parameter is used to avoid checking calendar event's organizer 2022-10-05 22:12:14 +02:00
smizrahi 88950c5b97 Update README 2022-10-05 10:58:39 +02:00
smizrahi c4dd695b12 feat(password-recovery): Fix dictionary with nil value issue. Changed parameter to SOGoPasswordRecoveryEnabled 2022-10-04 18:22:57 +02:00
Le Programmeur d5ad0ddf5d Merge pull request #324 from the-nic/fix-5416
(fix) NSString+Utilities: Fix safeStringByEscapingXMLString on gnuste…
2022-10-04 09:45:45 +02:00
smizrahi 04dd78d738 fix(addressbook): Fix invalid template 2022-10-03 14:57:28 +02:00
smizrahi 1ea8b9fb1f feat(password-recovery): Fix build issue. Restored previously removed used var. 2022-10-03 14:18:59 +02:00
smizrahi 2e1b22cb23 feat(password-recovery): Fix build issue 2022-10-03 13:45:10 +02:00
smizrahi fb51911936 Merge branch 'master' into password-recovery 2022-10-03 10:59:16 +02:00
smizrahi 14a10136ca style(mail): Fix unscrollable multiple delegated mailboxes issue 2022-10-03 09:04:43 +02:00
smizrahi 656807b77d feat(password-recovery): Add password recovery with secret question or secondary email 2022-10-03 08:56:41 +02:00
smizrahi 6931186bba chore(js/css): update generated files. Fix https://bugs.sogo.nu/view.php?id=5581. 2022-09-14 11:19:46 +02:00
Francis Lachapelle 3eeebbc83b fix(calendar(js)): destination calendars of new components
Fixes #5581
2022-08-19 10:07:14 -04:00
adetk c46e16742e Merge branch 'Alinto:master' into master 2022-08-19 09:55:09 +06:00
Adet Kineyev d1401e3bfc i18n(ru): Date specific Russian from and to translations 2022-08-19 09:22:56 +06:00
Francis Lachapelle 1e4c134591 style: remove debugging output 2022-08-18 23:02:36 -04:00
smizrahi e5dae36bb5 Update authors in documentation 2022-08-17 16:21:44 +02:00
smizrahi bf82d2b599 Update authors in documentation 2022-08-17 16:20:58 +02:00
smizrahi 62ba2968cb Update changelog for version 5.7.1 2022-08-17 16:00:56 +02:00
smizrahi f9e975af21 Set back Inverse copyrights 2022-08-17 10:06:28 +02:00
smizrahi b8a010f3ba Set back Inverse copyrights 2022-08-17 09:45:00 +02:00
Francis Lachapelle 928435704c chore(js/css): update generated files 2022-08-16 08:57:09 -04:00
Francis Lachapelle 16459c7b3d fix(calendar(js)): conditional display of edit and delete buttons 2022-08-15 15:31:19 -04:00
Francis Lachapelle 3f7fef0788 fix(calendar): remove time from until date of rrule of all-day event
See RFC 5545, section 3.3.10 Recurrence Rule.
2022-08-15 13:25:35 -04:00
Nicolas Höft 3b3e0195b1 (fix) NSString+Utilities: Fix safeStringByEscapingXMLString on gnustep-base-1.28
Newer gnustep version would add a byte-order-mark on
NSString:dataUsingEncoding:NSUTF32StringEncoding, use NSUTF32LittleEndianStringEncoding
instead to skip the BOM.

Fixes #5416
2022-08-15 17:06:00 +02:00
smizrahi ea06fa7cbf docs: Removed Inverse logo 2022-08-12 18:16:39 +02:00
smizrahi dc45d0ed24 docs: Change references to Alinto 2022-08-12 18:15:35 +02:00
smizrahi 1ec6fd1679 chore(release): 5.7.1 2022-08-12 17:38:22 +02:00
smizrahi a54115c96a Update URL for bts 2022-08-12 17:28:46 +02:00
smizrahi f92e292547 chore(timezones): Update to version 2022b 2022-08-12 17:23:36 +02:00
smizrahi abc2df0da0 i18n(hu): Update Hungarian translations 2022-08-12 15:58:21 +02:00
smizrahi a418baa276 i18n(fr): Update French translations 2022-08-12 15:58:03 +02:00
smizrahi c00ab0d7a7 Update gitignore 2022-08-12 15:21:51 +02:00
smizrahi cbf6e06964 chore(js/css): update generated files 2022-08-11 18:02:41 +02:00
smizrahi 5b84d083b8 chore(fonts): Update Fira font to commit fd8c8c0 2022-08-11 17:52:39 +02:00
smizrahi a2bed5f76f chore(npm): Update CKEditor to version 4.19.1 and update gitignore 2022-08-11 17:29:22 +02:00
smizrahi 7a985f8eff Removed i18n mailing list from README 2022-08-10 20:47:28 +02:00
smizrahi 1ebb6a11f4 Update URL documentation for Alinto migration 2022-08-10 09:27:47 +02:00
Francis Lachapelle 95eecc402a fix(dav): return 405 when collection already exists
See https://datatracker.ietf.org/doc/html/rfc4918#section-9.3.1
2022-08-09 12:17:55 -04:00
Francis Lachapelle efe78c5179 fix(mail(js)): handle paste action from contextual menu
Fixes #5488
2022-08-08 17:38:10 -04:00
Francis Lachapelle 4e79a1e995 test: we now encode everything in XML documents 2022-08-04 16:15:45 -04:00
Francis Lachapelle 4f7981b1c3 test: improve TestNGMimeHeaderFieldGenerator 2022-08-04 16:09:33 -04:00
Francis Lachapelle ac602dd58c test: improve error message in localhost test 2022-08-04 16:06:06 -04:00
Francis Lachapelle 931fc8d6ef chore(js/css): update generated files 2022-07-28 12:10:05 -04:00
Francis Lachapelle 67ccf748ed fix(web(js)): improve validation of email addresses
Overwrite the AngularJS validation and transformation of email inputs in
order to support umlauts and eszett.
2022-07-28 10:46:40 -04:00
Le Programmeur 5e6ad77d4c fix(i18n): new localized strings for SQL-based password policies 2022-07-26 12:22:53 -04:00
Francis Lachapelle a667c69f3c i18n(kk): add Kazakh translation 2022-07-25 09:13:24 -04:00
adetk d1971b76e2 i18n(kk): Add Kazakh translation by Nazym Idrissova 2022-07-25 07:39:28 -04:00
Adet Kineyev d1ad970864 i18n(kk): Add .wod files for Kazakh translation 2022-07-23 15:16:58 +06:00
InverseBot 0d720b7c63 chore(js/css): update generated files 2022-07-23 00:17:39 -04:00
Francis Lachapelle adfd175681 fix(preferences): regex in Sieve scripts are now case sensitive
Fixes #5561
2022-07-22 16:45:47 -04:00
Francis Lachapelle 407bc538df fix(mail(js)): resolve sub mailboxes in global search
Fixes #5559
2022-07-22 15:34:44 -04:00
Adet Kineyev 0fcf113c16 i18n(kk): Add Kazakh translation to source code files 2022-07-19 09:04:34 +06:00
InverseBot 82747746c6 chore(js/css): update generated files 2022-07-17 00:17:21 -04:00
Francis Lachapelle 2ae03d5095 fix(preferences(js)): don't filter vacation start date 2022-07-15 11:14:22 -04:00
Francis Lachapelle 0720dc44fd fix(addressbook(dav)): improve handling of addressbook-query 2022-07-13 16:46:00 -04:00
Francis Lachapelle e18dc2cd5a fix(mail(js)): add CKEditor plugins emoji and bidi 2022-07-08 10:57:57 -04:00
Francis Lachapelle a6f7c1ea61 fix(calendar): update all quick fields when updating event
Fixes #5546
2022-07-08 10:31:59 -04:00
Nicolas Höft edd64a396e fix(core): adjustments for IPv6 2022-07-06 08:49:48 -04:00
Francis Lachapelle 2f9f610210 fix(core): handle argon2i password scheme
Fixes #5531
2022-07-05 12:42:57 -04:00
Francis Lachapelle 27d45b6d76 fix(mail): use encoding from MIME part 2022-07-05 08:59:48 -04:00
Francis Lachapelle 6bed6c0e20 fix(core): don't remove double quotes when parsing versit strings
Fixes #3530
Fixes #3930
2022-06-29 16:58:28 -04:00
Francis Lachapelle ebf032ee6b fix(core): don't remove double quotes when parsing versit strings
Fixes #3530
2022-06-29 08:31:08 -04:00
Francis Lachapelle d99aa82a31 fix(core): don't remove double quotes when parsing versit strings
Fixes #3530
2022-06-28 16:54:41 -04:00
Nazym Idrissova 29bda6b945 i18n(kk): Add Kazakh translation by Nazym Idrissova 2022-06-20 11:02:28 +06:00
Francis Lachapelle 9fb3705005 chore(release): 5.7.0 2022-06-10 15:21:57 -04:00
Francis Lachapelle 3aea397af9 i18n(tr_TR): update Turkish (Turkey) translation 2022-06-10 15:14:15 -04:00
Francis Lachapelle b272e2dee6 i18n(hu): update Hungarian translation 2022-06-10 15:14:02 -04:00
Francis Lachapelle 1684c234a3 i18n(bg_BG): update Bulgarian translation 2022-06-10 15:13:47 -04:00
Francis Lachapelle fa39e2a19a i18n(it): update Italian translation 2022-06-10 15:13:34 -04:00
Francis Lachapelle 825d341f8d i18n(de): update German translation 2022-06-10 15:13:16 -04:00
Francis Lachapelle 515d03080e i18n(uk): update Ukrainian translation 2022-06-10 15:12:46 -04:00
Francis Lachapelle 2ae6b46c55 i18n(ru): update Russian translation 2022-06-10 15:12:18 -04:00
Francis Lachapelle 5b960759d2 i18n(nl): update Dutch translation 2022-06-10 15:11:36 -04:00
Francis Lachapelle 15a381d1fd chore(npm): update CKEditor to version 4.19.0 2022-06-10 15:04:43 -04:00
Francis Lachapelle 580a73c857 fix(mail): add default label & color for $forwarded flag
Fixes #5534
2022-06-10 08:25:54 -04:00
Francis Lachapelle bd40b95f70 fix(calendar): disable wrapping of labels in mail templates 2022-06-09 11:46:25 -04:00
Francis Lachapelle 123964d079 style(calendar): untabify, indentation 2022-06-07 10:24:28 -04:00
Francis Lachapelle 5c331d3451 docs: improve syntax 2022-06-06 17:00:21 -04:00
Francis Lachapelle 2ef849ca65 feat(preferences): password constraints for SQL sources
Initial implementation of some password policy support for SQL sources.
2022-06-06 16:39:26 -04:00
InverseBot 03cdc4f3b1 chore(js/css): update generated files 2022-06-03 00:16:37 -04:00
Francis Lachapelle 51f6536d16 docs: update CONTRIBUTING file
Fixes #5527
2022-06-01 09:19:02 -04:00
Francis Lachapelle 2aaad3de22 perf(tool): cache IMAP delimiters when updating sieve filters 2022-05-27 10:16:22 -04:00
Francis Lachapelle c87ce46d29 perf(tool): cache IMAP delimiters when updating sieve filters 2022-05-26 09:25:42 -04:00
InverseBot be7ca731b3 chore(js/css): update generated files 2022-05-26 00:16:53 -04:00
Francis Lachapelle f67e304caf chore(tool): respect start time of auto reply when start date is today 2022-05-25 17:00:02 -04:00
Muhammed Yalçınkaya 2df931bc3a i18n(tr_TR): update README file with new Turkish translation contributor 2022-05-25 15:30:31 -04:00
Francis Lachapelle cddd016e53 fix(administration(js)): add rgba colors to theme preview 2022-05-25 13:35:27 -04:00
Francis Lachapelle 36303bef9d fix(preferences): keep mail identities when none is provided when saving 2022-05-25 13:31:03 -04:00
Francis Lachapelle 9337915890 fix(preferences(js)): prohibit deleting the last editable mail identity 2022-05-25 13:27:57 -04:00
Francis Lachapelle 5452cd7396 fix(calendar): filter by matching property values
Added test for calendar-query DAV request
2022-05-24 17:29:56 -04:00
Francis Lachapelle dec49c2154 i18n(tr_TR): update Turkish (Turkey) translation 2022-05-20 17:40:42 -04:00
Francis Lachapelle 51dc929d0c feat(addressbook(web)): import vList from versit file 2022-05-18 16:25:04 -04:00
InverseBot e020a514a1 chore(js/css): update generated files 2022-05-18 00:16:28 -04:00
Francis Lachapelle a40d3b6296 fix(mail): remove unused directive in mail editor 2022-05-17 21:13:50 -04:00
Francis Lachapelle 412d73b166 fix(mail(js)): transition to a message using the router 2022-05-17 21:12:54 -04:00
Francis Lachapelle 715cf71ba3 fix(mail(js)): refresh of parent window when saving draft/template 2022-05-17 15:33:43 -04:00
Francis Lachapelle 35f9f35ef0 refactor(js): improve defintion of some controllers 2022-05-17 15:33:43 -04:00
InverseBot 6242546797 chore(js/css): update generated files 2022-05-17 00:19:59 -04:00
Francis Lachapelle 47c629f13c chore(mail): remove UIxMailFolderMenu.wox 2022-05-16 17:43:35 -04:00
Francis Lachapelle 0130803cd4 chore(core): remove UIxModuleAccessDenied 2022-05-16 17:43:35 -04:00
Francis Lachapelle 1328a2566b fix(admininistration(js)): improve handling of unauthorized access 2022-05-16 17:43:35 -04:00
Francis Lachapelle dd0730947f web: update window title depending on active module
Fixes #4982
2022-05-16 17:43:35 -04:00
Francis Lachapelle 0cf025b0af refactor(js): improve defintion of some controllers 2022-05-16 17:43:35 -04:00
InverseBot 5c0d8c11da chore(js/css): update generated files 2022-05-13 00:21:37 -04:00
Francis Lachapelle 33217456fc fix(administration): add theme preview 2022-05-12 16:59:25 -04:00
Francis Lachapelle 1e9ae3184b fix(administration(js)): fix toast when saving ACLs 2022-05-12 15:54:53 -04:00
Francis Lachapelle 373ac51e62 fix(core): don't auto-remove a subscription if any source is in error 2022-05-11 16:29:49 -04:00
Francis Lachapelle ab5f5abc80 i18n(ja): fix mail reply and forward templates 2022-05-10 21:35:34 -04:00
InverseBot 58a9c56897 chore(js/css): update generated files 2022-05-10 00:22:03 -04:00
abma 09ac2dfda3 fix(mail(js)): fix url for protocol Handler registration
Fixes #5513
2022-05-09 14:49:51 -04:00
Francis Lachapelle 5dce4d0cc9 chore(release): 5.6.0 2022-05-04 09:23:10 -04:00
Francis Lachapelle 709c8da56a chore(timezones): update to version 2022a 2022-05-03 16:37:41 -04:00
Francis Lachapelle 048858ba0f feat(calendar): optionally remove attendees that can't be invited
If some attendees have prevented others to invite them, offer the
organizer to remove them when saving the invitation.
2022-05-03 09:16:44 -04:00
InverseBot 1e87e294a7 chore(js/css): update generated files 2022-05-03 00:21:31 -04:00
Francis Lachapelle 6eaa362543 i18n(de): update German translation 2022-05-02 17:24:54 -04:00
Francis Lachapelle 485371f41b chore(Apache): minor improvements to Apache configuration
Add Cache-Control header for dynamic content.
2022-05-02 17:04:27 -04:00
Francis Lachapelle 4657f5617d i18n(pl): update Polish translation 2022-05-02 16:45:18 -04:00
Francis Lachapelle 7fccfb2f8e i18n(it): update Italian translation 2022-05-02 16:44:44 -04:00
Francis Lachapelle 0211153877 i18n(fr): update French translation 2022-05-02 16:43:26 -04:00
Francis Lachapelle 1b3b9c253c fix(calendar(js)): adjust line of the current time to user's timezone
Fixes #5512
2022-05-02 12:37:58 -04:00
Francis Lachapelle 700d726511 fix(addressbook): allow search on name fields in personal addressbooks 2022-04-29 13:50:22 -04:00
Francis Lachapelle 2f725a3f2d feat(calendar): search for past events and tasks
Fixes #5441
2022-04-28 13:47:02 -04:00
Francis Lachapelle 8fccd23227 fix(calendar): fix yearly recurrence calculator with a finite rule
Fixes #5506
2022-04-28 11:46:59 -04:00
InverseBot aee7393b2d chore(js/css): update generated files 2022-04-28 00:22:04 -04:00
Francis Lachapelle c2eed7844a fix(mail(js)): use different email separator keys depending on locale
Fixes #3513
Fixes #4042
Fixes #5308
Fixes #5309
2022-04-27 15:38:51 -04:00
Francis Lachapelle a5b85d72bc fix(addressbook): close DB connection after LDIF import
Fixes #5507
2022-04-27 13:56:56 -04:00
Francis Lachapelle 8a0c46ded2 chore: update 9-table model migration script to match latest schema 2022-04-26 14:11:41 -04:00
Francis Lachapelle b35a10a280 fix(web): update parameters of meta tag for robots
Fixes #4930
2022-04-25 17:24:10 -04:00
Francis Lachapelle 090c1ea9e7 fix(mail): mark deleted messages as seen
The STATUS command will now report the proper unseen messages count.
2022-04-25 10:28:00 -04:00
InverseBot 73954ef63e chore(js/css): update generated files 2022-04-23 00:22:28 -04:00
Francis Lachapelle b198c84b42 fix(mail(js)): improve scrolling of list when moving with arrows keys 2022-04-22 17:27:35 -04:00
Francis Lachapelle c8ce3f10d6 fix(mail(js)): perform a full fetch when in unseen/flagged mode 2022-04-22 15:26:22 -04:00
Francis Lachapelle f32c3d78e5 fix(mail): add subject and date to file names of exported messages 2022-04-22 14:58:27 -04:00
Francis Lachapelle 2676aa9539 fix(calendar): set missing RSVP parameter to TRUE for attendees
This is not the expected behaviour defined in the RFC, but it's more
convenient for users.
2022-04-19 15:30:39 -04:00
Francis Lachapelle a0f6842267 fix(eas): improve error logging 2022-04-19 15:15:01 -04:00
Francis Lachapelle 5cd006286e i18n(hu): update Hungarian translation 2022-04-17 22:13:40 -04:00
Francis Lachapelle 4e5c865a3f feat(calendar): optionally remove attendees that can't be invited
If some attendees have prevented others to invite them, offer the
organizer to remove them when saving the invitation.
2022-04-14 20:39:36 -04:00
Francis Lachapelle 59eda2f1b8 i18n(bg): update Bulgarian translation 2022-04-14 09:05:43 -04:00
InverseBot 0a48821100 chore(js/css): update generated files 2022-04-12 00:20:56 -04:00
Francis Lachapelle 2c76f177a3 i18n(de): update German translation 2022-04-11 16:52:09 -04:00
Francis Lachapelle dae6d6d521 fix(calendar): update calendar of all attendees when active user is not owner 2022-04-11 16:42:34 -04:00
Francis Lachapelle 1509090dc1 i18n(it): update Italian translation 2022-04-11 14:37:39 -04:00
Francis Lachapelle 30ab725b71 i18n(pt_BR): update Brazilian Portuguese translation 2022-04-11 13:53:00 -04:00
Francis Lachapelle 969cfd362c fix(addressbook): handle LDIF file with a single contact when importing 2022-04-11 09:09:37 -04:00
Francis Lachapelle 2cf77b6145 fix(mail): force TNEF body parts to be decoded in UTF-8 2022-04-08 11:21:48 -04:00
Francis Lachapelle dcc2ebcd4a i18n(fr): update French translation 2022-04-08 10:14:53 -04:00
Francis Lachapelle c6a41d31ce fix(mail): avoid exception when accessing signed/encrypted body parts 2022-04-08 10:02:54 -04:00
InverseBot 1228cc5213 chore(js/css): update generated files 2022-04-07 00:20:59 -04:00
Francis Lachapelle 8ed4fc88b5 feat(mail): always forward incoming messages, before all filters
This new "Always forward" checkbox allows the user to forward incoming
messages before evaluating the other filters, if any. When unchecked,
the "redirect" directive is executed after all filters; if a filter
stops evaluating the remaining rules, the message won't be forwarded.
2022-04-06 15:43:07 -04:00
Francis Lachapelle 44afac0715 fix(addressbook): preload cards when creating list from selection 2022-04-06 13:24:47 -04:00
Francis Lachapelle 4b9564139b fix(mail): improve error loging when encrypting/decrypting a msg 2022-04-05 15:33:54 -04:00
Francis Lachapelle 32e0479bf1 i18n(sl_SI): update Slovenian translation 2022-03-30 19:43:59 -04:00
Francis Lachapelle 53354c5db2 fix(mail): improve error loging when signing a message 2022-03-29 10:53:23 -04:00
Francis Lachapelle 6d50dee063 fix(core): encode reserved HTML characters in RTF parser
Fixes #5388
2022-03-29 10:44:35 -04:00
Francis Lachapelle a5d18bfced fix(core): improve escaping of double-quotes
Fixes #5351
2022-03-29 10:39:09 -04:00
Francis Lachapelle 3140a9dc1d fix(acls): fix SQL conversion for LIKE operator to find groups
Fixes #5492
2022-03-28 13:50:03 -04:00
InverseBot 97e8f082c2 chore(js/css): update generated files 2022-03-28 00:20:58 -04:00
Francis Lachapelle 3e11e0a62a chore: SQL update script for v5.6.0
Fixes #5491
2022-03-25 11:22:51 -04:00
Francis Lachapelle c348ca2b85 fix(calendar(dav)): prevent duplicates in PUT 2022-03-25 07:11:02 -04:00
Francis Lachapelle fbd2eb8294 fix(calendar): rely on organizer's event state before updating attendee
When an attendee is adding a new event for which the organizer is local
but doesn't have the event anymore, return a 412 error code.

Fixes #5496
2022-03-24 15:31:39 -04:00
Francis Lachapelle 5d2877cf0a test: add plus sign to timezone in Sieve script 2022-03-24 15:26:37 -04:00
Francis Lachapelle ec7199e00f fix(addressbook): keep folders order in matching contacts
This will ensure sources (LDAP/SQL) entries are returned first.
2022-03-23 12:00:52 -04:00
Francis Lachapelle b37e68b8ee fix(dav): use utf-8 as charset name instead of utf8
Fixes #5495
2022-03-22 10:41:31 -04:00
InverseBot 38ace5ec75 chore(js/css): update generated files 2022-03-22 00:20:57 -04:00
Francis Lachapelle 7c0592e03e fix(mail(js)): map the NSLocale to the proper CKEditor locale 2022-03-21 15:57:51 -04:00
Francis Lachapelle 06497a729c chore(npm): update CKEditor to version 4.18.0 2022-03-21 13:44:24 -04:00
Francis Lachapelle c7ee4d8c19 fix(addressbook(web)): update card on save when certificate is removed 2022-03-21 10:12:21 -04:00
Francis Lachapelle 547d26af19 fix(addressbook(js)): unselect current card on delete 2022-03-21 09:22:52 -04:00
Francis Lachapelle 896fe27c61 test: handle DST change in CalDAVSchedulingSpec.js 2022-03-11 10:28:44 -05:00
Francis Lachapelle 55baeb107f fix(mail): check return value of "setacl" IMAP command 2022-03-09 14:57:32 -05:00
Francis Lachapelle 1545bcdbba fix(addressbook(dav)): improve handling of addressbook-query 2022-03-09 11:15:38 -05:00
Francis Lachapelle a965f276c8 fix(web): support passwords up to 2048 characters
Fixes #5485
2022-03-08 16:34:38 -05:00
redgloboli 17f1df3904 doc: add ytnef to exclude section in epel.repo 2022-03-07 11:07:14 -05:00
Francis Lachapelle 96d00b744e fix(mail(web)): display emails extracted from smime certificate
Fixes #5440
2022-03-07 11:03:04 -05:00
Francis Lachapelle 31da2d9f59 fix(mail): case insensitve check of sender address with certificate 2022-03-07 10:27:48 -05:00
Francis Lachapelle e417c0b201 fix(calendar(dav)): prevent duplicates in PUT 2022-03-04 09:34:45 -05:00
Francis Lachapelle 8409c3cbb5 fix(addressbook(dav)): add support for mail property in addressbook-query
Fixes #5489
2022-03-04 08:29:03 -05:00
InverseBot 74a73638cf chore(js/css): update generated files 2022-03-04 00:52:19 -05:00
Francis Lachapelle 87b1c8e239 fix(web(js)): show toast when fetching a folder ACLs fails 2022-03-03 14:00:29 -05:00
InverseBot 580391406f chore(js/css): update generated files 2022-03-02 00:20:17 -05:00
Francis Lachapelle 04ffc01768 test: temporary fix for CardDAVSpec.js 2022-03-01 17:48:29 -05:00
Francis Lachapelle d15e3b949f test: fix CardDAVSpec.js 2022-03-01 16:38:30 -05:00
Francis Lachapelle d90e29ed63 fix(mail(js)): improve signature replacement when switching identities 2022-03-01 13:16:19 -05:00
Francis Lachapelle 7f31686bc5 test: fix CardDAVSpec.js 2022-03-01 07:52:53 -05:00
Francis Lachapelle 7faab9117a fix(addressbook(dav)): improve handling of addressbook-query 2022-02-28 17:07:39 -05:00
Francis Lachapelle 3f93e6ebc4 fix(calendar): update quick table when removing all categories of task 2022-02-21 11:11:26 -05:00
Francis Lachapelle 8a3cb76f0a fix(calendar): send modification notifications for tasks 2022-02-21 10:44:49 -05:00
InverseBot 4f9601edb2 chore(js/css): update generated files 2022-02-19 00:20:21 -05:00
Francis Lachapelle c476503d4a feat(mail(web)): forward multiple messages as attachments
Fixes #33
2022-02-18 17:05:25 -05:00
Francis Lachapelle a98b404551 fix(imap): use proxy authentication to detect IMAP delimiter
Fixes #5479
2022-02-17 10:09:37 -05:00
Francis Lachapelle 557ff59ea5 fix(mail): identify junk mailbox in lookup
Fixes #5482
2022-02-16 08:35:07 -05:00
Francis Lachapelle 401a80078c fix(preferences): don't save Sieve script if Mail module disabled 2022-02-15 10:49:39 -05:00
Francis Lachapelle 0e20bbc28e perf(mail): perform IMAP STATUS command to fetch unseen msgs count 2022-02-15 10:25:46 -05:00
Francis Lachapelle b2438873fe i18n(pl): update Polish translation 2022-02-15 08:28:38 -05:00
Francis Lachapelle f69fe5bea1 i18n(de): update German translation 2022-02-15 08:28:22 -05:00
Francis Lachapelle 1b408a6ade i18n(fr): update French translation 2022-02-15 08:28:06 -05:00
InverseBot 8ad34a1630 chore(js/css): update generated files 2022-02-15 00:53:25 -05:00
Francis Lachapelle 10282ae3a4 style(obj-c): remove unused code 2022-02-14 14:23:44 -05:00
Francis Lachapelle 63ad7aac9f fix(mail): identify junk mailbox in lookup
Fixes #5482
2022-02-14 13:35:06 -05:00
Francis Lachapelle 6c420861d4 fix(mail(js)): handle new message from template in popup window 2022-02-14 12:56:08 -05:00
Francis Lachapelle 21dc73df56 feat(mail(web)): Templates folder for pre-defined drafts
To create a template, the user needs to:

- define a mailbox as the Templates folder;
- move a draft to this special folder.

Fixes #4320
Fixes #5363
2022-02-14 09:33:53 -05:00
Francis Lachapelle d097193904 fix(preferences): don't save Sieve script if Mail module disabled 2022-02-14 09:04:26 -05:00
InverseBot 5e9260303c chore(js/css): update generated files 2022-02-12 00:20:54 -05:00
Francis Lachapelle a74cf05af8 fix(preferences): fix compilation warning 2022-02-11 14:12:11 -05:00
Francis Lachapelle 1e52e18f89 fix(preferences): fix compilation warning 2022-02-11 10:06:57 -05:00
Francis Lachapelle b252aeb29b fix(mail(js)): expect the recipient to become a string when saving a message 2022-02-11 10:06:57 -05:00
Francis Lachapelle 10076bea09 fix(mail(js)): show the recipient when in the Drafts mailbox 2022-02-11 10:06:57 -05:00
Francis Lachapelle bd5a5e3049 fix(mail): remove signature prior to sign the message 2022-02-11 10:06:57 -05:00
Francis Lachapelle c986422a3d feat(mail(web)): Templates folder for pre-defined drafts
To create a template, the user needs to:

 - define a mailbox as the Templates folder;
 - move a draft to this special folder.

Fixes #4320
Fixes #5363
2022-02-11 10:06:57 -05:00
Slavi Pantaleev 02b0a41567 i18n(bg): update Bulgarian translation 2022-02-11 09:33:56 -05:00
Francis Lachapelle fe038bb2ef fix(mail): identify junk mailbox in lookup
Fixes #5482
2022-02-11 08:04:11 -05:00
InverseBot d9cb5785c6 chore(js/css): update generated files 2022-02-11 00:20:51 -05:00
Francis Lachapelle d63fd6c3a2 fix(mail): don't add signature unless a default identity is forced 2022-02-10 15:56:19 -05:00
Francis Lachapelle b1a6487744 i18n(de): update German translation 2022-02-10 13:51:43 -05:00
Francis Lachapelle 80b0d99687 fix(preferences(js)): don't check Sieve capabilities if Mail module disabled 2022-02-10 10:03:16 -05:00
Francis Lachapelle 3847b57855 fix(mail): fix type of SOGoMailComposeFontSize defaults 2022-02-09 22:26:11 -05:00
Francis Lachapelle 150fe7086e chore(npm): update CKEditor to version 4.17.2 2022-02-09 22:20:36 -05:00
InverseBot 2dbf206b1b chore(js/css): update generated files 2022-02-09 00:20:33 -05:00
Francis Lachapelle fa598e83ee fix(mail(js)): parse all parameters of mailto: link
Fixes #5478
2022-02-08 13:10:27 -05:00
InverseBot 3ef9002894 chore(js/css): update generated files 2022-02-08 00:20:44 -05:00
Francis Lachapelle a09cf58915 fix(mail): ensure </html> is at the end of the document prior parsing
Fixes #5477
2022-02-07 15:00:22 -05:00
Francis Lachapelle a1d74a8910 fix(preferences(js)): don't check Sieve script if Mail module disabled 2022-02-07 10:26:48 -05:00
Francis Lachapelle 0f77c1cbed chore(release): 5.5.1 2022-02-04 10:13:16 -05:00
Francis Lachapelle 2220e517fd i18n(pl): update Polish translation 2022-02-04 09:07:07 -05:00
Francis Lachapelle f4d875edac i18n(de): update German translation 2022-02-04 09:06:44 -05:00
Francis Lachapelle 76f04e0058 i18n(fr): update French translation 2022-02-04 09:02:53 -05:00
Francis Lachapelle 1b31e4b694 i18n(bg): update Bulgarian translation 2022-02-04 09:02:33 -05:00
Francis Lachapelle e3a2f5a1ff chore(tool): don't disable auto-reply for temporary constraints
Fixes #5475
2022-02-03 10:17:23 -05:00
Francis Lachapelle e54631becf chore(addressbook): remove UIxContactView.wox and UIxListView.wox 2022-02-02 10:59:53 -05:00
Francis Lachapelle 4f255ac9d5 fix(mail): use body as first part when msg has no parts
Fixes #5472
2022-02-02 10:26:01 -05:00
Francis Lachapelle e3b71bc23b fix(core): fix compilation in NSData+SMIME.m 2022-02-02 10:11:59 -05:00
Francis Lachapelle f5f1594972 fix(web): add missing image for desktop notifications
Fixes #5474
2022-02-02 09:15:44 -05:00
Francis Lachapelle 0c5a2691b0 fix(calendar): handle DST change for all-day events 2022-02-01 17:30:26 -05:00
Francis Lachapelle 96bb8b4cc2 fix(dav): render DAV exceptions as XML 2022-02-01 14:20:32 -05:00
Francis Lachapelle 348a79c795 fix(addressbook): close DB connection after DAV query 2022-02-01 10:14:37 -05:00
Francis Lachapelle 7c81e3acec fix(core): only escape "%" with the SQL LIKE operator 2022-01-31 14:53:58 -05:00
InverseBot 88b0b6a00b chore(js/css): update generated files 2022-01-28 00:54:59 -05:00
Francis Lachapelle d65b5a8418 fix(preferences(js)): fix validation of enabled days for vacation
Fixes #5469
2022-01-27 16:44:17 -05:00
Francis Lachapelle aca7fc53a5 fix(calendar): send notification on move and copy operations
Fixes #3792
2022-01-27 15:10:20 -05:00
Francis Lachapelle 2e58ddfae3 fix(dav): render DAV exceptions as XML 2022-01-27 13:05:24 -05:00
InverseBot 28634b96ab chore(js/css): update generated files 2022-01-27 00:21:32 -05:00
Francis Lachapelle 663915b12f fix(calendar): display start & end dates in mail notifications 2022-01-26 20:38:09 -05:00
Francis Lachapelle 8dda30e4ec fix(mail(js)): restore threads state upon initialization 2022-01-26 14:58:03 -05:00
Francis Lachapelle 929c6b1c0c fix(mail): improve reply and forward templates
Fixes #5415
2022-01-26 09:02:03 -05:00
Francis Lachapelle 3eec819984 fix(mail): improve parsing of S/MIME certificate
Fixes #5215
2022-01-25 08:43:33 -05:00
Francis Lachapelle c12dd56362 fix(mail): improve parsing of S/MIME certificate
Fixes #5215
2022-01-24 14:53:03 -05:00
Francis Lachapelle e513a7242a test: fix DAVCalendarSuperUserAclTest 2022-01-24 08:29:59 -05:00
Francis Lachapelle bf36279e0e test: improve functions names related to sync-collection 2022-01-21 16:56:54 -05:00
Francis Lachapelle 54b163da2d fix(mail): S/MIME improvements
Fixes #4891
Fixes #5450
2022-01-21 16:24:13 -05:00
Francis Lachapelle b061046992 fix(calendar(dav)): add DAV:status to DAV:response only when deleted
Fixes #5163
2022-01-21 14:47:32 -05:00
Francis Lachapelle 969d68dbb6 fix(core): remove trailing closing angle bracket from detected URLs
Fixes #5465
2022-01-21 11:07:00 -05:00
Francis Lachapelle 940394d435 fix(addressbook(dav)): return all value of all properties
Fixes #5462
2022-01-20 17:06:39 -05:00
Francis Lachapelle ca9d2d1cdc fix(mail): don't allow XML inline attachments 2022-01-20 14:47:23 -05:00
Francis Lachapelle 5575a4c3c8 fix(calendar): swap dates when event start date is after end date 2022-01-20 11:03:55 -05:00
Francis Lachapelle 54d3f33397 fix(mail(js)): remove WebSpellChecker Dialog plugin from CKEditor
This module has reached its End-Of-Life (2021-12-31).

See https://ckeditor.com/cke4/addon/wsc
2022-01-19 09:44:12 -05:00
1452 changed files with 71519 additions and 26582 deletions

No files matched your search

+27 -1
View File
@@ -16,6 +16,32 @@ Please make sure to respect the following guidelines when reporting a bug:
Begin by reading [SOGo Developer's Guide](../Documentation/SOGoDevelopersGuide.asciidoc).
### Translations
Three type of files must be translated. The first type are **Localizable.strings**; they can be
translated online using **[Transifex](https://www.transifex.com/inverse/sogo/)**. To use Transifex,
you must first sign up for a [free account](https://www.transifex.com/signup/). Once registered,
[request a new team](https://www.transifex.com/inverse/teams/) for your language. Once authorized,
you'll be able to start/continue translating SOGo in your language.
The second type are **wox and html templates**. Only words outside the tags (<>) must be
translated. Start by duplicating the English templates:
* [UI/Templates/SOGoACLEnglishAdditionAdvisory.wox](https://raw.githubusercontent.com/inverse-inc/sogo/master/UI/Templates/SOGoACLEnglishAdditionAdvisory.wox)
* [UI/Templates/SOGoACLEnglishRemovalAdvisory.wox](https://raw.githubusercontent.com/inverse-inc/sogo/master/UI/Templates/SOGoACLEnglishRemovalAdvisory.wox)
* [UI/Templates/SOGoACLEnglishModificationAdvisory.wox](https://raw.githubusercontent.com/inverse-inc/sogo/master/UI/Templates/SOGoACLEnglishModificationAdvisory.wox)
* [UI/Templates/SOGoFolderEnglishAdditionAdvisory.wox](https://raw.githubusercontent.com/inverse-inc/sogo/master/UI/Templates/SOGoFolderEnglishAdditionAdvisory.wox)
* [UI/Templates/SOGoFolderEnglishRemovalAdvisory.wox](https://raw.githubusercontent.com/inverse-inc/sogo/master/UI/Templates/SOGoFolderEnglishRemovalAdvisory.wox)
* [SoObjects/Mailer/SOGoMailEnglishForward.wo/SOGoMailEnglishForward.html](https://raw.githubusercontent.com/inverse-inc/sogo/master/SoObjects/Mailer/SOGoMailEnglishForward.wo/SOGoMailEnglishForward.html)
* [SoObjects/Mailer/SOGoMailEnglishReply.wo/SOGoMailEnglishReply.html](https://raw.githubusercontent.com/inverse-inc/sogo/master/SoObjects/Mailer/SOGoMailEnglishReply.wo/SOGoMailEnglishReply.html)
The third type is the locale file formatted as a **plist**. Duplicate the English locale. Beware that words with other characters than [a-zA-Z] (accents, non-latin...) must be between double quotes ("). You can look at other files as arabic or french to have an example:
* [UI/MainUI/English.lproj/Locale](https://raw.githubusercontent.com/inverse-inc/sogo/master/UI/MainUI/English.lproj/Locale)
Once translated, create an archive with all the files and [contact
us](https://sogo.nu/support.html#/commercial). We'll integrate it in the next version of SOGo.
### Git Commit Guidelines
We have very precise rules over how our git commit messages can be formatted. This leads to **more
@@ -81,7 +107,7 @@ The body should include the motivation for the change and contrast this with pre
#### Footer
The footer should contain any information about **Breaking Changes** and is also the
place to reference [Mantis](https://sogo.nu/bus/) issues that this commit **Fixes** or **Resolves**.
place to reference [Mantis](https://sogo.nu/bugs/) issues that this commit **Fixes** or **Resolves**.
> Breaking Changes are intended to be highlighted in the CHANGELOG as changes that will require
> community users to modify their code after updating to a version that contains this commit.
+28
View File
@@ -12,6 +12,7 @@
ActiveSync/ActiveSync.SOGo
Documentation/*.docbook
Documentation/*.pdf
Documentation/*.html
SoObjects/SOGo/SOGo.framework/
SoObjects/SOGo/derived_src/
Tests/*/config.py
@@ -28,3 +29,30 @@ UI/WebServerResources/scss/.sass-cache/
config.make
doc
tags
.DS_Store
Tests/package-lock.json
.vscode
.configure-test*
UI/WebServerResources/package-lock.json
# CKEditor
UI/WebServerResources/js/vendor/ckeditor/samples/
UI/WebServerResources/js/vendor/ckeditor/skins/n1theme/readme.md
UI/WebServerResources/js/vendor/ckeditor/*.md
UI/WebServerResources/js/vendor/ckeditor/adapters/jquery.js
UI/WebServerResources/js/vendor/ckeditor/bender-runner.config.json
UI/WebServerResources/js/vendor/ckeditor/plugins/onchange/docs
UI/WebServerResources/js/vendor/ckeditor/plugins/scayt/*.md
UI/WebServerResources/js/vendor/ckeditor/skins/n1theme/*.md
# Transifex
.tx/config_20230213185112.bak
# Tests
Tests/node_modules
Tests/lib/config.js
Tests/results.xml
Tests/results
# SAML2 autogenerated files
SoObjects/SOGo/SOGoSAML2Exceptions.*
+47 -484
View File
@@ -1,497 +1,60 @@
[main]
host = https://www.transifex.com
lang_map = fr: French, pt_BR: BrazilianPortuguese, ru: Russian, sk: Slovak, es_AR: SpanishArgentina, fi: Finnish, id_ID: Indonesian, lt: Lithuanian, tr_TR: TurkishTurkey, zh_TW: ChineseTaiwan, ar: Arabic, cs: Czech, nn_NO: NorwegianNynorsk, sl_SI: Slovenian, uk: Ukrainian, zh_CN: ChineseChina, sv: Swedish, bg_BG: Bulgarian, cy: Welsh, is: Icelandic, sr: Serbian, lv: Latvian, pl: Polish, ro_RO: Romanian, bs_BA: Bosnian,ca: Catalan, he: Hebrew, kk: Kazakh, pt: Portuguese, es_ES: SpanishSpain, eu: Basque, hu: Hungarian, ja: Japanese, mk_MK: Macedonian, nb_NO: NorwegianBokmal, nl: Dutch, sr@latin: SerbianLatin, da_DK: Danish, de: German, hr_HR: Croatian, it: Italian, sr_ME@latin: Montenegrin, gl_ES: Galician
[sogo.ui-mailerui]
source_file = UI/MailerUI/English.lproj/Localizable.strings
source_lang = en
trans.ar = UI/MailerUI/Arabic.lproj/Localizable.strings
trans.bg_BG = UI/MailerUI/Bulgarian.lproj/Localizable.strings
trans.bs_BA = UI/MailerUI/Bosnian.lproj/Localizable.strings
trans.ca = UI/MailerUI/Catalan.lproj/Localizable.strings
trans.cs = UI/MailerUI/Czech.lproj/Localizable.strings
trans.cy = UI/MailerUI/Welsh.lproj/Localizable.strings
trans.da_DK = UI/MailerUI/Danish.lproj/Localizable.strings
trans.de = UI/MailerUI/German.lproj/Localizable.strings
trans.es_AR = UI/MailerUI/SpanishArgentina.lproj/Localizable.strings
trans.es_ES = UI/MailerUI/SpanishSpain.lproj/Localizable.strings
trans.eu = UI/MailerUI/Basque.lproj/Localizable.strings
trans.fi = UI/MailerUI/Finnish.lproj/Localizable.strings
trans.fr = UI/MailerUI/French.lproj/Localizable.strings
trans.he = UI/MailerUI/Hebrew.lproj/Localizable.strings
trans.hr_HR = UI/MailerUI/Croatian.lproj/Localizable.strings
trans.hu = UI/MailerUI/Hungarian.lproj/Localizable.strings
trans.id_ID = UI/MailerUI/Indonesian.lproj/Localizable.strings
trans.is = UI/MailerUI/Icelandic.lproj/Localizable.strings
trans.it = UI/MailerUI/Italian.lproj/Localizable.strings
trans.ja = UI/MailerUI/Japanese.lproj/Localizable.strings
trans.lt = UI/MailerUI/Lithuanian.lproj/Localizable.strings
trans.lv = UI/MailerUI/Latvian.lproj/Localizable.strings
trans.mk_MK = UI/MailerUI/Macedonian.lproj/Localizable.strings
trans.nb_NO = UI/MailerUI/NorwegianBokmal.lproj/Localizable.strings
trans.nl = UI/MailerUI/Dutch.lproj/Localizable.strings
trans.nn_NO = UI/MailerUI/NorwegianNynorsk.lproj/Localizable.strings
trans.pl = UI/MailerUI/Polish.lproj/Localizable.strings
trans.pt = UI/MailerUI/Portuguese.lproj/Localizable.strings
trans.pt_BR = UI/MailerUI/BrazilianPortuguese.lproj/Localizable.strings
trans.ro_RO = UI/MailerUI/Romanian.lproj/Localizable.strings
trans.ru = UI/MailerUI/Russian.lproj/Localizable.strings
trans.sk = UI/MailerUI/Slovak.lproj/Localizable.strings
trans.sl_SI = UI/MailerUI/Slovenian.lproj/Localizable.strings
trans.sr = UI/MailerUI/Serbian.lproj/Localizable.strings
trans.sr@latin = UI/MailerUI/SerbianLatin.lproj/Localizable.strings
trans.sr_ME@latin = UI/MailerUI/Montenegrin.lproj/Localizable.strings
trans.sv = UI/MailerUI/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/MailerUI/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/MailerUI/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/MailerUI/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/MailerUI/ChineseTaiwan.lproj/Localizable.strings
[o:alinto:p:sogo:r:soobjects-appointments]
source_file = SoObjects/Appointments/English.lproj/Localizable.strings
source_lang = en
file_filter = SoObjects/Appointments/<lang>.lproj/Localizable.strings
[sogo.ui-preferencesui]
source_file = UI/PreferencesUI/English.lproj/Localizable.strings
source_lang = en
trans.ar = UI/PreferencesUI/Arabic.lproj/Localizable.strings
trans.bg_BG = UI/PreferencesUI/Bulgarian.lproj/Localizable.strings
trans.bs_BA = UI/PreferencesUI/Bosnian.lproj/Localizable.strings
trans.ca = UI/PreferencesUI/Catalan.lproj/Localizable.strings
trans.cs = UI/PreferencesUI/Czech.lproj/Localizable.strings
trans.cy = UI/PreferencesUI/Welsh.lproj/Localizable.strings
trans.da_DK = UI/PreferencesUI/Danish.lproj/Localizable.strings
trans.de = UI/PreferencesUI/German.lproj/Localizable.strings
trans.es_AR = UI/PreferencesUI/SpanishArgentina.lproj/Localizable.strings
trans.es_ES = UI/PreferencesUI/SpanishSpain.lproj/Localizable.strings
trans.eu = UI/PreferencesUI/Basque.lproj/Localizable.strings
trans.fi = UI/PreferencesUI/Finnish.lproj/Localizable.strings
trans.fr = UI/PreferencesUI/French.lproj/Localizable.strings
trans.he = UI/PreferencesUI/Hebrew.lproj/Localizable.strings
trans.hr_HR = UI/PreferencesUI/Croatian.lproj/Localizable.strings
trans.hu = UI/PreferencesUI/Hungarian.lproj/Localizable.strings
trans.id_ID = UI/PreferencesUI/Indonesian.lproj/Localizable.strings
trans.is = UI/PreferencesUI/Icelandic.lproj/Localizable.strings
trans.it = UI/PreferencesUI/Italian.lproj/Localizable.strings
trans.ja = UI/PreferencesUI/Japanese.lproj/Localizable.strings
trans.lt = UI/PreferencesUI/Lithuanian.lproj/Localizable.strings
trans.lv = UI/PreferencesUI/Latvian.lproj/Localizable.strings
trans.mk_MK = UI/PreferencesUI/Macedonian.lproj/Localizable.strings
trans.nb_NO = UI/PreferencesUI/NorwegianBokmal.lproj/Localizable.strings
trans.nl = UI/PreferencesUI/Dutch.lproj/Localizable.strings
trans.nn_NO = UI/PreferencesUI/NorwegianNynorsk.lproj/Localizable.strings
trans.pl = UI/PreferencesUI/Polish.lproj/Localizable.strings
trans.pt = UI/PreferencesUI/Portuguese.lproj/Localizable.strings
trans.pt_BR = UI/PreferencesUI/BrazilianPortuguese.lproj/Localizable.strings
trans.ro_RO = UI/PreferencesUI/Romanian.lproj/Localizable.strings
trans.ru = UI/PreferencesUI/Russian.lproj/Localizable.strings
trans.sk = UI/PreferencesUI/Slovak.lproj/Localizable.strings
trans.sl_SI = UI/PreferencesUI/Slovenian.lproj/Localizable.strings
trans.sr = UI/PreferencesUI/Serbian.lproj/Localizable.strings
trans.sr@latin = UI/PreferencesUI/SerbianLatin.lproj/Localizable.strings
trans.sr_ME@latin = UI/PreferencesUI/Montenegrin.lproj/Localizable.strings
trans.sv = UI/PreferencesUI/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/PreferencesUI/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/PreferencesUI/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/PreferencesUI/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/PreferencesUI/ChineseTaiwan.lproj/Localizable.strings
[sogo.ui-scheduler]
source_file = UI/Scheduler/English.lproj/Localizable.strings
source_lang = en
trans.ar = UI/Scheduler/Arabic.lproj/Localizable.strings
trans.bg_BG = UI/Scheduler/Bulgarian.lproj/Localizable.strings
trans.bs_BA = UI/Scheduler/Bosnian.lproj/Localizable.strings
trans.ca = UI/Scheduler/Catalan.lproj/Localizable.strings
trans.cs = UI/Scheduler/Czech.lproj/Localizable.strings
trans.cy = UI/Scheduler/Welsh.lproj/Localizable.strings
trans.da_DK = UI/Scheduler/Danish.lproj/Localizable.strings
trans.de = UI/Scheduler/German.lproj/Localizable.strings
trans.es_AR = UI/Scheduler/SpanishArgentina.lproj/Localizable.strings
trans.es_ES = UI/Scheduler/SpanishSpain.lproj/Localizable.strings
trans.eu = UI/Scheduler/Basque.lproj/Localizable.strings
trans.fi = UI/Scheduler/Finnish.lproj/Localizable.strings
trans.fr = UI/Scheduler/French.lproj/Localizable.strings
trans.he = UI/Scheduler/Hebrew.lproj/Localizable.strings
trans.hr_HR = UI/Scheduler/Croatian.lproj/Localizable.strings
trans.hu = UI/Scheduler/Hungarian.lproj/Localizable.strings
trans.id_ID = UI/Scheduler/Indonesian.lproj/Localizable.strings
trans.is = UI/Scheduler/Icelandic.lproj/Localizable.strings
trans.it = UI/Scheduler/Italian.lproj/Localizable.strings
trans.ja = UI/Scheduler/Japanese.lproj/Localizable.strings
trans.lt = UI/Scheduler/Lithuanian.lproj/Localizable.strings
trans.lv = UI/Scheduler/Latvian.lproj/Localizable.strings
trans.mk_MK = UI/Scheduler/Macedonian.lproj/Localizable.strings
trans.nb_NO = UI/Scheduler/NorwegianBokmal.lproj/Localizable.strings
trans.nl = UI/Scheduler/Dutch.lproj/Localizable.strings
trans.nn_NO = UI/Scheduler/NorwegianNynorsk.lproj/Localizable.strings
trans.pl = UI/Scheduler/Polish.lproj/Localizable.strings
trans.pt = UI/Scheduler/Portuguese.lproj/Localizable.strings
trans.pt_BR = UI/Scheduler/BrazilianPortuguese.lproj/Localizable.strings
trans.ro_RO = UI/Scheduler/Romanian.lproj/Localizable.strings
trans.ru = UI/Scheduler/Russian.lproj/Localizable.strings
trans.sk = UI/Scheduler/Slovak.lproj/Localizable.strings
trans.sl_SI = UI/Scheduler/Slovenian.lproj/Localizable.strings
trans.sr = UI/Scheduler/Serbian.lproj/Localizable.strings
trans.sr@latin = UI/Scheduler/SerbianLatin.lproj/Localizable.strings
trans.sr_ME@latin = UI/Scheduler/Montenegrin.lproj/Localizable.strings
trans.sv = UI/Scheduler/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/Scheduler/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/Scheduler/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/Scheduler/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/Scheduler/ChineseTaiwan.lproj/Localizable.strings
[o:alinto:p:sogo:r:soobjects-contacts]
source_file = SoObjects/Contacts/English.lproj/Localizable.strings
source_lang = en
file_filter = SoObjects/Contacts/<lang>.lproj/Localizable.strings
[sogo.ui-contacts]
source_file = UI/Contacts/English.lproj/Localizable.strings
source_lang = en
trans.ar = UI/Contacts/Arabic.lproj/Localizable.strings
trans.bg_BG = UI/Contacts/Bulgarian.lproj/Localizable.strings
trans.bs_BA = UI/Contacts/Bosnian.lproj/Localizable.strings
trans.ca = UI/Contacts/Catalan.lproj/Localizable.strings
trans.cs = UI/Contacts/Czech.lproj/Localizable.strings
trans.cy = UI/Contacts/Welsh.lproj/Localizable.strings
trans.da_DK = UI/Contacts/Danish.lproj/Localizable.strings
trans.de = UI/Contacts/German.lproj/Localizable.strings
trans.es_AR = UI/Contacts/SpanishArgentina.lproj/Localizable.strings
trans.es_ES = UI/Contacts/SpanishSpain.lproj/Localizable.strings
trans.eu = UI/Contacts/Basque.lproj/Localizable.strings
trans.fi = UI/Contacts/Finnish.lproj/Localizable.strings
trans.fr = UI/Contacts/French.lproj/Localizable.strings
trans.he = UI/Contacts/Hebrew.lproj/Localizable.strings
trans.hr_HR = UI/Contacts/Croatian.lproj/Localizable.strings
trans.hu = UI/Contacts/Hungarian.lproj/Localizable.strings
trans.id_ID = UI/Contacts/Indonesian.lproj/Localizable.strings
trans.is = UI/Contacts/Icelandic.lproj/Localizable.strings
trans.it = UI/Contacts/Italian.lproj/Localizable.strings
trans.ja = UI/Contacts/Japanese.lproj/Localizable.strings
trans.lt = UI/Contacts/Lithuanian.lproj/Localizable.strings
trans.lv = UI/Contacts/Latvian.lproj/Localizable.strings
trans.mk_MK = UI/Contacts/Macedonian.lproj/Localizable.strings
trans.nb_NO = UI/Contacts/NorwegianBokmal.lproj/Localizable.strings
trans.nl = UI/Contacts/Dutch.lproj/Localizable.strings
trans.nn_NO = UI/Contacts/NorwegianNynorsk.lproj/Localizable.strings
trans.pl = UI/Contacts/Polish.lproj/Localizable.strings
trans.pt = UI/Contacts/Portuguese.lproj/Localizable.strings
trans.pt_BR = UI/Contacts/BrazilianPortuguese.lproj/Localizable.strings
trans.ro_RO = UI/Contacts/Romanian.lproj/Localizable.strings
trans.ru = UI/Contacts/Russian.lproj/Localizable.strings
trans.sk = UI/Contacts/Slovak.lproj/Localizable.strings
trans.sl_SI = UI/Contacts/Slovenian.lproj/Localizable.strings
trans.sr = UI/Contacts/Serbian.lproj/Localizable.strings
trans.sr@latin = UI/Contacts/SerbianLatin.lproj/Localizable.strings
trans.sr_ME@latin = UI/Contacts/Montenegrin.lproj/Localizable.strings
trans.sv = UI/Contacts/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/Contacts/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/Contacts/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/Contacts/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/Contacts/ChineseTaiwan.lproj/Localizable.strings
[o:alinto:p:sogo:r:soobjects-mailer]
source_file = SoObjects/Mailer/English.lproj/Localizable.strings
source_lang = en
file_filter = SoObjects/Mailer/<lang>.lproj/Localizable.strings
[sogo.ui-mainui]
source_file = UI/MainUI/English.lproj/Localizable.strings
source_lang = en
trans.ar = UI/MainUI/Arabic.lproj/Localizable.strings
trans.bg_BG = UI/MainUI/Bulgarian.lproj/Localizable.strings
trans.bs_BA = UI/MainUI/Bosnian.lproj/Localizable.strings
trans.ca = UI/MainUI/Catalan.lproj/Localizable.strings
trans.cs = UI/MainUI/Czech.lproj/Localizable.strings
trans.cy = UI/MainUI/Welsh.lproj/Localizable.strings
trans.da_DK = UI/MainUI/Danish.lproj/Localizable.strings
trans.de = UI/MainUI/German.lproj/Localizable.strings
trans.es_AR = UI/MainUI/SpanishArgentina.lproj/Localizable.strings
trans.es_ES = UI/MainUI/SpanishSpain.lproj/Localizable.strings
trans.eu = UI/MainUI/Basque.lproj/Localizable.strings
trans.fi = UI/MainUI/Finnish.lproj/Localizable.strings
trans.fr = UI/MainUI/French.lproj/Localizable.strings
trans.he = UI/MainUI/Hebrew.lproj/Localizable.strings
trans.hr_HR = UI/MainUI/Croatian.lproj/Localizable.strings
trans.hu = UI/MainUI/Hungarian.lproj/Localizable.strings
trans.id_ID = UI/MainUI/Indonesian.lproj/Localizable.strings
trans.is = UI/MainUI/Icelandic.lproj/Localizable.strings
trans.it = UI/MainUI/Italian.lproj/Localizable.strings
trans.ja = UI/MainUI/Japanese.lproj/Localizable.strings
trans.lt = UI/MainUI/Lithuanian.lproj/Localizable.strings
trans.lv = UI/MainUI/Latvian.lproj/Localizable.strings
trans.mk_MK = UI/MainUI/Macedonian.lproj/Localizable.strings
trans.nb_NO = UI/MainUI/NorwegianBokmal.lproj/Localizable.strings
trans.nl = UI/MainUI/Dutch.lproj/Localizable.strings
trans.nn_NO = UI/MainUI/NorwegianNynorsk.lproj/Localizable.strings
trans.pl = UI/MainUI/Polish.lproj/Localizable.strings
trans.pt = UI/MainUI/Portuguese.lproj/Localizable.strings
trans.pt_BR = UI/MainUI/BrazilianPortuguese.lproj/Localizable.strings
trans.ro_RO = UI/MainUI/Romanian.lproj/Localizable.strings
trans.ru = UI/MainUI/Russian.lproj/Localizable.strings
trans.sk = UI/MainUI/Slovak.lproj/Localizable.strings
trans.sl_SI = UI/MainUI/Slovenian.lproj/Localizable.strings
trans.sr = UI/MainUI/Serbian.lproj/Localizable.strings
trans.sr@latin = UI/MainUI/SerbianLatin.lproj/Localizable.strings
trans.sr_ME@latin = UI/MainUI/Montenegrin.lproj/Localizable.strings
trans.sv = UI/MainUI/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/MainUI/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/MainUI/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/MainUI/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/MainUI/ChineseTaiwan.lproj/Localizable.strings
[o:alinto:p:sogo:r:ui-administrationui]
source_file = UI/AdministrationUI/English.lproj/Localizable.strings
source_lang = en
file_filter = UI/AdministrationUI/<lang>.lproj/Localizable.strings
[sogo.ui-common]
source_file = UI/Common/English.lproj/Localizable.strings
source_lang = en
trans.ar = UI/Common/Arabic.lproj/Localizable.strings
trans.bg_BG = UI/Common/Bulgarian.lproj/Localizable.strings
trans.bs_BA = UI/Common/Bosnian.lproj/Localizable.strings
trans.ca = UI/Common/Catalan.lproj/Localizable.strings
trans.cs = UI/Common/Czech.lproj/Localizable.strings
trans.cy = UI/Common/Welsh.lproj/Localizable.strings
trans.da_DK = UI/Common/Danish.lproj/Localizable.strings
trans.de = UI/Common/German.lproj/Localizable.strings
trans.es_AR = UI/Common/SpanishArgentina.lproj/Localizable.strings
trans.es_ES = UI/Common/SpanishSpain.lproj/Localizable.strings
trans.eu = UI/Common/Basque.lproj/Localizable.strings
trans.fi = UI/Common/Finnish.lproj/Localizable.strings
trans.fr = UI/Common/French.lproj/Localizable.strings
trans.he = UI/Common/Hebrew.lproj/Localizable.strings
trans.hr_HR = UI/Common/Croatian.lproj/Localizable.strings
trans.hu = UI/Common/Hungarian.lproj/Localizable.strings
trans.id_ID = UI/Common/Indonesian.lproj/Localizable.strings
trans.is = UI/Common/Icelandic.lproj/Localizable.strings
trans.it = UI/Common/Italian.lproj/Localizable.strings
trans.ja = UI/Common/Japanese.lproj/Localizable.strings
trans.lt = UI/Common/Lithuanian.lproj/Localizable.strings
trans.lv = UI/Common/Latvian.lproj/Localizable.strings
trans.mk_MK = UI/Common/Macedonian.lproj/Localizable.strings
trans.nb_NO = UI/Common/NorwegianBokmal.lproj/Localizable.strings
trans.nl = UI/Common/Dutch.lproj/Localizable.strings
trans.nn_NO = UI/Common/NorwegianNynorsk.lproj/Localizable.strings
trans.pl = UI/Common/Polish.lproj/Localizable.strings
trans.pt = UI/Common/Portuguese.lproj/Localizable.strings
trans.pt_BR = UI/Common/BrazilianPortuguese.lproj/Localizable.strings
trans.ro_RO = UI/Common/Romanian.lproj/Localizable.strings
trans.ru = UI/Common/Russian.lproj/Localizable.strings
trans.sk = UI/Common/Slovak.lproj/Localizable.strings
trans.sl_SI = UI/Common/Slovenian.lproj/Localizable.strings
trans.sr = UI/Common/Serbian.lproj/Localizable.strings
trans.sr@latin = UI/Common/SerbianLatin.lproj/Localizable.strings
trans.sr_ME@latin = UI/Common/Montenegrin.lproj/Localizable.strings
trans.sv = UI/Common/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/Common/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/Common/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/Common/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/Common/ChineseTaiwan.lproj/Localizable.strings
[o:alinto:p:sogo:r:ui-common]
source_file = UI/Common/English.lproj/Localizable.strings
source_lang = en
file_filter = UI/Common/<lang>.lproj/Localizable.strings
[sogo.ui-administrationui]
source_file = UI/AdministrationUI/English.lproj/Localizable.strings
source_lang = en
trans.ar = UI/AdministrationUI/Arabic.lproj/Localizable.strings
trans.bg_BG = UI/AdministrationUI/Bulgarian.lproj/Localizable.strings
trans.bs_BA = UI/AdministrationUI/Bosnian.lproj/Localizable.strings
trans.ca = UI/AdministrationUI/Catalan.lproj/Localizable.strings
trans.cs = UI/AdministrationUI/Czech.lproj/Localizable.strings
trans.cy = UI/AdministrationUI/Welsh.lproj/Localizable.strings
trans.da_DK = UI/AdministrationUI/Danish.lproj/Localizable.strings
trans.de = UI/AdministrationUI/German.lproj/Localizable.strings
trans.es_AR = UI/AdministrationUI/SpanishArgentina.lproj/Localizable.strings
trans.es_ES = UI/AdministrationUI/SpanishSpain.lproj/Localizable.strings
trans.eu = UI/AdministrationUI/Basque.lproj/Localizable.strings
trans.fi = UI/AdministrationUI/Finnish.lproj/Localizable.strings
trans.fr = UI/AdministrationUI/French.lproj/Localizable.strings
trans.he = UI/AdministrationUI/Hebrew.lproj/Localizable.strings
trans.hr_HR = UI/AdministrationUI/Croatian.lproj/Localizable.strings
trans.hu = UI/AdministrationUI/Hungarian.lproj/Localizable.strings
trans.id_ID = UI/AdministrationUI/Indonesian.lproj/Localizable.strings
trans.is = UI/AdministrationUI/Icelandic.lproj/Localizable.strings
trans.it = UI/AdministrationUI/Italian.lproj/Localizable.strings
trans.ja = UI/AdministrationUI/Japanese.lproj/Localizable.strings
trans.lt = UI/AdministrationUI/Lithuanian.lproj/Localizable.strings
trans.lv = UI/AdministrationUI/Latvian.lproj/Localizable.strings
trans.mk_MK = UI/AdministrationUI/Macedonian.lproj/Localizable.strings
trans.nb_NO = UI/AdministrationUI/NorwegianBokmal.lproj/Localizable.strings
trans.nl = UI/AdministrationUI/Dutch.lproj/Localizable.strings
trans.nn_NO = UI/AdministrationUI/NorwegianNynorsk.lproj/Localizable.strings
trans.pl = UI/AdministrationUI/Polish.lproj/Localizable.strings
trans.pt = UI/AdministrationUI/Portuguese.lproj/Localizable.strings
trans.pt_BR = UI/AdministrationUI/BrazilianPortuguese.lproj/Localizable.strings
trans.ro_RO = UI/AdministrationUI/Romanian.lproj/Localizable.strings
trans.ru = UI/AdministrationUI/Russian.lproj/Localizable.strings
trans.sk = UI/AdministrationUI/Slovak.lproj/Localizable.strings
trans.sl_SI = UI/AdministrationUI/Slovenian.lproj/Localizable.strings
trans.sr = UI/AdministrationUI/Serbian.lproj/Localizable.strings
trans.sr@latin = UI/AdministrationUI/SerbianLatin.lproj/Localizable.strings
trans.sr_ME@latin = UI/AdministrationUI/Montenegrin.lproj/Localizable.strings
trans.sv = UI/AdministrationUI/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/AdministrationUI/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/AdministrationUI/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/AdministrationUI/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/AdministrationUI/ChineseTaiwan.lproj/Localizable.strings
[o:alinto:p:sogo:r:ui-contacts]
source_file = UI/Contacts/English.lproj/Localizable.strings
source_lang = en
file_filter = UI/Contacts/<lang>.lproj/Localizable.strings
[sogo.soobjects-appointments]
source_file = SoObjects/Appointments/English.lproj/Localizable.strings
source_lang = en
trans.ar = SoObjects/Appointments/Arabic.lproj/Localizable.strings
trans.bg_BG = SoObjects/Appointments/Bulgarian.lproj/Localizable.strings
trans.bs_BA = SoObjects/Appointments/Bosnian.lproj/Localizable.strings
trans.ca = SoObjects/Appointments/Catalan.lproj/Localizable.strings
trans.cs = SoObjects/Appointments/Czech.lproj/Localizable.strings
trans.cy = SoObjects/Appointments/Welsh.lproj/Localizable.strings
trans.da_DK = SoObjects/Appointments/Danish.lproj/Localizable.strings
trans.de = SoObjects/Appointments/German.lproj/Localizable.strings
trans.es_AR = SoObjects/Appointments/SpanishArgentina.lproj/Localizable.strings
trans.es_ES = SoObjects/Appointments/SpanishSpain.lproj/Localizable.strings
trans.eu = SoObjects/Appointments/Basque.lproj/Localizable.strings
trans.fi = SoObjects/Appointments/Finnish.lproj/Localizable.strings
trans.fr = SoObjects/Appointments/French.lproj/Localizable.strings
trans.he = SoObjects/Appointments/Hebrew.lproj/Localizable.strings
trans.hr_HR = SoObjects/Appointments/Croatian.lproj/Localizable.strings
trans.hu = SoObjects/Appointments/Hungarian.lproj/Localizable.strings
trans.id_ID = SoObjects/Appointments/Indonesian.lproj/Localizable.strings
trans.is = SoObjects/Appointments/Icelandic.lproj/Localizable.strings
trans.it = SoObjects/Appointments/Italian.lproj/Localizable.strings
trans.ja = SoObjects/Appointments/Japanese.lproj/Localizable.strings
trans.lt = SoObjects/Appointments/Lithuanian.lproj/Localizable.strings
trans.lv = SoObjects/Appointments/Latvian.lproj/Localizable.strings
trans.mk_MK = SoObjects/Appointments/Macedonian.lproj/Localizable.strings
trans.nb_NO = SoObjects/Appointments/NorwegianBokmal.lproj/Localizable.strings
trans.nl = SoObjects/Appointments/Dutch.lproj/Localizable.strings
trans.nn_NO = SoObjects/Appointments/NorwegianNynorsk.lproj/Localizable.strings
trans.pl = SoObjects/Appointments/Polish.lproj/Localizable.strings
trans.pt = SoObjects/Appointments/Portuguese.lproj/Localizable.strings
trans.pt_BR = SoObjects/Appointments/BrazilianPortuguese.lproj/Localizable.strings
trans.ro_RO = SoObjects/Appointments/Romanian.lproj/Localizable.strings
trans.ru = SoObjects/Appointments/Russian.lproj/Localizable.strings
trans.sk = SoObjects/Appointments/Slovak.lproj/Localizable.strings
trans.sl_SI = SoObjects/Appointments/Slovenian.lproj/Localizable.strings
trans.sr = SoObjects/Appointments/Serbian.lproj/Localizable.strings
trans.sr@latin = SoObjects/Appointments/SerbianLatin.lproj/Localizable.strings
trans.sr_ME@latin = SoObjects/Appointments/Montenegrin.lproj/Localizable.strings
trans.sv = SoObjects/Appointments/Swedish.lproj/Localizable.strings
trans.tr_TR = SoObjects/Appointments/TurkishTurkey.lproj/Localizable.strings
trans.uk = SoObjects/Appointments/Ukrainian.lproj/Localizable.strings
trans.zh_CN = SoObjects/Appointments/ChineseChina.lproj/Localizable.strings
trans.zh_TW = SoObjects/Appointments/ChineseTaiwan.lproj/Localizable.strings
[o:alinto:p:sogo:r:ui-mailerui]
source_file = UI/MailerUI/English.lproj/Localizable.strings
source_lang = en
file_filter = UI/MailerUI/<lang>.lproj/Localizable.strings
[sogo.soobjects-contacts]
source_file = SoObjects/Contacts/English.lproj/Localizable.strings
source_lang = en
trans.ar = SoObjects/Contacts/Arabic.lproj/Localizable.strings
trans.bg_BG = SoObjects/Contacts/Bulgarian.lproj/Localizable.strings
trans.bs_BA = SoObjects/Contacts/Bosnian.lproj/Localizable.strings
trans.ca = SoObjects/Contacts/Catalan.lproj/Localizable.strings
trans.cs = SoObjects/Contacts/Czech.lproj/Localizable.strings
trans.cy = SoObjects/Contacts/Welsh.lproj/Localizable.strings
trans.da_DK = SoObjects/Contacts/Danish.lproj/Localizable.strings
trans.de = SoObjects/Contacts/German.lproj/Localizable.strings
trans.es_AR = SoObjects/Contacts/SpanishArgentina.lproj/Localizable.strings
trans.es_ES = SoObjects/Contacts/SpanishSpain.lproj/Localizable.strings
trans.eu = SoObjects/Contacts/Basque.lproj/Localizable.strings
trans.fi = SoObjects/Contacts/Finnish.lproj/Localizable.strings
trans.fr = SoObjects/Contacts/French.lproj/Localizable.strings
trans.he = SoObjects/Contacts/Hebrew.lproj/Localizable.strings
trans.hr_HR = SoObjects/Contacts/Croatian.lproj/Localizable.strings
trans.hu = SoObjects/Contacts/Hungarian.lproj/Localizable.strings
trans.id_ID = SoObjects/Contacts/Indonesian.lproj/Localizable.strings
trans.is = SoObjects/Contacts/Icelandic.lproj/Localizable.strings
trans.it = SoObjects/Contacts/Italian.lproj/Localizable.strings
trans.ja = SoObjects/Contacts/Japanese.lproj/Localizable.strings
trans.lt = SoObjects/Contacts/Lithuanian.lproj/Localizable.strings
trans.lv = SoObjects/Contacts/Latvian.lproj/Localizable.strings
trans.mk_MK = SoObjects/Contacts/Macedonian.lproj/Localizable.strings
trans.nb_NO = SoObjects/Contacts/NorwegianBokmal.lproj/Localizable.strings
trans.nl = SoObjects/Contacts/Dutch.lproj/Localizable.strings
trans.nn_NO = SoObjects/Contacts/NorwegianNynorsk.lproj/Localizable.strings
trans.pl = SoObjects/Contacts/Polish.lproj/Localizable.strings
trans.pt = SoObjects/Contacts/Portuguese.lproj/Localizable.strings
trans.pt_BR = SoObjects/Contacts/BrazilianPortuguese.lproj/Localizable.strings
trans.ro_RO = SoObjects/Contacts/Romanian.lproj/Localizable.strings
trans.ru = SoObjects/Contacts/Russian.lproj/Localizable.strings
trans.sk = SoObjects/Contacts/Slovak.lproj/Localizable.strings
trans.sl_SI = SoObjects/Contacts/Slovenian.lproj/Localizable.strings
trans.sr = SoObjects/Contacts/Serbian.lproj/Localizable.strings
trans.sr@latin = SoObjects/Contacts/SerbianLatin.lproj/Localizable.strings
trans.sr_ME@latin = SoObjects/Contacts/Montenegrin.lproj/Localizable.strings
trans.sv = SoObjects/Contacts/Swedish.lproj/Localizable.strings
trans.tr_TR = SoObjects/Contacts/TurkishTurkey.lproj/Localizable.strings
trans.uk = SoObjects/Contacts/Ukrainian.lproj/Localizable.strings
trans.zh_CN = SoObjects/Contacts/ChineseChina.lproj/Localizable.strings
trans.zh_TW = SoObjects/Contacts/ChineseTaiwan.lproj/Localizable.strings
[o:alinto:p:sogo:r:ui-mailpartviewers]
source_file = UI/MailPartViewers/English.lproj/Localizable.strings
source_lang = en
file_filter = UI/MailPartViewers/<lang>.lproj/Localizable.strings
[sogo.soobjects-mailer]
source_file = SoObjects/Mailer/English.lproj/Localizable.strings
source_lang = en
trans.ar = SoObjects/Mailer/Arabic.lproj/Localizable.strings
trans.bg_BG = SoObjects/Mailer/Bulgarian.lproj/Localizable.strings
trans.bs_BA = SoObjects/Mailer/Bosnian.lproj/Localizable.strings
trans.ca = SoObjects/Mailer/Catalan.lproj/Localizable.strings
trans.cs = SoObjects/Mailer/Czech.lproj/Localizable.strings
trans.cy = SoObjects/Mailer/Welsh.lproj/Localizable.strings
trans.da_DK = SoObjects/Mailer/Danish.lproj/Localizable.strings
trans.de = SoObjects/Mailer/German.lproj/Localizable.strings
trans.es_AR = SoObjects/Mailer/SpanishArgentina.lproj/Localizable.strings
trans.es_ES = SoObjects/Mailer/SpanishSpain.lproj/Localizable.strings
trans.eu = SoObjects/Mailer/Basque.lproj/Localizable.strings
trans.fi = SoObjects/Mailer/Finnish.lproj/Localizable.strings
trans.fr = SoObjects/Mailer/French.lproj/Localizable.strings
trans.he = SoObjects/Mailer/Hebrew.lproj/Localizable.strings
trans.hr_HR = SoObjects/Mailer/Croatian.lproj/Localizable.strings
trans.hu = SoObjects/Mailer/Hungarian.lproj/Localizable.strings
trans.id_ID = SoObjects/Mailer/Indonesian.lproj/Localizable.strings
trans.is = SoObjects/Mailer/Icelandic.lproj/Localizable.strings
trans.it = SoObjects/Mailer/Italian.lproj/Localizable.strings
trans.ja = SoObjects/Mailer/Japanese.lproj/Localizable.strings
trans.lt = SoObjects/Mailer/Lithuanian.lproj/Localizable.strings
trans.lv = SoObjects/Mailer/Latvian.lproj/Localizable.strings
trans.mk_MK = SoObjects/Mailer/Macedonian.lproj/Localizable.strings
trans.nb_NO = SoObjects/Mailer/NorwegianBokmal.lproj/Localizable.strings
trans.nl = SoObjects/Mailer/Dutch.lproj/Localizable.strings
trans.nn_NO = SoObjects/Mailer/NorwegianNynorsk.lproj/Localizable.strings
trans.pl = SoObjects/Mailer/Polish.lproj/Localizable.strings
trans.pt = SoObjects/Mailer/Portuguese.lproj/Localizable.strings
trans.pt_BR = SoObjects/Mailer/BrazilianPortuguese.lproj/Localizable.strings
trans.ro_RO = SoObjects/Mailer/Romanian.lproj/Localizable.strings
trans.ru = SoObjects/Mailer/Russian.lproj/Localizable.strings
trans.sk = SoObjects/Mailer/Slovak.lproj/Localizable.strings
trans.sl_SI = SoObjects/Mailer/Slovenian.lproj/Localizable.strings
trans.sr = SoObjects/Mailer/Serbian.lproj/Localizable.strings
trans.sr@latin = SoObjects/Mailer/SerbianLatin.lproj/Localizable.strings
trans.sr_ME@latin = SoObjects/Mailer/Montenegrin.lproj/Localizable.strings
trans.sv = SoObjects/Mailer/Swedish.lproj/Localizable.strings
trans.tr_TR = SoObjects/Mailer/TurkishTurkey.lproj/Localizable.strings
trans.uk = SoObjects/Mailer/Ukrainian.lproj/Localizable.strings
trans.zh_CN = SoObjects/Mailer/ChineseChina.lproj/Localizable.strings
trans.zh_TW = SoObjects/Mailer/ChineseTaiwan.lproj/Localizable.strings
[o:alinto:p:sogo:r:ui-mainui]
source_file = UI/MainUI/English.lproj/Localizable.strings
source_lang = en
file_filter = UI/MainUI/<lang>.lproj/Localizable.strings
[o:alinto:p:sogo:r:ui-preferencesui]
source_file = UI/PreferencesUI/English.lproj/Localizable.strings
source_lang = en
file_filter = UI/PreferencesUI/<lang>.lproj/Localizable.strings
[o:alinto:p:sogo:r:ui-scheduler]
source_file = UI/Scheduler/English.lproj/Localizable.strings
source_lang = en
file_filter = UI/Scheduler/<lang>.lproj/Localizable.strings
[sogo.ui-mailpartviewers]
source_file = UI/MailPartViewers/English.lproj/Localizable.strings
source_lang = en
trans.ar = UI/MailPartViewers/Arabic.lproj/Localizable.strings
trans.bg_BG = UI/MailPartViewers/Bulgarian.lproj/Localizable.strings
trans.bs_BA = UI/MailPartViewers/Bosnian.lproj/Localizable.strings
trans.ca = UI/MailPartViewers/Catalan.lproj/Localizable.strings
trans.cs = UI/MailPartViewers/Czech.lproj/Localizable.strings
trans.cy = UI/MailPartViewers/Welsh.lproj/Localizable.strings
trans.da_DK = UI/MailPartViewers/Danish.lproj/Localizable.strings
trans.de = UI/MailPartViewers/German.lproj/Localizable.strings
trans.es_AR = UI/MailPartViewers/SpanishArgentina.lproj/Localizable.strings
trans.es_ES = UI/MailPartViewers/SpanishSpain.lproj/Localizable.strings
trans.eu = UI/MailPartViewers/Basque.lproj/Localizable.strings
trans.fi = UI/MailPartViewers/Finnish.lproj/Localizable.strings
trans.fr = UI/MailPartViewers/French.lproj/Localizable.strings
trans.he = UI/MailPartViewers/Hebrew.lproj/Localizable.strings
trans.hr_HR = UI/MailPartViewers/Croatian.lproj/Localizable.strings
trans.hu = UI/MailPartViewers/Hungarian.lproj/Localizable.strings
trans.id_ID = UI/MailPartViewers/Indonesian.lproj/Localizable.strings
trans.is = UI/MailPartViewers/Icelandic.lproj/Localizable.strings
trans.it = UI/MailPartViewers/Italian.lproj/Localizable.strings
trans.ja = UI/MailPartViewers/Japanese.lproj/Localizable.strings
trans.lt = UI/MailPartViewers/Lithuanian.lproj/Localizable.strings
trans.lv = UI/MailPartViewers/Latvian.lproj/Localizable.strings
trans.mk_MK = UI/MailPartViewers/Macedonian.lproj/Localizable.strings
trans.nb_NO = UI/MailPartViewers/NorwegianBokmal.lproj/Localizable.strings
trans.nl = UI/MailPartViewers/Dutch.lproj/Localizable.strings
trans.nn_NO = UI/MailPartViewers/NorwegianNynorsk.lproj/Localizable.strings
trans.pl = UI/MailPartViewers/Polish.lproj/Localizable.strings
trans.pt = UI/MailPartViewers/Portuguese.lproj/Localizable.strings
trans.pt_BR = UI/MailPartViewers/BrazilianPortuguese.lproj/Localizable.strings
trans.ro_RO = UI/MailPartViewers/Romanian.lproj/Localizable.strings
trans.ru = UI/MailPartViewers/Russian.lproj/Localizable.strings
trans.sk = UI/MailPartViewers/Slovak.lproj/Localizable.strings
trans.sl_SI = UI/MailPartViewers/Slovenian.lproj/Localizable.strings
trans.sr = UI/MailPartViewers/Serbian.lproj/Localizable.strings
trans.sr@latin = UI/MailPartViewers/SerbianLatin.lproj/Localizable.strings
trans.sr_ME@latin = UI/MailPartViewers/Montenegrin.lproj/Localizable.strings
trans.sv = UI/MailPartViewers/Swedish.lproj/Localizable.strings
trans.tr_TR = UI/MailPartViewers/TurkishTurkey.lproj/Localizable.strings
trans.uk = UI/MailPartViewers/Ukrainian.lproj/Localizable.strings
trans.zh_CN = UI/MailPartViewers/ChineseChina.lproj/Localizable.strings
trans.zh_TW = UI/MailPartViewers/ChineseTaiwan.lproj/Localizable.strings
+1 -1
View File
@@ -5,7 +5,7 @@ const tracker = {
module.exports = {
tagPrefix: "SOGo-",
issueUrlFormat: "https://sogo.nu/bugs/view.php?id={{id}}",
issueUrlFormat: "https://bugs.sogo.nu/view.php?id={{id}}",
compareUrlFormat: "{{host}}/{{owner}}/{{repository}}/compare/{{previousTag}}...{{currentTag}}",
types: [
{type: "feat", section: "Features"},
+1 -1
View File
@@ -36,7 +36,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@interface NGMimeMessage (ActiveSync)
- (NSArray *) allRecipients;
- (NSArray *) allBareRecipients;
@end
+28 -20
View File
@@ -38,39 +38,47 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@implementation NGMimeMessage (ActiveSync)
- (void) _addRecipients: (NSEnumerator *) enumerator
toArray: (NSMutableArray *) recipients
- (NSArray *) allRecipients
{
NGMailAddressParser *parser;
NSEnumerator *addressList;
NSMutableArray *allRecipients;
NGMailAddress *address;
NSEnumerator *recipients;
NSString *s;
NSString *fieldNames[] = {@"to", @"cc", @"bcc"};
unsigned int count;
while ((s = [enumerator nextObject]))
allRecipients = [NSMutableArray arrayWithCapacity: 16];
for (count = 0; count < 3; count++)
{
parser = [NGMailAddressParser mailAddressParserWithString: s];
addressList = [[parser parseAddressList] objectEnumerator];
while ((address = [addressList nextObject]))
[recipients addObject: [address address]];
recipients = [[self headersForKey: fieldNames[count]] objectEnumerator];
while ((s = [recipients nextObject]))
{
parser = [NGMailAddressParser mailAddressParserWithString: s];
addressList = [[parser parseAddressList] objectEnumerator];
while ((address = [addressList nextObject]))
[allRecipients addObject: [address address]];
}
}
return allRecipients;
}
- (NSArray *) allRecipients
- (NSArray *) allBareRecipients
{
NSMutableArray *recipients;
NSMutableArray *bareRecipients;
NSEnumerator *allRecipients;
NSString *recipient;
recipients = [NSMutableArray array];
bareRecipients = [NSMutableArray array];
[self _addRecipients: [[self headersForKey: @"to"] objectEnumerator]
toArray: recipients];
allRecipients = [[self allRecipients] objectEnumerator];
while ((recipient = [allRecipients nextObject]))
[bareRecipients addObject: [recipient pureEMailAddress]];
[self _addRecipients: [[self headersForKey: @"cc"] objectEnumerator]
toArray: recipients];
[self _addRecipients: [[self headersForKey: @"bcc"] objectEnumerator]
toArray: recipients];
return recipients;
return bareRecipients;
}
@end
+3 -3
View File
@@ -114,7 +114,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
if (ret != WBXML_OK)
{
[self errorWithFormat: @"wbxml2xmlFromContent: failed: %s\n", wbxml_errors_string(ret)];
[self errorWithFormat: @"wbxml2xml failed: %s\n", wbxml_errors_string(ret)];
[self _dumpToFile];
return nil;
}
@@ -147,7 +147,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
if (ret != WBXML_OK)
{
[self logWithFormat: @"xml2wbxmlFromContent: failed: %s\n", wbxml_errors_string(ret)];
[self logWithFormat: @"xml2wbxml failed: %s\n", wbxml_errors_string(ret)];
[self _dumpToFile];
return nil;
}
@@ -162,7 +162,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
if (ret != WBXML_OK)
{
[self errorWithFormat: @"xml2wbxmlFromContent: failed: %s\n", wbxml_errors_string(ret)];
[self errorWithFormat: @"xml2wbxml failed: %s\n", wbxml_errors_string(ret)];
[self _dumpToFile];
free(wbxml);
wbxml_conv_xml2wbxml_destroy(conv);
+2 -2
View File
@@ -2627,17 +2627,17 @@ FIXME
// We first check of any of the collections we want to sync are already
// in an other sync process. If that's the case, we do not do anything
// and we return immediately. So we'll let the other sync process terminate
globalMetadata = [self globalMetadataForDevice];
for (j = 0; j < [allCollections count]; j++)
{
aCollection = [allCollections objectAtIndex: j];
globalMetadata = [self globalMetadataForDevice];
key = [NSString stringWithFormat: @"SyncRequest+%@", [[[(id)[aCollection getElementsByTagName: @"CollectionId"] lastObject] textValue] stringByUnescapingURL]];
if (!([[globalMetadata objectForKey: key] isEqual: processIdentifier]))
{
if (debugOn)
[self logWithFormat: @"EAS - Discard response %@", [self globalMetadataForDevice]];
[self logWithFormat: @"EAS - Discard response %@", globalMetadata];
[output appendString: @"<Status>13</Status>"];
[output appendString: @"</Sync>"];
+22 -6
View File
@@ -63,6 +63,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#import <NGMime/NGMimeBodyPart.h>
#import <NGMime/NGMimeFileData.h>
#import <NGMime/NGMimeType.h>
#import <NGMime/NGMimeHeaderFields.h>
#import <NGMime/NGMimeMultipartBody.h>
#import <NGMime/NGConcreteMimeType.h>
#import <NGMail/NGMimeMessageParser.h>
@@ -877,6 +878,8 @@ void handle_eas_terminate(int signum)
[self _ensureFolder: (SOGoMailFolder *)[accountFolder draftsFolderInContext: context]];
[self _ensureFolder: [accountFolder sentFolderInContext: context]];
[self _ensureFolder: (SOGoMailFolder *)[accountFolder trashFolderInContext: context]];
[self _ensureFolder: (SOGoMailFolder *)[accountFolder junkFolderInContext: context]];
[self _ensureFolder: (SOGoMailFolder *)[accountFolder templatesFolderInContext: context]];
}
allFoldersMetadata = [NSMutableArray array];
@@ -3381,7 +3384,8 @@ void handle_eas_terminate(int signum)
toRecipients: theRecipients
sender: from
withAuthenticator: authenticator
inContext: context];
inContext: context
systemMessage: NO];
if (error)
{
@@ -3617,7 +3621,7 @@ void handle_eas_terminate(int signum)
}
error = [self _sendMail: data
recipients: [message allRecipients]
recipients: [message allBareRecipients]
saveInSentItems: ([(id)[theDocumentElement getElementsByTagName: @"SaveInSentItems"] count] ? YES : NO)];
if (error)
@@ -4025,6 +4029,7 @@ void handle_eas_terminate(int signum)
for (j = 0; j < [aparts count]; j++)
{
apart = [aparts objectAtIndex: j];
if ([[[apart contentType] type] isEqualToString: @"text"] && [[[apart contentType] subType] isEqualToString: @"html"])
htmlPart = apart;
if ([[[apart contentType] type] isEqualToString: @"text"] && [[[apart contentType] subType] isEqualToString: @"plain"])
@@ -4033,12 +4038,23 @@ void handle_eas_terminate(int signum)
}
else
{
if ([[[part contentType] type] isEqualToString: @"text"] && [[[part contentType] subType] isEqualToString: @"html"])
if ([[(NGMimeContentDispositionHeaderField *)[part headerForKey: @"content-disposition"] type] hasPrefix: @"attachment"])
{
if ([[part body] isKindOfClass: [NSData class]] && ! [[[part contentType] type] isEqualToString: @"text"])
{
// Ensure base64 encoding of non-text parts - text parts are encoded individually.
[part setHeader: @"base64" forKey: @"content-transfer-encoding"];
[part setBody: [[part body] dataByEncodingBase64]];
[part setHeader: [NSString stringWithFormat:@"%d", (int)[[part body] length]]
forKey: @"content-length"];
}
[attachments addObject: part];
}
else if ([[[part contentType] type] isEqualToString: @"text"] && [[[part contentType] subType] isEqualToString: @"html"])
htmlPart = part;
else if ([[[part contentType] type] isEqualToString: @"text"] && [[[part contentType] subType] isEqualToString: @"plain"])
textPart = part;
else
[attachments addObject: part];
}
}
}
@@ -4178,7 +4194,7 @@ void handle_eas_terminate(int signum)
data = [generator generateMimeFromPart: messageToSend];
error = [self _sendMail: data
recipients: [messageFromSmartForward allRecipients]
recipients: [messageFromSmartForward allBareRecipients]
saveInSentItems: ([(id)[theDocumentElement getElementsByTagName: @"SaveInSentItems"] count] ? YES : NO)];
if (error)
+2 -2
View File
@@ -410,7 +410,7 @@ struct GlobalObjectId {
charset = [[[self lookupInfoForBodyPart: key] objectForKey: @"parameterList"] objectForKey: @"charset"];
if (![charset length])
if (![charset length] || [charset caseInsensitiveCompare: @"us-ascii"] == NSOrderedSame)
charset = @"utf-8";
s = [NSString stringWithData: d usingEncodingNamed: charset];
@@ -708,7 +708,7 @@ struct GlobalObjectId {
charset = [[[self lookupInfoForBodyPart: @""] objectForKey: @"parameterList"] objectForKey: @"charset"];
if (![charset length])
if (![charset length] || [charset caseInsensitiveCompare: @"us-ascii"] == NSOrderedSame)
charset = @"utf-8";
d = [[self fetchPlainTextParts] objectForKey: @""];
+1 -1
View File
@@ -40,7 +40,7 @@
<Proxy http://127.0.0.1:20000>
RequestHeader set "x-webobjects-server-port" "8843"
RequestHeader set "x-webobjects-server-name" "CHANGETHIS:8843"
RequestHeader set "x-webobjects-server-url" "http://CHANGETHIS:8843"
RequestHeader set "x-webobjects-server-url" "https://CHANGETHIS:8843"
RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0"
AddDefaultCharset UTF-8
</Proxy>
+19 -10
View File
@@ -25,6 +25,11 @@ Alias /SOGo/WebServerResources/ \
# Don't send the Referer header for cross-origin requests
Header always set Referrer-Policy "same-origin"
<Location /SOGo>
# Don't cache dynamic content
Header set Cache-Control "max-age=0, no-cache, no-store"
</Location>
## Uncomment the following to enable proxy-side authentication, you will then
## need to set the "SOGoTrustProxyAuthentication" SOGo user default to YES and
## adjust the "x-webobjects-remote-user" proxy header in the "Proxy" section
@@ -48,8 +53,12 @@ Header always set Referrer-Policy "same-origin"
#</Location>
ProxyRequests Off
SetEnv proxy-nokeepalive 1
ProxyPreserveHost On
SetEnv proxy-nokeepalive 1
# Uncomment the following lines if you experience "Bad gateway" errors with mod_proxy
#SetEnv proxy-initial-not-pooled 1
#SetEnv force-proxy-request-1.0 1
# When using CAS, you should uncomment this and install cas-proxy-validate.py
# in /usr/lib/cgi-bin to reduce server overloading
@@ -76,19 +85,19 @@ ProxyPass /SOGo http://127.0.0.1:20000/SOGo retry=0 nocanon
<Proxy http://127.0.0.1:20000/SOGo>
## Adjust the following to your configuration
## and make sure to enable the headers module
<IfModule headers_module>
RequestHeader set "x-webobjects-server-port" "443"
SetEnvIf Host (.*) HTTP_HOST=$1
RequestHeader set "x-webobjects-server-name" "%{HTTP_HOST}e" env=HTTP_HOST
RequestHeader set "x-webobjects-server-url" "https://%{HTTP_HOST}e" env=HTTP_HOST
<IfModule headers_module>
RequestHeader set "x-webobjects-server-port" "443"
SetEnvIf Host (.*) HTTP_HOST=$1
RequestHeader set "x-webobjects-server-name" "%{HTTP_HOST}e" env=HTTP_HOST
RequestHeader set "x-webobjects-server-url" "https://%{HTTP_HOST}e" env=HTTP_HOST
## When using proxy-side autentication, you need to uncomment and
## adjust the following line:
RequestHeader unset "x-webobjects-remote-user"
# RequestHeader set "x-webobjects-remote-user" "%{REMOTE_USER}e" env=REMOTE_USER
RequestHeader unset "x-webobjects-remote-user"
# RequestHeader set "x-webobjects-remote-user" "%{REMOTE_USER}e" env=REMOTE_USER
RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0"
</IfModule>
RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0"
</IfModule>
AddDefaultCharset UTF-8
+589
View File
@@ -1,5 +1,594 @@
# Changelog
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## [5.9.1](https://github.com/Alinto/sogo/compare/SOGo-5.9.0...SOGo-5.9.1) (2023-12-12)
### Features
* **addressbook:** Add global address book autocomplete on vlist ([11ad203](https://github.com/Alinto/sogo/commit/11ad203388ad33a22bd300047745869a27872cd9) [0b1f2b0](https://github.com/Alinto/sogo/commit/0b1f2b0405410628cb7ba8602b9286d71256d8e6) [0560efd](https://github.com/Alinto/sogo/commit/0560efd1f6a94bcb256d970ebe5535954e36cafe), [f85c531](https://github.com/Alinto/sogo/commit/f85c53190c38c4e28536f78e43623f6776248291))
* **core:** Add mobile provisioning download for Apple's devices ([19915e3](https://github.com/Alinto/sogo/commit/19915e3dffc14c90b03277f9f97b4e6b1158aa87) [6d16ee7](https://github.com/Alinto/sogo/commit/6d16ee798863a7f196c14915c47888adf0758f1a) [d38cc86](https://github.com/Alinto/sogo/commit/d38cc86d29ffce580bf26dd278a6b68556471c14) [cd50ee0](https://github.com/Alinto/sogo/commit/cd50ee017656f3e6cfd46cff7147258d4893706b) [65f8336](https://github.com/Alinto/sogo/commit/65f8336255577566282039f4058fe4f3c38a16d4) [4fe01f9](https://github.com/Alinto/sogo/commit/4fe01f96d73690bf1a2d60755bb552d25324ccaf) [a273f7a](https://github.com/Alinto/sogo/commit/a273f7aca5df120a50af0486161880040ee20519))
* **core:** add SOGoDisableExport option to disable export for mail, calendar and contacts ([d0b4b50](https://github.com/Alinto/sogo/commit/d0b4b50456cf3e23aa12d5cf7165531a7670edf6))
* **core:** Add SOGoDisableSharingAnyAuthUser option to disable sharing to any user authenticated for mail, contacts and calendar ([e0ef59d](https://github.com/Alinto/sogo/commit/e0ef59d5f212aced72a17e3af9e72a434eedd68e))
* **mail:** Add an option in Preferences to display full email instead of name alone in mailboxes ([2e670f7](https://github.com/Alinto/sogo/commit/2e670f7e6293b703f8cfe23ebf923ce13b463a19))
* **mail:** Add SOGoMailHideInlineAttachments option to hide attachments when inline. Fixes [#5490](https://bugs.sogo.nu/view.php?id=5490). ([f41ab2e](https://github.com/Alinto/sogo/commit/f41ab2ed0c71903b80bda66adc54cc94b0cf70d6) [abce5f4](https://github.com/Alinto/sogo/commit/abce5f42cf4daef721ebf6b48d727eb957e20b14) [aa53524](https://github.com/Alinto/sogo/commit/aa535247513b06804fce666fe20ebcc9bd231c1f) [ca2c5c1](https://github.com/Alinto/sogo/commit/ca2c5c188ed980629f494e5b8e23ba42cdd54f58))
* **password:** Add specials characters to POLICY_MIN_SPECIAL_SYMBOLS ([7d66699](https://github.com/Alinto/sogo/commit/7d666992198e5e91e29081b99443607b1c96d354))
* **preferences:** can set SOGoForwardConstraints to 3 to accept both internal and external domains from SOGoForwardConstraintsDomains ([c872fb4](https://github.com/Alinto/sogo/commit/c872fb4d9c68382431a52181073ba1964cf44c22))
* **reply:** add references header when replying ([b396a27](https://github.com/Alinto/sogo/commit/b396a277f00d879d2c179db780d6f621a9057d0c))
* **ux:** select all button will unselect all if click again ([6e60b10](https://github.com/Alinto/sogo/commit/6e60b107556212123f41d95e4399d9605a4c16f9) [1ae02eb](https://github.com/Alinto/sogo/commit/1ae02ebd708da0a53ae588531e122adddaa7a5de))
### Bug Fixes
* **addressbook:** autocomplete correctly return two contacts from two ldap with same id ([1d3da92](https://github.com/Alinto/sogo/commit/1d3da92bab972ec7ec935eba72128e72387216c0))
* **calendar:** do not let DURATION and DTEND be both present in vevent ([0023a9c](https://github.com/Alinto/sogo/commit/0023a9ce3c4027bb32699efc5529a4a53d7699f6))
* **calendar:** If content is NSData, properly convert it to NSString ([21571ab](https://github.com/Alinto/sogo/commit/21571ab1e000da47b91b3f21bfaba89d1abec71f))
* **calendar:** properly set the start date range for yearly events ([1e8127b](https://github.com/Alinto/sogo/commit/1e8127b46122e83df02c394536950288b0ee16aa))
* **core:** Add cache for CDefaultsSize to avoid spamming SQL request ([87e1240](https://github.com/Alinto/sogo/commit/87e1240ace297645559e698a8c1f1a76b9901895) [81f2d88](https://github.com/Alinto/sogo/commit/81f2d88db362cc21c50858295d0e9d375db61f67))
* **core:** Fix calendar issues with Thunderbird related to vlist exclusion. Fix error log on photo. Closes [#5885](https://bugs.sogo.nu/view.php?id=5885) ([6b08f2e](https://github.com/Alinto/sogo/commit/6b08f2e4decc87ee57609355dee5a6657bca6110))
* **core:** Fix user profile retrieval when using utf8mb4_bin collation - in this case the SQL results may return NSdata instead of NSString. Fixes [#5902](https://bugs.sogo.nu/view.php?id=5902). ([3cd9910](https://github.com/Alinto/sogo/commit/3cd991063805f88a5672b10fbcc04a4149e13e26))
* **hmtl:** prevent html injection of tag form ([7481ccf](https://github.com/Alinto/sogo/commit/7481ccf37087c3f456d7e5a844da01d0f8883098))
* **http:** set correct Accept header when dowloading eml file ([c569ed2](https://github.com/Alinto/sogo/commit/c569ed2d77cf23c274c3dfc7cd3533cf268d09af))
* **mail:** Clean temporary files when mail is sent ([f35a37b](https://github.com/Alinto/sogo/commit/f35a37bbdd2005a63b42f9bab1588ce9a935b112) [d163405](https://github.com/Alinto/sogo/commit/d1634054d6f4dd18bdb82a7903b3bbbceae5b0e8))
* **mail:** Fix duplication of images when saving draft. Fixes [#5888](https://bugs.sogo.nu/view.php?id=5888) ([ee9899f](https://github.com/Alinto/sogo/commit/ee9899fe3d6aa7bf694f959a8e4f09faa39e737a) [9c09485](https://github.com/Alinto/sogo/commit/9c0948518b1e8365d6fadb3fccae1a0257b518ed))
* **scripts:** wrong type for c_value in script for complete unicode coverage ([65374e4](https://github.com/Alinto/sogo/commit/65374e44fc2a861d3a7c9f1f9ba25505601d79f1))
* **sogo-tool:** add protection to expire-sessions if the input is not an integer ([bb943e4](https://github.com/Alinto/sogo/commit/bb943e414d3fc8b71ebb169e31c261cd2dcd6d37))
* **translation:** incorret value causing trouble to transifex ([4b45dc7](https://github.com/Alinto/sogo/commit/4b45dc7584984602071efe99b9638c6231efba8c))
### Localization
* **ar:** Update Arabic translations ([28d883d](https://github.com/Alinto/sogo/commit/28d883dac1ccbafb878b9e13ba38f570f44ea325))
* **bg_BG:** Update Bulgarian translations ([3815bc1](https://github.com/Alinto/sogo/commit/3815bc1c5e6fe37aaad5492c246697fe34e4286d))
* **bs_BA:** Update Bosnian translations ([2afbcbe](https://github.com/Alinto/sogo/commit/2afbcbeaed24571785437aa5af1c092ba129ce97))
* **ca:** Update Catalan translations ([3040543](https://github.com/Alinto/sogo/commit/3040543c797fe9176df048b8a72a2c6f7dbfd3b7))
* **cs:** Update Czech translations ([029a821](https://github.com/Alinto/sogo/commit/029a82143f1d0d82ca8d6a5c9e5a14ac351718bf))
* **cy:** Update Welsh translations ([06a6ed7](https://github.com/Alinto/sogo/commit/06a6ed776824f47e5606c29a162903380e72fbd9))
* **da_DK:** Update Danish translations ([76911fd](https://github.com/Alinto/sogo/commit/76911fd4454c9f0213f11b4e2e95b29010eed9a4))
* **de:** Update German translations ([8a4bc2a](https://github.com/Alinto/sogo/commit/8a4bc2a71642a2a431008c02214ffdd0eb2ace23))
* **es_AR:** Update SpanishArgentina translations ([527fded](https://github.com/Alinto/sogo/commit/527fded19ceaf995963e997659b79c5e1290b8c5))
* **es_ES:** Update SpanishSpain translations ([057a1ba](https://github.com/Alinto/sogo/commit/057a1ba1053f462cd0633b86c3ee86d76acbd6bb))
* **eu:** Update Basque translations ([33f3a1b](https://github.com/Alinto/sogo/commit/33f3a1b716a006df8a28c416fc947e44fc285e37))
* **fi:** Update Finnish translations ([dba2332](https://github.com/Alinto/sogo/commit/dba2332864fa38116615c9b58eb3590fe251a37a))
* **gl:** Change Galician name to Galego ([6eae3f2](https://github.com/Alinto/sogo/commit/6eae3f2b1601033558a791c27bc4e27acf0825e7))
* **gl:** Update Galician translations ([5aa7ebf](https://github.com/Alinto/sogo/commit/5aa7ebf2aefef6e45423b2193c136fadced51375))
* **he:** Update Hebrew translations ([694c21d](https://github.com/Alinto/sogo/commit/694c21de99522733c95304d0e775e81493ff7200))
* **hr_HR:** Update Croatian translations ([715d25d](https://github.com/Alinto/sogo/commit/715d25d40a84b518b1d8f97b4946045a4be761b5))
* **hu:** Update Hungarian translations ([0b22fa6](https://github.com/Alinto/sogo/commit/0b22fa6cd5b55db5d021bbbfcc53d411ff4bb9d7))
* **id_ID:** Update Indonesian translations ([a16d29b](https://github.com/Alinto/sogo/commit/a16d29b70b50eeee14a3ad1b627e8f8a59216461))
* **is:** Update Icelandic translations ([2de6241](https://github.com/Alinto/sogo/commit/2de624122045d9df877f39f665d271056af0fba8))
* **it:** Update Italian translations ([53036b3](https://github.com/Alinto/sogo/commit/53036b323fe65b4bf40c838ff0578fa076bfea93))
* **ja:** Update Japanese translations ([41fb85e](https://github.com/Alinto/sogo/commit/41fb85e6a320b25776ce63672ef4251e932f82f0))
* **kk:** Update Kazakh translations ([2174195](https://github.com/Alinto/sogo/commit/21741954dd2762b3f03c0b5b21b8feb4d826cfb1))
* **lt:** Update Lithuanian translations ([6e9e7f9](https://github.com/Alinto/sogo/commit/6e9e7f98ef379ce26937e00daedfad88383615a4))
* **lv:** Update Latvian translations ([a9ecaed](https://github.com/Alinto/sogo/commit/a9ecaed5fa6fe8fecf08ec0354bbb187824d2fbb))
* **mk_MK:** Update Macedonian translations ([d6c9ecd](https://github.com/Alinto/sogo/commit/d6c9ecdeb0490fa44bc1c444819b5c82ccf89073))
* **nb_NO:** Update NorwegianBokmal translations ([3d5f352](https://github.com/Alinto/sogo/commit/3d5f35211189802ef031be688cadddc2ab684d37))
* **nl:** Update Dutch translations ([402c3d0](https://github.com/Alinto/sogo/commit/402c3d0a1f83d32af2fca2f3e5abafbe8850de08))
* **nn_NO:** Update NorwegianNynorsk translations ([6d270fe](https://github.com/Alinto/sogo/commit/6d270fe7a4bad2253f7e8427be660405460b2139))
* **pl:** Update Polish translations ([c75f210](https://github.com/Alinto/sogo/commit/c75f210864de1a7bb313c1ba21be987143a2f7ca))
* **pt_BR:** Update BrazilianPortuguese translations ([cfab856](https://github.com/Alinto/sogo/commit/cfab85624b3e725f121ea61d181340189e969229))
* **pt:** Update Portuguese translations ([e4f07c4](https://github.com/Alinto/sogo/commit/e4f07c466e195d59f72b934567cb3aa4d18cb9f3))
* **ro_RO:** Update Romanian translations ([d9c716c](https://github.com/Alinto/sogo/commit/d9c716c1b679a792876c9bc7ebed2d530ab8d89f))
* **ru:** Update Russian translations ([3809ec3](https://github.com/Alinto/sogo/commit/3809ec3904a7882239e50c671aa72c9f7f013c62))
* **sk:** Update Slovak translations ([cd7e06c](https://github.com/Alinto/sogo/commit/cd7e06c2ede339d078e54b76b6078523b78383fc))
* **sl_SI:** Update Slovenian translations ([ca21bf4](https://github.com/Alinto/sogo/commit/ca21bf4ce1758717eac8ec961788d067e9428456))
* **sr_ME@latin:** Update Montenegrin translations ([fe7369e](https://github.com/Alinto/sogo/commit/fe7369e427d7cc6f4efb23a78437bd2b2c65e6cd))
* **sr@latin:** Update SerbianLatin translations ([9126cae](https://github.com/Alinto/sogo/commit/9126cae27d49b7f199f2a6b259eb40589b011a55))
* **sr:** Update Serbian translations ([ed444fd](https://github.com/Alinto/sogo/commit/ed444fdc2266888f9d15d557e1ba92896158d870))
* **sv:** Update Swedish translations ([10369aa](https://github.com/Alinto/sogo/commit/10369aa654058b50285ae7239a9356f736c7ac1c))
* **tr_TR:** Update TurkishTurkey translations ([8d1fc1e](https://github.com/Alinto/sogo/commit/8d1fc1e306d926b3efeab2e3017823201254caf0))
* **uk:** Update Ukrainian translations ([0e50d37](https://github.com/Alinto/sogo/commit/0e50d37531d850b46009af2af5049a6b46541da0))
* **zh_CN:** Update ChineseChina translations ([cf87022](https://github.com/Alinto/sogo/commit/cf87022348296b9659e83e3a3985b48d89f5e01f))
* **zh_TW:** Update ChineseTaiwan translations ([fc2a82c](https://github.com/Alinto/sogo/commit/fc2a82c3b0f4b780df3b4d27ad0da78e34f665c6))
## [5.9.0](https://github.com/Alinto/sogo/compare/SOGo-5.8.3...SOGo-5.9.0) (2023-09-27)
### Features
* **calendar:** Add CALDAV Mac OS X Sonoma (14) support ([68cef9a](https://github.com/Alinto/sogo/commit/68cef9ae039e3040348a6a16733f4017a7e8ba42) [87bbba0](https://github.com/Alinto/sogo/commit/87bbba0c8d7893a776ff9ccafbe8227e98aa14ed))
* **core:** Add in user settings to force password change for a user when logging ([9918f75](https://github.com/Alinto/sogo/commit/9918f7558028f7a9d403d93c034f62a384ede4f2) [d1a51e8](https://github.com/Alinto/sogo/commit/d1a51e8340a74e7803cb808f7ff8a7bf959759c1))
* **notification:** add enotify sieve script in preferences ([82b69d1](https://github.com/Alinto/sogo/commit/82b69d14149c4ef3f6e913232bed478635009ed5) [6b64705](https://github.com/Alinto/sogo/commit/6b647050fc64b9beb024379ed7d37b6a54356798))
* **preferences:** Add user preferences to enable / disable signature for new mail, reply and forward ([8582e42](https://github.com/Alinto/sogo/commit/8582e423bdd69e200ff8cdec7f1d94634455e519))
### Enhancements
* **calendar:** add copy to clipboard button in "links to calendar" panel ([5c4d467](https://github.com/Alinto/sogo/commit/5c4d467d06161324826ee1ef0a713fc340dfaed5))
* **preferences:** Add subtext in vacation filter to explain the behavior ([09d0326](https://github.com/Alinto/sogo/commit/09d03261af82071b451fcba32a431f5c0432fa5d))
* **preferences:** show special characters when changing password ([6050c4e](https://github.com/Alinto/sogo/commit/6050c4ee61811b989e39b3c38a2e86360213be28))
* **packaging:** Add debian 10 support ([528d178](https://github.com/Alinto/sogo/commit/528d1782563c10bb0905ab159eb3577973615ae4))
### Bug Fixes
* **addressbook:** Fix asynchronous selection of contacts - cards are not added as they're not yet loaded. ([1df2586](https://github.com/Alinto/sogo/commit/1df25867455b46ff634e3a53cdf10fbb8f2a6a4b))
* **addressbook:** Fix broken image in shared address book when image is null ([5d315ac](https://github.com/Alinto/sogo/commit/5d315ac18066bd952fc45121ad1fe431a7b0305c))
* **addressbook:** Remove vlist from dav request for Thunderbird only. In Thunderbird 115, using vlist results in contact duplication ([f0719ee](https://github.com/Alinto/sogo/commit/f0719ee409dee693e7b4792bd127ccdd4b3043f1))
* **calendar:** Add negative timestamp support to use date before 1970-01-01. Fixes [#4914](https://bugs.sogo.nu/view.php?id=4914) (partial) ([8a8dcae](https://github.com/Alinto/sogo/commit/8a8dcae0298b81a486ad454bd58b90821eec6894))
* **calendar:** Avoid event duplication when adding an ics with an older sequence number and event already added in calendar ([cab5bc0](https://github.com/Alinto/sogo/commit/cab5bc011eb3afb5ff36e0f49f9919380c5835e9))
* **calendar:** deleted occurence of repeated event could cause some troubles with other imrbicated occurences ([f3981c4](https://github.com/Alinto/sogo/commit/f3981c42765f04431dd34af35d446aca03a1b5bc))
* **calendar:** Do not send tentative participation mail when user open mail or add ics to calendar app ([382b8a0](https://github.com/Alinto/sogo/commit/382b8a0a1a37fe89d268224a28570134bd2d2481))
* **calendar:** Fix calendar green dot stucks in original day when browser is opened for days and day change. Fixes [#5783](https://bugs.sogo.nu/view.php?id=5783) ([22372a7](https://github.com/Alinto/sogo/commit/22372a7598adbcf9c229f174f58842a89ada963f))
* **calendar:** Fix calendar green dot stucks in original day when browser is opened for days and day changed ([f22672c](https://github.com/Alinto/sogo/commit/f22672cef852116d08ba6a8720721fd0ce2f717f) [650ca16](https://github.com/Alinto/sogo/commit/650ca16ff78ecbd0dbf23bdf381461d75dda864e))
* **calendar:** Fix duplicates in series appointments for Apple's Calendar ([57ba539](https://github.com/Alinto/sogo/commit/57ba5397e5c14b3cb0a31c5617718c2866fca72f) [7600e9e](https://github.com/Alinto/sogo/commit/7600e9e1798062db167b1206829d1ca8be8c8881))
* **calendar:** Fix MacOS X Ventura calendar support. Fixes [#5639](https://bugs.sogo.nu/view.php?id=5639) ([4f7c731](https://github.com/Alinto/sogo/commit/4f7c73143f38b1e7e00a51b9457b55ce609a02a9))
* **calendar:** Fix NAME:NSInvalidArgumentException REASON:SOGoAppointmentFolder(instance) does not recognize davCalendarProxyReadFor ([82178ee](https://github.com/Alinto/sogo/commit/82178eeba95d19842afcd309d1a291e971d04bbe))
* **calendar:** Fix Out of range value for column 'c_startdate' SQL error ([32a0499](https://github.com/Alinto/sogo/commit/32a04998e50cc4adbc72b7dc36de67b8e9e4b0f2) [158a5be](https://github.com/Alinto/sogo/commit/158a5becc902b1d241575ac5098ceb527a0011ff) [1a257c7](https://github.com/Alinto/sogo/commit/1a257c7768fb9010db32e050650693d26f3e5a29))
* **calendar:** Fix regression on calendar event modification. Start date was set to 1970. Fixes [#5777](https://bugs.sogo.nu/view.php?id=5777). ([b68a215](https://github.com/Alinto/sogo/commit/b68a215ea29807db688e2f9a46a4a8d0907f83b8))
* **calendar:** Fix search issue on repeated events when one title is changed the event could not be found ([139ef15](https://github.com/Alinto/sogo/commit/139ef1528456d416ec5e99b56eba4f064d20738b))
* **calendar:** Increase timeout to 60 seconds for large ics calendar. Closes [#5781](https://bugs.sogo.nu/view.php?id=5781). ([fa5264e](https://github.com/Alinto/sogo/commit/fa5264e822867549aa5bc23fb905fd18c065c087))
* **calendar:** recurrenceid wasn't working properly ([c5814d6](https://github.com/Alinto/sogo/commit/c5814d60a4b3bb632a5ef50121453f592e9b4bd6))
* **calendar:** Repeated events didn't use the correct timezone in some cases ([bd8b49d](https://github.com/Alinto/sogo/commit/bd8b49d2c95a187b218bd7c4b8689a85faa3dda2))
* **calendar:** Revert commit e47566e3a and change HTTP status from 409 to 403 when event has a sequence number lower than than the new one. This should fix some Apple's duplication events ([fce02db](https://github.com/Alinto/sogo/commit/fce02db7d15c827c24a89d67a457f23379199e4e))
* **calendar:** some kinds of events are not shown ([f2df405](https://github.com/Alinto/sogo/commit/f2df4056161a96da750cba4a083a05ce1390ad55))
* **calendar:** When an event has no date (weird case), it is not possible to remove the event (NSException) ([4d2c771](https://github.com/Alinto/sogo/commit/4d2c77195e72def1e39caab6c402c9b297d844ff))
* **cas:** correction on pgtUrl ([a1528bc](https://github.com/Alinto/sogo/commit/a1528bcc0304ca4cce1a088c557e0e7d806309d9))
* **CAS:** key based on tciket was too long for memecached ([68b1c1e](https://github.com/Alinto/sogo/commit/68b1c1e5dfac8383e6cbafadf639105d25680cb4))
* **contacts:** Fix 5875 ([ff263b9](https://github.com/Alinto/sogo/commit/ff263b99fe5234752e875cd25101948c3fd177a5))
* **js:** Fix invalid sass version ([5e471c5](https://github.com/Alinto/sogo/commit/5e471c5d66f48d01cc1a75419dbdbaed57600331))
* **js:** Fix url redirection to null when disconnected. Closes [#5844](https://bugs.sogo.nu/view.php?id=5844). ([dc23721](https://github.com/Alinto/sogo/commit/dc23721b75405ff27624210598799366bdad91a9))
* **login:** Fix language list sorting on login page ([e0d76fb](https://github.com/Alinto/sogo/commit/e0d76fba65d46a8299bb00aa677308521f7cfc03))
* **mail:** autocomplete can't find two lists named the same but in different address books ([854e83c](https://github.com/Alinto/sogo/commit/854e83c22c5ca47915e0f426482d004e5ecc9868))
* **mail:** Fix a bug when pressing the key DEL more than once to delete mails ([af59e57](https://github.com/Alinto/sogo/commit/af59e57fc03f0bb5b5908510ad5da8ad11a601d9))
* **mail:** Fix email without subject according to RFC 2822. Fixes [#5743](https://bugs.sogo.nu/view.php?id=5743) ([ab954a1](https://github.com/Alinto/sogo/commit/ab954a150e99b4b35317a836791e831d460a1059))
* **mail:** Recipients with umlaut (ü) trigerred the end of string ([9c7ef08](https://github.com/Alinto/sogo/commit/9c7ef089c28df73ff3171efa1ca7f34d0d8b3a6c))
* **mail:** Removed invalid HTML tags in mail body. Fixes [#5755](https://bugs.sogo.nu/view.php?id=5755) ([f9fdad2](https://github.com/Alinto/sogo/commit/f9fdad251da20617430e1626a72c574221215ff1))
* **mail:** Signature images are not handled properly in forwarded or replied to messages. Save extracted body parts (for signature) into file system. Fixes [#5768](https://bugs.sogo.nu/view.php?id=5768) ([23da4cc](https://github.com/Alinto/sogo/commit/23da4cca7bbf5907f499d218c65b063d875a3120) [d436afb](https://github.com/Alinto/sogo/commit/d436afb05433bde00040b8b9cdd7432bf5d00bb0))
* **mail:** Templates namespace is correctly returned ([e959583](https://github.com/Alinto/sogo/commit/e959583390f50339f02f4870ef88a16c63b0dbd5))
* **mail:** When signature is too big and changing identity, a 'regex too big' error occurs. In this case just add signature at the end. Fixes [#5695](https://bugs.sogo.nu/view.php?id=5695). ([b7e529d](https://github.com/Alinto/sogo/commit/b7e529dd490c493a726878df0c712670fbd3fa3f))
* **notification:** body was not send + missing tooltip ([5534d4b](https://github.com/Alinto/sogo/commit/5534d4b6eed4b7b2343bb711fa9b7441f1d13ed7))
* **notifications:** bug with older user profile ([16af360](https://github.com/Alinto/sogo/commit/16af360006dd67e246590a41574634a669cf6070))
* **preferences:** add autocomplete for recipients in automatic forward ([ba4c7a5](https://github.com/Alinto/sogo/commit/ba4c7a5300d7eb5ea15c13a8b3fd9b27aa4cf53a))
* **preferences:** Disable auxiliary mail accounts creation when SOGoCreateIdentitiesDisabled is enabled ([b666137](https://github.com/Alinto/sogo/commit/b666137a7036a1fb095b17c767f342028df8211c))
* **preferences:** Fix language list sorting on preferences page ([f5f74f7](https://github.com/Alinto/sogo/commit/f5f74f751a63f6de3e247db7fff7da5ca215bdff))
* **preferences:** Fix NSException issue when SOGoCreateIdentitiesDisabled is set ([eb42e17](https://github.com/Alinto/sogo/commit/eb42e1787c427c8ac2bae9ecb9129fcf430eaaca))
* **preferences:** Fix the issue when signature is too long and preferences are not saved. Note that MySQL profile table should be updated with a migration script ([326bc68](https://github.com/Alinto/sogo/commit/326bc68f4c928ed2be8cea6d57d62a6e2ca04f6b))
* **preferences:** Signature could not be saved when SOGoCreateIdentitiesDisabled is set to YES and no signature is on identity ([4abf12b](https://github.com/Alinto/sogo/commit/4abf12b4bb27cfafdb3cc725f677e8f66fe5709e))
* **sieve:** sieve availibility was checked even if we disable it ([bba1da1](https://github.com/Alinto/sogo/commit/bba1da1b2b8d4babef7ab1a523741877cf58d61f))
* **translation:** french syntax ([8604389](https://github.com/Alinto/sogo/commit/860438915212a06f983da8c283d386a48745d049))
* **ui:** Disable send button while mail is sending. Fixes [#5825](https://bugs.sogo.nu/view.php?id=5825). ([a484407](https://github.com/Alinto/sogo/commit/a48440754cb9e4ea1bc13c5bc68c05bd93f89d51))
* **user:** Replace length with count for NSArray ([ec27f7e](https://github.com/Alinto/sogo/commit/ec27f7e7141c8ddae3450b36344415e98ae8f794))
### Localization
* **ar:** Update Arabic translations ([132912b](https://github.com/Alinto/sogo/commit/132912b56610141d6bcd6a5ce9170837796b5991))
* **bg_BG:** Update Bulgarian translations ([6606f98](https://github.com/Alinto/sogo/commit/6606f9865a619cecf8f37e0c4c39ca8fa0aa31cc))
* **bs_BA:** Update Bosnian translations ([fc93272](https://github.com/Alinto/sogo/commit/fc93272d70661db3eafcf2c089d2f8cae65bd799))
* **ca:** Update Catalan translations ([c82a48f](https://github.com/Alinto/sogo/commit/c82a48f96f3f114d3ac771f13fe0687bb24308f1))
* **cs:** Update Czech translations ([1a5408c](https://github.com/Alinto/sogo/commit/1a5408c2b323f46d03f2078ac17895493b0cd986))
* **cy:** Update French translations ([487ad1a](https://github.com/Alinto/sogo/commit/487ad1a849290a21807e2bca55d884116b9991bf))
* **cy:** Update Welsh translations ([0e2deac](https://github.com/Alinto/sogo/commit/0e2deac164b16b6bd105bd9d629275ae1147a902))
* **da_DK:** Update Danish translations ([9ef58e7](https://github.com/Alinto/sogo/commit/9ef58e7c6d143e2ac7d13719ec2e2be281de377f))
* **de:** Update German translations ([0f0ecf7](https://github.com/Alinto/sogo/commit/0f0ecf71c30ce7b5742ce7e6b6e9cb55b1b85a84))
* **es_AR:** Update SpanishArgentina translations ([64865aa](https://github.com/Alinto/sogo/commit/64865aa85a715095788452b1132bafe8f8fea018))
* **es_ES:** Update SpanishSpain translations ([ea8f04a](https://github.com/Alinto/sogo/commit/ea8f04ac7c5baf6c70bf4741298cb7e0b7147750))
* **eu:** Update Basque translations ([6293f62](https://github.com/Alinto/sogo/commit/6293f62d83bb4e855ec199cf92dce8e8f9086134))
* **fi:** Update Finnish translations ([7ff0699](https://github.com/Alinto/sogo/commit/7ff0699648a9531270f2c6299bced91d2d8256b5))
* **gl:** Update Galician translations ([86e5872](https://github.com/Alinto/sogo/commit/86e5872dc1303cfc5302ef728be40df73c0894d2))
* **he:** Update Hebrew translations ([41842e2](https://github.com/Alinto/sogo/commit/41842e2d3956fc6c34e74c9b79294e11233aa70f))
* **hr_HR:** Update Croatian translations ([b1df5d4](https://github.com/Alinto/sogo/commit/b1df5d4d142da783e0dc87bc509bba6e71ac1b88))
* **hu:** Update Hungarian translations ([e3d392b](https://github.com/Alinto/sogo/commit/e3d392b12ab4d3ff03cadba52f0848e1063d1573))
* **id_ID:** Update Indonesian translations ([e50b66b](https://github.com/Alinto/sogo/commit/e50b66b62e494564306b58157112e2c71a75c5cf))
* **is:** Update Icelandic translations ([ee3ed07](https://github.com/Alinto/sogo/commit/ee3ed0779cc29121d04267cab44998a4296deed6))
* **it:** Update Italian translations ([2fee2f8](https://github.com/Alinto/sogo/commit/2fee2f8782e0db1c7ba5fa0d3305149b7ce25506))
* **ja:** Update Japanese translations ([97d01fb](https://github.com/Alinto/sogo/commit/97d01fb14e45b6e2f4cda977de462ab5fa5a782f))
* **kk:** Update Kazakh translations ([ed5199a](https://github.com/Alinto/sogo/commit/ed5199aee71d53ccf7cd1dec7e08fb33ab3ac31b))
* **lt:** Update Lithuanian translations ([4974648](https://github.com/Alinto/sogo/commit/4974648c3323e853ca0ac440105020fb8a215805))
* **lv:** Update Latvian translations ([493f5f6](https://github.com/Alinto/sogo/commit/493f5f625fa87bab69b1d6b13b6ed9d0278b00f2))
* **mk_MK:** Update Macedonian translations ([bbb0955](https://github.com/Alinto/sogo/commit/bbb09555f0c07e2ea57ca12cd1ec8a218c475e59))
* **nb_NO:** Update NorwegianBokmal translations ([0368bad](https://github.com/Alinto/sogo/commit/0368bad3c5bd90107703f469b7605fa0c1a1c277))
* **nl:** Update Dutch translations ([03d4307](https://github.com/Alinto/sogo/commit/03d43079d3934a6ef20098df425e4c15d30aca6f))
* **nn_NO:** Update NorwegianNynorsk translations ([02d32d5](https://github.com/Alinto/sogo/commit/02d32d5f6ced2c2411b549e198cda59352942142))
* **pl:** Update Polish translations ([92d38c1](https://github.com/Alinto/sogo/commit/92d38c108e627520a5143a8059ff013a4a0d6080))
* **pt_BR:** Update BrazilianPortuguese translations ([ce6efaf](https://github.com/Alinto/sogo/commit/ce6efafe54673f55ae02e348c7844f7258f5cb3a))
* **pt:** Update Portuguese translations ([46d5779](https://github.com/Alinto/sogo/commit/46d5779088c4ceb34578c3233fea34cf8885d858))
* **ro_RO:** Update Romanian translations ([9aebf9b](https://github.com/Alinto/sogo/commit/9aebf9bf022b6ad49b14e5980ef4b8d22ff4f59d))
* **ru:** Update Russian translations ([da609c4](https://github.com/Alinto/sogo/commit/da609c448e57168b6e691b5c756eb06c49e4c50c))
* **sk:** Update Slovak translations ([8a10213](https://github.com/Alinto/sogo/commit/8a10213b751fc04a3d3f08b96eb58f87dc794663))
* **sl_SI:** Update Slovenian translations ([b08b5dd](https://github.com/Alinto/sogo/commit/b08b5dd79a68eadd7e5482d55bf0ace54d96d3b1))
* **sr_ME@latin:** Update Montenegrin translations ([865aba3](https://github.com/Alinto/sogo/commit/865aba32486c3bacdd6ca78e32ef4cf37a123219))
* **sr@latin:** Update SerbianLatin translations ([1710112](https://github.com/Alinto/sogo/commit/1710112c4e7d7997d277fbb22413d28cec4388a0))
* **sr:** Update Serbian translations ([2242c21](https://github.com/Alinto/sogo/commit/2242c213238c88318fbda0a7fc2ffccea3d42c32))
* **sv:** Update Swedish translations ([d5c1b74](https://github.com/Alinto/sogo/commit/d5c1b742f45130cd3a9efd6bbacb8ce53a1db7ca))
* **tr_TR:** Update TurkishTurkey translations ([dfc1ab7](https://github.com/Alinto/sogo/commit/dfc1ab7e0ecf7d304d62a5a5a1bfd9c583ca070d))
* **uk:** Update Ukrainian translations ([5ee12a4](https://github.com/Alinto/sogo/commit/5ee12a45074f679aa90c8596d0e95d7e6cdb345d))
* **zh_CN:** Update ChineseChina translations ([300cfe4](https://github.com/Alinto/sogo/commit/300cfe4e27e60b0b6f9ba80ff1ce9dc88a58efdb))
* **zh_TW:** Update ChineseTaiwan translations ([e330c55](https://github.com/Alinto/sogo/commit/e330c552c3917cf662fe4b124686d504904e4e13))
### [5.8.4](https://github.com/Alinto/sogo/compare/SOGo-5.8.3...SOGo-5.8.4) (2023-06-20)
### Bug Fixes
* **preferences:** Fix NSException issue when SOGoCreateIdentitiesDisabled is set ([ef958f6](https://github.com/Alinto/sogo/commit/ef958f6aaaa606eaa7c06c1edd3a93667b869d3b))
### Enhancements
* **packaging:** Add RHEL9 support
## [5.8.3](https://github.com/Alinto/sogo/compare/SOGo-5.8.2...SOGo-5.8.3) (2023-05-30)
### Enhancements
* **calendar:** Add week number on month view. Fixes [#4457](https://bugs.sogo.nu/view.php?id=4457). ([96639b7](https://github.com/Alinto/sogo/commit/96639b70a05cc3646939f8d2e078c6896cfc6af5))
* **mail:** Add autolink from ckeditor. Fixes [#5749](https://bugs.sogo.nu/view.php?id=5749) ([810cd12](https://github.com/Alinto/sogo/commit/810cd1235f37a3dd25e5294b0c6c28bb379ba9a7))
* **preferences:** Add SOGoCreateIdentitiesDisabled domain option which disables identity creation for users in preferences ([af6202b](https://github.com/Alinto/sogo/commit/af6202bee6fe647f178a98ef784f98eeaaacd592) [a14f9a7](https://github.com/Alinto/sogo/commit/a14f9a7b7991271727b8837a253c0ce9c154e012))
### Bug Fixes
* **activesync:** Wrong decoding emails in Outlook via EAS. Force utf-8 when contnet-type is different than html part. Original fix from tfu. Fixes [#5664](https://bugs.sogo.nu/view.php?id=5664) ([39ab482](https://github.com/Alinto/sogo/commit/39ab482b7f1a9206528a3e9fdb229b3b4e276baf))
* **calendar:** Fix Web Calendar (ics) subscription with authentication between SOGo instances not possible after upgrading from 5.7.0 to 5.8.2. Fixes [#5753](https://bugs.sogo.nu/view.php?id=5753) ([dd60e01](https://github.com/Alinto/sogo/commit/dd60e016c6c7f9a19b831804d55b6d39321d4a2a))
* **calendar:** Rework confirmation box when dismissing calendar event edition with background click, only if the event is in edition. Rework of [#5585](https://bugs.sogo.nu/view.php?id=5585). Closes [#5720](https://bugs.sogo.nu/view.php?id=5720). ([4fc61a2](https://github.com/Alinto/sogo/commit/4fc61a28d529add9b879449a6c64a9d32ead3cab) [6ccd22b](https://github.com/Alinto/sogo/commit/6ccd22b511783d5f14d5af047e38791f3849d08e) [46215ac](https://github.com/Alinto/sogo/commit/46215aca87350cca0d608040e90b8187268f2f08))
* **core:** Add . , : ; + = special characters in password policy ([2f36fa5](https://github.com/Alinto/sogo/commit/2f36fa55fe5f4e8136198a0f26dd8b4254b43433) [a5d4715](https://github.com/Alinto/sogo/commit/a5d4715e7693097b2d38a700f5e71db4aade0b02))
* **eas:** Fix error 500 when SOGoCacheCleanup triggered cleanup with shibboleth 4.2.1. Fore refresh ticket in iFrame in this case ([7b711ea](https://github.com/Alinto/sogo/commit/7b711eabb346e7197c94880c8bfe264e0e3b6f0f) [5500ce7](https://github.com/Alinto/sogo/commit/5500ce7085a1c45a6858483b89fda5867f2aef36))
* **js:** Fix display of body message when 'to' field is not filled in. Closes [#5721](https://bugs.sogo.nu/view.php?id=5721) ([6acb245](https://github.com/Alinto/sogo/commit/6acb245fec44bfc0bb7cf8b5b37dfd56b62089c5))
* **js:** Fix JavaScript error when send mail from Addressbook. Fixes [#5750](https://bugs.sogo.nu/view.php?id=5750). ([3b0fbdd](https://github.com/Alinto/sogo/commit/3b0fbdd4f4584a010195daab9fa64c617e093c76))
* **mail:** Fix images in attachements when replying to a mail. Fixes [#5731](https://bugs.sogo.nu/view.php?id=5731) ([dbd4e20](https://github.com/Alinto/sogo/commit/dbd4e20c344666a01cfb1fa5dfdd5547a59f0520))
* **mail:** Fix invalid forward template when replying. Closes [#5726](https://bugs.sogo.nu/view.php?id=5726) ([d49ef40](https://github.com/Alinto/sogo/commit/d49ef4047a5c7f51850cf6e49cb3465b0dc7ac91))
* **mail:** Removed attachements of images when replying to a mail. As the image is inline, the attachement shall be removed. ([0edd3f7](https://github.com/Alinto/sogo/commit/0edd3f757fc07aabd4270b393677cea6ff4a8ed6))
### Localization
* **ar:** Update Arabic translations ([2c0b59f](https://github.com/Alinto/sogo/commit/2c0b59fa71551ccac690f603e0ca3bfdbe308798))
* **base:** Fix the meaning of 'Disable auto reply on' ([861dea8](https://github.com/Alinto/sogo/commit/861dea8efa3699928e7f4a7194efd802ff889944))
* **bg_BG:** Update Bulgarian translations ([b6c7521](https://github.com/Alinto/sogo/commit/b6c7521f144b54645cf97c6f3592908b8b05bf9a))
* **bs_BA:** Update Bosnian translations ([76dcd4f](https://github.com/Alinto/sogo/commit/76dcd4f6aa82fd634b3fc58b960fdf5461b94e75))
* **ca:** Update Catalan translations ([87f778d](https://github.com/Alinto/sogo/commit/87f778d01c573d5cb9b8d428283b048afb0124b2))
* **cs:** Update Czech translations ([e5dc040](https://github.com/Alinto/sogo/commit/e5dc0408ce20faf9f3092a717331447f1311b437))
* **cy:** Update Welsh translations ([5f47fc7](https://github.com/Alinto/sogo/commit/5f47fc7bcb98af998deefb1433f9d03674c8cf65))
* **da_DK:** Update Danish translations ([ad47aec](https://github.com/Alinto/sogo/commit/ad47aec62e7199ed8efdca5f93289484b9427ac7))
* **de:** Update German translations ([973a0ef](https://github.com/Alinto/sogo/commit/973a0efa6c654496a3f6acd0f25ba310350ba121))
* **en:** Fix the meaning of 'Disable auto reply on' ([d43de46](https://github.com/Alinto/sogo/commit/d43de46a5a1977d3c5f6be9e39b6dc3eb0da92a5))
* **es_AR:** Update SpanishArgentina translations ([ccf4872](https://github.com/Alinto/sogo/commit/ccf4872347133f71ad0babdbb3c64d82efd861f1))
* **es_ES:** Update SpanishSpain translations ([2b7552a](https://github.com/Alinto/sogo/commit/2b7552a5a9237a0a4646f6567e0698402903f785))
* **eu:** Update Basque translations ([fb5fa0c](https://github.com/Alinto/sogo/commit/fb5fa0c63d892885c2aa33798fa88df1822c3818))
* **fi:** Update Finnish translations ([33427ac](https://github.com/Alinto/sogo/commit/33427ac00bdb262c55c102c30a9a1c45f9757c02))
* **fr:** Update French translations ([0f06c57](https://github.com/Alinto/sogo/commit/0f06c576f60d77ba21593340cc1409a926d05a25) [fd7bdd8](https://github.com/Alinto/sogo/commit/fd7bdd8393883f284b4103508df5f8f4662b384d) [dc8c1c1](https://github.com/Alinto/sogo/commit/dc8c1c10ed4f20bca4e0fe53fff847533683592d))
* **he:** Update Hebrew translations ([b8c5d8f](https://github.com/Alinto/sogo/commit/b8c5d8f4a85511da8ac475ccab9e87a48cff9a39))
* **hr_HR:** Update Croatian translations ([b706d1b](https://github.com/Alinto/sogo/commit/b706d1b41fa0c007199ceff96e5e703833ec3f42))
* **hu:** Update Hungarian translations ([a8f2a37](https://github.com/Alinto/sogo/commit/a8f2a3749aa171a4d484bcb56e45c0a5c1037078))
* **id_ID:** Update Indonesian translations ([aa43c5b](https://github.com/Alinto/sogo/commit/aa43c5bf31f87f9bf759b473496867a25b6b95e6))
* **is:** Update Icelandic translations ([7f7f224](https://github.com/Alinto/sogo/commit/7f7f2246214037742c324e7266b4469b2227f999))
* **it:** Update Italian translations ([97b69af](https://github.com/Alinto/sogo/commit/97b69af241b6a67555e9a1e34b9c404064882d76))
* **ja:** Update Japanese translations ([8d842cc](https://github.com/Alinto/sogo/commit/8d842ccfb4b84517b24bf04a9d9bef57d09d9896))
* **kk:** Update Kazakh translations ([f3bdda5](https://github.com/Alinto/sogo/commit/f3bdda516e0a729697a4f5fbe13b89cf390c8763) [0fcf113](https://github.com/Alinto/sogo/commit/0fcf113c168d70bd9f77b7c5afbd0954bbad4a62) [29bda6b](https://github.com/Alinto/sogo/commit/29bda6b9457e237093a76bec4d2701540b38c4c7) [d1ad970](https://github.com/Alinto/sogo/commit/d1ad970864998face2b4b7ade49648c548e85d70) [b61bde9](https://github.com/Alinto/sogo/commit/b61bde90720851bc397861b06fe57fb6f454e43e))
* **lt:** Update Lithuanian translations ([07a01e3](https://github.com/Alinto/sogo/commit/07a01e3fdd7bb0102fe9c99b7ded407f74b2e52f))
* **lv:** Update Latvian translations ([56e040c](https://github.com/Alinto/sogo/commit/56e040c6d5bdbc6aa2c0c47b3939ecaeba28cc89))
* **mk_MK:** Update Macedonian translations ([d4a2d6b](https://github.com/Alinto/sogo/commit/d4a2d6b6f4c9b1d4f885a1fa239417d72e850fd2))
* **nb_NO:** Update NorwegianBokmal translations ([e8f507d](https://github.com/Alinto/sogo/commit/e8f507d7b90ffb85030193bb9659c7925a791077))
* **nl:** Update Dutch translations ([42b9a03](https://github.com/Alinto/sogo/commit/42b9a037252540d9662a85b1a4fa923721156c23))
* **nn_NO:** Update NorwegianNynorsk translations ([3e93296](https://github.com/Alinto/sogo/commit/3e9329690200849a944c36f57a11af5f4a199411))
* **pl:** Update Polish translations ([51817fc](https://github.com/Alinto/sogo/commit/51817fc6b41498ecccc73205ec8ebdca18194516))
* **pt_BR:** Update BrazilianPortuguese translations ([818332e](https://github.com/Alinto/sogo/commit/818332edd661d2d9394977fa5fa86f9fb9dcd326))
* **pt:** Update Portuguese translations ([6bb781b](https://github.com/Alinto/sogo/commit/6bb781b531ad109d11ddb4406bd9c71b23dedc5b))
* **ro_RO:** Update Romanian translations ([7be8e64](https://github.com/Alinto/sogo/commit/7be8e644a9f461f818e3d55e145f9f0cae8a54d7))
* **ru:** Date specific Russian from and to translations ([d1401e3](https://github.com/Alinto/sogo/commit/d1401e3bfc7cc569b333d74cafed76335e123273))
* **ru:** Update Russian translations ([239016f](https://github.com/Alinto/sogo/commit/239016fdc28923595e1287c80010a0ce098537c6))
* **sk:** Update Slovak translations ([1ea3f00](https://github.com/Alinto/sogo/commit/1ea3f009bb164a676b5e54baa1438a1648ebf406))
* **sl_SI:** Update Slovenian translations ([17fca79](https://github.com/Alinto/sogo/commit/17fca79bb0c320a3f4c099eacce50de66c762131))
* **sr_ME@latin:** Update Montenegrin translations ([d5bf149](https://github.com/Alinto/sogo/commit/d5bf149f7a753d554e92635665af3301f0c6a2ca))
* **sr@latin:** Update SerbianLatin translations ([b1f6d20](https://github.com/Alinto/sogo/commit/b1f6d20e9f9fbf5239c369f660968f9d99ed12a3))
* **sr:** Update Serbian translations ([b4e315b](https://github.com/Alinto/sogo/commit/b4e315b1d82328026558e597105e675b830bb028))
* **sv:** Update Swedish translations ([af96d2b](https://github.com/Alinto/sogo/commit/af96d2b5c4c6aec7de764ce83baaaed6493e1a33))
* **tr_TR:** Update TurkishTurkey translations ([d8a2146](https://github.com/Alinto/sogo/commit/d8a214601415643693782a192e92dbc5b65246b4))
* **uk:** Update Ukrainian translations ([6655f06](https://github.com/Alinto/sogo/commit/6655f06cc0592216ab521ccec5fff8da1fd31626))
* **zh_CN:** Update ChineseChina translations ([0b4fddc](https://github.com/Alinto/sogo/commit/0b4fddc23293c550a0462c397252ad48b9938acb))
* **zh_TW:** Update ChineseTaiwan translations ([0a2d702](https://github.com/Alinto/sogo/commit/0a2d702c69f2af8c91c188f12dce07e565967569))
## [5.8.2](https://github.com/Alinto/sogo/compare/SOGo-5.8.1...SOGo-5.8.2) (2023-03-28)
### Bug Fixes
* **calendar:** Impossible to create a new event after creating a new one. Closes [#5718](https://bugs.sogo.nu/view.php?id=5718) ([f813b78c](https://github.com/Alinto/sogo/commit/f813b78c3cbe9ea4764fa2af2ea108b58ae26c37))
## [5.8.1](https://github.com/Alinto/sogo/compare/SOGo-5.8.0...SOGo-5.8.1) (2023-03-28)
### Enhancements
* **alarms:** Add possibility to use SMTP master account for system alarms. Fixes [#5565](https://bugs.sogo.nu/view.php?id=5565). ([53f9449](https://github.com/Alinto/sogo/commit/53f9449a51b574a15356191aabf6eca788af483e) [7faf4eb](https://github.com/Alinto/sogo/commit/7faf4eb2f419082660a4aa68d1c246f2e3100802) [8001e3f](https://github.com/Alinto/sogo/commit/8001e3f6ab4fabb2c196e18787343e39ffe4b65d))
* **core:** Add SOGoDisableSharing option to disable sharing for mail, contacts and calendar ([435495f](https://github.com/Alinto/sogo/commit/435495f007144cfa97e8e9eb1ccf5bcf582bcfe5))
* **eas:** Add SOGoEASDisableUI system parameter to remove EAS options in UI when ActiveSync is not used ([04e15b5](https://github.com/Alinto/sogo/commit/04e15b56953f8760d8ddfecc8fe72badd80b7c37))
* **mail:** Add punycode (RFC 3492) to encode domain with special characters ([e12583e](https://github.com/Alinto/sogo/commit/e12583eb4ea06b6d275701f680a1d20bbc32ff30) [0a9b3d6](https://github.com/Alinto/sogo/commit/0a9b3d6adf07b96160d2a0a7563e9e8362388d08) [39032ac](https://github.com/Alinto/sogo/commit/39032ac80fdd4eea9edf0de5d763351991905c64) [13178a1](https://github.com/Alinto/sogo/commit/13178a16f2594acb4264220c89d0bf5c4de3887a))
* **preferences:** Improve TOTP - add validation code in preferences before saving to ensure user add qr code in totp application ([0bd530a](https://github.com/Alinto/sogo/commit/0bd530ab64b0818aad30be4642d137a76a4f1b85))
### Bug Fixes
* **authentication:** Reduce Cookie user key len to avoid exceeding 4096 bytes. Users in chrome <= 75 could not login due to cookie of 4099 bytes ([842fa97](https://github.com/Alinto/sogo/commit/842fa97d37d89ae58eb6abe10ec7524eb7886a8e))
* **calendar:** Add confirmation box when dismissing calendar event edition with background click, only if the event is in edition. Fixes [#5585](https://bugs.sogo.nu/view.php?id=5585) ([65d4c5c](https://github.com/Alinto/sogo/commit/65d4c5c4801cec3859db1605cbd9398657252c52) [bb4a88b](https://github.com/Alinto/sogo/commit/bb4a88b6df51f9b29907f4483b81812d99dbabcc) [64d817a](https://github.com/Alinto/sogo/commit/64d817ab0ddb0c82b6287328968c87d394a3b6b3))
* **calendar:** Fix duplicate event on Apple Calendar when creating a new reccurent event, inviting attendee and changing an occurence ([f158402](https://github.com/Alinto/sogo/commit/f15840217b8d15667ff583cf3f617cb494c4d334))
* **calendar:** Fix inaccessibility to personal calendar on Mac OS X Ventura. Fixes [#5639](https://bugs.sogo.nu/view.php?id=5639) ([ef53f6c](https://github.com/Alinto/sogo/commit/ef53f6c809fe4e7a62efaa11200d8de3bb10571a) [ba0d4a5](https://github.com/Alinto/sogo/commit/ba0d4a51c0612c082ea019b92649390b7c7bcdfd) [7e357f1](https://github.com/Alinto/sogo/commit/7e357f1bc9dcef07f0dc340500ae5f7acf9feae3) [a5347c7](https://github.com/Alinto/sogo/commit/a5347c70aa992b2b2982c3df102fb87683a52ef0) [7d72fe1](https://github.com/Alinto/sogo/commit/7d72fe12814d7693939b25450affb7935219fec2) [8680536](https://github.com/Alinto/sogo/commit/86805369a35b99b711cbe05592472f6410645c9c) [a7f3daa](https://github.com/Alinto/sogo/commit/a7f3daa33f50538f458fe8260f686a9d507e7e3e) [6ee8f76](https://github.com/Alinto/sogo/commit/6ee8f764e95c375b2f6a388b3e8b24c28ca6e9f5) [03e6d00](https://github.com/Alinto/sogo/commit/03e6d0012bc0d6ba4d8cb427f8d904a75d9ce036))
* **configure:** Prevent pulling in unnecessary vars ([b223fe0](https://github.com/Alinto/sogo/commit/b223fe0b869650108f994dcd40395f04f5cc3388)) (@dasJ)
* **core(js):** Removed es6 'const' for build issues with grunt ([5d6b40c](https://github.com/Alinto/sogo/commit/5d6b40c8cf6acdd0a078cc83b85cd080a5e61f2c))
* **dav:** Improve logging. Closes [#4190](https://bugs.sogo.nu/view.php?id=4190) ([1964ef0](https://github.com/Alinto/sogo/commit/1964ef03581947056807649fd46fa0d9a95f998e))
* **js:** Change grunt-contrib-uglify from 5.0.0 to 5.2.2 ([4d7a425](https://github.com/Alinto/sogo/commit/4d7a425428bcafca5b5b814aa5811c0c6a0ec7d7))
* **mail:** Fix images not displayed when forward / reply to a mail. Fixes [#3981](https://bugs.sogo.nu/view.php?id=3981) ([4dc8ef9](https://github.com/Alinto/sogo/commit/4dc8ef946dce1585c2774a07e2abd361c6c5e66c) [f5ed10b](https://github.com/Alinto/sogo/commit/f5ed10b00cbbdf24a06e90a33c2a7da927584171))
* **mail:** Fix segfault when TNEF does not get any data. Fixes [#4190](https://bugs.sogo.nu/view.php?id=4190) ([02f8550](https://github.com/Alinto/sogo/commit/02f855059babc7e01b25c1cf01d44dae52c777a1))
* **mail:** Store the Deleted flag in the correct (source) mailbox when moving mails across mailboxes ([a556e74](https://github.com/Alinto/sogo/commit/a556e742fbc23acc3aa1fe96ccb5bdc59f45b59a)) (@jkanefendt)
* **packaging:** Add MFA to Ubuntu Jammy ([66c728c](https://github.com/Alinto/sogo/commit/66c728ca8401c8c5304580a65f0ce97b1e8792bb))
* **packaging:** Add usr/share/doc/sogo/ for packaging. Fixes partially [#5698](https://bugs.sogo.nu/view.php?id=5698) ([7ea7572](https://github.com/Alinto/sogo/commit/7ea7572766e0eaca3bedd247d03fb6caee6c526d) [114c98c](https://github.com/Alinto/sogo/commit/114c98c32dc258cc0209ce5913507f426cb7e8d1))
* **packaging:** Check if there are sh files in usr/share/doc/sogo before applying chmod. Fixes partially [#5698](https://bugs.sogo.nu/view.php?id=5698) ([0d2f6d8](https://github.com/Alinto/sogo/commit/0d2f6d8c2a9ace58a5dd6f167e99ed5df493f4fc))
* **packaging:** Specify compression format for dpkg-deb ([63548a8](https://github.com/Alinto/sogo/commit/63548a84cf9c9b7defd17bf93f43ec0eb29eb673) [189144c](https://github.com/Alinto/sogo/commit/189144c531eca0ca1f0e3ded4109cc9da86ec52b) [5049423](https://github.com/Alinto/sogo/commit/5049423113dbd3fcba2a26bbfe5175afd9e886fe))
* **security:** Security fix for WSTG-INPV-02. Fix NSException where tried to modify NSDictionary. Closes [#5651](https://bugs.sogo.nu/view.php?id=5651). ([fe9ae12](https://github.com/Alinto/sogo/commit/fe9ae12e46a151ee5989ed1f0009bb81611a46bd))
* **ui:** Add error message on UI when too many mails are sent in short time. Fix fr translation. Fix documentation ([7ad7f5e](https://github.com/Alinto/sogo/commit/7ad7f5efa6180d9ab110b624a06ea53030d1ae6e))
* **ui:** Make the login page honor the color theme ([607bc08](https://github.com/Alinto/sogo/commit/607bc08c928ebdfa29bbdc0bc2880e5bdb214632)), closes [#5687](https://bugs.sogo.nu/view.php?id=5687) (@Alex Vogt)
### Localization
* **ar:** Update Arabic translations ([3714b14](https://github.com/Alinto/sogo/commit/3714b147edbe3af4a0e4c076eb50c357e5cb6a6d))
* **bg_BG:** Update Bulgarian translations ([982b1ec](https://github.com/Alinto/sogo/commit/982b1ec1f668c07501853ce79133c1a99f1ace7b))
* **bs_BA:** Update Bosnian translations ([ddf5527](https://github.com/Alinto/sogo/commit/ddf55270a6f6d19244ceb4f27c7b1ef6495f16c1))
* **ca:** Update Catalan translations ([485f40c](https://github.com/Alinto/sogo/commit/485f40cca4e2be4a620a27f542f9af4d0ab67bfa))
* **cs:** Update Czech translations ([4f7e04d](https://github.com/Alinto/sogo/commit/4f7e04d5b46659eb1e06f97cff67aa7abe14397c))
* **cy:** Update Welsh translations ([b2873bf](https://github.com/Alinto/sogo/commit/b2873bf5f14dd442d099d341e795263ff4da1355))
* **da_DK:** Update Danish translations ([ecd1344](https://github.com/Alinto/sogo/commit/ecd13440656a090c7bae41dd7d2bbfe521788ef5))
* **de:** Update German translations ([a3c9044](https://github.com/Alinto/sogo/commit/a3c9044b7eafbf4cebee82381f8fdae0c20db23a) [2c6f522](https://github.com/Alinto/sogo/commit/2c6f5225d4d3228e48df9f08661ee8c330dc8ffd))
* **es_AR:** Update SpanishArgentina translations ([d6a63bd](https://github.com/Alinto/sogo/commit/d6a63bd7bffa2ca3e23589d9d43a48dc69d313d5))
* **es_ES:** Update SpanishSpain translations ([43d925b](https://github.com/Alinto/sogo/commit/43d925b4efe8824f3c485beedcf758517716535f))
* **eu:** Update Basque translations ([9192f2b](https://github.com/Alinto/sogo/commit/9192f2b76d2d9d889717d84627e96ea569ab2080))
* **fi:** Update Finnish translations ([7b66aa9](https://github.com/Alinto/sogo/commit/7b66aa9dad428b71ec07f3deb8499881a15fc597))
* **he:** Update Hebrew translations ([38ebd5a](https://github.com/Alinto/sogo/commit/38ebd5a38fa0132905d846e1b01bdfda0ae7fd71))
* **hr_HR:** Update Croatian translations ([e16f5fa](https://github.com/Alinto/sogo/commit/e16f5fa0f9b6116d72929558827d9ea4417b2b57))
* **hu:** Update Hungarian translations ([cdbe91d](https://github.com/Alinto/sogo/commit/cdbe91decf6232125eab0f1964615ec3d1fad5ea))
* **id_ID:** Update Indonesian translations ([12c32ef](https://github.com/Alinto/sogo/commit/12c32ef1d2c124d7bd67b8e974b5b1089a77ff05))
* **is:** Update Icelandic translations ([7cbef4b](https://github.com/Alinto/sogo/commit/7cbef4bdd4d1d3efb7f1d51b72074b4882d4cb26))
* **it:** Update Italian translations ([561ab7e](https://github.com/Alinto/sogo/commit/561ab7e866ec7bc88debc10787e6fe33c04ff7d1))
* **ja:** Update Japanese translations ([44ea7a6](https://github.com/Alinto/sogo/commit/44ea7a684e5a134d3c1b9439733ca6135e89e0c8))
* **kk:** Update Kazakh translations ([d860a3c](https://github.com/Alinto/sogo/commit/d860a3c016fc7471b5008383decd9dbad5e43f9e))
* **lt:** Update Lithuanian translations ([dd0d9bd](https://github.com/Alinto/sogo/commit/dd0d9bd5fecc83067bf491469261e332fac5142f))
* **lv:** Update Latvian translations ([b9eacdb](https://github.com/Alinto/sogo/commit/b9eacdbe4928bba293384c69e2284357644bd8d8))
* **mk_MK:** Update Macedonian translations ([deef331](https://github.com/Alinto/sogo/commit/deef3310293154e1a6794af62b2ef3e94fc0b9cf))
* **nb_NO:** Update Norwegian Bokmål translations ([e4534c0](https://github.com/Alinto/sogo/commit/e4534c0bfdd4fc95ba4f707ac037b20980eda24e))
* **nl:** Update Dutch translations ([6c816cb](https://github.com/Alinto/sogo/commit/6c816cba6bcc53eb0e1c645c7c79fd2359f10412))
* **nn_NO:** Update NorwegianNynorsk translations ([7d60dbb](https://github.com/Alinto/sogo/commit/7d60dbb2c6883a64d2febd8d6d1c943ace0befd6))
* **pl:** Update Polish translations ([62edb09](https://github.com/Alinto/sogo/commit/62edb09b9c4b3dcc1b6c8f1704031831cf704d64))
* **pt_BR:** Update Portuguese (Brazil) translations ([2878483](https://github.com/Alinto/sogo/commit/28784836c8a0f5f8178241dd98ce1eb883b29fcb) [d2a5fd0](https://github.com/Alinto/sogo/commit/d2a5fd0b2d7f69e1db755f11940c161277c5e909))
* **ro_RO:** Update Romanian translations ([0d21123](https://github.com/Alinto/sogo/commit/0d21123def014b8d686bd9a68731610033947516))
* **ru:** Update Russian translations ([ac8aeec](https://github.com/Alinto/sogo/commit/ac8aeec83f97be65c51735b00e2e244cc15e05b3))
* **sk:** Update Slovak translations ([d185815](https://github.com/Alinto/sogo/commit/d18581514eece8a0d88188612a9322bd64aedee1))
* **sl_SI:** Update Slovenian translations ([5a67603](https://github.com/Alinto/sogo/commit/5a676038163dc22c26a7b77dec01245e9d804716))
* **sr_ME@latin:** Update Montenegrin translations ([f66992c](https://github.com/Alinto/sogo/commit/f66992cef416b561a547a1c60630d81843b13b5f))
* **sr:** Update Serbian translations ([1489b7d](https://github.com/Alinto/sogo/commit/1489b7d21933f754d47100780c327469f09f1448))
* **sv:** Update Swedish translations ([a0d047a](https://github.com/Alinto/sogo/commit/a0d047ad076fff11d2651d2478ba9566e12c984a))
* **tr_TR:** Update TurkishTurkey translations ([f87a855](https://github.com/Alinto/sogo/commit/f87a8557bdaa76cd60de3bb52198d42fe28a3bec))
* **uk:** Update Ukrainian translations ([90b174b](https://github.com/Alinto/sogo/commit/90b174bda1600342ba8f31806fde6031577dde8b))
* **zh_CN:** Update ChineseChina translations ([1344f2a](https://github.com/Alinto/sogo/commit/1344f2a7dd8f9354e12b2cb541dc86155e245870))
* **zh_TW:** Update ChineseTaiwan translations ([245ede9](https://github.com/Alinto/sogo/commit/245ede949e977b347c071051930070fdb10c2f88))
## [5.8.0](https://github.com/Alinto/sogo/compare/SOGo-5.7.1...SOGo-5.8.0) (2022-11-29)
### Features
* **password-recovery:** Add password recovery with secret question or secondary email ([656807b](https://github.com/Alinto/sogo/commit/656807b77d393c5d6f67915eb7dce54f53812791) [77062be](https://github.com/Alinto/sogo/commit/77062befc56252bef059dafe3751bcd049028cf0) [33940b1](https://github.com/Alinto/sogo/commit/33940b14ea4992ac62bd14d86942b898d3dd8fec) [e269df8](https://github.com/Alinto/sogo/commit/e269df8c6ee186b9efd9be9fd2d200e65304f063) [b7531bc](https://github.com/Alinto/sogo/commit/b7531bc59b0e05319952256de1065dbc29fa8ba9) [c4dd695](https://github.com/Alinto/sogo/commit/c4dd695b12cf707d8f916373e11957bc105125fd) [1ea8b9f](https://github.com/Alinto/sogo/commit/1ea8b9fb1f8458cb636a3be96eb29d8f89d5bbef) [2e1b22c](https://github.com/Alinto/sogo/commit/2e1b22cb230d84e87b669fda4f143329b248a624) [440a15b](https://github.com/Alinto/sogo/commit/440a15ba9858306d78bcbfdba6f94d0a84aaf6fb) [58540f1](https://github.com/Alinto/sogo/commit/58540f15e21ac7cb54e52881b693feb175517cf4) [d363474](https://github.com/Alinto/sogo/commit/d3634747d52cfa40e9bd6f4064e377fe1eec65ed) [9b023f4](https://github.com/Alinto/sogo/commit/9b023f43d516d31dcb13e4756cd0bb9a3c2ee8b7) [18c92da](https://github.com/Alinto/sogo/commit/18c92dac3195e037609286538c2914a76032467f) [d50080e](https://github.com/Alinto/sogo/commit/d50080ea5bf12a9b5e000ea595303f612d803679))
### Bug Fixes
* **addressbook:** Fix invalid template ([04dd78d](https://github.com/Alinto/sogo/commit/04dd78d738e3c9017063a66b58a59116d3438474))
* **addressbook:** Fix NSException on address book where uppercaseString is called on data ([c62b043](https://github.com/Alinto/sogo/commit/c62b043e26111ee4d6073b9b37931e15f3b95753))
* **calendar(js):** destination calendars of new components ([3eeebbc](https://github.com/Alinto/sogo/commit/3eeebbc83be064e65138ee6f777e1eaf0e2b5931)), closes [#5581](https://bugs.sogo.nu/view.php?id=5581)
* **calendar:** Update c_startdate field when updating event. Fixes [#4376](https://bugs.sogo.nu/view.php?id=4376) ([549d6a8](https://github.com/Alinto/sogo/commit/549d6a8463a1eb971f892a44c587bc28d8f669e0))
* **core:** Fix NSException when c_content is NULL. Closes [#5644](https://bugs.sogo.nu/view.php?id=5644). Original fix by [@jvdsn](https://github.com/jvdsn). ([2786064](https://github.com/Alinto/sogo/commit/27860648c18a3557b5eeacc0999a95dfd9ff63d8))
* **mail(js):** fix validation of email addresses. Closes [#5594](https://bugs.sogo.nu/view.php?id=5594) ([d194b1e](https://github.com/Alinto/sogo/commit/d194b1e921f5cdf864cc5d4202e2a1c6ffb5ab51))
* **security:** Security fix for WSTG-INPV-02. Add XSS protection. Fixes [#5642](https://bugs.sogo.nu/view.php?id=5642). ([efac49a](https://github.com/Alinto/sogo/commit/efac49ae91a4a325df9931e78e543f707a0f8e5e) [f5c6fcc](https://github.com/Alinto/sogo/commit/f5c6fcc3508312d47cc581059d8f3a4fe0d426a2) [dcbfd83](https://github.com/Alinto/sogo/commit/dcbfd830d46f047a911c0f028a8686ba6ef889b0) [714acfc](https://github.com/Alinto/sogo/commit/714acfc838ab26fc9de52cbf382faa410708ab4c) [1e0f5f0](https://github.com/Alinto/sogo/commit/1e0f5f00890f751e84d67be4f139dd7f00faa5f3) [b1f8489](https://github.com/Alinto/sogo/commit/b1f84891b04122344c8e4cce7ed8b9888811250b) [6971ebd](https://github.com/Alinto/sogo/commit/6971ebd2d191e414811b808face33aba1e850bed) [a010f62](https://github.com/Alinto/sogo/commit/a010f629f0493464e097c6ee7630cbd059eab24c))
* **ui:** Change active user name on top left with primary identity ([49879ef](https://github.com/Alinto/sogo/commit/49879efbc666b80e99d2b6d70d99df3f6612871c) [26b9429](https://github.com/Alinto/sogo/commit/26b9429396df8ade2978111d9b66bcdcf5528beb))
* **eas:** Use bare email address. Closes [#5612](https://bugs.sogo.nu/view.php?id=5612) and [#5640](https://bugs.sogo.nu/view.php?id=5640) ([2d9a709](https://github.com/Alinto/sogo/commit/2d9a70944beb3b43bdc506694286bc833da971e4) [e1c7e32](https://github.com/Alinto/sogo/commit/e1c7e32f84811197582bd14b0080f6ae2f7d3a82))
* **eas:** Ensure correct encoding of attachments. Closes [#5330](https://bugs.sogo.nu/view.php?id=5330) ([dff907a](https://github.com/Alinto/sogo/commit/dff907a158f9b8d7d2ca69e2ad33c7a4dd562abf))
* **eas:** Ensure Templates and Junk folder exits. Closes [#5626](https://bugs.sogo.nu/view.php?id=5626) ([2ffe3d7](https://github.com/Alinto/sogo/commit/2ffe3d79d2ffd62b0be22522e17ab9b8d9de1eea))
### Enhancements
* **mail:** Improve IMAP fetch sorting using NSDictionary keys instead of indexOfObject ([40b5c09](https://github.com/Alinto/sogo/commit/40b5c0918a9ddfea629f3a0d36bc908f94696a3a) [48c7375](https://github.com/Alinto/sogo/commit/48c7375544d882e6f594aca14d1c25dfc668ed4b) [60ec315](https://github.com/Alinto/sogo/commit/60ec3152e8f50e1d13b3ab0a553e8a3b8195c908) [38e886a](https://github.com/Alinto/sogo/commit/38e886a3e0c6c8986fef4a7b170f0c225e4ef5df))
* **calendar:** Add SOGoDisableOrganizerEventCheck parameter - this parameter is used to avoid checking calendar event's organizer ([cddfdb9](https://github.com/Alinto/sogo/commit/cddfdb90f9c2bf5d61db619899ccce280ab13419))
* **calendar:** Refresh data when clicking on 'today' ([5fb82fe](https://github.com/Alinto/sogo/commit/5fb82fe414ed6cbac5f1396078ec87e87691123b))
* **login:** Add button to discover password ([7bfa900](https://github.com/Alinto/sogo/commit/7bfa900ae10eb9c7fe7aa6bbbf0f7c600ce57ccb))
### Localization
* **da_DK:** Update Danish translations ([37291fa](https://github.com/Alinto/sogo/commit/37291facc73fa9600075ef677d47b09ff75e9d2c) [0409ee3](https://github.com/Alinto/sogo/commit/0409ee37be46c24ecffea640fe72774432492ec8))
* **fr:** Update French translations ([4c01ea2](https://github.com/Alinto/sogo/commit/4c01ea210ed9d0e67763ec941cf33b7f76087690))
* **nb_NO:** Update Norwegian Bokmål translations ([119e387](https://github.com/Alinto/sogo/commit/119e3870cf961b35778af745a9da3e3e41185214) [57fb622](https://github.com/Alinto/sogo/commit/57fb62244d4a494b867226010541fcb6fd20a7d9) [96cd188](https://github.com/Alinto/sogo/commit/96cd1880dac59d0bfc6af4e87598b1c8b15d20c0) [0cd7a17](https://github.com/Alinto/sogo/commit/0cd7a170a0e78726fa61970ceb0169caff28a0ce))
* **sr:** Update Serbian translations ([e51aee8](https://github.com/Alinto/sogo/commit/e51aee8ce0a9276c5ed5b5c9059641b44617bc9d))
### [5.7.1](https://github.com/Alinto/sogo/compare/SOGo-5.7.0...SOGo-5.7.1) (2022-08-17)
### Enhancements
* **core:** IPv6 support ([edd64a3](https://github.com/Alinto/sogo/commit/edd64a396ef7a7227d5c45cc1deb61ef3e2b6112))
### Bug Fixes
* **addressbook(dav):** improve handling of addressbook-query ([0720dc4](https://github.com/Alinto/sogo/commit/0720dc44fdd01b189902b189ff50dfb0549b0a8a))
* **calendar:** update all quick fields when updating event ([a6f7c1e](https://github.com/Alinto/sogo/commit/a6f7c1ea61b8d4d68042e6a1fb15f43645a26f55)), closes [#5546](https://bugs.sogo.nu/view.php?id=5546)
* **calendar:** remove time from until date of rrule of all-day event ([3f7fef0](https://github.com/Alinto/sogo/commit/3f7fef0788caca8ef899db69d7636fc31f4ada8e))
* **calendar(js):** conditional display of edit and delete buttons ([16459c7](https://github.com/Alinto/sogo/commit/16459c7b3d22ecf6eae5850277992d866575e539))
* **core:** don't remove double quotes when parsing versit strings ([6bed6c0](https://github.com/Alinto/sogo/commit/6bed6c0e20bb1eec8968e3823d16c2f5002333b5)), closes [#3530](https://bugs.sogo.nu/view.php?id=3530) [#3930](https://bugs.sogo.nu/view.php?id=3930)
* **core:** don't remove double quotes when parsing versit strings ([ebf032e](https://github.com/Alinto/sogo/commit/ebf032ee6bc7efa0a873e08ebd8b700dc5bb7bc6) [d99aa82](https://github.com/Alinto/sogo/commit/d99aa82a31d4f9e1a0f9f9173fcf4b9ea0b18653)), closes [#3530](https://bugs.sogo.nu/view.php?id=3530)
* **core:** handle argon2i password scheme ([2f9f610](https://github.com/Alinto/sogo/commit/2f9f6102108e68e866e5ef9db34b3cf291c57bec)), closes [#5531](https://bugs.sogo.nu/view.php?id=5531)
* **dav:** return 405 when collection already exists ([95eecc4](https://github.com/Alinto/sogo/commit/95eecc402ad0060b4656cf9d1280a0690fcc9a2d)), closes [/datatracker.ietf.org/doc/html/rfc4918#section-9](https://bugs.sogo.nu/view.php?id=section-9)
* **i18n:** new localized strings for SQL-based password policies ([5e6ad77](https://github.com/Alinto/sogo/commit/5e6ad77d4ca0ac53dd7c9efb53469dd5129767f2))
* **mail(js):** add CKEditor plugins emoji and bidi ([e18dc2c](https://github.com/Alinto/sogo/commit/e18dc2cd5ac8a0de5b9f18147e62efb216484e96))
* **mail(js):** handle paste action from contextual menu ([efe78c5](https://github.com/Alinto/sogo/commit/efe78c5179f43c1d7de5a8be95682bc855e45667)), closes [#5488](https://bugs.sogo.nu/view.php?id=5488)
* **mail(js):** resolve sub mailboxes in global search ([407bc53](https://github.com/Alinto/sogo/commit/407bc538df8028316f84149485425de2fbc93c96)), closes [#5559](https://bugs.sogo.nu/view.php?id=5559)
* **mail:** use encoding from MIME part ([27d45b6](https://github.com/Alinto/sogo/commit/27d45b6d76bb094c916f8a0e3f50b7ce628fbbd6))
* **preferences(js):** don't filter vacation start date ([2ae03d5](https://github.com/Alinto/sogo/commit/2ae03d50953b04345fe17cc4641ab095f5e2e2e6))
* **preferences:** regex in Sieve scripts are now case sensitive ([adfd175](https://github.com/Alinto/sogo/commit/adfd17568136c2aea007881a82f5c65d43e0211d)), closes [#5561](https://bugs.sogo.nu/view.php?id=5561)
* **web(js):** improve validation of email addresses ([67ccf74](https://github.com/Alinto/sogo/commit/67ccf748edcec8d495de35f431d7d0f3cf35fc6e))
### Localization
* **fr:** Update French translations ([a418baa](https://github.com/Alinto/sogo/commit/a418baa2762fd1000ad4782baf895315e48f5d76))
* **hu:** Update Hungarian translations ([abc2df0](https://github.com/Alinto/sogo/commit/abc2df0da0a14bacb7df28c2f41674401c33c285))
* **kk:** add Kazakh translation ([a667c69](https://github.com/Alinto/sogo/commit/a667c69f3c600c47cba0bd4b846b100633852ac9))
* **kk:** Add Kazakh translation by Nazym Idrissova ([d1971b7](https://github.com/Alinto/sogo/commit/d1971b76e2631e3d44b0af0eff33437de0127fe2))
* **Password policies** Add constants to make password policies localizable ([5e6ad77](https://github.com/Alinto/sogo/commit/5e6ad77d4ca0ac53dd7c9efb53469dd5129767f2))
## [5.7.0](https://github.com/inverse-inc/sogo/compare/SOGo-5.6.0...SOGo-5.7.0) (2022-06-10)
### Features
* **addressbook(web):** import vList from versit file ([51dc929](https://github.com/inverse-inc/sogo/commit/51dc929d0c62945f8736a399c1f9c74655c75e09))
* **preferences:** password constraints for SQL sources ([2ef849c](https://github.com/inverse-inc/sogo/commit/2ef849ca653e0429e09c560381eb0b289415f5ab))
### Bug Fixes
* **admininistration(js):** improve handling of unauthorized access ([1328a25](https://github.com/inverse-inc/sogo/commit/1328a2566b21cf0de4f04547b50c50d507b383d6))
* **administration(js):** add rgba colors to theme preview ([cddd016](https://github.com/inverse-inc/sogo/commit/cddd016e5384397e24b3e95e81a7d3f72e4ffb7e))
* **administration(js):** fix toast when saving ACLs ([1e9ae31](https://github.com/inverse-inc/sogo/commit/1e9ae3184b3c011b7ab14f6d78ce647cb7af26e7))
* **administration:** add theme preview ([3321745](https://github.com/inverse-inc/sogo/commit/33217456fc28f07a2ac707d8763d4e8630a5e822))
* **calendar:** disable wrapping of labels in mail templates ([bd40b95](https://github.com/inverse-inc/sogo/commit/bd40b95f704e1b69d3ecf6a56e9bf6503379bf03))
* **calendar:** filter by matching property values ([5452cd7](https://github.com/inverse-inc/sogo/commit/5452cd7396ef419bde39e531b9d1b87468ece6f8))
* **core:** don't auto-remove a subscription if any source is in error ([373ac51](https://github.com/inverse-inc/sogo/commit/373ac51e62b8d50b9a8aa938c048dbf53bdbb992))
* **mail(js):** fix url for protocol Handler registration ([09ac2df](https://github.com/inverse-inc/sogo/commit/09ac2dfda392110e5b152045f6acc56e36c4ac93)), closes [#5513](https://sogo.nu/bugs/view.php?id=5513)
* **mail(js):** refresh of parent window when saving draft/template ([715cf71](https://github.com/inverse-inc/sogo/commit/715cf71ba3bfae3a849d302dcec20eded3c2494f))
* **mail(js):** transition to a message using the router ([412d73b](https://github.com/inverse-inc/sogo/commit/412d73b166acccf96d0288f6d2dca8be0c41a315))
* **mail:** add default label & color for $forwarded flag ([580a73c](https://github.com/inverse-inc/sogo/commit/580a73c8576cd56bf4ec62d7d108d3bfb7b80545)), closes [#5534](https://sogo.nu/bugs/view.php?id=5534)
* **mail:** remove unused directive in mail editor ([a40d3b6](https://github.com/inverse-inc/sogo/commit/a40d3b62964ec33ecb7c5d5639d9cd00659723d6))
* **preferences(js):** prohibit deleting the last editable mail identity ([9337915](https://github.com/inverse-inc/sogo/commit/9337915890e1b82603f6d47999eabf3e91e952b6))
* **preferences:** keep mail identities when none is provided when saving ([36303be](https://github.com/inverse-inc/sogo/commit/36303bef9d62aa99ab2d9f52d7ffdfb4cb12ebef))
### Enhancements
* **js:** improve defintion of some controllers ([35f9f35](https://github.com/inverse-inc/sogo/commit/35f9f35ef08731a4c5847360a47e8eb2cae2970f) [0cf025b](https://github.com/inverse-inc/sogo/commit/0cf025b0afa2b8333e51b63101063afa232b62e2))
* **tool:** cache IMAP delimiters when updating sieve filters ([2aaad3d](https://github.com/inverse-inc/sogo/commit/2aaad3de221a5dfe4934747be2aca2034d06904a), [c87ce46](https://github.com/inverse-inc/sogo/commit/c87ce46d297c1830a9e269333773c3479c50f381))
### Localization
* **bg_BG:** update Bulgarian translation ([1684c23](https://github.com/inverse-inc/sogo/commit/1684c234a38e2dcd12447dd41bae771e1c131fae))
* **de:** update German translation ([825d341](https://github.com/inverse-inc/sogo/commit/825d341f8da6aaca704b78850ba30727f8961d8d))
* **hu:** update Hungarian translation ([b272e2d](https://github.com/inverse-inc/sogo/commit/b272e2dee6a60263bb11d1887092f288030d8255))
* **it:** update Italian translation ([fa39e2a](https://github.com/inverse-inc/sogo/commit/fa39e2a19ab37fa30a85abe05f7454d4cca85c63))
* **ja:** fix mail reply and forward templates ([ab5f5ab](https://github.com/inverse-inc/sogo/commit/ab5f5abc80dae822d07e7fcbe1ca2c94f0d609c0))
* **nl:** update Dutch translation ([5b96075](https://github.com/inverse-inc/sogo/commit/5b960759d20bf34f610022a476983b4a1ac182cc))
* **ru:** update Russian translation ([2ae6b46](https://github.com/inverse-inc/sogo/commit/2ae6b46c5558a09977792a9c03d3d94ed0c10db9))
* **tr_TR:** update README file with new Turkish translation contributor ([2df931b](https://github.com/inverse-inc/sogo/commit/2df931bc3aecfd0b76a41cfcedf0705ca7ab0d1f))
* **tr_TR:** update Turkish (Turkey) translation ([3aea397](https://github.com/inverse-inc/sogo/commit/3aea397af93a950c129d53abd7390fc0ea241bd2))
* **tr_TR:** update Turkish (Turkey) translation ([dec49c2](https://github.com/inverse-inc/sogo/commit/dec49c21548befde769cd69250cea846987bff8d))
* **uk:** update Ukrainian translation ([515d030](https://github.com/inverse-inc/sogo/commit/515d03080e7cfb380146f65e6792a220ccae30ac))
## [5.6.0](https://github.com/inverse-inc/sogo/compare/SOGo-5.5.1...SOGo-5.6.0) (2022-05-04)
### Features
* **calendar:** optionally remove attendees that can't be invited ([048858b](https://github.com/inverse-inc/sogo/commit/048858ba0f3d9084355a2617d8f54bbd89692855) [4e5c865](https://github.com/inverse-inc/sogo/commit/4e5c865a3f8fae2f3f60c3e01a29e50be312eae3))
* **calendar:** search for past events and tasks ([2f725a3](https://github.com/inverse-inc/sogo/commit/2f725a3f2db4f9d034e1c83dcd5be38a1066ce98)), closes [#5441](https://sogo.nu/bugs/view.php?id=5441)
* **mail(web):** forward multiple messages as attachments ([c476503](https://github.com/inverse-inc/sogo/commit/c476503d4a16afff84499d06bad3be2d11b9f309)), closes [#33](https://sogo.nu/bugs/view.php?id=33)
* **mail(web):** Templates folder for pre-defined drafts ([21dc73d](https://github.com/inverse-inc/sogo/commit/21dc73df56f4b610d722f5d580a9de5c9e73fb90) [c986422](https://github.com/inverse-inc/sogo/commit/c986422a3d4037b5429a7e8e64b5388d5a726b94)), closes [#4320](https://sogo.nu/bugs/view.php?id=4320) [#5363](https://sogo.nu/bugs/view.php?id=5363)
* **mail:** always forward incoming messages, before all filters ([8ed4fc8](https://github.com/inverse-inc/sogo/commit/8ed4fc88b501796e6179818c4d6279fcd458ec04))
### Bug Fixes
* **acls:** fix SQL conversion for LIKE operator to find groups ([3140a9d](https://github.com/inverse-inc/sogo/commit/3140a9dc1de72aec169de5b24781313e2c2155a3)), closes [#5492](https://sogo.nu/bugs/view.php?id=5492)
* **addressbook(dav):** add support for mail property in addressbook-query ([8409c3c](https://github.com/inverse-inc/sogo/commit/8409c3cbb5428d31dc2da81f135f397c6eaade75)), closes [#5489](https://sogo.nu/bugs/view.php?id=5489)
* **addressbook(dav):** improve handling of addressbook-query ([1545bcd](https://github.com/inverse-inc/sogo/commit/1545bcdbbaf11f9d67e2f5dc38e82628e64d3751) [7faab91](https://github.com/inverse-inc/sogo/commit/7faab9117a6deac427e49dbb360039cf2113c3da))
* **addressbook(js):** unselect current card on delete ([547d26a](https://github.com/inverse-inc/sogo/commit/547d26af1979eff68573afa6c01b5ad9195a0730))
* **addressbook(web):** update card on save when certificate is removed ([c7ee4d8](https://github.com/inverse-inc/sogo/commit/c7ee4d8c19762a201ea2c9003b9f98352bf4d86b))
* **addressbook:** allow search on name fields in personal addressbooks ([700d726](https://github.com/inverse-inc/sogo/commit/700d7265114e3ed6b5a0ee93fe78dca2f7a9e998))
* **addressbook:** close DB connection after LDIF import ([a5b85d7](https://github.com/inverse-inc/sogo/commit/a5b85d72bca6e77611b63d7fc3bbe5cd4d66f070)), closes [#5507](https://sogo.nu/bugs/view.php?id=5507)
* **addressbook:** handle LDIF file with a single contact when importing ([969cfd3](https://github.com/inverse-inc/sogo/commit/969cfd362c1dbb9d3cb719f0f63496bf33857ba4))
* **addressbook:** keep folders order in matching contacts ([ec7199e](https://github.com/inverse-inc/sogo/commit/ec7199e00f435b9084a12f49194ac60e33135d94))
* **addressbook:** preload cards when creating list from selection ([44afac0](https://github.com/inverse-inc/sogo/commit/44afac0715803cafeb8a922f0eac65045f182306))
* **calendar(dav):** prevent duplicates in PUT ([c348ca2](https://github.com/inverse-inc/sogo/commit/c348ca2b851431edc779ccf67d383bfb4361425e) [e417c0b](https://github.com/inverse-inc/sogo/commit/e417c0b201cc741803e4f84bc1f9ab8758668c17))
* **calendar(js):** adjust line of the current time to user's timezone ([1b3b9c2](https://github.com/inverse-inc/sogo/commit/1b3b9c253ca2f37475de1458b9d2527fba4e6177)), closes [#5512](https://sogo.nu/bugs/view.php?id=5512)
* **calendar:** fix yearly recurrence calculator with a finite rule ([8fccd23](https://github.com/inverse-inc/sogo/commit/8fccd232278da7d387ad29ed79937d4ae93e2e19)), closes [#5506](https://sogo.nu/bugs/view.php?id=5506)
* **calendar:** rely on organizer's event state before updating attendee ([fbd2eb8](https://github.com/inverse-inc/sogo/commit/fbd2eb8294f6b753995b95e4e8e59a5520acd477)), closes [#5496](https://sogo.nu/bugs/view.php?id=5496)
* **calendar:** send modification notifications for tasks ([8a3cb76](https://github.com/inverse-inc/sogo/commit/8a3cb76f0a463b1f0942f977991573a929084324))
* **calendar:** set missing RSVP parameter to TRUE for attendees ([2676aa9](https://github.com/inverse-inc/sogo/commit/2676aa95396c0f59e9ce62ef589ff577fea7a48a))
* **calendar:** update calendar of all attendees when active user is not owner ([dae6d6d](https://github.com/inverse-inc/sogo/commit/dae6d6d521ca3298d71c0e92a1cac771d2a12902))
* **calendar:** update quick table when removing all categories of task ([3f93e6e](https://github.com/inverse-inc/sogo/commit/3f93e6ebc4d6061c995c72993bbbde6ed4b9edbd))
* **core:** encode reserved HTML characters in RTF parser ([6d50dee](https://github.com/inverse-inc/sogo/commit/6d50dee063ed2caa5f184c1f16c682263febe0cd)), closes [#5388](https://sogo.nu/bugs/view.php?id=5388)
* **core:** improve escaping of double-quotes ([a5d18bf](https://github.com/inverse-inc/sogo/commit/a5d18bfced83d415daca518aa983cc307cc256ec)), closes [#5351](https://sogo.nu/bugs/view.php?id=5351)
* **dav:** use utf-8 as charset name instead of utf8 ([b37e68b](https://github.com/inverse-inc/sogo/commit/b37e68b8ee77c290005a560d55d68ab3fd1e8527)), closes [#5495](https://sogo.nu/bugs/view.php?id=5495)
* **eas:** improve error logging ([a0f6842](https://github.com/inverse-inc/sogo/commit/a0f684226758fc5ed1fabfc586a595917094d95d))
* **imap:** use proxy authentication to detect IMAP delimiter ([a98b404](https://github.com/inverse-inc/sogo/commit/a98b404551c14d083a9a0c1e184bc3684489a230)), closes [#5479](https://sogo.nu/bugs/view.php?id=5479)
* **mail(js):** expect the recipient to become a string when saving a message ([b252aeb](https://github.com/inverse-inc/sogo/commit/b252aeb29b4fd88e806b1499e372b724c8f3e3a1))
* **mail(js):** handle new message from template in popup window ([6c42086](https://github.com/inverse-inc/sogo/commit/6c420861d40bc59dcaa62ac202776e13a852e38f))
* **mail(js):** improve scrolling of list when moving with arrows keys ([b198c84](https://github.com/inverse-inc/sogo/commit/b198c84b4245d389d176442c3e714e5894367f84))
* **mail(js):** improve signature replacement when switching identities ([d90e29e](https://github.com/inverse-inc/sogo/commit/d90e29ed63510d84463278bd24fef43fa9891db5))
* **mail(js):** map the NSLocale to the proper CKEditor locale ([7c0592e](https://github.com/inverse-inc/sogo/commit/7c0592e03ec8e8f3bb3e7798b10710755dfbf190))
* **mail(js):** parse all parameters of mailto: link ([fa598e8](https://github.com/inverse-inc/sogo/commit/fa598e83eee8d0e64eb30d9b9137fc3d81560f81)), closes [#5478](https://sogo.nu/bugs/view.php?id=5478)
* **mail(js):** perform a full fetch when in unseen/flagged mode ([c8ce3f1](https://github.com/inverse-inc/sogo/commit/c8ce3f10d65ba0e7d5dfa2106cc97f20e7ab7f15))
* **mail(js):** show the recipient when in the Drafts mailbox ([10076be](https://github.com/inverse-inc/sogo/commit/10076bea09a2cbc2cd6c0ed7148d536ae2230061))
* **mail(js):** use different email separator keys depending on locale ([c2eed78](https://github.com/inverse-inc/sogo/commit/c2eed7844af4164dc3b8a959f8d482840e956c38)), closes [#3513](https://sogo.nu/bugs/view.php?id=3513) [#4042](https://sogo.nu/bugs/view.php?id=4042) [#5308](https://sogo.nu/bugs/view.php?id=5308) [#5309](https://sogo.nu/bugs/view.php?id=5309)
* **mail(web):** display emails extracted from smime certificate ([96d00b7](https://github.com/inverse-inc/sogo/commit/96d00b744e62ea7f56cdc3c717c4543a7e41e19b)), closes [#5440](https://sogo.nu/bugs/view.php?id=5440)
* **mail:** add subject and date to file names of exported messages ([f32c3d7](https://github.com/inverse-inc/sogo/commit/f32c3d78e5b4fd29374e85687c5ee9e3faaa3c17))
* **mail:** avoid exception when accessing signed/encrypted body parts ([c6a41d3](https://github.com/inverse-inc/sogo/commit/c6a41d31ce46a7fda34b878660eefbcba9648fd1))
* **mail:** case insensitve check of sender address with certificate ([31da2d9](https://github.com/inverse-inc/sogo/commit/31da2d9f59a66b2e0d411c00d07cf91e16fdd918))
* **mail:** check return value of "setacl" IMAP command ([55baeb1](https://github.com/inverse-inc/sogo/commit/55baeb107fb5e76c866c439aea4855a40d2cb637))
* **mail:** don't add signature unless a default identity is forced ([d63fd6c](https://github.com/inverse-inc/sogo/commit/d63fd6c3a25e7909a7e0aecc912dd91f551ff95e))
* **mail:** ensure </html> is at the end of the document prior parsing ([a09cf58](https://github.com/inverse-inc/sogo/commit/a09cf589153dd12bb8f740b966051fc4854d8c7a)), closes [#5477](https://sogo.nu/bugs/view.php?id=5477)
* **mail:** fix type of SOGoMailComposeFontSize defaults ([3847b57](https://github.com/inverse-inc/sogo/commit/3847b57855c0ffae3f12e60b2e79bc0f59095f5a))
* **mail:** force TNEF body parts to be decoded in UTF-8 ([2cf77b6](https://github.com/inverse-inc/sogo/commit/2cf77b6145c0e35ff984cf1f8c51bd3d0b08977e))
* **mail:** identify junk mailbox in lookup ([557ff59](https://github.com/inverse-inc/sogo/commit/557ff59ea5f8b28300e11d467a47097b341abe89) [63ad7aa](https://github.com/inverse-inc/sogo/commit/63ad7aac9f15df300bc701c3a402283662f0630b) [fe038bb](https://github.com/inverse-inc/sogo/commit/fe038bb2ef3833f5ad8d13d362564fcd90eac0b2)), closes [#5482](https://sogo.nu/bugs/view.php?id=5482)
* **mail:** improve error loging when encrypting/decrypting a msg ([4b95641](https://github.com/inverse-inc/sogo/commit/4b9564139b74efd9e4fb9df11af23e0ac2828daf))
* **mail:** improve error loging when signing a message ([53354c5](https://github.com/inverse-inc/sogo/commit/53354c5db2c346a7f8e9a043120daa678627c6a3))
* **mail:** mark deleted messages as seen ([090c1ea](https://github.com/inverse-inc/sogo/commit/090c1ea9e789f1d70f28940e9adfb9a819a84517))
* **mail:** remove signature prior to sign the message ([bd5a5e3](https://github.com/inverse-inc/sogo/commit/bd5a5e304985ee5aa1fc32df81f6e98051f39f31))
* **preferences(js):** don't check Sieve capabilities if Mail module disabled ([80b0d99](https://github.com/inverse-inc/sogo/commit/80b0d99687b6f97b89cb9d77684be8e429a6accb))
* **preferences(js):** don't check Sieve script if Mail module disabled ([a1d74a8](https://github.com/inverse-inc/sogo/commit/a1d74a8910436db590fed37e19bfa6a68ef38a78))
* **preferences:** don't save Sieve script if Mail module disabled ([401a800](https://github.com/inverse-inc/sogo/commit/401a80078c4f59cd2d395fc0fcaa88035d916492) [d097193](https://github.com/inverse-inc/sogo/commit/d097193904cea3032e2d06774133a6981ae236cb))
* **preferences:** fix compilation warning ([a74cf05](https://github.com/inverse-inc/sogo/commit/a74cf05af8b7c3bcbad36b57aa169c29add43413), [1e52e18](https://github.com/inverse-inc/sogo/commit/1e52e18f89560d35667a6278f57ded1cad9d76b6))
* **web(js):** show toast when fetching a folder ACLs fails ([87b1c8e](https://github.com/inverse-inc/sogo/commit/87b1c8e239e45b8eea24c9046efbe220665cd98f))
* **web:** support passwords up to 2048 characters ([a965f27](https://github.com/inverse-inc/sogo/commit/a965f276c8155f50d4aeb36b15fe35bcf6e48bd3)), closes [#5485](https://sogo.nu/bugs/view.php?id=5485)
* **web:** update parameters of meta tag for robots ([b35a10a](https://github.com/inverse-inc/sogo/commit/b35a10a280b3a55fd20a0c72e3b97a58a9fb7180)), closes [#4930](https://sogo.nu/bugs/view.php?id=4930)
### Enhancements
* **mail:** perform IMAP STATUS command to fetch unseen msgs count ([0e20bbc](https://github.com/inverse-inc/sogo/commit/0e20bbc28ed3d5b7ac7b0e7109d4696089a670fe))
### Localization
* **bg:** update Bulgarian translation ([59eda2f](https://github.com/inverse-inc/sogo/commit/59eda2f1b80c2d781262d86ba4f4bc045aea140f), [02b0a41](https://github.com/inverse-inc/sogo/commit/02b0a4156748ade897a316ccdce7b20e8cc23b8f))
* **de:** update German translation ([6eaa362](https://github.com/inverse-inc/sogo/commit/6eaa3625431a7a6dba2a4bb371a53dba2bf15940) [2c76f17](https://github.com/inverse-inc/sogo/commit/2c76f177a38535f9480212b799ad3123802aece1) [f69fe5b](https://github.com/inverse-inc/sogo/commit/f69fe5bea1a13cf7594cea15eeb338a3f6630eba))
* **de:** update German translation ([b1a6487](https://github.com/inverse-inc/sogo/commit/b1a6487744acd9b16318b8aa47f6f8a3b4c00930))
* **fr:** update French translation ([0211153](https://github.com/inverse-inc/sogo/commit/02111538774e79e0a67a49bf1b3c13932116d252) [dcc2ebc](https://github.com/inverse-inc/sogo/commit/dcc2ebcd4ae54cda7a0f7e42a65dae5874cf6159), [1b408a6](https://github.com/inverse-inc/sogo/commit/1b408a6adef1168e9015066a831154b04a054bc9))
* **hu:** update Hungarian translation ([5cd0062](https://github.com/inverse-inc/sogo/commit/5cd006286e2b94399be0563ef11316eb0b110877) [1509090](https://github.com/inverse-inc/sogo/commit/1509090dc14216d36b5d0e5f87b1bc6928b8b349))
* **pl:** update Polish translation ([4657f56](https://github.com/inverse-inc/sogo/commit/4657f5617d1511f0513a9217bace8afe99d06a22) [b243887](https://github.com/inverse-inc/sogo/commit/b2438873fe3edc01b6baa3cbc7aa46dc045cd75c))
* **pt_BR:** update Brazilian Portuguese translation ([30ab725](https://github.com/inverse-inc/sogo/commit/30ab725b71dae359ad8f2cc3bfa9bbfceb4001dc))
* **sl_SI:** update Slovenian translation ([32e0479](https://github.com/inverse-inc/sogo/commit/32e0479bf186932ef9405f44a8326bce3e7a4fb9))
### [5.5.1](https://github.com/inverse-inc/sogo/compare/SOGo-5.5.0...SOGo-5.5.1) (2022-02-04)
### Bug Fixes
* **addressbook(dav):** return all value of all properties ([940394d](https://github.com/inverse-inc/sogo/commit/940394d4351aae8f7cf8900431e973b9c17e3bb5)), closes [#5462](https://sogo.nu/bugs/view.php?id=5462)
* **addressbook:** close DB connection after DAV query ([348a79c](https://github.com/inverse-inc/sogo/commit/348a79c79513936445cc8e8073723ad2f262c510))
* **calendar(dav):** add DAV:status to DAV:response only when deleted ([b061046](https://github.com/inverse-inc/sogo/commit/b061046992f7ebe3a021ebc8eea95a3bb475cb5b)), closes [#5163](https://sogo.nu/bugs/view.php?id=5163)
* **calendar:** display start & end dates in mail notifications ([663915b](https://github.com/inverse-inc/sogo/commit/663915b12f9d38c51490ce241376e10adc3fce3e))
* **calendar:** handle DST change for all-day events ([0c5a269](https://github.com/inverse-inc/sogo/commit/0c5a2691b082ab5fae53dabac81748aa377073da))
* **calendar:** send notification on move and copy operations ([aca7fc5](https://github.com/inverse-inc/sogo/commit/aca7fc53a56db9094bca8db5411a8c5ce9e70bf1)), closes [#3792](https://sogo.nu/bugs/view.php?id=3792)
* **calendar:** swap dates when event start date is after end date ([5575a4c](https://github.com/inverse-inc/sogo/commit/5575a4c3c87f1f82a92cdd32429e015e139d563c))
* **core:** fix compilation in NSData+SMIME.m ([e3b71bc](https://github.com/inverse-inc/sogo/commit/e3b71bc23b08ea71576a090a5a09f428a26ce0ae))
* **core:** only escape "%" with the SQL LIKE operator ([7c81e3a](https://github.com/inverse-inc/sogo/commit/7c81e3acec53651056319f8bece582e057a7c475))
* **core:** remove trailing closing angle bracket from detected URLs ([969d68d](https://github.com/inverse-inc/sogo/commit/969d68dbb65317bde234f39080ca8b4e66dc0857)), closes [#5465](https://sogo.nu/bugs/view.php?id=5465)
* **dav:** render DAV exceptions as XML ([96bb8b4](https://github.com/inverse-inc/sogo/commit/96bb8b4cc2e5f55f86437c41b7e555711433be30), [2e58ddf](https://github.com/inverse-inc/sogo/commit/2e58ddfae32e223fd6992f0a29713549b29bdebc))
* **mail(js):** remove WebSpellChecker Dialog plugin from CKEditor ([54d3f33](https://github.com/inverse-inc/sogo/commit/54d3f3339737c97cb7068bbb77a4ba431d6ed958))
* **mail(js):** restore threads state upon initialization ([8dda30e](https://github.com/inverse-inc/sogo/commit/8dda30e4ec24ed02927f07c75471d7f0dc8326f8))
* **mail:** don't allow XML inline attachments ([ca9d2d1](https://github.com/inverse-inc/sogo/commit/ca9d2d1cdcec0a2deaa6e6635b4ed04a85c1ff45))
* **mail:** improve parsing of S/MIME certificate ([3eec819](https://github.com/inverse-inc/sogo/commit/3eec81998477f5128bdfb5e7b304f6caa488d359)), closes [#5215](https://sogo.nu/bugs/view.php?id=5215)
* **mail:** improve parsing of S/MIME certificate ([c12dd56](https://github.com/inverse-inc/sogo/commit/c12dd5636205708a811f0c836aed4f3e0addd4e7)), closes [#5215](https://sogo.nu/bugs/view.php?id=5215)
* **mail:** improve reply and forward templates ([929c6b1](https://github.com/inverse-inc/sogo/commit/929c6b1c0c643a951a8c26798fe3d4929912e095)), closes [#5415](https://sogo.nu/bugs/view.php?id=5415)
* **mail:** S/MIME improvements ([54b163d](https://github.com/inverse-inc/sogo/commit/54b163da2dd36ccb3bf8dfbc2de9ce0511cff850)), closes [#4891](https://sogo.nu/bugs/view.php?id=4891) [#5450](https://sogo.nu/bugs/view.php?id=5450)
* **mail:** use body as first part when msg has no parts ([4f255ac](https://github.com/inverse-inc/sogo/commit/4f255ac9d580697c04e505259995920a60b907c1)), closes [#5472](https://sogo.nu/bugs/view.php?id=5472)
* **preferences(js):** fix validation of enabled days for vacation ([d65b5a8](https://github.com/inverse-inc/sogo/commit/d65b5a84182cf38a03c3f536b3acfa69537bd4c2)), closes [#5469](https://sogo.nu/bugs/view.php?id=5469)
* **web:** add missing image for desktop notifications ([f5f1594](https://github.com/inverse-inc/sogo/commit/f5f1594972070105e88cef9e5936b6db65fc32e7)), closes [#5474](https://sogo.nu/bugs/view.php?id=5474)
### Localization
* **bg:** update Bulgarian translation ([1b31e4b](https://github.com/inverse-inc/sogo/commit/1b31e4b694338d648423f9118779debd78f70ab4))
* **de:** update German translation ([f4d875e](https://github.com/inverse-inc/sogo/commit/f4d875edac4c2cce7d5556f33e9105008b2c633f))
* **fr:** update French translation ([76f04e0](https://github.com/inverse-inc/sogo/commit/76f04e0058bff144a56a199750ac9325ad526c22))
* **pl:** update Polish translation ([2220e51](https://github.com/inverse-inc/sogo/commit/2220e517fd2258379a0db74e6a559fb7a80babb8))
## [5.5.0](https://github.com/inverse-inc/sogo/compare/SOGo-5.4.0...SOGo-5.5.0) (2022-01-18)
### Features
+31726 -16078
View File
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -8,7 +8,7 @@ HTML = $(patsubst %.asciidoc,%.html, $(ASCIIDOCS))
asciidoctor-pdf \
-a pdf-fontsdir=fonts \
-a release_version=`git describe --abbrev=0 --tags | cut -d'-' -f 2` \
-a release_month=`date +%B` \
-a release_month=`LANG=en_US.UTF-8 date +%B` \
-a pdf-theme=asciidoctor-pdf-theme.yml \
--trace \
$<
@@ -17,7 +17,7 @@ HTML = $(patsubst %.asciidoc,%.html, $(ASCIIDOCS))
asciidoctor \
-D . \
-a release_version=`git describe --abbrev=0 --tags | cut -d'-' -f 2` \
-a release_month=`date +%B` \
-a release_month=`LANG=en_US.UTF-8 date +%B` \
-n \
$<
File diff suppressed because it is too large. Load diff
@@ -22,7 +22,7 @@ devices (iPhone, iPod touch, and iPad).
The instructions are based on version {release_version} of SOGo.
The latest version of this guide is available at
https://sogo.nu/downloads/documentation.html.
https://www.sogo.nu/support.html#/documentation.
Introduction
------------
@@ -46,7 +46,7 @@ device, or Outlook 2013
SOGo is developed by a community of developers located mainly in North
America and Europe. More information can be found on
http://www.sogo.nu/.
https://www.sogo.nu/.
Installation
------------
@@ -167,7 +167,7 @@ For example, one would replace:
by:
<Seq about="http://inverse.ca/sogo-integrator/extensions" isi:updateURL="https://sogo.acme.com/plugins/updates.php?plugin=%ITEM_ID%&amp;version=%ITEM_VERSION%&amp;platform=%PLATFORM%">
<Seq about="https://sogo.nu" isi:updateURL="https://sogo.acme.com/plugins/updates.php?plugin=%ITEM_ID%&amp;version=%ITEM_VERSION%&amp;platform=%PLATFORM%">
if the SOGo server is accessible from the following URL:
@@ -22,7 +22,7 @@ Guide_ for more information on installing and configuring SOGo.
The instructions are based on version {release_version} of SOGo.
The latest version of this guide is available
at https://sogo.nu/downloads/documentation.html.
at https://www.sogo.nu/support.html#/documentation.
Introduction
------------
@@ -50,7 +50,7 @@ https://www.facebook.com/caldavsynchronizer/[CalDav Synchronizer on Facebook]
Enterprise Support
~~~~~~~~~~~~~~~~~~
Inverse (http://inverse.ca/[http://inverse.ca]) offers professional services around SOGo to help organizations deploy the solution and
Alinto (https://alinto.com/[http://alinto.com]) offers professional services around SOGo to help organizations deploy the solution and
migrate from their legacy systems.
For enterprise support on the integration between SOGo and Microsoft Outlook using the Outlook CalDav Synchronizer, please visit https://caldavsynchronizer.org/enterprise
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

File renamed without changes.
@@ -5,8 +5,9 @@
This file is part of the SOGo project.
Authors:
- Inverse inc. <info@inverse.ca>
- Alinto <contact@sogo.nu>
Copyright (C) 2008-2018 Inverse inc.
Copyright (C) 2008-2022 Inverse inc. / Alinto
License: GFDL 1.2 or later. http://www.gnu.org/licenses/fdl.html
////
@@ -22,6 +23,6 @@ https://sogo.nu/support/faq.html
You can also read the mailing archives or post your questions to it. For
details, see :
https://lists.inverse.ca/sogo
https://mailing.sogo.nu/sympa/info/users
// vim: set syntax=asciidoc tabstop=2 shiftwidth=2 expandtab:
@@ -5,8 +5,9 @@
This file is part of the SOGo project.
Authors:
- Inverse inc. <info@inverse.ca>
- Alinto <contact@sogo.nu>
Copyright (C) 2008-2022 Inverse inc.
Copyright (C) 2008-2022 Inverse inc. / Alinto
License: GFDL 1.2 or later. http://www.gnu.org/licenses/fdl.html
////
@@ -15,14 +16,14 @@ Commercial Support and Contact Information
------------------------------------------
For any questions or comments, do not hesitate to contact us by writing
an email to support@inverse.ca.
an email to contact@sogo.nu.
Inverse (https://inverse.ca/) offers professional services around SOGo
Alinto (https://alinto.com) offers professional services around SOGo
to help organizations deploy the solution, customize, migrate versions or
from another system, performance tuning or aligning with best practices.
Hourly rates or support packages are offered to best suit your needs.
Please visit https://inverse.ca/ for details.
Please visit https://alinto.com/ for details.
// vim: set syntax=asciidoc tabstop=2 shiftwidth=2 expandtab:
+3 -2
View File
@@ -1,6 +1,6 @@
Version {release_version} - {release_month} {docyear}
Copyright © {docyear} Inverse inc.
Copyright © {docyear} Inverse inc. / Alinto
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
@@ -10,4 +10,5 @@ Copyright © Łukasz Dziedzic, http://www.latofonts.com, with Reserved Font Name
Copyright © Raph Levien, http://levien.com/, with Reserved Font Name: "Inconsolata".
image::images/inverse-logo.jpg[width="25%",pdfwidth="50%",align="right"]
image::images/inverse-logo.jpeg[width="25%",pdfwidth="50%",align="right"]
image::images/alinto.small.png[width="25%",pdfwidth="50%",align="right"]
@@ -5,8 +5,9 @@
This file is part of the SOGo project.
Authors:
- Inverse inc. <info@inverse.ca>
- Alinto <contact@sogo.nu>
Copyright (C) 2008-2022 Inverse inc.
Copyright (C) 2008-2022 Inverse inc. / Alinto
License: GFDL 1.2 or later. http://www.gnu.org/licenses/fdl.html
////
+2 -1
View File
@@ -5,8 +5,9 @@
This file is part of the SOGo project.
Authors:
- Inverse inc. <info@inverse.ca>
- Alinto <contact@sogo.nu>
Copyright (C) 2008-2018 Inverse inc.
Copyright (C) 2008-2022 Inverse inc. / Alinto
License: GFDL 1.2 or later. http://www.gnu.org/licenses/fdl.html
////
+11 -4
View File
@@ -349,8 +349,11 @@ static BOOL debugLeaks;
{
if ([[context request] handledByDefaultHandler])
authenticator = [SOGoWebAuthenticator sharedSOGoWebAuthenticator];
else
else {
authenticator = [SOGoDAVAuthenticator sharedSOGoDAVAuthenticator];
[authenticator setContext: context];
}
}
return authenticator;
@@ -363,10 +366,14 @@ static BOOL debugLeaks;
{
SOGoUser *user;
id userFolder;
user = [SOGoUser userWithLogin: _key roles: nil];
NSData *decodedLogin;
NSString *login;
login = [SOGoUser getDecryptedUsernameIfNeeded: _key withContext: _ctx];
user = [SOGoUser userWithLogin: login roles: nil];
if (user)
userFolder = [$(@"SOGoUserFolder") objectWithName: _key
userFolder = [$(@"SOGoUserFolder") objectWithName: login
inContainer: self];
else
userFolder = nil;
+14 -12
View File
@@ -12,18 +12,18 @@ There are multiple ways you can contribute to the project
## Source Code
You can browse the lastest version of the source code online from Inverse's github repository:
You can browse the lastest version of the source code online from Alinto's github repository:
* [https://github.com/inverse-inc/sogo](https://github.com/inverse-inc/sogo)
* [https://github.com/Alinto/sogo](https://github.com/Alinto/sogo)
To compile SOGo, you first need to obtain the source code of both SOGo and SOPE. The source code of SOPE and SOGo can be obtained from Inverse's github repositories:
To compile SOGo, you first need to obtain the source code of both SOGo and SOPE. The source code of SOPE and SOGo can be obtained from Alinto's github repositories:
* [https://github.com/inverse-inc/sope/archive/master.zip](https://github.com/inverse-inc/sope/archive/master.zip)
* [https://github.com/inverse-inc/sogo/archive/master.zip](https://github.com/inverse-inc/sogo/archive/master.zip)
* [https://github.com/Alinto/sope/archive/master.zip](https://github.com/Alinto/sope/archive/master.zip)
* [https://github.com/Alinto/sogo/archive/master.zip](https://github.com/Alinto/sogo/archive/master.zip)
The source code of the SOGo Connector extension for Thunderbird 78+ can be obtained from Inverse's github repository:
The source code of the SOGo Connector extension for Thunderbird 78+ can be obtained from Alinto's github repository:
* [https://github.com/inverse-inc/sogo-connector](https://github.com/inverse-inc/sogo-connector)
* [https://github.com/Alinto/sogo-connector](https://github.com/Alinto/sogo-connector)
Please refer to the [FAQ](https://sogo.nu/support.html#/faq) for [compilation instructions](https://sogo.nu/support/faq/how-do-i-compile-sogo.html).
@@ -31,7 +31,7 @@ Please refer to the [FAQ](https://sogo.nu/support.html#/faq) for [compilation in
SOGo and its associated components are available in various languages. The following list describes the official translations alongside their maintainers:
* [en] English - [Inverse inc.](https://www.inverse.ca/)
* [en] English - [Alinto](https://www.alinto.com)
* [ar] Arabic - Anass Ahmed
* [eu] Basque - Gorka Gonzalez
* [bs_BA] Bosnian - Refik Bećirović
@@ -45,7 +45,8 @@ SOGo and its associated components are available in various languages. The follo
* [da_DK] Danish (Denmark) - Altibox
* [nl] Dutch - Roel van Os
* [fi] Finnish - Kari Salmu
* [fr] French - [Inverse](https://www.inverse.ca/)
* [fr] French - [Alinto](https://www.alinto.com)
* [gl] Galician - Simon Lang
* [de] German - Alexander Greiner-Baer
* [he] Hebrew - Raz Aidlitz
* [hu] Hungarian - Sándor Kuti
@@ -53,11 +54,12 @@ SOGo and its associated components are available in various languages. The follo
* [is] Icelandic - Anna Jonna Armannsdottir
* [it] Italian - Alessio Fattorini
* [jp] Japanese - Ryo Yamamoto
* [kk] Kazakh - Nazym Idrissova
* [lv] Latvian - Juris Balandis
* [lt] Lithuanian - Mantas Liobė
* [mk_MK] Macedonian - Miroslav Jovanovic
* [sr_ME] Montenegrin - Ivan Pleskonjić
* [nb_NO] Norwegian (Bokmål) - Jan Ivar Karlsen
* [nb_NO] Norwegian (Bokmål) - Jan Ivar Karlsen / Altibox
* [nn_NO] Norwegian (Nynorsk) - Altibox
* [pl] Polish - Paweł Bogusławski
* [pt] Portuguese - Eduardo Crispim
@@ -70,8 +72,8 @@ SOGo and its associated components are available in various languages. The follo
* [es_AR] Spanish (Argentina) - Federico Alberto Sayd
* [es_ES] Spanish (Spain) - Dominique Couot
* [sv] Swedish - Peter Johansson
* [tr_TR] Turkish (Turkey) - Sinan Kurşunoğlu
* [tr_TR] Turkish (Turkey) - Muhammed Yalçınkaya, Sinan Kurşunoğlu
* [uk] Ukrainian - Oleksa Stasevych
* [cy] Welsh - Iona Bailey
If you would like to translate the software in an other language, please consult the [FAQ](https://sogo.nu/support/faq/how-to-translate-sogo-in-another-language.html). You can also subscribe to the SOGo i18n mailing list to follow string additions or changes. To subscribe to i18n@sogo.nu, send an email to i18n-request@sogo.nu with SUBSCRIBE i18n as the subject. Archived posts are [available online](https://lists.inverse.ca/sogo/arc/i18n).
If you would like to translate the software in an other language, please consult the [FAQ](https://sogo.nu/support/faq/how-to-translate-sogo-in-another-language.html).
+4 -1
View File
@@ -25,10 +25,13 @@
#include <EOControl/EOQualifier.h>
@class NSMutableString;
@class EOAdaptor;
@interface EOQualifier(GCS)
- (void) _gcsAppendToString: (NSMutableString *) _ms;
- (void) appendSQLToString: (NSMutableString *) _ms;
- (void) appendSQLToString: (NSMutableString *) _ms
withAdaptor: (EOAdaptor *) _adaptor;
@end
+63 -15
View File
@@ -24,6 +24,10 @@
#import <NGExtensions/NSNull+misc.h>
#import <NGExtensions/NSObject+Logs.h>
#import <GDLAccess/EOAdaptor.h>
#import <GDLAccess/EOAttribute.h>
#import <GDLAccess/EOSQLExpression.h>
#import "EOQualifier+GCS.h"
#if (defined(__GNU_LIBOBJC__) && (__GNU_LIBOBJC__ >= 20100911)) || defined(APPLE_RUNTIME) || defined(__GNUSTEP_RUNTIME__)
@@ -33,9 +37,9 @@
@implementation EOQualifier(GCS)
- (void) _appendAndQualifier: (EOAndQualifier *) _q
withAdaptor: (EOAdaptor *) _adaptor
toString: (NSMutableString *) _ms
{
// TODO: move to EOQualifier category
NSArray *qs;
unsigned i, count;
@@ -46,14 +50,15 @@
for (i = 0; i < count; i++) {
if (i != 0) [_ms appendString:@" AND "];
if (count > 1) [_ms appendString:@"("];
[[qs objectAtIndex:i] _gcsAppendToString: _ms];
[[qs objectAtIndex:i] appendSQLToString: _ms
withAdaptor: _adaptor];
if (count > 1) [_ms appendString:@")"];
}
}
- (void)_appendOrQualifier: (EOAndQualifier *) _q
toString: (NSMutableString *) _ms
- (void) _appendOrQualifier: (EOAndQualifier *) _q
withAdaptor: (EOAdaptor *) _adaptor
toString: (NSMutableString *) _ms
{
// TODO: move to EOQualifier category
NSArray *qs;
unsigned i, count;
@@ -64,23 +69,28 @@
for (i = 0; i < count; i++) {
if (i != 0) [_ms appendString:@" OR "];
if (count > 1) [_ms appendString:@"("];
[[qs objectAtIndex:i] _gcsAppendToString: _ms];
[[qs objectAtIndex:i] appendSQLToString: _ms
withAdaptor: _adaptor];
if (count > 1) [_ms appendString:@")"];
}
}
- (void)_appendNotQualifier: (EONotQualifier *)_q
toString:(NSMutableString *) _ms
- (void) _appendNotQualifier: (EONotQualifier *) _q
withAdaptor: (EOAdaptor *) _adaptor
toString:(NSMutableString *) _ms
{
[_ms appendString:@" NOT ("];
[[_q qualifier] _gcsAppendToString: _ms];
[[_q qualifier] appendSQLToString: _ms
withAdaptor: _adaptor];
[_ms appendString:@")"];
}
- (void) _appendKeyValueQualifier: (EOKeyValueQualifier *) _q
withAdaptor: (EOAdaptor *) _adaptor
toString: (NSMutableString *) _ms
{
id val;
EOAttribute *attribute;
NSString *qKey, *qOperator, *qValue, *qFormat;
BOOL isCI;
@@ -119,9 +129,33 @@
qValue = [val stringValue];
else if ([val isKindOfClass: [NSString class]]) {
if ([(EOKeyValueQualifier *)self formatted])
qValue = val;
{
qValue = val;
}
else
qValue = [NSString stringWithFormat: @"'%@'", val];
{
if (_adaptor)
{
// The value is a string, assume qualifier applies to a varchar column type
attribute = [EOAttribute new];
[attribute setExternalType: @"varchar"];
[attribute autorelease];
if (sel_isEqual([_q selector], EOQualifierOperatorLike) ||
sel_isEqual([_q selector], EOQualifierOperatorCaseInsensitiveLike))
{
qValue = [[_adaptor expressionClass] sqlPatternFromShellPattern: val];
qValue = [_adaptor formatValue: qValue
forAttribute: attribute];
}
else
qValue = [_adaptor formatValue: val
forAttribute: attribute];
}
else
// No adaptor provided, don't parse value
qValue = [NSString stringWithFormat: @"'%@'", val];
}
}
else {
qValue = @"NULL";
@@ -155,29 +189,43 @@
}
- (void) _appendQualifier: (EOQualifier *) _q
withAdaptor: (EOAdaptor *) _adaptor
toString: (NSMutableString *) _ms
{
if (_q == nil) return;
if ([_q isKindOfClass: [EOAndQualifier class]])
[self _appendAndQualifier: (id)_q
withAdaptor: _adaptor
toString: _ms];
else if ([_q isKindOfClass: [EOOrQualifier class]])
[self _appendOrQualifier: (id)_q
toString:_ms];
withAdaptor: _adaptor
toString: _ms];
else if ([_q isKindOfClass: [EOKeyValueQualifier class]])
[self _appendKeyValueQualifier: (id)_q
toString:_ms];
withAdaptor: _adaptor
toString: _ms];
else if ([_q isKindOfClass: [EONotQualifier class]])
[self _appendNotQualifier: (id)_q
toString:_ms];
withAdaptor: (EOAdaptor *) _adaptor
toString: _ms];
else
[self errorWithFormat:@"unknown qualifier: %@", _q];
}
- (void) _gcsAppendToString: (NSMutableString *) _ms
- (void) appendSQLToString: (NSMutableString *) _ms
{
[self _appendQualifier: self
withAdaptor: nil
toString: _ms];
}
- (void) appendSQLToString: (NSMutableString *) _ms
withAdaptor: (EOAdaptor *) _adaptor
{
[self _appendQualifier: self
withAdaptor: _adaptor
toString: _ms];
}
-4
View File
@@ -159,10 +159,6 @@
/* helpers */
- (EOAttribute *) _attributeForColumn: (NSString *) _field;
- (void) _findQualifiers: (id) qualifier
withAdaptor: (EOAdaptor *) adaptor;
- (void) _formatQualifierValue: (EOKeyValueQualifier *) qualifier
withAdaptor: (EOAdaptor *) adaptor;
@end
#endif /* __GDLContentStore_GCSFolder_H__ */
+23 -59
View File
@@ -1,7 +1,7 @@
/*
Copyright (C) 2004-2007 SKYRIX Software AG
Copyright (C) 2007 Helge Hess
Copyright (c) 2008-2019 Inverse inc.
Copyright (c) 2008-2022 Inverse inc.
This file is part of SOGo.
@@ -26,9 +26,11 @@
#import <EOControl/EOFetchSpecification.h>
#import <EOControl/EOSortOrdering.h>
#import <EOControl/EOQualifier.h>
#import <GDLAccess/EOEntity.h>
#import <GDLAccess/EOAttribute.h>
#import <GDLAccess/EOSQLExpression.h>
#import <GDLAccess/EOSQLQualifier.h>
#import <GDLAccess/EOAdaptor.h>
#import <GDLAccess/EOAdaptorContext.h>
@@ -401,19 +403,9 @@ static GCSStringFormatter *stringFormatter = nil;
adaptor = [adaptorCtx adaptor];
}
if ([qualifier isKindOfClass: [EOAndQualifier class]])
[self _findQualifiers: (id)qualifier withAdaptor: adaptor];
else if ([qualifier isKindOfClass: [EOOrQualifier class]])
[self _findQualifiers: (id)qualifier withAdaptor: adaptor];
else if ([qualifier isKindOfClass: [EOKeyValueQualifier class]])
[self _formatQualifierValue: (EOKeyValueQualifier *)qualifier withAdaptor: adaptor];
else if ([qualifier isKindOfClass: [EONotQualifier class]])
[self _formatQualifierValue: (EOKeyValueQualifier *)[(id)qualifier qualifier] withAdaptor: adaptor];
else
[self errorWithFormat:@"unknown qualifier: %@", qualifier];
ms = [NSMutableString stringWithCapacity:32];
[qualifier _gcsAppendToString: ms];
[qualifier appendSQLToString: ms
withAdaptor: adaptor];
}
else
ms = nil;
@@ -421,51 +413,6 @@ static GCSStringFormatter *stringFormatter = nil;
return ms;
}
- (void) _findQualifiers: (id) qualifier
withAdaptor: (EOAdaptor *) adaptor
{
NSArray *qs;
unsigned i, count;
if (qualifier == nil) return;
qs = [qualifier qualifiers];
if ((count = [qs count]) == 0)
return;
for (i = 0; i < count; i++) {
id q = [qs objectAtIndex: i];
if ([q isKindOfClass: [EOAndQualifier class]])
[self _findQualifiers: q withAdaptor: adaptor];
else if ([q isKindOfClass:[EOOrQualifier class]])
[self _findQualifiers: q withAdaptor: adaptor];
else if ([q isKindOfClass:[EOKeyValueQualifier class]])
[self _formatQualifierValue: (EOKeyValueQualifier *)q withAdaptor: adaptor];
else if ([q isKindOfClass:[EONotQualifier class]])
[self _formatQualifierValue: (EOKeyValueQualifier *)[q qualifier] withAdaptor: adaptor];
else
[self errorWithFormat:@"unknown qualifier: %@", q];
}
}
- (void) _formatQualifierValue: (EOKeyValueQualifier *) qualifier
withAdaptor: (EOAdaptor *) adaptor
{
NSString *field;
EOAttribute *attribute;
NSString *formattedValue;
field = [qualifier key];
attribute = [self _attributeForColumn: field];
if (attribute && [[qualifier value] isNotNull])
{
formattedValue = [adaptor formatValue: [qualifier value]
forAttribute: attribute];
[qualifier setValue: formattedValue];
[qualifier setFormatted: YES];
}
}
- (NSString *)_sqlForSortOrderings:(NSArray *)_so {
NSMutableString *sql;
unsigned i, count;
@@ -1040,7 +987,7 @@ andAttribute: (EOAttribute *)_attribute
NSDictionary *currentRow;
NSNumber *storedVersion;
BOOL isNewRecord, hasInsertDelegate, hasUpdateDelegate;
NSCalendarDate *nowDate;
NSCalendarDate *nowDate, *startDate;
NSNumber *now;
EOEntity *quickTableEntity, *storeTableEntity;
NSArray *rows;
@@ -1055,6 +1002,7 @@ andAttribute: (EOAttribute *)_attribute
error = nil;
nowDate = [NSCalendarDate date];
now = [NSNumber numberWithUnsignedInt:[nowDate timeIntervalSince1970]];
startDate = nil;
if (doLogStore)
[self logWithFormat:@"should store content: '%@'\n%@", _name, _content];
@@ -1124,6 +1072,7 @@ andAttribute: (EOAttribute *)_attribute
[contentRow setObject:_name forKey:@"c_name"];
[contentRow setObject:now forKey:@"c_lastmodified"];
if (isNewRecord)
{
[contentRow setObject:now forKey:@"c_creationdate"];
@@ -1194,6 +1143,21 @@ andAttribute: (EOAttribute *)_attribute
}
else
{
// Update c_startdate for appointments
if ([theComponent respondsToSelector:@selector(startDate)]) {
NSTimeInterval t;
startDate = [theComponent startDate];
t = [startDate timeIntervalSince1970];
if (startDate) {
if (t < (long long)INT_MAX && t > (long long)INT_MIN) {
[quickRow setObject:[NSNumber numberWithInt: t] forKey:@"c_startdate"];
} else {
[self errorWithFormat:@"Unexpected value. Invalid start date for timestamp %f", t];
[quickRow setObject:[NSNumber numberWithInt: 0] forKey:@"c_startdate"];
}
}
}
if (!ofFlags.sameTableForQuick)
error = (hasUpdateDelegate
? [quickChannel updateRowX: quickRow
+3 -3
View File
@@ -189,7 +189,7 @@
static NSString *sqlFolderFormat
= (@"CREATE TABLE %@ ("
@" c_id VARCHAR(255) PRIMARY KEY,"
@" c_value VARCHAR(255) NOT NULL,"
@" c_value VARCHAR(4096) NOT NULL,"
@" c_creationdate INT4 NOT NULL,"
@" c_lastseen INT4 NOT NULL)");
@@ -294,7 +294,7 @@
static NSString *sqlFolderFormat
= (@"CREATE TABLE %@ ("
@" c_id VARCHAR(255) PRIMARY KEY,"
@" c_value VARCHAR(255) NOT NULL,"
@" c_value VARCHAR(4096) NOT NULL,"
@" c_creationdate INT NOT NULL,"
@" c_lastseen INT NOT NULL)");
@@ -398,7 +398,7 @@
static NSString *sqlFolderFormat
= (@"CREATE TABLE %@ ("
@" c_id VARCHAR2(255) PRIMARY KEY,"
@" c_value VARCHAR2(255) NOT NULL,"
@" c_value VARCHAR2(4096) NOT NULL,"
@" c_creationdate INTEGER NOT NULL,"
@" c_lastseen INTEGER NOT NULL)");
+13 -13
View File
@@ -159,28 +159,28 @@ static NGCardsSaxHandler *sax = nil;
CardElement *newChild;
if (aChild)
{
childTag = [aChild tag];
newChild = nil;
mappedClass = [self classForTag: [childTag uppercaseString]];
if (mappedClass)
{
if (![aChild isKindOfClass: mappedClass])
{
childTag = [aChild tag];
newChild = nil;
mappedClass = [self classForTag: [childTag uppercaseString]];
if (mappedClass)
{
if (![aChild isKindOfClass: mappedClass])
{
//NSLog (@"warning: new child to entity '%@': '%@' converted to '%@'",
// tag, childTag, NSStringFromClass(mappedClass));
newChild = [aChild elementWithClass: mappedClass];
}
}
}
// else
// NSLog (@"warning: no mapped class for tag '%@'",
// childTag);
if (!newChild)
newChild = aChild;
[children addObject: newChild];
[newChild setParent: self];
}
if (!newChild)
newChild = aChild;
[children addObject: newChild];
[newChild setParent: self];
}
}
- (CardElement *) uniqueChildWithTag: (NSString *) aTag
+1 -1
View File
@@ -59,7 +59,7 @@
&& ![subValue hasSuffix: @"\""])
subValue = [NSString stringWithFormat: @"\"%@\"", subValue];
escaped = [subValue escapedForCards];
escaped = [subValue escapedForCardsAsAttributes: asAttributes];
if ([escaped length] > 0)
{
[aString appendString: escaped];
+1 -1
View File
@@ -34,7 +34,7 @@
- (NSString *) foldedForVersitCards;
- (NSArray *) asCardAttributeValues;
- (NSString *) escapedForCards;
- (NSString *) escapedForCardsAsAttributes: (BOOL) asAttributes;
- (NSString *) rfc822Email;
- (NSTimeInterval) durationAsTimeInterval;
+33 -38
View File
@@ -83,19 +83,21 @@
newCurrentChar = newPart;
isEscaped = NO;
isQuoted = NO;
isQuoted = (max > 1 && [self hasPrefix: @"\""] && [self hasSuffix: @"\""]);
if (isQuoted)
{
// Remove leading and trailing quotes
currentChar++;
lastChar--;
}
while (currentChar < lastChar)
{
if (isQuoted)
{
if (*currentChar == '"')
isQuoted = NO;
else
{
*newCurrentChar = *currentChar;
newCurrentChar++;
}
// Don't escape characters
*newCurrentChar = *currentChar;
newCurrentChar++;
}
else if (isEscaped)
{
@@ -114,16 +116,14 @@
}
else
{
if (*currentChar == '"')
isQuoted = YES;
else if (*currentChar == '\\')
if (*currentChar == '\\')
isEscaped = YES;
else if (*currentChar == ',')
{
newString = [[NSString alloc]
initWithCharactersNoCopy: newPart
length: (newCurrentChar - newPart)
freeWhenDone: YES];
// The comma is a value delimiter
newString = [[NSString alloc] initWithCharactersNoCopy: newPart
length: (newCurrentChar - newPart)
freeWhenDone: YES];
[values addObject: newString];
[newString release];
newPart = NSZoneMalloc (NULL, max * sizeof (unichar));
@@ -138,10 +138,9 @@
currentChar++;
}
newString = [[NSString alloc]
initWithCharactersNoCopy: newPart
length: (newCurrentChar - newPart)
freeWhenDone: YES];
newString = [[NSString alloc] initWithCharactersNoCopy: newPart
length: (newCurrentChar - newPart)
freeWhenDone: YES];
[values addObject: newString];
[newString release];
@@ -150,7 +149,7 @@
return values;
}
- (NSString *) escapedForCards
- (NSString *) escapedForCardsAsAttributes: (BOOL) asAttributes
{
NSMutableString *string;
unsigned int len, i;
@@ -165,33 +164,29 @@
{
c = [self characterAtIndex: i];
if (isQuoted)
{
if (c == '"')
isQuoted = NO;
[string appendFormat: @"%C", c];
continue;
}
if (!isQuoted || !asAttributes)
switch (c)
{
case ',':
[string appendString: @"\\,"];
continue;
//case ':':
// [string appendString: @"\\:"];
//break;
case ';':
[string appendString: @"\\;"];
continue;
}
switch (c)
{
case '"':
isQuoted = YES;
isQuoted = !isQuoted;
[string appendFormat: @"%C", c];
break;
case '\\':
[string appendString: @"\\\\"];
break;
case ',':
[string appendString: @"\\,"];
break;
//case ':':
// [string appendString: @"\\:"];
//break;
case ';':
[string appendString: @"\\;"];
break;
case'\n':
[string appendString: @"\\n"];
break;
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Abidjan
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Abidjan
BEGIN:STANDARD
TZNAME:GMT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Algiers
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Algiers
BEGIN:STANDARD
TZNAME:CET
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Bissau
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Bissau
BEGIN:STANDARD
TZNAME:GMT
+12 -4
View File
@@ -1,15 +1,23 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Cairo
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Cairo
BEGIN:DAYLIGHT
TZNAME:EEST
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
DTSTART:19700424T000000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=-1FR
END:DAYLIGHT
BEGIN:STANDARD
TZNAME:EET
TZOFFSETFROM:+0200
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
DTSTART:19700101T000000
DTSTART:19701030T000000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1FR
END:STANDARD
END:VTIMEZONE
END:VCALENDAR
+2 -2
View File
@@ -1,10 +1,10 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Casablanca
TZUNTIL:20870511T020001Z
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Casablanca
BEGIN:STANDARD
TZNAME:+01
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Ceuta
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Ceuta
BEGIN:DAYLIGHT
TZNAME:CEST
+2 -2
View File
@@ -1,10 +1,10 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/El_Aaiun
TZUNTIL:20870511T020001Z
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/El_Aaiun
BEGIN:STANDARD
TZNAME:+01
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Johannesburg
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Johannesburg
BEGIN:STANDARD
TZNAME:SAST
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Juba
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Juba
BEGIN:STANDARD
TZNAME:CAT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Khartoum
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Khartoum
BEGIN:STANDARD
TZNAME:CAT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Lagos
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Lagos
BEGIN:STANDARD
TZNAME:WAT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Maputo
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Maputo
BEGIN:STANDARD
TZNAME:CAT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Monrovia
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Monrovia
BEGIN:STANDARD
TZNAME:GMT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Nairobi
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Nairobi
BEGIN:STANDARD
TZNAME:EAT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Ndjamena
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Ndjamena
BEGIN:STANDARD
TZNAME:WAT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Sao_Tome
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Sao_Tome
BEGIN:STANDARD
TZNAME:GMT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Tripoli
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Tripoli
BEGIN:STANDARD
TZNAME:EET
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Tunis
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Tunis
BEGIN:STANDARD
TZNAME:CET
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Africa/Windhoek
LAST-MODIFIED:20210303T135711Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:Africa/Windhoek
BEGIN:STANDARD
TZNAME:CAT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Adak
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Adak
BEGIN:DAYLIGHT
TZNAME:HDT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Anchorage
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Anchorage
BEGIN:DAYLIGHT
TZNAME:AKDT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Araguaina
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Araguaina
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/Buenos_Aires
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/Buenos_Aires
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/Catamarca
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/Catamarca
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/Cordoba
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/Cordoba
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/Jujuy
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/Jujuy
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/La_Rioja
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/La_Rioja
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/Mendoza
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/Mendoza
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/Rio_Gallegos
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/Rio_Gallegos
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/Salta
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/Salta
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/San_Juan
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/San_Juan
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/San_Luis
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/San_Luis
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/Tucuman
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/Tucuman
BEGIN:STANDARD
TZNAME:-03
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Argentina/Ushuaia
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Argentina/Ushuaia
BEGIN:STANDARD
TZNAME:-03
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Asuncion
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Asuncion
BEGIN:DAYLIGHT
TZNAME:-03
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Bahia
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Bahia
BEGIN:STANDARD
TZNAME:-03
@@ -1,23 +1,15 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Bahia_Banderas
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Bahia_Banderas
BEGIN:STANDARD
TZNAME:CST
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
DTSTART:19701025T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:CDT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
DTSTART:19700405T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
END:DAYLIGHT
TZOFFSETTO:-0600
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE
END:VCALENDAR
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Barbados
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Barbados
BEGIN:STANDARD
TZNAME:AST
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Belem
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Belem
BEGIN:STANDARD
TZNAME:-03
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Belize
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Belize
BEGIN:STANDARD
TZNAME:CST
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Boa_Vista
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Boa_Vista
BEGIN:STANDARD
TZNAME:-04
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Bogota
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Bogota
BEGIN:STANDARD
TZNAME:-05
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Boise
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Boise
BEGIN:DAYLIGHT
TZNAME:MDT
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Cambridge_Bay
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Cambridge_Bay
BEGIN:DAYLIGHT
TZNAME:MDT
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Campo_Grande
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Campo_Grande
BEGIN:STANDARD
TZNAME:-04
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Cancun
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Cancun
BEGIN:STANDARD
TZNAME:EST
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Caracas
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Caracas
BEGIN:STANDARD
TZNAME:-04
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Cayenne
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Cayenne
BEGIN:STANDARD
TZNAME:-03
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Chicago
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Chicago
BEGIN:DAYLIGHT
TZNAME:CDT
+5 -13
View File
@@ -1,23 +1,15 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Chihuahua
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Chihuahua
BEGIN:DAYLIGHT
TZNAME:MDT
TZOFFSETFROM:-0700
TZOFFSETTO:-0600
DTSTART:19700405T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU
END:DAYLIGHT
BEGIN:STANDARD
TZNAME:MST
TZNAME:CST
TZOFFSETFROM:-0600
TZOFFSETTO:-0700
DTSTART:19701025T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
TZOFFSETTO:-0600
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE
END:VCALENDAR
@@ -0,0 +1,23 @@
BEGIN:VCALENDAR
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Ciudad_Juarez
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Ciudad_Juarez
BEGIN:DAYLIGHT
TZNAME:MDT
TZOFFSETFROM:-0700
TZOFFSETTO:-0600
DTSTART:19700308T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
END:DAYLIGHT
BEGIN:STANDARD
TZNAME:MST
TZOFFSETFROM:-0600
TZOFFSETTO:-0700
DTSTART:19701101T020000
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
END:STANDARD
END:VTIMEZONE
END:VCALENDAR
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Costa_Rica
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Costa_Rica
BEGIN:STANDARD
TZNAME:CST
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Cuiaba
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Cuiaba
BEGIN:STANDARD
TZNAME:-04
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Danmarkshavn
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Danmarkshavn
BEGIN:STANDARD
TZNAME:GMT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Dawson
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Dawson
BEGIN:STANDARD
TZNAME:MST
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Dawson_Creek
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Dawson_Creek
BEGIN:STANDARD
TZNAME:MST
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Denver
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Denver
BEGIN:DAYLIGHT
TZNAME:MDT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Detroit
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Detroit
BEGIN:DAYLIGHT
TZNAME:EDT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Edmonton
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Edmonton
BEGIN:DAYLIGHT
TZNAME:MDT
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Eirunepe
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Eirunepe
BEGIN:STANDARD
TZNAME:-05
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/El_Salvador
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/El_Salvador
BEGIN:STANDARD
TZNAME:CST
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Fort_Nelson
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Fort_Nelson
BEGIN:STANDARD
TZNAME:MST
+2 -2
View File
@@ -1,9 +1,9 @@
BEGIN:VCALENDAR
PRODID:-//Inverse inc.//NONSGML IANA 2021a//EN
PRODID:-//Alinto//NONSGML IANA 2023c//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Fortaleza
LAST-MODIFIED:20210303T135712Z
LAST-MODIFIED:20230523T092157Z
X-LIC-LOCATION:America/Fortaleza
BEGIN:STANDARD
TZNAME:-03
Loaded 100 of 1452 files, more files were not shown because too many files have changed in this diff. Show more