Compare commits

...

5905 commits

Author SHA1 Message Date
the-djmaze
870df2d861 Resolve #1990 2026-10-24 16:24:28 +02:00
the-djmaze
343ef172d1 Resolve #2008 2026-10-24 14:52:36 +02:00
the-djmaze
bca01170a4 Resolve #2018 2026-10-24 14:48:02 +02:00
the-djmaze
ddf28c299c Require PHP 8.2 2026-10-24 14:12:28 +02:00
the-djmaze
b5c1be34c2 Don't inflate http response by default 2026-10-23 16:45:02 +02:00
Maarten
0204ca48ee
Merge pull request #2088 from JPRauwolf/patch-1
remove opcache installation from docker build
2026-10-23 15:15:59 +02:00
Maarten
0358fdf971
Merge pull request #2087 from FathiBenNasr/fix/header-unfold-encoded-word
MailSo: keep the folding space before an encoded word that follows a plain word
2026-10-23 15:09:28 +02:00
the-djmaze
a0e093d527 Several security advisories for NPM packages break the JS compiler.
Don't run `npm audit fix`!!!
2026-10-23 12:58:16 +02:00
the-djmaze
19de853729 PHP 8.5 has opcache built in 2026-10-23 11:17:43 +02:00
Jan Philipp Rauwolf
66725386b0
removed opcache installation from docker build
with php 8.5 opcache comes bundled, so the installation fails.
just removing the dependency fixed the build
2026-10-23 00:06:25 +02:00
the-djmaze
e1e94c815d The backtick (`) operator is deprecated, use shell_exec() instead 2026-10-22 23:02:00 +02:00
Fathi Ben Nasr
7c432e392b MailSo: a folded plain-text line no longer leaves two spaces
Unfolding appended a newline before the continuation line, which kept its
own leading whitespace; Header turns the newline into a space, so every
fold became two spaces ("et  checklist"), carried into reply subjects.
The test now compares exactly.
2026-10-22 20:55:38 +00:00
Fathi Ben Nasr
37fcdbe534 MailSo: keep the folding space before an encoded word that follows a plain word
HeaderCollection::Parse() trimmed the folding whitespace in front of every
continuation line starting with an encoded word. RFC 2047 6.2 ignores only
whitespace BETWEEN two adjacent encoded words; after a plain word, RFC 5322
unfolding keeps it. Symfony Mailer folds subjects exactly there, so
"de vos\r\n =?utf-8?Q?=C3=A9quipements?=" was displayed "voséquipements".
The message list (IMAP ENVELOPE) was fine; the opened message was not.

Test: php test/header-unfold.php (fails before the fix).
2026-10-22 20:55:38 +00:00
the-djmaze
c9f7d27551 Proxy requires mainaccount 2026-10-22 22:29:45 +02:00
the-djmaze
843b69bfa8 Send Accept-Encoding header in integrity test? 2026-10-22 22:29:04 +02:00
the-djmaze
61ebcb6ed4 CSP block legacy HTML element types such as <object>, <embed>, and <applet> on Raw actions 2026-10-22 18:04:40 +02:00
Maarten
ceb9f68ded
Merge pull request #1922 from leojonathanoh/fix/docker-ensure-nginx-does-not-listen-on-ipv6-in-ipv4-only-environments
Fix (docker): Ensure nginx does not listen on ipv6 in ipv4-only environments
2026-10-22 16:11:58 +02:00
Maarten
d7e7250b16
Merge pull request #2060 from FathiBenNasr/fix/carddav-sync-empty-set-guard
AddressBook: do not let an empty side wipe the other during sync
2026-10-22 16:09:56 +02:00
Maarten
0a8e37ccc8
Merge pull request #2070 from FathiBenNasr/feature/ldap-suggestions-multiple-base-dns
ldap-contacts-suggestions: search several base DNs
2026-10-22 16:07:51 +02:00
Maarten
2cff632b2d
Merge pull request #2021 from kristofer84/login-o365-bugfix
Corrected OAuth2 login flow and added better error handling
2026-10-22 14:15:28 +02:00
the-djmaze
2c658b7c31 Fix year for #1882 2026-10-22 14:12:26 +02:00
Maarten
4997853b78
Merge pull request #1882 from ZephOne/also-use-ldap-login-mapping-for-smtp-user
Also use ldap login mapping for smtp user
2026-10-22 14:10:42 +02:00
Maarten
6fba843d15
Merge pull request #2011 from juschleg/patch-1
Update SSLContext.php: fixed typo in line 42, to reference correct class
2026-10-22 14:06:53 +02:00
Maarten
3659552fac
Merge pull request #2035 from alterative-editions/plugin-login-http
Add HTTP based SSO plugin for Apache using PHP_AUTH_USER/PHP_AUTH_PW
2026-10-22 13:54:05 +02:00
the-djmaze
3432795930 Fix formatting and bump version for #2019 2026-10-22 13:50:36 +02:00
Maarten
fb4a247916
Merge pull request #2019 from oGrzegorZo/fix-search-filters-keyword-crash
Fix Search Filters plugin: crash on keyword filters
2026-10-22 13:44:56 +02:00
Maarten
a174bf7ba0
Merge pull request #1879 from tribut/smime-intermediate-certs
Add intermediate certificates for S/MIME signing
2026-10-22 13:41:20 +02:00
Maarten
77be04d427
Merge pull request #1863 from SergeyMosin/pgp-improvements
PGP improvements
2026-10-22 13:39:45 +02:00
Maarten
cf185b9ab5
Merge pull request #2066 from Ron-RONZZ-org/feature/admin-trusted-header-auth
Admin panel: accept trusted proxy-auth header (X-NC-Admin) on the admin host
2026-10-22 13:37:52 +02:00
Maarten
30bb5c934d
Merge pull request #2069 from SebastianAlvarezGajardo/fix/messagelist-keep-page-and-search
Don't reset the message list to page 1 and clear the search on message.show
2026-10-22 13:23:57 +02:00
Maarten
b9397e6e20
Merge pull request #2007 from Murena-SAS/dev/fix-autologin
Fix(auth): Correct OIDC login by using SensitiveString object.
2026-10-22 13:18:56 +02:00
the-djmaze
fd6beedc0c Merge branch 'master' of github.com:the-djmaze/snappymail 2026-10-22 13:16:11 +02:00
the-djmaze
45b94153c1 Resolve #1906 2026-10-22 13:15:59 +02:00
Maarten
02e96a9339
Merge pull request #2012 from juschleg/patch-2
fixed typo in imapsync.php: was "RainLoop\API" instead of "RainLoop\Api"
2026-10-22 13:12:04 +02:00
the-djmaze
b3edb5fb0a Versionnumber for #2064 2026-10-22 13:10:09 +02:00
Maarten
58d553b1a2
Merge pull request #2064 from FathiBenNasr/fix/ics-viewer-attachments-observable
ics-viewer: unwrap attachments and widen the calendar part match
2026-10-22 13:07:14 +02:00
Maarten
2f26779f4a
Merge pull request #2061 from FathiBenNasr/feature/avatars-contact-photo
avatars: use the PHOTO stored on a matching contact
2026-10-22 13:01:15 +02:00
Maarten
9f0e6d946a
Merge pull request #2074 from FathiBenNasr/fix/getcontactbyemail-missing-columns
PdoAddressBook: GetContactByEmail() passed the wrong columns
2026-10-22 12:59:25 +02:00
Maarten
85b142f559
Merge pull request #2039 from gocowim/fix_autocrypt_compliance
FIX non-compliant Autocrypt Header
2026-10-22 12:50:26 +02:00
the-djmaze
1be5abd122 Version number for #2024 2026-10-22 12:48:32 +02:00
Maarten
a9ca71bae1
Merge pull request #2024 from bohwaz/fix-remote-login
Fix login-remote plugin password handling
2026-10-22 12:45:17 +02:00
Maarten
0805f71461
Merge pull request #2005 from LoredCast/patch-1
Update PostgreSQL DSN in Docker.md
2026-10-22 12:44:25 +02:00
Maarten
abb83e48b0
Merge pull request #1967 from PhilippMundhenk/master
Plugin proxy-auth: Update instructions for Dovecot 2.4, "check proxy" setting fix, troubleshooting hints
2026-10-22 12:36:44 +02:00
Maarten
f52249b77b
Merge pull request #1973 from HeySora/add-sqlite-to-docker
Add pdo_sqlite installation to Docker image
2026-10-22 12:32:48 +02:00
Maarten
1bbd7f635a
Merge pull request #2052 from alexgabi/patch-1
Update user.json
2026-10-22 12:30:13 +02:00
Maarten
8a8304e81a
Merge pull request #2075 from FathiBenNasr/fix/htmlutils-data-attributes
HtmlUtils: strip every data-* attribute, not just the first one
2026-10-22 12:28:44 +02:00
Maarten
e7a491b0f5
Merge pull request #2079 from MiDniGG/fix/autosave-duplicate-contacts
Fix duplicate contacts on autosave for addresses with uppercase letters
2026-10-22 12:18:12 +02:00
the-djmaze
6c9d3edc18 Docker upgrade to PHP 8.5 #2086 2026-10-22 12:13:49 +02:00
Kristofer Nilsson
5dca6d4f65 Change viewModelTemplateID check for account popups 2026-10-22 12:12:51 +02:00
Cursor Agent
2af0af173e Refactor O365 login to use server-side state and add account support
Co-authored-by: kristofer.john.nilsson <kristofer.john.nilsson@gmail.com>
2026-10-22 12:12:51 +02:00
Kristofer Nilsson
7fdc77ce5f Corrected OAuth2 login flow and added better error handling 2026-10-22 12:12:51 +02:00
Maarten
86dc155d1c
Merge branch 'master' into patch-1 2026-10-21 15:44:30 +02:00
Maarten
5de44c77c2
Merge pull request #2084 from sasogu/add-catalan-localization
Add Catalan localization
2026-10-21 15:42:25 +02:00
the-djmaze
dfc9420385 Sabre XML v4.1.0 2026-10-21 15:18:43 +02:00
the-djmaze
e66f325aa3 Sabre VObject v5.0.0 2026-10-21 15:18:17 +02:00
the-djmaze
aad651f2a1 Remove buggy Squire ImageResizer 2026-10-20 23:41:06 +02:00
the-djmaze
67a68915db Knockout use Reflection binding 2026-10-20 23:34:48 +02:00
the-djmaze
71287022ca Make Languages modal 10px wider 2026-10-20 23:33:40 +02:00
the-djmaze
3da27c3bc8 window.localStorage to localStorage 2026-10-20 23:33:07 +02:00
the-djmaze
020927cc56 Squire v2.4.9 2026-10-20 23:32:32 +02:00
the-djmaze
8667af700d Improved font-size handling to prevent issue #1082 2026-10-20 16:25:00 +02:00
Samuel Soriano
4e65e7ee84 Use the username label for login fields 2026-10-16 17:54:39 +02:00
Samuel Soriano
aca14765c9 Review Catalan terminology, grammar and action meanings 2026-10-16 17:53:07 +02:00
Samuel Soriano
be91e4eb80 Document the Catalan language selector preview 2026-10-16 16:20:42 +02:00
Samuel Soriano
24d7dee9b9 Add Catalan localization 2026-10-16 16:19:20 +02:00
Andreas Pries
6ef8a9a391 Fix duplicate contacts on autosave for addresses with uppercase letters
IncFrec() lowercases the existing addresses but compares them against the
new address in its original case, so an address with uppercase letters is
never found and a new contact is created on every send.

Fixes #1767
2026-09-29 22:48:07 +02:00
Fathi Ben Nasr
08ddc323f9 HtmlUtils: strip every data-* attribute, not just the first one
BuildHtml() iterates $oElement->attributes -- a live DOMNamedNodeMap --
and calls removeAttribute() on the attribute the foreach is currently on.
That ends the iteration: the loop sees no further attribute, so exactly
one data-* is removed per element however many it carries.

Measured on PHP 8.5.10 / libxml 2.12.5, data-* left behind:

  <p data-a>                          -> none
  <p data-a data-b>                   -> data-b
  <p data-a data-b data-c>            -> data-b, data-c
  <p data-a data-b data-c data-d>     -> data-b, data-c, data-d
  <p DATA-A data-b>                   -> data-b

The single call site is buildMessage() in RainLoop/Actions/Messages.php,
reached from both DoSaveMessage() and DoSendMessage(), as the docblock on
BuildHtml() says. So the attributes that survive go out in the sent
message and into the draft that is APPENDed and read back later. It is
not the display path: an incoming body is only decoded and charset
converted in MailSo\Mail\Message::fromFetchResponse(), and the browser
filters it with the allowlists in dev/Common/Html.js.

The fix collects the names first, then removes them.
2026-09-05 21:44:57 +00:00
Fathi Ben Nasr
279cc6406e PdoAddressBook: GetContactByEmail() passed the wrong columns
GetContactByEmail() runs

    SELECT DISTINCT id_contact FROM rainloop_ab_properties WHERE ...

and hands the statement to getContactsFromPDO(), which unconditionally reads
id_contact_str, changed, etag and jcard from every row. None of those are
selected, so every match raises three PHP warnings:

    Undefined array key "id_contact_str"
    Undefined array key "changed"
    Undefined array key "etag"

and the Contact that comes back carries IdContactStr '' with Changed and Etag
both 0 -- values a CardDAV sync would use.

The lookup itself still works: with no jcard column either, every row falls
into the follow-up properties query, so the contact data is right and only the
metadata is wrong. That is what makes it easy to miss.

It is not rare. The avatars plugin calls GetContactByEmail() for the sender of
a message, so a mailbox view triggers it repeatedly -- 23 warnings in a single
session on one of our installs.

Fix: look the contact up by id instead. GetContactByID() already selects the
columns getContactsFromPDO() expects, so the Contact comes back complete, and
the search query keeps doing what it is good at -- finding the id. The unused
$oContact and $iIdContact locals go with it.

Verified against a real PDO: the current query returns one column and the
reader warns on id_contact_str; the replacement returns all of them, warns
nothing, and yields the real IdContactStr and changed instead of '' and 0.

Note: this layer has no test suite upstream, so the verification is a
standalone reproduction rather than an added test.
2026-09-05 03:37:09 +00:00
Fathi Ben Nasr
3dd6c85c87 ldap-contacts-suggestions: search several base DNs
A directory rarely keeps everything worth suggesting in one branch: people
sit in a people branch, meeting rooms and other bookable resources in a
separate one. Searching a single subtree misses them, and widening the base
to the domain root drags every service and role account into the list.

base_dn now accepts several branches separated by '|', which cannot appear
unescaped in a DN — an existing single-branch value parses to a one-element
list and behaves exactly as before. A branch that fails to answer is logged
with its own DN and no longer discards the whole lookup.
2026-08-24 01:20:24 +00:00
SebaSalvaG
e4ecda0e61 Don't reset the message list to page 1 and clear the search on message.show
The `mailbox.message.show` handler rewrote the hash to `mailBox(sFolder)` --
page 1, no search -- even when the user was already in that folder.

Because the hash of an open message carries the message id and the new one does
not, the two differ, the route fires again, the message is shown again, and the
handler runs again: a loop. Every iteration aborts whatever message list request
was pending, so browsing to page 2 or running a search silently bounces back to
page 1 of the INBOX with an empty search box.

Only navigate when we are not already in that folder. Clicking a new-mail
notification from another folder still takes you to the INBOX; if the message is
not in the current page, the else branch already opens it in the preview pane
without touching the list.

The same unconditional setHash a few lines below, for non-INBOX folders, gets
the same guard.
2026-08-23 22:38:40 +02:00
Rong Zhou
640c567210 Admin panel: accept trusted proxy-auth header (X-NC-Admin) on the admin host
Allows gating the SnappyMail admin panel behind an external single sign-on
layer (e.g. a reverse-proxy auth_request validated against an OpenID Connect /
Nextcloud session) without embedding an OIDC client in SnappyMail. The header
is honored only when present AND the request Host matches admin_panel.host
(defense in depth), so it has no effect on regular webmail or on the panel
when admin_panel.host is unset.

Behavior is unchanged when the header is absent: the existing
admin_login/admin_password (+ optional admin_totp) check applies.

Contributed from Ron-RONZZ-org/ronzz-nextcloud (webmail/patches/).
2026-08-16 18:17:08 +02:00
Fathi Ben Nasr
8a2d8e86a5 ics-viewer: unwrap attachments and widen the calendar part match
The panel never appears on a real invitation.

msg.attachments is a ko.observableArray, so msg.attachments.find() is
undefined and throws inside the message subscription - the rest of the
handler, including the JSON-LD path, dies with it. The app itself always
writes attachments().

A scheduling mail also does not necessarily carry a text/calendar
attachment. Evolution and Exchange put the scheduling part inline in
multipart/alternative as text/calendar and repeat it as an
application/ics attachment, so such a message shows two .ics files and
the current test matches neither reliably. Match text/calendar,
application/ics, text/x-vcalendar or an .ics file name - which is what
the commented-out line above was reaching for.
2026-08-14 10:12:06 +00:00
Fathi Ben Nasr
6a7cbe070c avatars: find the photo when several contacts share an address 2026-08-13 02:19:03 +00:00
Fathi Ben Nasr
1a0c9872b2 AddressBook: do not let an empty side wipe the other during sync
Sync() treats an empty list on either side as authoritative:

* a local contact holding an etag but missing from the remote listing is
  deleted locally, so an empty or unparsed listing removes every
  previously synced contact;
* a local tombstone is deleted remotely, so a local store that is empty
  apart from tombstones prunes the server.

An empty list is far more often a fault than a real "delete everything":
a fresh or rebuilt local store, a listing that failed to parse, a stale
server-side index. On a server whose DAV index had lost its records the
listing came back empty and the first sync removed 7 local contacts that
existed on both sides moments earlier.

Skip the deletions in whichever direction the source list is empty and
let the existing import/export reconcile instead. Both guards log a
warning with the counts, so a skipped pass is visible rather than silent.
When both sides hold data the behaviour is unchanged.
2026-08-12 23:38:53 +00:00
Philipp Mundhenk
863f719da3 proxy-auth: remove check_proxy / proxy_ip settings
The "Check Proxy" option inspected the forwarded client IP returned
by Http::GetClientIp(true), which resolves to HTTP_X_FORWARDED_FOR
first and only falls back to REMOTE_ADDR. In any typical reverse-proxy
deployment that header carries the end-user's IP, not the proxy's, so
the option never actually validated that the request came from the
trusted proxy. It only constrained the set of end-user IPs allowed
to use SSO, which is not a meaningful guarantee on its own.

Drop the option, the paired proxy_ip subnet field, and the
ip_in_range helper. Document that access must be gated at the
network layer (firewall / docker network / bound interface) and
that the upstream proxy must strip any client-supplied value of
the configured remote-user header.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 10:44:36 +02:00
Philipp Mundhenk
68588287ef proxy-auth: document APP_SALT rotation troubleshooting
Add README note explaining that AUTHENTICATIONFAILED after a
container rebuild or data reset is typically caused by an
APP_SALT change invalidating the encrypted master credentials,
and that re-entering them in the admin UI restores access.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 09:57:22 +02:00
Philipp Mundhenk
60ee74c68a proxy-auth: fix check_proxy enforcement and persistence
The proxy IP check was never enforced: ServiceProxyAuth read config
key 'proxy_check' but the property is registered as 'check_proxy',
so the lookup always returned the default empty string and the
else-branch set $sProxyRequest = true unconditionally.

The BOOL property also had SetEncrypted(), which caused getDecrypted()
to call DecryptFromJSON() on a literal bool and fail with
"DecryptFromJSON() invalid $data", so the admin UI never reflected
the saved value. BOOLs are stored as plain bools in JSON; switch to
Get() and drop SetEncrypted() on the property.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 09:54:54 +02:00
Philipp Mundhenk
ed35c8e91e
Merge branch 'the-djmaze:master' into master 2026-05-17 09:47:52 +02:00
alexgabi
f757d58534
Update user.json
Rewieved and completed basque translation
2026-05-04 13:11:34 +02:00
the-djmaze
c154d23cfe Ommit Nextcloud "max-version" as it is optional 2026-03-11 17:56:44 +01:00
Till Wimmer
c1f1faca58 FIX non-compliant Autocrypt Header 2026-02-13 02:06:33 +01:00
Super User
dc0191aaf1 Add HTTP based SSO plugin for Apache using PHP_AUTH_USER/PHP_AUTH_PW 2026-02-09 19:47:30 +00:00
bohwaz
a8117a9d03 Fix login-remote plugin password handling 2026-01-06 00:04:41 +01:00
oGrzegorZo
f2648a54c0
Fix Search Filters plugin: crash on keyword filters
Fix Search Filters plugin: crash on keyword filters

- Added try/catch in searchMessages() to prevent fatal IMAP errors.  
- Correctly handle keyword filters ($label1, $label2) with multi-folder search.  
- Extracted applyActions() to handle fSeen/fFlag/fFolder consistently.  
- Ensures plugin no longer crashes when messages exist with a tag.
2025-12-16 14:19:30 +01:00
Jürgen Schlegelmilch
1dc26f11d2 fixed typo in imapsync.php: was "RainLoop\API" instead of "RainLoop\Api" 2025-11-19 23:10:15 +01:00
juschleg
c203d15b17
Update SSLContext.php: fixed typo in line 42, to reference correct class
The reference to class RainLoop\API is invalid, the author obviously meant class RainLoop\Api
2025-11-15 23:12:25 +01:00
Avinash Gusain
2c54ac9be3 Fix(auth): Correct OIDC login by using SensitiveString object. 2025-11-12 14:41:47 +05:30
Manuel
2c73a955e2
Update PostgreSQL DSN in Docker.md
docker compose file defines network as db not postgres
2025-11-09 20:00:39 +01:00
HeySora
658b97f5b4
Add pdo_sqlite installation to Docker image 2025-07-16 12:50:18 +02:00
the-djmaze
ba496919dd Catch Throwable for #1914 2025-06-16 17:35:11 +02:00
Maarten
24bb509b96
Merge pull request #1914 from sgoranov/fix/1913-datetime-overflow
Fix DateTimeHelper::ParseRFC2822DateString integer overflow on 32-bit PHP
2025-06-16 17:30:55 +02:00
Maarten
56409dcbb4
Merge branch 'master' into pgp-improvements 2025-06-16 17:28:39 +02:00
Maarten
b4a6068d5b
Merge pull request #1875 from bapt/fr
fr: add an space before the colon
2025-06-16 17:26:21 +02:00
Maarten
40cf2b950e
Merge pull request #1931 from TLTDevRu/fix-ru-lang
Fix ru lang
2025-06-16 17:23:27 +02:00
Maarten
7397a95a7c
Merge pull request #1941 from bober757/master
incorrect using of the preposition
2025-06-16 17:22:21 +02:00
the-djmaze
9dd7c021fd Small change for #1948 to make it relative to font size 2025-06-16 17:21:26 +02:00
Maarten
9f6d2e4cb7
Merge pull request #1948 from makoehr/compact-folder-list-for-snappymail
More compact view of folder list
2025-06-16 17:19:20 +02:00
Maarten
93e3c431ec
Merge pull request #1961 from Psychi1/Cp1252
Fix the Cp1252 encoding problem
2025-06-16 17:03:26 +02:00
Philipp Mundhenk
a9b89fd7b3
Update instructions for Dovecot 2.4 2025-06-07 13:06:23 +02:00
Psychi
da96945f39
fix regex match-group 2025-05-25 21:13:55 +02:00
Psychi
0bc9950b42
Fix Cp1252 encoding 2025-05-25 21:04:40 +02:00
Mathias Koehrer
c3660bee57 More compact view of folder list
With many folders, the line-height is too large.
It is reduced to make the view more compact.
Also, the top margin for the number of unread-folder will
be adapted.
2025-04-11 17:19:19 +02:00
the-djmaze
dea7f4d1d8 openssl_pkey_free is deprecated 2025-04-04 23:52:27 +02:00
6o6ep
00128e837f
incorrect using of the preposition 2025-04-02 10:22:23 +03:00
6o6ep
d9eaad24ad
incorrect using of the preposition 2025-04-02 10:21:05 +03:00
Roman Chutchev
9565559213
Update user.json 2025-03-11 23:10:42 +02:00
Roman Chutchev
1c9c9f0d6b
Merge branch 'the-djmaze:master' into fix-ru-lang 2025-03-11 22:37:35 +02:00
Maarten
d3b120bbe7
Merge pull request #1880 from tribut/i18n-de-fixes
Fix incorrect German translation
2025-03-10 16:45:38 +01:00
Maarten
a024d34f6d
Merge pull request #1891 from HeySora/master
Automatically add favicon host to CSP if present
2025-03-10 16:43:35 +01:00
the-djmaze
33fbaa9598 Bump version for #1918 2025-03-10 16:35:27 +01:00
Maarten
86da00eb50
Merge pull request #1918 from TomsProject/master
Changing Gravatar hashing algorithm to sha256
2025-03-10 16:34:17 +01:00
the-djmaze
45c8f71af0 Resolve #1883 2025-03-10 16:14:33 +01:00
the-djmaze
70aebb4981 Resolve #1930 2025-03-10 15:48:11 +01:00
Roman Chutchev
0233c83719
Update user.json 2025-03-08 20:51:14 +02:00
Leonard Jonathan Oh
e37546b795 Fix (docker): Ensure nginx does not listen on ipv6 in ipv4-only environments
The official nginx images do not listen on ipv6, very likely to avoid nginx crashing on startup in ipv4-only environments:

```
docker run --rm -it nginx:alpine cat /etc/nginx/conf.d/default.conf | grep -i listen
```

Hence, we simply need to detect whether ipv6 is disabled, and not listen on ipv6 if ipv6 is disabled in the kernel or in the container.
2025-02-26 06:25:09 +00:00
TomsProject
2741762199
Changing hashing algorithm to sha256 2025-02-22 18:32:21 +08:00
Simeon Goranov
ecbd13f099 Fix DateTimeHelper::ParseRFC2822DateString integer overflow on 32-bit PHP 2025-02-12 16:10:47 +02:00
HeySora
5bba3dac82
Automatically add favicon host to CSP if present 2025-01-14 13:27:26 +01:00
ZephOne
ed4b2dd4e1
Also map sSmtpUser to ldap login in plugin ldap-login-mapping 2025-01-09 16:30:26 +01:00
ZephOne
fad9d5e482
Explicit ldap-login-mapping plugin description 2025-01-09 16:28:12 +01:00
Felix Eckhofer
1660c62aa3
Fix incorrect German translation 2025-01-08 13:36:48 +01:00
Felix Eckhofer
dddf360db6
Add intermediate certificates for S/MIME signing 2025-01-07 21:32:26 +01:00
Baptiste Daroussin
7268dafffd fr: add an space before the colon
When composing a message in reply to an email, a colon is appended to
the message which is translated, in french colon should always be
prepended by an unbreakable space.

Add a space in the translation sentence to make sure the space appears
before the colon in the interface
2024-12-27 09:19:08 +01:00
the-djmaze
8bf4727555 Also detect Identity using from address #1865 2024-12-10 14:51:55 +01:00
Maarten
208b1fab62
Merge pull request #1857 from lenny87/cs-translation
Finished czech translation of Snappymail
2024-12-10 14:33:02 +01:00
Maarten
149cf5a120
Merge pull request #1861 from hungyao/patch-1
Update Html.js to remove x-html tags before rendering
2024-12-10 14:13:27 +01:00
Sergey Mosin
5973d71e2f Add an option to store(and delete) encrypted private key passphrase in the browser across multiple sessions 2024-12-09 11:18:41 -05:00
Sergey Mosin
486acde2e3 fix: properly convert minutes to milliseconds for debounce function Passphrases.handle 2024-12-08 19:52:49 -05:00
Andrew Tjia
e16d0b52ae
Update Html.js to remove x-html tags before rendering
Fix for https://github.com/the-djmaze/snappymail/issues/1860 to remove <x-html></x-html> tags that might be emitted by certain email clients.

Tested by modifying locally using JS debugger and Snappymail JS debug mode.
2024-12-07 09:37:33 +09:00
Sergey Mosin
c0348893af Delete OpenPGP keys on the server when they are deleted in the browser 2024-12-05 11:14:03 -05:00
Jakub Lansky
0ffd97a183
Fixed typo in Spam folder name 2024-12-04 17:14:00 +01:00
Jakub Lansky
2143051eaf
Finished czech translation of Snappymail 2024-12-04 14:42:06 +01:00
Maarten
7eaa065d76
Merge pull request #1843 from edlerd/add-spf-dmarc
Add dmarc and spf indicators in mail view
2024-11-26 03:01:32 +01:00
the-djmaze
7a465606bc Resolve #1849 2024-11-26 02:47:17 +01:00
the-djmaze
cd3398db20 Resolve #1850 2024-11-26 01:47:34 +01:00
David Edler
18da535643
Show icon if no information is avilable on dkip, dmark or spf
Signed-off-by: David Edler <david.edler@canonical.com>
2024-11-18 17:20:57 +01:00
Maarten
d301b93b0d
Merge pull request #1845 from SergeyMosin/compact-composer-plugin-v1.0.6
Update squire to v2.3.2 and fix willPaste listener/sanitizer
2024-11-18 16:01:52 +01:00
the-djmaze
66553a36da Improvements for #1846 2024-11-18 16:00:03 +01:00
Sergey Mosin
95af4f60ea update squire to v2.3.2 and fix willPaste listener/sanitizer 2024-11-16 18:16:32 -05:00
David Edler
3ee978484a
Add dmarc and spf indicators in mail view #1820
Signed-off-by: David Edler <david.edler@canonical.com>
2024-11-12 18:03:38 +01:00
the-djmaze
8b5547104d Only allow Proxy for logged in users 2024-11-12 00:35:51 +01:00
the-djmaze
0d5d403fb8 Resolve #1825 2024-11-12 00:00:11 +01:00
the-djmaze
91ff43e6ab Resolve #1828 2024-11-11 23:57:41 +01:00
the-djmaze
bc6a2b67c0 Cleanup KnockoutJS a bit 2024-10-30 01:08:18 +01:00
the-djmaze
4cd5774257 ko.utils.domNodeDisposal.addDisposeCallback to ko.addDisposeCallback 2024-10-29 22:19:26 +01:00
the-djmaze
c744b83480 Put knockout bind context Proxy outside bindingFunction 2024-10-29 17:16:22 +01:00
the-djmaze
3d55bdaf5a Added test contacts CardDAV settings 2024-10-29 13:17:30 +01:00
the-djmaze
2809e75307 Preload identicon on delayed avatar lookup 2024-10-29 11:33:46 +01:00
the-djmaze
a83c3aacf8 Set identicon in cache when loading remote avatar fails 2024-10-29 01:29:52 +01:00
the-djmaze
8645b0ab1e Speedup identicons by caching them 2024-10-29 01:20:34 +01:00
the-djmaze
490d808cdb Speedup handling of identical avatars 2024-10-29 00:59:28 +01:00
the-djmaze
f12de9a3fd Improve contacts layout 2024-10-28 12:02:50 +01:00
the-djmaze
1b4bf3b8c3 Rename Identity.formattedName to Identity.toString 2024-10-28 12:01:59 +01:00
the-djmaze
64e780e500 Resolve #1813 2024-10-27 13:26:05 +01:00
the-djmaze
709d67226c Resolve #1815 2024-10-27 13:08:52 +01:00
Maarten
cab3b2b78a
Merge pull request #1822 from ner00/master
Update Portuguese
2024-10-27 12:39:19 +01:00
ner0
c50edb826b Update Portuguese 2024-10-23 12:09:55 +01:00
Maarten
332f9a79e3
Merge pull request #1816 from romawkafor/master
Please update user.json in Ukraine language.
2024-10-23 01:28:27 +02:00
the-djmaze
534b71e5a4 On reply, set from field to the received email to field #1805 2024-10-23 01:27:29 +02:00
the-djmaze
f0b3d798bc IdentityModel extends EmailModel 2024-10-23 00:56:42 +02:00
the-djmaze
b01072e2e3 Improved some templates 2024-10-23 00:52:36 +02:00
the-djmaze
bce9758338 Fix Knockout binding non-Observable notice 2024-10-23 00:52:01 +02:00
the-djmaze
3a589e240c Proper fix for default sortMode 2024-10-23 00:39:01 +02:00
the-djmaze
6bdd509b48 Cleanup knockout a bit 2024-10-23 00:37:48 +02:00
the-djmaze
4f6783a991 Bugfix: sortMode undefined at login 2024-10-23 00:28:13 +02:00
the-djmaze
012c1102f9 Merge branch 'master' of github.com:the-djmaze/snappymail 2024-10-15 22:00:53 +02:00
the-djmaze
78547e8c68 Resolve #1806 2024-10-15 22:00:33 +02:00
Roman Pereviznyk
fdc1a1c924
Update user.json
Minnor changes
2024-10-15 16:55:09 +02:00
Maarten
f877b849eb
Merge pull request #1810 from romawkafor/master
Corrections and addition of Ukrainian language localization files
2024-10-15 16:05:09 +02:00
Roman Pereviznyk
a1f890e3b4
Update user.json
I am adding some changes
2024-10-15 00:23:40 +03:00
Roman Pereviznyk
7aa87da449
Create admin.json
I am adding the possibility to use the Ukrainian language for the admin panel
2024-10-14 19:03:36 +03:00
Roman Pereviznyk
64f74d0511
Update zh.ini
Removed the typo in lines 15 and 16 (the \n symbol at the end of the tape)
2024-10-14 17:53:38 +03:00
Roman Pereviznyk
5d679b5be5
Update it.ini
Removed the typo in lines 15 and 16 (the \n symbol at the end of the tape)
2024-10-14 17:52:27 +03:00
Roman Pereviznyk
6bc658b5e0
Update hu.ini
Removed the typo in lines 15 and 16 (the \n symbol at the end of the tape)
2024-10-14 17:51:57 +03:00
Roman Pereviznyk
bc6de6c336
Update en.ini
Removed the typo in lines 15 and 16 (the \n symbol at the end of the tape)
2024-10-14 17:51:08 +03:00
Roman Pereviznyk
583528c448
Update cs.ini
Removed the typo in lines 15 and 16 (the \n symbol at the end of the tape)
2024-10-14 17:50:38 +03:00
Roman Pereviznyk
6307470ac0
Create uk.ini
Created a localization file for the Ukrainian language for the two-factor authentication application
2024-10-14 17:48:18 +03:00
Roman Pereviznyk
35914c0406
Create uk.ini
Created a localization file for the Ukrainian language for the password change application.
2024-10-14 17:32:59 +03:00
Roman Pereviznyk
5861124c2a
Update user.json
I propose changes for the Ukrainian language, taking into account syntax and untranslated phrases.

In a short time, I will try to create and translate an admin page (admin.json) and 2-Step Verification (TOTP), which I will also offer
2024-10-14 13:50:31 +03:00
Maarten
0ef2987911
Merge pull request #1799 from hguilbert/patch-31
Update user.json
2024-10-13 18:19:44 +02:00
Maarten
3d970e4706
Merge pull request #1800 from tinola/master
Update user.json
2024-10-13 18:19:16 +02:00
tinola
838e73fa94
Update user.json
Update Polish translation
2024-10-11 07:43:08 +02:00
hguilbert
42c98d42e0
Update user.json 2024-10-11 05:54:05 +02:00
the-djmaze
055c0d3bf4 Added setting for default messages sort mode 2024-10-11 00:28:05 +02:00
the-djmaze
16106a28d5 Resolve #1798 2024-10-10 23:45:28 +02:00
the-djmaze
9eb7f38485 KnockoutJS secure bindings using Proxy 2024-10-10 00:54:30 +02:00
the-djmaze
82ab4c4c6d Use CSS instead of $index #1797 2024-10-10 00:54:19 +02:00
the-djmaze
e345550c7f v2.38.2 2024-10-09 21:41:01 +02:00
the-djmaze
904a353bff Secure ko template bindings? 2024-10-09 21:35:34 +02:00
the-djmaze
cb9e1b0705 Resolve #1797 2024-10-09 21:34:00 +02:00
the-djmaze
ececfae31a v2.38.1 2024-10-08 23:07:58 +02:00
Maarten
156481583d
Merge pull request #1796 from SergeyMosin/compact-composer-plugin-v1.0.5
Compact composer plugin v1.0.5
2024-10-08 22:54:41 +02:00
the-djmaze
b86743de24 Resolve #1706 2024-10-08 22:52:33 +02:00
Sergey Mosin
e7ecf53b4a bump version to v1.0.5 2024-10-08 15:10:01 -04:00
Sergey Mosin
48b0519cb4 use 'Utils.cleanHtml' as pasteSanitizer + minor tweaks 2024-10-08 15:09:56 -04:00
Sergey Mosin
0a4cea5e4c make sure that KO bindings are re-applied 2024-10-08 15:09:51 -04:00
the-djmaze
6f2f40b983 Prepare for #1793 2024-10-08 17:49:21 +02:00
the-djmaze
28a8e3c157 Added the proper logging for #1706 2024-10-08 13:06:43 +02:00
the-djmaze
ba85eda7f0 Remove #1737 2024-10-07 00:03:35 +02:00
the-djmaze
ef724b4b4a Resolve #1775 2024-10-06 23:46:53 +02:00
the-djmaze
03d99f19c9 Resolve #1765 2024-10-06 23:46:36 +02:00
the-djmaze
f41ee21dba Merge branch 'master' of github.com:the-djmaze/snappymail 2024-10-06 17:33:04 +02:00
the-djmaze
d6ef5ff70a Squire paste image working again.
https://github.com/the-djmaze/snappymail/issues/1389#issuecomment-2389678680
2024-10-06 17:32:47 +02:00
Maarten
0520a5421a
Merge pull request #1790 from gnilebein/45819--Adjust-Boarder-Radius
Reduce border radius element to 8 px
2024-10-04 00:06:48 +02:00
Patrick Niebeling
907a9cefec Remove ""
Signed-off-by: Patrick Niebeling <patrick.niebeling@adacor.com>
2024-10-03 11:34:55 +02:00
Maarten
fafaaf21b1
Merge pull request #1788 from tinola/master
update Polish translations
2024-10-02 22:41:21 +02:00
Patrick Niebeling
115f8c8374 In Order to https://github.com/nextcloud/server/pull/45819 this change will adjust boarders to the new smaller boarder radius. 2024-10-02 14:32:03 +02:00
tinola
3f8f17a62e
Update admin.json
update Polish translation (admin page)
2024-10-02 07:33:07 +02:00
tinola
d3de9fae6b
Update user.json
update Polish translation
2024-10-02 07:29:08 +02:00
the-djmaze
0ecd0523f3 Merge branch 'master' of github.com:the-djmaze/snappymail 2024-10-02 01:52:30 +02:00
the-djmaze
68045f50f6 Resolve #1787 2024-10-02 01:52:15 +02:00
Maarten
b3d6c33257
Merge pull request #1785 from mstolf/bugfix_translate_ptBr
Fixed the translation of the fields MIDDLE_NAME, NAME_PREFIX, NAME_SU…
2024-10-01 18:06:59 +02:00
the-djmaze
f7f8d2d542 Bugfix the new msgId handling due to Squire sanitizeToDOMFragment using cleanHTML 2024-10-01 18:05:26 +02:00
the-djmaze
584728bc89 Squire: improved handling of BR elements 2024-10-01 17:56:43 +02:00
Matheus Stolf
4b802c0cb3 Fixed the translation of the fields MIDDLE_NAME, NAME_PREFIX, NAME_SUFFIX to pt-BR 2024-09-30 16:06:49 -03:00
the-djmaze
f43c2c92b5 Squire sanitizeToDOMFragment use cleanHTML 2024-09-30 17:01:50 +02:00
the-djmaze
beb418080f Squire: prevent collapse of empty elements so that the caret can be placed in there.
This eliminates the use of hacky <br> inside.
2024-09-30 16:55:01 +02:00
the-djmaze
9b5eaf4b5f Bugfix: Composer dialog "from" triangle wrong position due to font changes 2024-09-30 14:58:53 +02:00
the-djmaze
126208166d Bugfix: composer dialog scroll got broken in v2.28 2024-09-30 14:57:46 +02:00
the-djmaze
dc7eed4c80 Resolve #1780 2024-09-29 12:01:28 +02:00
the-djmaze
198cc852c3 O365 option to use Azure or Personal accounts #1645 2024-09-29 11:50:00 +02:00
the-djmaze
3931c11255 Added extension info to Admin -> Extensions -> Popup 2024-09-24 16:53:46 +02:00
the-djmaze
85ac404722 Drop support for noembed and noframes
Also remove everything after `<` inside `<style>`
2024-09-24 16:09:38 +02:00
the-djmaze
6b03820338 Resolve #1746 2024-09-24 15:54:55 +02:00
the-djmaze
c14bbab945 KnockoutJS remove with($context) scope for faster access 2024-09-24 13:55:07 +02:00
djmaze
932525566f Keep 1 space between HTML elements 2024-09-24 11:45:36 +02:00
djmaze
1b0dd48cdb KnockoutJS don't throw error when property is not observable 2024-09-24 11:45:17 +02:00
djmaze
3893849d21 Fix Sieve math-type and comparator handling 2024-09-24 11:44:40 +02:00
the-djmaze
92a6027aa0 Improved Knockout property binding error 2024-09-23 17:02:51 +02:00
the-djmaze
4022d39f76 Some Sieve parser improvements 2024-09-23 16:50:52 +02:00
the-djmaze
61c2eefec1 Fix Sieve QuotedString handling 2024-09-23 13:43:24 +02:00
the-djmaze
257d9201f6 Improved Sieve parser validation 2024-09-23 11:23:48 +02:00
the-djmaze
c773b852a1 Improve sieve parser 2024-09-23 10:48:22 +02:00
Maarten
0a3a5f6d59
Merge pull request #1769 from hguilbert/patch-30
Update user.json
2024-09-23 03:57:24 +02:00
Maarten
ce3596f299
Merge pull request #1771 from tinola/master
Update user.json
2024-09-23 03:56:44 +02:00
tinola
279cad0385
Update user.json 2024-09-22 22:30:29 +02:00
the-djmaze
d80fe8bc73 fix spacing 2024-09-22 19:02:57 +02:00
the-djmaze
109a110202 Resolve #1770 2024-09-22 19:02:17 +02:00
the-djmaze
93cc623891 Bugfix for #1709 2024-09-22 18:55:19 +02:00
the-djmaze
04f3133f27 Some small idea changes 2024-09-22 11:55:57 +02:00
hguilbert
f7b1981bcc
Update user.json 2024-09-22 07:12:04 +02:00
the-djmaze
3576c22401 Resolve #1726 2024-09-22 01:44:41 +02:00
the-djmaze
88a66d64f1 Resolve #1761 2024-09-22 01:28:23 +02:00
Maarten
7ba8de13e4
Merge pull request #1768 from ner00/master
Update Portuguese
2024-09-22 00:50:53 +02:00
ner0
5c45cf3465 Update Portuguese 2024-09-21 20:56:27 +01:00
the-djmaze
d3ecfdc71e Changes for #1706 2024-09-21 20:15:14 +02:00
the-djmaze
56db74986f Resolve #1716 2024-09-21 00:28:13 +02:00
the-djmaze
a4299c5f1c Fix extensions with login.credentials hook parameters 2024-09-21 00:01:02 +02:00
the-djmaze
2341dd9f62 Added mapping for sSmtpUser 2024-09-20 23:48:49 +02:00
the-djmaze
5056ecf493 Bugfix: ClientException #1706 2024-09-20 23:33:25 +02:00
the-djmaze
16cc17af00 Change for #1706 to debug more 2024-09-19 00:15:04 +02:00
Maarten
e3c53f8044
Merge pull request #1759 from bilogic/case-correction
Case correction
2024-09-18 23:11:38 +02:00
bilogic
5f1dd7f150
fix lv 2024-09-18 13:14:45 +08:00
bilogic
2f0732df81
fix en 2024-09-18 13:14:22 +08:00
the-djmaze
74c7948e72 Improved ical parsing for "view-ics" extension 2024-09-18 00:13:39 +02:00
the-djmaze
33b509c0a6 Added Admin - Extensions search filter 2024-09-17 21:16:17 +02:00
the-djmaze
365392eefe Bugfix: Admin - Config search should be ko.observable() not ko.observableArray() 2024-09-17 21:12:28 +02:00
the-djmaze
32da821c17 Replaced ical.es5.min.cjs with ical.js v2.1.0 for #1745 2024-09-17 20:57:45 +02:00
the-djmaze
b5ff818ca4 Bugfix: event.organizer could be undefined #1745 2024-09-17 20:53:55 +02:00
Maarten
02ef7c8d90
Merge pull request #1745 from Murena-SAS/dev/new-view-ics-plugin
Display ICS preview using an ICS library
2024-09-17 18:15:21 +02:00
Phie
e354fcb3bf new plugin for ics view, based on ical lib 2024-09-17 17:29:40 +02:00
the-djmaze
4e3a7a6de2 PHP 8.4: Implicitly nullable parameter declarations deprecated 2024-09-17 15:58:37 +02:00
the-djmaze
0263f8fe09 Use the custom Squire as submodule vendors/squire2 2024-09-17 15:00:28 +02:00
the-djmaze
a6ff022c0e Resolve #1754 2024-09-17 10:09:57 +02:00
the-djmaze
bd2ffe5078 v2.38.0 2024-09-16 20:51:26 +02:00
Maarten
96b7f9d4af
Update SECURITY.md 2024-09-16 17:07:53 +02:00
the-djmaze
cfbc47488a cleanHtml use allowedTags instead of disallowedTags and improved CSS handling 2024-09-16 14:37:26 +02:00
the-djmaze
05812c6be1 Updated custom Squire 2.3.2 2024-09-16 14:30:54 +02:00
the-djmaze
18452cc53c Also prevent error for #1733 2024-09-16 14:28:19 +02:00
the-djmaze
e0236ea52d Resolve #1733 2024-09-16 14:25:09 +02:00
the-djmaze
6f4f6bfd03 Improved attempt for #1746 2024-09-16 13:49:59 +02:00
the-djmaze
f8520c27a2 Bump version number 2024-09-16 10:17:26 +02:00
the-djmaze
61e7c00b62 Resolve #1746 2024-09-16 10:15:30 +02:00
the-djmaze
ed41d8e45f Implemen #1737 including an i18n fix 2024-09-15 18:56:30 +02:00
the-djmaze
80f3331187 Update Squire with SnappyMail changes 2024-09-15 18:31:30 +02:00
the-djmaze
9a7ff9fe27 Resolve #1715 2024-09-15 17:42:17 +02:00
the-djmaze
12b6ed3dbb Improved SquireUI handling of pathChange and bugfix bold match 2024-09-15 17:40:00 +02:00
the-djmaze
48acb9ca38 Squire bugfixes 2024-09-15 14:41:37 +02:00
the-djmaze
deae36d8c8 Use Squire 2.3.2 from https://github.com/the-djmaze/Squire/commits/snappymail/ 2024-09-15 12:59:58 +02:00
the-djmaze
947ce59eb9 RTL language improvement from #1744 by @rezaei92 2024-09-15 12:56:07 +02:00
Maarten
9be861dbc0
Merge pull request #1749 from hguilbert/patch-29
Update user.json
2024-09-14 17:10:25 +02:00
hguilbert
c58b89d74a
Update user.json 2024-09-14 14:59:30 +02:00
the-djmaze
8fb7067531 Added option to convert HTML to Markdown instead of plain, using Turndown #1604 2024-09-14 14:00:36 +02:00
the-djmaze
d3b0d6ca57 Debug Turndown ES2020 #1604 2024-09-14 13:37:31 +02:00
the-djmaze
0db6c6ab5f Bugfix: use_local_proxy_for_external_images is part of labs, not security
@SonarSource
2024-08-30 01:50:03 +02:00
the-djmaze
d0fb4ee2f6 Improved clear cookie handling 2024-08-30 01:47:28 +02:00
the-djmaze
366ca05200 Bugfix: application/pgp-encrypted attachments not listed 2024-08-30 00:39:00 +02:00
the-djmaze
ed7a2bd239 Resolve #1725 2024-08-28 00:34:38 +02:00
the-djmaze
6ebf273390 Resolve #1724 2024-08-28 00:24:28 +02:00
Maarten
9d488b0e61
Merge pull request #1722 from ner00/master
Update Portuguese
2024-08-27 23:42:48 +02:00
the-djmaze
082dd3af41 Bugfix: Call to a member function Email() on null #1706 2024-08-27 23:39:27 +02:00
ner0
589606eef0 SETTINGS_GENERAL/MAILTO 2024-08-27 17:35:44 +01:00
ner0
1c1682a192 Update Portuguese 2024-08-27 17:23:45 +01:00
the-djmaze
1ad946d013 v2.37.3 2024-08-27 16:47:44 +02:00
the-djmaze
5e4520e10c Force Nextcloud personal language by default #1428 2024-08-27 16:20:39 +02:00
the-djmaze
1ac4f05d91 Sabre/Xml v4.0.5 2024-08-27 15:27:44 +02:00
the-djmaze
9e3d6c6e23 Show warning in Admin -> About when PHP runs in 32bit 2024-08-27 13:38:42 +02:00
the-djmaze
3306fadc47 MS autodiscover priorities DNS over subdomain 2024-08-27 13:19:30 +02:00
the-djmaze
9e2b9a9fcd Show GnuPG version for #1560 2024-08-27 12:12:33 +02:00
the-djmaze
780e1f9b92 Make sure only scalar values are allowed in $_ENV #1719 2024-08-27 11:49:11 +02:00
the-djmaze
547953eb31 Resolve #1718 2024-08-26 20:45:32 +02:00
the-djmaze
59652d2d61 Mark images with width=1 as tracking pixel 2024-08-26 13:22:41 +02:00
the-djmaze
daf02e53f3 Resolve #1706 2024-08-26 11:20:07 +02:00
Maarten
4a8fea8456
Merge pull request #1717 from hguilbert/patch-28
Update user.json
2024-08-26 11:06:12 +02:00
hguilbert
a442322729
Update user.json 2024-08-26 06:14:29 +02:00
the-djmaze
34f730a196 Added markedjs for #1604 2024-08-25 18:04:59 +02:00
the-djmaze
cb7dafba4d Cleanup Cacher handling and added some documentation 2024-08-25 17:35:14 +02:00
the-djmaze
9c0d31997a Fix CRLF #1712 2024-08-25 15:56:11 +02:00
the-djmaze
2ac71fe4ad Localization strings for ACL #157 2024-08-25 15:54:37 +02:00
the-djmaze
5b2b7b0294 Parse error #1712 2024-08-25 15:52:41 +02:00
the-djmaze
612b5a81d2 Simplify sieve scripts list #1675 2024-08-22 00:41:14 +02:00
the-djmaze
0dda102a05 Added turndown.js for #1604 2024-08-21 01:46:31 +02:00
the-djmaze
113003f485 Improved domain autoconfig interaction 2024-08-21 00:28:36 +02:00
the-djmaze
6a1b83b365 Resolve #1678 2024-08-20 16:30:25 +02:00
the-djmaze
7ff5232554 Resolve #1574 2024-08-20 13:58:10 +02:00
the-djmaze
a761bdcaaa Small cleanup of #157 2024-08-20 13:12:14 +02:00
the-djmaze
c09106472f Small UI fix for #157 2024-08-20 13:10:50 +02:00
the-djmaze
e5a176f5ea Added editing of ACL rules #157 2024-08-20 13:05:06 +02:00
Maarten
5987ccdbc9
Merge pull request #1712 from Artoria2e5/zh-update
Update zh, zh-TW translations
2024-08-19 15:09:50 +02:00
the-djmaze
423f5ba41d Resolve #1709 2024-08-16 23:01:50 +02:00
the-djmaze
d00c953c88 Change handling of (token) errors due to #1706 2024-08-16 22:05:15 +02:00
the-djmaze
02ea6c4359 Resolve #1710 2024-08-16 21:19:28 +02:00
Mingye Wang
2aeeb701c8 Update zh, zh-TW translations
This commit updates zh and zh-TW translations. I try to match the language used in the file, but I still hope a native speaker from the other side of the strait can check my work.
2024-08-15 18:33:40 +08:00
the-djmaze
1395d506cf v2.37.2 2024-08-13 11:30:00 +02:00
the-djmaze
e22414d908 Resolve #1645 2024-08-13 01:14:15 +02:00
the-djmaze
17c4f87fa5 v2.37.2 for Nextcloud 2024-08-13 00:46:25 +02:00
the-djmaze
3ba75fecba Resolve #1703 2024-08-13 00:39:06 +02:00
the-djmaze
d87c46ff03 Show content-type error on login 2024-08-13 00:17:04 +02:00
the-djmaze
6ad92b9efd Prevent logout loop on error 2024-08-13 00:03:12 +02:00
the-djmaze
6d477aa6ec Validate Fetch JSON response for #1703 2024-08-13 00:02:51 +02:00
the-djmaze
0dedeb0180 v2.37.1 2024-08-12 20:46:00 +02:00
the-djmaze
cc9bc3d6da Bugfix: Gulp v5 broke copying fonts.
https://github.com/gulpjs/gulp/issues/2797
2024-08-12 20:42:03 +02:00
the-djmaze
03a8e6a3ec v2.37.0 2024-08-12 18:02:05 +02:00
the-djmaze
486bbba4ca Bugfix: Attempt to read property "smimeSigned" on null 2024-08-12 17:08:36 +02:00
the-djmaze
55d7d52e35 Use PHP_SAPI 2024-08-12 17:07:44 +02:00
the-djmaze
8c6f0adc66 Improved handling of RFC 2822 dates #1694 2024-08-12 16:50:11 +02:00
the-djmaze
13cb08f64a FileStorage strict properties 2024-08-12 15:24:52 +02:00
the-djmaze
83a71b089c Don't use focusedMessage for active menu items, it could confuse 2024-08-12 15:24:30 +02:00
the-djmaze
6c9812ee7f Drop md5(file_get_contents(DATA.php)) because i think nobody used this undocumented feature 2024-08-11 12:39:34 +02:00
Maarten
22988b4bbc
Merge pull request #1699 from Murena-SAS/dev/nc-oauth-multiaccount
allow multi-account in nc with oauth login
2024-08-11 12:03:44 +02:00
Maarten
ec8da2b72b
Merge pull request #1698 from Murena-SAS/dev/fix-set-capabilities
Fix capabilities when THREAD is disabled
2024-08-11 12:01:34 +02:00
the-djmaze
a969179cbf Make #1689 optional through application.ini 2024-08-11 12:00:24 +02:00
Akhil
50265b3b37 Also perform logout if explicit creds change 2024-08-08 22:09:34 +05:30
Akhil
ae74f21242 Also check if the account has been defined in setting 2024-08-08 21:58:56 +05:30
Akhil
25428c7e9d Merge branch 'master' of https://github.com/Murena-SAS/snappymail into dev/nc-oauth-multiaccount 2024-08-08 21:21:41 +05:30
the-djmaze
97c0f81a2e allow multi-account in nc with oauth login 2024-08-08 21:17:56 +05:30
Akhil
b8f7f751b0 Fix capabilities when THREAD is disabled
Signed-off-by: Akhil <akhil@e.email>
2024-08-08 20:40:14 +05:30
the-djmaze
c33dd8f856 Centralize tryToClose() for all popups 2024-08-06 21:41:52 +02:00
the-djmaze
fa15742edb Ask for closing Identity popup when empty and not saving #1689 2024-08-06 21:28:20 +02:00
the-djmaze
aa52d2e8f8 Resolve #1689 2024-08-06 17:50:43 +02:00
the-djmaze
3fb700f163 Add exception trace to log for #1648 2024-08-06 16:42:38 +02:00
the-djmaze
2f90d95c4c Set author for #1673 2024-08-06 13:40:43 +02:00
the-djmaze
b3a94c3524 Nextcloud extension bump version number 2024-08-06 13:27:27 +02:00
the-djmaze
15f4ba54df Bugfix: Nextcloud language detection 2024-08-06 13:26:36 +02:00
the-djmaze
505e6e2a0d Improve RFC 2822 date parser due to PHP createFromFormat() shortcomings
https://github.com/the-djmaze/snappymail/issues/1694#issuecomment-2270983942
2024-08-06 12:50:24 +02:00
the-djmaze
c0ed491f7a Bugfix: Division by zero #1694 2024-08-06 12:25:39 +02:00
the-djmaze
166b790a3e Preparations for #1689 2024-08-06 12:19:17 +02:00
the-djmaze
d2f3aa1c10 Resolve #1690 2024-08-06 12:02:23 +02:00
the-djmaze
4e8f12a392 Resolve #1691 2024-08-06 11:49:46 +02:00
the-djmaze
cc04a82bfe Resolve #1686 2024-08-06 11:40:25 +02:00
the-djmaze
3a8af7de29 Some bugfixes for #1673 2024-08-05 17:20:41 +02:00
Maarten
85fb2ff44d
Merge pull request #1673 from AbdoBnHesham/master
Add Search Filters Plugin with Gmail-like Functionality
2024-08-05 16:57:36 +02:00
Maarten
f89a8c3eb5
Merge pull request #1688 from cuttlefish-uk/master
Add change-password-mailcow driver
2024-08-05 16:54:18 +02:00
the-djmaze
de26a00c49 Improvement #1657 2024-08-05 16:46:53 +02:00
Jude Venn
f21dd94f2c Add change-password-mailcow driver 2024-07-25 10:37:09 +01:00
AbdoBnHesham
4a56d2d087 Add Search Filters Plugin with Gmail-like Functionality
Introducing a new plugin for enhanced email organization: Search
Filters, inspired by similar features in Gmail (Search Filters) and
Outlook (Rules). The plugin allows you to define custom search queries
that automatically perform one or more actions on matching emails based
on their priority level (1-10). Available actions include marking as
seen, flagging/starring, and moving to a designated folder.

This plugin is designed to work seamlessly with both old and new emails
in your inbox, taking into account the specified search query criteria.
However, please be aware of an outstanding bug that affects the display
of unread email counts beside folders; this issue has yet to be
resolved.

I have developed this plugin as a freelance project for a client on
their custom server setup. Unfortunately, I never received any feedback
or response from my client after completion of the work. Nonetheless, I
hope that sharing it here will benefit others and contribute to the
ongoing advancement of this open-source project.

Please note: This plugin is offered as-is with no warranties or
guarantees. Make sure to thoroughly test and verify its functionality
before using it in a production environment. Thank you to everyone who
has contributed to making this project a reality.
2024-07-18 23:49:37 +03:00
the-djmaze
e4316e6665 Resolve #1666 2024-07-15 19:27:48 +02:00
the-djmaze
ad81e3f9e9 Added mime types multipart/report and message/global-delivery-status 2024-07-15 19:27:26 +02:00
the-djmaze
d10e4ba22a Merge branch 'master' of github.com:the-djmaze/snappymail 2024-07-15 16:13:51 +02:00
the-djmaze
becaaaa2fd Resolve #1654 2024-07-15 16:13:32 +02:00
Maarten
082f1058ce
Merge pull request #1667 from hguilbert/patch-27
Update user.json
2024-07-15 14:44:10 +02:00
Maarten
0b495b1fa5
Merge pull request #1668 from tinola/master
Update user.json
2024-07-15 14:43:47 +02:00
the-djmaze
3161961faa Resolve #1663 2024-07-15 14:42:02 +02:00
tinola
9303c48e01
Update user.json 2024-07-15 08:35:08 +02:00
hguilbert
b214ba0054
Update user.json 2024-07-15 05:49:16 +02:00
the-djmaze
2ea68e88b0 Translate "UNDELETE" in Dutch 2024-07-14 23:29:32 +02:00
the-djmaze
93869315c1 Drop message.deleted observable 2024-07-14 23:29:12 +02:00
the-djmaze
d7bf80ea79 Merge branch 'master' into mark-for-deletion-issue-1657 2024-07-14 23:09:48 +02:00
the-djmaze
3ff2c4fb82 Hide undeleteCommand command when deleted messages are hidden #1657 2024-07-14 23:04:15 +02:00
the-djmaze
b70860c903 Only set flag \Deleted when Trash is set to "do not use" 2024-07-14 22:55:04 +02:00
the-djmaze
dc49a00f5f Bugfix: Call to a member function SmtpSettings() on null #1664 2024-07-14 14:21:55 +02:00
the-djmaze
50e30dbb6e Slightly modified patch code of #1657 2024-07-11 01:31:58 +02:00
the-djmaze
95436347e5 Resolve #1660 2024-07-11 00:25:26 +02:00
the-djmaze
57d1021d51 Improved cache handling of remote avatars (delayed or not) 2024-07-08 18:26:08 +02:00
the-djmaze
10450dea8b Cleanup localizations 2024-07-08 12:49:38 +02:00
the-djmaze
37fd42448f Translate dutch 2024-07-08 12:07:51 +02:00
Maarten
04607318ac
Merge pull request #1655 from hguilbert/patch-26
Update user.json
2024-07-08 10:54:40 +02:00
the-djmaze
ed0223fbb8 Improved InvalidToken debugging 2024-07-08 10:53:03 +02:00
hguilbert
823ad4777f
Update user.json 2024-07-08 05:47:56 +02:00
the-djmaze
34a8ff3ce3 Resolve #1649 2024-07-08 01:23:04 +02:00
the-djmaze
637ec00d8f Removed abandoned vulnerable rollup-plugin-html 2024-07-08 01:08:40 +02:00
the-djmaze
1a19d25fdb Updated gulp to v5 and replaced vulnerable gulp-header with gulp-append-prepend 2024-07-08 00:43:48 +02:00
the-djmaze
cd5ba2b000 transitionend listen to opacity as top changed on resize of view 2024-07-07 23:33:29 +02:00
the-djmaze
f644430a78 console.log the mailto handler 2024-07-07 18:34:23 +02:00
the-djmaze
a3d9d98184 Made registerProtocolHandler('mailto') optional by activating at Settings -> General 2024-07-07 18:16:39 +02:00
the-djmaze
325197175b Bugfix: prevent multiple afterShow() and afterHide() due to transitionend on multiple properties 2024-07-07 16:31:34 +02:00
the-djmaze
60c35f7c12 Added rl-vm-visible to the extensions README 2024-07-07 16:30:35 +02:00
the-djmaze
f8d358a4f3 Added JavaScript rl-vm-visible event so that demo extension can prefill passphrase 2024-07-07 16:28:29 +02:00
the-djmaze
7a1652972d Detailed error message on account switch failure for #1594 2024-07-07 15:54:48 +02:00
the-djmaze
288ff23f2b Improved InvalidToken handling for #1653 2024-07-07 15:48:26 +02:00
Maarten
7f64dee54b
Merge pull request #1651 from tkasch/master
German translation update
2024-07-07 01:27:28 +02:00
the-djmaze
9771eced99 Align save button in admin security settings 2024-07-06 19:27:53 +02:00
the-djmaze
1a4e2c5d35 Nextcloud failed loading due to missing app_path 2024-07-06 19:27:22 +02:00
tkasch
54ef583c41
Update user.json
further improving German translation
2024-07-04 16:34:13 +02:00
tkasch
9fa5b6bf9e
Update user.json
further improve German translation
2024-07-04 16:21:39 +02:00
tkasch
8ceb4e8fb3
Update admin.json
further improve German translation
2024-07-04 15:17:54 +02:00
tkasch
7803bfe429
Update admin.json
further improve German translation
2024-07-04 14:59:03 +02:00
tkasch
63c5dbb93e
Update relativetimeformat.js
improve German translation
2024-07-04 14:41:31 +02:00
tkasch
c0a198faaa
Update admin.json
improve German translation
2024-07-04 14:36:30 +02:00
tkasch
448d5c4cfc
Update admin.json
improve German translation
2024-07-04 14:31:45 +02:00
tkasch
bebee2f32c
Update user.json
further improve German translation
2024-07-04 12:57:05 +02:00
tkasch
a39f09773b
Update user.json
further improve German translation
2024-07-04 12:28:04 +02:00
tkasch
4dc9dfa586
Update user.json
further improve German translation
2024-07-04 11:55:22 +02:00
tkasch
0893a2ff20
Update user.json
further improve German translation
2024-07-04 11:51:05 +02:00
tkasch
cc8ce3f679
Update user.json
further improving German translation
2024-07-04 11:43:55 +02:00
tkasch
ae5c1db83d
Update user.json
improve German translations
2024-07-04 10:00:26 +02:00
the-djmaze
acaa5bae55 #1645 forgot the workaround ?LoginO365 to /LoginO365 2024-07-02 13:22:59 +02:00
the-djmaze
f49f606b0e https://github.com/the-djmaze/snappymail/issues/1645#issuecomment-2202364675 2024-07-02 13:18:52 +02:00
the-djmaze
fad4dea1c5 Resolve #1647 2024-07-01 21:24:21 +02:00
the-djmaze
f177bb2f31 #1645 requires v2.36.5+ 2024-07-01 15:42:18 +02:00
the-djmaze
47d18cafa3 Workaround for #1645 2024-07-01 15:41:33 +02:00
the-djmaze
dcfe7d3f2d Draftcode Microsoft restrictions #1645 2024-07-01 12:53:01 +02:00
the-djmaze
60abc83ff1 #1645 Mail.ReadWrite 2024-07-01 12:10:37 +02:00
the-djmaze
139d3e6651 Small improvements for #1645 2024-07-01 12:09:49 +02:00
the-djmaze
7f7ee97106 Draft code for #1645 2024-07-01 11:21:02 +02:00
Maarten
9f3f41f308
Merge pull request #1643 from ner00/master
Update Portuguese
2024-06-29 22:39:49 +02:00
the-djmaze
eda85cb580 Resolve #1603 2024-06-29 22:34:42 +02:00
ner0
16f71ab219 Update Portuguese 2024-06-25 15:48:43 +01:00
the-djmaze
28aefdddda v2.36.4 2024-06-25 12:55:26 +02:00
the-djmaze
26cc746619 Resolve type errors #1638 2024-06-25 12:51:55 +02:00
the-djmaze
c872e5afe4 Disable OBJECTID capability by default due to #1640 2024-06-25 03:29:46 +02:00
the-djmaze
5a63b02782 Cleanup avatars nextcloud handling 2024-06-24 16:23:18 +02:00
the-djmaze
0b494a13a5 Added option to load known favicon of domainname 2024-06-24 16:06:02 +02:00
the-djmaze
700543c573 Changes for #1640 2024-06-24 13:43:02 +02:00
the-djmaze
e867000ff7 Idea for #1641 2024-06-24 12:26:48 +02:00
the-djmaze
b2b3dac35b Resolve #1640 workaround PHP issue 2024-06-23 12:49:05 +02:00
the-djmaze
8d11ad43da undefined dateTimestampSource 2024-06-23 12:48:33 +02:00
the-djmaze
614715f398 Resolve #1641 2024-06-23 12:31:08 +02:00
the-djmaze
021b332838 Log mailto protocol for #1635 2024-06-17 14:58:35 +02:00
the-djmaze
43f54b30c6 Resized Magnetic theme preview.png #1637 2024-06-17 14:49:24 +02:00
Maarten
e1b028652e
Merge pull request #1638 from huloza/patch-1
Update user.json Español
2024-06-17 14:44:18 +02:00
Maarten
944d1173d5
Merge pull request #1637 from TheCuteFoxxy/master
Add Theme: Magnetic
2024-06-17 14:41:28 +02:00
huloza
3e18c5286a
Update user.json Español
Translated several missing texts.
Traducidos varios textos faltantes.
2024-06-16 11:54:35 -04:00
Casey Barnett
d2ff0bcc0b Fix images
Fixed file cropping. Fixed image formats.
2024-06-15 17:34:29 -04:00
Casey Barnett
26c3a2c943 Add Magnetic theme 2024-06-15 17:31:10 -04:00
Maarten
5d52382c7a
Merge pull request #1632 from tinola/master
Update user.json
2024-06-11 13:22:30 +02:00
tinola
fdd1d98658
Update user.json 2024-06-11 07:21:29 +02:00
Maarten
009eb749fe
Merge pull request #1631 from hguilbert/patch-25
Update user.json
2024-06-11 01:21:52 +02:00
hguilbert
dfe5bba285
Update user.json 2024-06-10 17:29:22 +02:00
the-djmaze
70e4fedc4d Allow resize of compose window 2024-06-10 12:58:07 +02:00
the-djmaze
ca3d3b44ce Merge branch 'master' of github.com:the-djmaze/snappymail 2024-06-10 12:29:13 +02:00
the-djmaze
13c76d395e Added for #1545 2024-06-10 12:28:58 +02:00
Maarten
ca67e9fb61
Merge pull request #1629 from hguilbert/patch-24
Update user.json
2024-06-10 10:09:37 +02:00
Maarten
740e239d2e
Merge pull request #1630 from tinola/master
Update user.json
2024-06-10 10:09:16 +02:00
tinola
bc6abee577
Update user.json 2024-06-10 07:24:42 +02:00
hguilbert
5d657abd46
Update user.json 2024-06-10 06:00:20 +02:00
the-djmaze
a3fb5a30ee Translation strings for #1606 2024-06-09 17:14:13 +02:00
Maarten
13543e314e
Merge pull request #1606 from codiflow/patch-1
Add AdvancedSearch support for filtering mails before a given date
2024-06-09 17:09:19 +02:00
the-djmaze
4538123526 Solve *Decrypt does not exists of previous change 2024-06-09 17:07:01 +02:00
the-djmaze
3bac68dffb Improved language detection code 2024-06-09 17:06:35 +02:00
the-djmaze
02e6198f17 Improve Decrypt errors 2024-06-09 16:56:14 +02:00
the-djmaze
e0219c020a translate dutch 2024-06-09 16:55:53 +02:00
Maarten
92ed4fcc81
Merge branch 'master' into patch-1 2024-06-09 16:43:46 +02:00
Maarten
7beb7120a9
Merge pull request #1623 from tinola/master
Update admin.json
2024-06-05 21:04:53 +02:00
tinola
2daa299b72
Update admin.json 2024-06-05 07:27:47 +02:00
Maarten
3e7eb46f33
Merge pull request #1622 from hguilbert/patch-23
Update admin.json
2024-06-04 22:02:15 +02:00
hguilbert
b840e5244b
Update admin.json 2024-06-04 18:35:13 +02:00
the-djmaze
d40f211995 Added some info about the viewModelTemplateID in the example extension 2024-06-04 17:38:12 +02:00
the-djmaze
f4a11c9c6e Resolve #1607 2024-06-04 14:19:03 +02:00
the-djmaze
e68179c752 Add dateTimestampSource for #1554 2024-06-04 13:22:23 +02:00
the-djmaze
ba46e995cd Resolve #1608 2024-06-04 13:08:33 +02:00
the-djmaze
9954e25b65 Resolve #1609 2024-06-03 16:01:52 +02:00
the-djmaze
9633956b99 Fixed: Undefined $sEmail in DoAdminDomainMatch 2024-06-03 15:14:30 +02:00
the-djmaze
1acaa5d542 Prepare for #1606 2024-06-03 12:41:29 +02:00
Maarten
5323a1b00f
Merge pull request #1620 from Murena-SAS/access-token-updated
access token updated listener for OIDC LOGIN
2024-06-03 12:27:57 +02:00
Avinash Gusain
44c040707c access token updated listener 2024-05-31 11:40:31 +05:30
Maarten
ba400a9c4f
Merge pull request #1612 from cm-schl/master
Make plugin ldap-mail-accounts compatible with newer versions of SnappyMail
2024-05-28 17:51:50 +02:00
the-djmaze
6d15cabfe5 Improved signing messages by allowing to choose between the options 2024-05-28 17:50:56 +02:00
the-djmaze
c2e558c9b1 Resolve #1611 2024-05-28 17:45:47 +02:00
the-djmaze
c6b9f2276b Small change to report bug template 2024-05-28 16:43:49 +02:00
cm-schl
82fb6fe7e6 update readme and version number to 2.2.0 2024-05-28 16:31:09 +02:00
cm-schl
caf1ee3e2a
Merge branch 'the-djmaze:master' into master 2024-05-28 16:25:25 +02:00
the-djmaze
55b8620186 Merge branch 'master' of github.com:the-djmaze/snappymail 2024-05-28 11:53:30 +02:00
the-djmaze
998eb8c4bb Bugfix: default language error
https://github.com/the-djmaze/snappymail/issues/1579#issuecomment-2134782450
2024-05-28 11:53:15 +02:00
Maarten
614c7ace44
Merge pull request #1605 from ner00/master
Update Portuguese
2024-05-27 21:33:18 +02:00
Christian 🦄
92ab56bf5e
Add AdvancedSearch support for filtering older mails 2024-05-27 14:48:45 +02:00
the-djmaze
dd39d18e2a Changes #1603 2024-05-27 14:22:34 +02:00
ner00
99c79a8fa8 Update Portuguese 2024-05-27 12:52:13 +01:00
the-djmaze
047fd62ceb Hopefully solved Nextcloud login issues #1602 2024-05-27 13:43:16 +02:00
the-djmaze
68218e43dc v2.36.3 2024-05-27 11:19:37 +02:00
the-djmaze
365a5effdf UserAuth prevent plugin errors (like the Nextcloud plugin did) 2024-05-27 10:51:54 +02:00
the-djmaze
69cd876895 Bugfix: Nextcloud login failed due to undefined email address 2024-05-27 10:17:28 +02:00
the-djmaze
ab2f646496 Bugfix: Nextcloud getPrimaryEMailAddress() on null 2024-05-27 10:13:20 +02:00
the-djmaze
4bb1b41505 Bump version for #1597 2024-05-26 18:33:29 +02:00
Maarten
aa91623d35
Merge pull request #1597 from PhilippMundhenk/master
[ProxyAuth plugin] password as SensitiveString & support for subdirectories
2024-05-26 18:31:04 +02:00
the-djmaze
df1e5926df Bugfix: Undefined variable $aTokenData #1567 2024-05-26 18:25:20 +02:00
Philipp Mundhenk
6ef3390080 adding support for snappymail in subdirectories 2024-05-26 17:14:58 +02:00
Philipp Mundhenk
8d3f4f5e1d introduced SensitiveString handling 2024-05-26 17:04:32 +02:00
Philipp Mundhenk
92bfa7bd75
Merge pull request #1 from the-djmaze/master
updating from upstream
2024-05-26 17:00:22 +02:00
the-djmaze
429a0eb4e0 v2.36.2 2024-05-26 14:12:54 +02:00
the-djmaze
478087fe9e Updated Amazon avatar 2024-05-26 13:58:31 +02:00
the-djmaze
4dc7ad02d5 Updates for #1572 2024-05-26 13:49:45 +02:00
the-djmaze
b5dbd0cc7a OpenPGP.js automatically import backup keys from server 2024-05-26 12:53:35 +02:00
the-djmaze
4365892927 Resolve #1589 2024-05-21 18:08:04 +02:00
Maarten
4ad25188b2
Merge pull request #1572 from Murena-SAS/fix-oidc-sso-login
oidc login
2024-05-21 17:56:35 +02:00
Maarten
d069ca09a7
Merge pull request #1588 from Thadah/patch-1
Update Basque translation
2024-05-21 17:55:41 +02:00
the-djmaze
97391a3f33 Changes for #1587 2024-05-21 17:47:24 +02:00
cm-schl
263dbab22a reorder steps to speed up the process and make sure that removed additional accounts are deleted even if the user now has no additional account 2024-05-21 15:28:07 +02:00
Gontzal Pujana Onaindia
3d845f67ee
Update Basque translation 2024-05-20 17:04:26 +02:00
cm-schl
0cbeba29d1 update readme 2024-05-15 14:32:29 +02:00
cm-schl
e81cf80ac9 update readme 2024-05-15 14:19:31 +02:00
the-djmaze
c3c75c216b Resolve #1580 2024-05-15 00:22:38 +02:00
the-djmaze
0dcc468ae1 Resolve #1575 2024-05-15 00:05:43 +02:00
cm-schl
23fe3a946b Add new function to overwrite the cryptkey
This is needed to prevent SnappyMail to ask the user for the old (maybe forgotten) ldap password
2024-05-14 17:24:26 +02:00
cm-schl
f8af48cf47
Merge branch 'the-djmaze:master' into master 2024-05-14 15:48:41 +02:00
cm-schl
2786485de2 don't pass a smtp password to setCredentials
Password is not needed at the moment and passing it seams to create problems when sending mails
2024-05-13 17:25:46 +02:00
Maarten
ad3313fda4
Merge pull request #1578 from SergeyMosin/compact-composer-plugin-v1.0.4
Compact composer plugin v1.0.4
2024-05-13 12:51:49 +02:00
Maarten
c0c0106abe
Merge pull request #1573 from ner00/master
Update Portuguese
2024-05-13 12:51:00 +02:00
the-djmaze
34f5f83978 Bugfix SCRAM auth response #1575 2024-05-13 12:43:21 +02:00
cm-schl
1f5613b504
Merge branch 'the-djmaze:master' into master 2024-05-09 16:33:48 +02:00
Sergey Mosin
c0d3c352b8 version bump 2024-05-08 20:42:36 -04:00
Sergey Mosin
3c178a5d1d fix caret in the root node and wrong field focused on compose dialog open 2024-05-08 20:41:36 -04:00
Sergey Mosin
f33e2315fc update squire to v2.2.8 2024-05-08 20:34:43 -04:00
ner0
0dbf992494
Update Portuguese 2024-05-02 12:31:13 +01:00
Avinash Gusain
3d0b16600c oidc login 2024-05-02 13:52:32 +05:30
cm-schl
cda2aad98d small cleanup 2024-04-30 11:31:13 +02:00
cm-schl
1d8ed48666 remove debug messages 2024-04-30 08:58:29 +02:00
the-djmaze
6cafd65690 Bugfix Log RFC 2822 date parse error for #1554 2024-04-30 02:58:22 +02:00
the-djmaze
73ac962289 Log signal info for #1569 2024-04-30 02:26:20 +02:00
the-djmaze
cc360837b1 Improved "remember me" cookie handling 2024-04-29 21:21:07 +02:00
cm-schl
1ec4930dfa resolved problems arised from changes in v2.36 2024-04-29 17:48:47 +02:00
the-djmaze
e9f2b71574 Log RFC 2822 date parse error for #1554 2024-04-28 18:02:51 +02:00
the-djmaze
53a6f04f18 Added "copy to" action in menu's for #1559 2024-04-28 17:32:25 +02:00
the-djmaze
0aa48a8dd4 Prevent mkdir() error #1565 2024-04-28 14:50:08 +02:00
the-djmaze
685b2ea93a Fix GPG/PGP exec() return false handling 2024-04-28 14:49:48 +02:00
the-djmaze
f9b5a37555 Simple solution for #1562 2024-04-28 14:46:37 +02:00
Maarten
0c081cf9aa
Merge pull request #1562 from sevmonster/patch-1
Properly escape path separator in `tar.php` file list regex
2024-04-28 14:45:46 +02:00
the-djmaze
9ec8ac8bba Resolve #1561 2024-04-28 14:03:34 +02:00
the-djmaze
f4e81a183e Bugfix: Undefined variable $sFilename 2024-04-28 13:55:52 +02:00
sev
c73736a05f
properly escape path sep in tar file list regex 2024-04-26 10:51:28 -05:00
the-djmaze
4b63adb0d5 v2.36.1 2024-04-24 02:13:35 +02:00
the-djmaze
cd8b3936fb Move OAuth2 to core 2024-04-24 02:02:37 +02:00
the-djmaze
fdc019e43c Resolve #1557 2024-04-24 01:35:40 +02:00
the-djmaze
944edef596 password => passphrase 2024-04-23 18:41:41 +02:00
the-djmaze
7df1d55162 Nextcloud don't use RainLoop login credentials 2024-04-23 18:06:59 +02:00
the-djmaze
b7a11d42de Don't input password in command, ask in prompt #1552 2024-04-23 18:03:04 +02:00
the-djmaze
372e4bc1c0 Rename application.ini [labs]log_ajax_response_write_limit to [logs]json_response_write_limit 2024-04-23 17:44:13 +02:00
the-djmaze
17fc37975c Rename application.ini [labs]login_fault_delay to [login]fault_delay 2024-04-23 17:38:28 +02:00
the-djmaze
aaae0a314c Remove date_from_headers from application.ini and internalTimestamp 2024-04-23 17:35:16 +02:00
the-djmaze
2656d362d6 Added idea to ask SMTP credentials on AUTH failure 2024-04-23 15:10:45 +02:00
the-djmaze
24dbe4f197 AskPopupView.password default is to only ask passphrase 2024-04-23 14:54:48 +02:00
the-djmaze
d198ad5a59 Improved the compactcomposer #1498 2024-04-23 03:17:41 +02:00
the-djmaze
b4dbf249ee ChangePasswordPlugin also use Have I Been Pwned 2024-04-22 17:38:05 +02:00
the-djmaze
6739ec21c8 Bugfix haveibeenpwned suffix handling 2024-04-22 15:55:31 +02:00
the-djmaze
c9d3f3de4a Example haveibeenpwned integration 2024-04-22 15:38:14 +02:00
the-djmaze
027ce6ccae Resolve #1552 2024-04-22 13:56:53 +02:00
the-djmaze
1b0962cce1 GnuPG check if shell_exec is disabled 2024-04-22 13:00:22 +02:00
the-djmaze
325c748acc Check open basedir for #1555 2024-04-21 03:52:30 +02:00
the-djmaze
ff80235ee8 Put modified Squire more in line with v2.2.8 2024-04-17 01:45:51 +02:00
the-djmaze
e304b1dd26 Nextcloud merge oidcLogin into beforeLogin 2024-04-17 01:44:25 +02:00
the-djmaze
0ff66f8df8 set min-width for attachmentParent and flagParent to line them up 2024-04-17 01:43:53 +02:00
the-djmaze
f2c4b8a1b3 cPanel use extension login-cpanel instead of login-remote 2024-04-17 01:10:03 +02:00
the-djmaze
e554bcc27e Extend handling login credentials by allowing to modify SMTP username 2024-04-17 01:09:07 +02:00
the-djmaze
3a6a5a6925 small quotation change 2024-04-16 02:09:48 +02:00
the-djmaze
1592c84ac0 Handle RFC 5987 in Content-Disposition header 2024-04-16 02:09:24 +02:00
the-djmaze
f8790a3a89 Rename account IncLogin to ImapUser and OutLogin to SmtpUser 2024-04-15 00:24:11 +02:00
the-djmaze
326d35eee7 Bugfix: connect settings stripLogin domain failed 2024-04-15 00:22:48 +02:00
the-djmaze
daf0f089b8 Ignore text/x-amp-html https://www.caniemail.com/features/amp/ 2024-04-14 15:15:15 +02:00
the-djmaze
8a461e7a3d Speedup Knockout a bit 2024-04-14 15:14:23 +02:00
the-djmaze
24681f8955 Improved example for #1544 2024-04-14 02:16:40 +02:00
the-djmaze
fffc044998 Resolve #1543 2024-04-13 13:18:31 +02:00
the-djmaze
3ced479ac9 Example Nextcloud login override for #1544 2024-04-13 11:38:45 +02:00
the-djmaze
41fc41984a Improved MessagesPerPage valid value #1540 2024-04-08 17:27:40 +02:00
the-djmaze
bcc2c7b9ca Prevent Infinity #1540 2024-04-08 17:22:27 +02:00
the-djmaze
969dca5f7e Predis to v2.2.2 2024-04-08 16:29:55 +02:00
the-djmaze
9510347d3a DoAttachmentsActions $mResult not used 2024-04-08 16:14:56 +02:00
the-djmaze
d59a326920 Bugfix: hide pagination when search has 0 messages 2024-04-08 16:14:30 +02:00
the-djmaze
2bcaf3c6ad Prevent mbstring error before setup.php 2024-04-05 23:51:30 +02:00
the-djmaze
3988ea9ba5 cleanup unused js parameters 2024-04-03 00:15:29 +02:00
the-djmaze
ed673fdba8 Bugfix: mime parser headerValue() is null 2024-04-02 22:40:12 +02:00
the-djmaze
ad417c743e ES2020 2024-04-02 22:37:18 +02:00
the-djmaze
cab81d5214 Small code reduction in Knockout 2024-04-02 22:37:02 +02:00
the-djmaze
78178ecc2f Everything to ES2020 2024-04-02 22:24:53 +02:00
the-djmaze
84ffe1e552 Predis to v2.2.2 2024-04-02 20:15:23 +02:00
the-djmaze
f6b440adef Put available encrypt and sign options in corresponding menu options as title 2024-04-01 02:09:23 +02:00
the-djmaze
9b309c31bd fabrica('login') never used, so drop it 2024-04-01 02:08:44 +02:00
the-djmaze
8e0303f065 Resolve #1533 2024-03-31 21:06:39 +02:00
the-djmaze
a424c6a52a Extensions use \MailSo\Log\Inherit 2024-03-31 21:02:05 +02:00
the-djmaze
c4acb26758 Bugfix: extensions set logger failed 2024-03-31 20:47:43 +02:00
the-djmaze
a9e5f1c6f8 Improved comments 2024-03-31 15:32:44 +02:00
the-djmaze
b9e2d6caca Bugfix content encoding and type detection.
Reported in #1450
2024-03-31 15:16:11 +02:00
Maarten
a76564fce7
Merge pull request #1528 from hguilbert/patch-19
Update fr.json
2024-03-31 04:43:44 +02:00
Maarten
8056bf8959
Merge pull request #1529 from hguilbert/patch-20
Update fr.json
2024-03-31 04:43:36 +02:00
Maarten
c673f5fb7a
Merge pull request #1530 from hguilbert/patch-21
Update user.json
2024-03-31 04:43:29 +02:00
Maarten
a828c3e075
Merge pull request #1531 from mayswind/master
update Chinese translation
2024-03-31 04:43:22 +02:00
Maarten
a745972cd4
Merge pull request #1532 from spoooyders/localization-be-by
Update Belarusian translation.
2024-03-31 04:43:15 +02:00
pavuki
29d3010c80 Update Belarusian translation. 2024-03-30 12:36:31 +01:00
MaysWind
4ded93cc0a update Chinese translation 2024-03-30 15:26:34 +08:00
hguilbert
7c79b0ecb7
Update user.json 2024-03-29 06:30:12 +01:00
hguilbert
274fd9de77
Update fr.json 2024-03-29 06:23:15 +01:00
hguilbert
5580ada03f
Update fr.json 2024-03-29 06:20:48 +01:00
the-djmaze
2a56595cf9 Rename languages in extensions 2024-03-29 01:06:47 +01:00
Maarten
04896f5d88
Merge pull request #1527 from tinola/master
[plugins][two-factor-auth] rename language files names (rfc5646)
2024-03-29 00:49:33 +01:00
tinola
bdd9a80db1 [plugins][two-factor-auth] rename language files names (rfc5646) 2024-03-28 20:10:20 +01:00
Maarten
336f7d482e
Merge pull request #1523 from tinola/master
Update polish translation
2024-03-28 02:56:30 +01:00
Maarten
721e73101c
Merge pull request #1524 from hguilbert/patch-17
Update user.json
2024-03-28 02:56:23 +01:00
Maarten
8c9468da84
Merge pull request #1525 from hguilbert/patch-18
Update admin.json
2024-03-28 02:56:15 +01:00
the-djmaze
143050176b Resolve #1520 2024-03-28 02:44:38 +01:00
the-djmaze
3017f8c656 Simplify LoginProcess handling 2024-03-28 02:43:39 +01:00
hguilbert
987ed0fcba
Update admin.json 2024-03-27 18:34:51 +01:00
hguilbert
6fe336e66c
Update user.json 2024-03-27 18:28:37 +01:00
tinola
62f2fe4f52
Update user.json 2024-03-27 08:10:58 +01:00
tinola
47e427a892 Update polish translation 2024-03-27 08:08:42 +01:00
tinola
74229478ae Update polish translation 2024-03-27 07:57:21 +01:00
the-djmaze
6be84f8ab4 Added ConnectionSecurityType::TLS 2024-03-27 01:24:34 +01:00
the-djmaze
7213395118 Throw more errors when using PHP mail() 2024-03-27 01:24:12 +01:00
the-djmaze
35db1f4eb8 SASL OAuth rename 3rd parameter to accessToken 2024-03-27 01:23:48 +01:00
the-djmaze
b6df50546e logMask all AUTHENTICATE requests 2024-03-27 01:23:11 +01:00
the-djmaze
f745a54669 ErrorTip use white-space: pre 2024-03-27 01:22:01 +01:00
the-djmaze
652fbced3c Improved translator a bit 2024-03-26 23:30:58 +01:00
Maarten
c77edf37e1
Merge pull request #1522 from ner00/master
Update Portuguese
2024-03-26 23:29:29 +01:00
lmperfis
a70a7c4c95 Update Portuguese 2024-03-26 18:37:07 +00:00
the-djmaze
f38e5a41cd Solution for #1521 2024-03-26 19:12:50 +01:00
the-djmaze
b96cb41876 Added Autoconfig detect through DNS SRV (RFC 6186 & 8314) and disable MX 2024-03-26 18:24:57 +01:00
the-djmaze
f9048d1209 v2.36.0 2024-03-26 15:21:47 +01:00
the-djmaze
07710f685f Drop hooks service.app-delay-start-* in favour of the existing json.before-appdelaystart and json.after-appdelaystart 2024-03-26 15:04:23 +01:00
the-djmaze
57fbdf8795 Added: allow setting the supported THREAD algorithm 2024-03-26 15:01:38 +01:00
the-djmaze
015dcbdc41 Bugfix: error undefined msg.from[0] 2024-03-26 12:26:53 +01:00
the-djmaze
c14d7bdd46 Add some comments and some renames 2024-03-26 12:26:35 +01:00
the-djmaze
25214f2d87 Improved Domain whitelist handling 2024-03-26 04:08:26 +01:00
the-djmaze
7f94c26bee Cache ThreadsOldUids based on bThreadSort true/false #1507 2024-03-25 19:53:04 +01:00
the-djmaze
c1e25dedb9 Cleanup SMTP auth handling 2024-03-25 19:36:39 +01:00
the-djmaze
55642e826e Resolve #1517 2024-03-25 19:34:30 +01:00
the-djmaze
31d929912a Improved SASL handling 2024-03-25 19:31:57 +01:00
the-djmaze
40622d45b7 More changes for #1507 2024-03-25 14:17:49 +01:00
the-djmaze
76b6f32222 Bugfix: GetUids() returned wrong ids when using SequenceSet 2024-03-25 12:54:09 +01:00
the-djmaze
d0ee5325f4 Changed MessageListThreadsMap(MessageCollection...) to MessageListThreadsMap(FolderInformation...) 2024-03-25 10:44:25 +01:00
the-djmaze
93a4d5ba88 Fix to use the correct $oParams->hash() 2024-03-25 10:43:51 +01:00
the-djmaze
8bcd0a3521 Sorted languages by name 2024-03-25 02:38:11 +01:00
the-djmaze
248dcb8257 Most languages to ISO 639-1 2024-03-25 02:20:18 +01:00
the-djmaze
fdc2d5a490 Attempt to solve #1507 2024-03-25 01:43:22 +01:00
the-djmaze
c34f99dd6e Make sure etag used on MessageList for #1515 2024-03-25 01:42:49 +01:00
the-djmaze
43622b50dc Bugfix PHP Warning: Undefined array key 2024-03-24 20:30:26 +01:00
the-djmaze
759933e24b Also check language helper after shortening 2024-03-24 19:19:54 +01:00
the-djmaze
59a02af2b7 Languages use rfc5646, by using the shortest ISO 639 code by default 2024-03-24 19:13:47 +01:00
Maarten
d65a88305c
Merge pull request #1512 from spoooyders/localization-be-by
Add Belarusian localization.
2024-03-24 18:33:37 +01:00
the-djmaze
2a116612be Return false on more server issues regarding domains control #1513 2024-03-24 17:22:57 +01:00
the-djmaze
6df5802f97 Check if saving disabled domains works #1513 2024-03-24 17:10:23 +01:00
the-djmaze
b3c10190cb Moved application.ini sieve_auth_plain_initial to per domain config 2024-03-24 16:49:00 +01:00
the-djmaze
3513669412 Resolve #1514 2024-03-24 15:03:50 +01:00
the-djmaze
b45459d645 Sieve always allow fileinto INBOX #1510 2024-03-24 14:18:08 +01:00
the-djmaze
60de50da64 Resolve #1513 broken old RainLoop .ini parser 2024-03-24 13:13:55 +01:00
pavuki
98a45e383b Fix belarusian localization. 2024-03-23 13:32:36 +01:00
pavuki
b46f5c9ec2 Fix belarusian localization. 2024-03-23 13:30:06 +01:00
pavuki
c4e98c8b4c Add Belarusian localization. 2024-03-23 09:46:55 +01:00
the-djmaze
4fc04648cf Moved cache drivers outside core to extensions (plugins) 2024-03-22 04:03:39 +01:00
the-djmaze
d5690fc579 Set admin translation to GLOBAL/PASSWORD 2024-03-22 02:47:40 +01:00
the-djmaze
068922f05f Support .swapColors in NC25+ theme 2024-03-22 02:37:06 +01:00
the-djmaze
705822fe7a Log debug message for failing custom themes directory #1508 2024-03-22 02:36:41 +01:00
the-djmaze
f0cf39e297 Resolve #1509 2024-03-22 02:19:19 +01:00
the-djmaze
8c077a94c6 same small fixes 2024-03-20 00:45:11 +01:00
the-djmaze
6bd66b8a2d Idea for #1507 2024-03-19 20:09:30 +01:00
the-djmaze
a08d376023 Added: Search in HEADER. Like: "header=X-Rspamd-Action no action" 2024-03-19 19:59:33 +01:00
the-djmaze
94aa2f11c4 Rename MessageSimple* commands to Message* 2024-03-19 19:49:11 +01:00
the-djmaze
173a172cf8 Resolve #485 2024-03-19 17:31:32 +01:00
the-djmaze
d59563cf1b Removed unused ClientException 2024-03-19 17:30:20 +01:00
the-djmaze
386fd936b4 Slight code reduction for #419 2024-03-19 15:33:52 +01:00
the-djmaze
7450afeecf Replace all new Intl.Collator with new baseCollator 2024-03-19 15:24:34 +01:00
the-djmaze
70b1a93108 CompactComposer support older browsers and a different idea to modify the dialog for #1498 2024-03-19 14:10:03 +01:00
the-djmaze
0d34d0b25b Merge branch 'master' of github.com:the-djmaze/snappymail 2024-03-19 13:09:39 +01:00
the-djmaze
d2a99ad7f2 bugfix: compose window closing tags should be TD 2024-03-19 13:09:23 +01:00
Maarten
0aadf987ac
Merge pull request #1506 from hguilbert/patch-16
Update user.json
2024-03-19 11:53:05 +01:00
hguilbert
dfa3ffecd0
Update user.json 2024-03-19 06:19:09 +01:00
the-djmaze
f36c9ab7d6 Bugfix: download all attachments icon 2024-03-19 03:16:09 +01:00
the-djmaze
dfdfeb2641 viewDkimIcon to dkimIcon 2024-03-19 03:11:01 +01:00
the-djmaze
1db3952ea4 Remove unused font glyph "mobile phone" 2024-03-19 02:43:41 +01:00
the-djmaze
abaf5a96fa Bugfix: sort accounts drag & drop 2024-03-18 20:30:04 +01:00
the-djmaze
165ac87685 Translate dutch 2024-03-18 19:43:20 +01:00
the-djmaze
cc03185ea0 Added icon to system folders 2024-03-18 19:16:12 +01:00
the-djmaze
eaf405e250 fix handling displaySpecSetting in edit folder popup 2024-03-18 17:53:15 +01:00
the-djmaze
c2c72dc4be Let PECL::isSupported() return false instead 2024-03-18 17:51:56 +01:00
the-djmaze
b98b21c1c6 S/MIME allow changing private key passphrase due to #1505 2024-03-18 17:17:25 +01:00
the-djmaze
570c7e1a1a Some minor backup example extension changes for #1042 2024-03-18 16:28:54 +01:00
the-djmaze
190db75c19 Remove remembered passphrase after 15 minutes of inactivity
https://github.com/the-djmaze/snappymail/issues/1142#issuecomment-1635839009
2024-03-18 14:36:33 +01:00
the-djmaze
9bc56a5abd Ask old login password on CryptKey decrypt failure, to reseal with new password 2024-03-18 12:25:24 +01:00
the-djmaze
a241149b6b Resolve #1450 2024-03-18 02:01:57 +01:00
the-djmaze
b3afbe107d Support S/MIME decrypted opaque signed message #1450 2024-03-17 23:54:54 +01:00
the-djmaze
e2b08ba160 Improved folder/mailbox settings/rename handling 2024-03-17 23:26:32 +01:00
the-djmaze
2cdc8d0055 On folder/mailbox rename, also rename all children instead of reloading all 2024-03-17 19:42:20 +01:00
the-djmaze
195f14ccb8 Bugfix: on folder rename the old fullName must be removed from cache 2024-03-17 18:55:07 +01:00
the-djmaze
7ae80226d8 translate fix (background)-color to (background)color 2024-03-17 17:05:08 +01:00
the-djmaze
2d1a760df3 Resolve #1486 2024-03-17 15:49:36 +01:00
the-djmaze
b99c405202 Hide generate TOTP button when a TOTP exists 2024-03-17 15:17:54 +01:00
the-djmaze
58ad745373 Resolve #1501 2024-03-17 15:10:59 +01:00
the-djmaze
9ccd616132 Now the MainAccount CryptKey is sealed.
This way change-password extension, Oauth2 and others can easily change the cryptkey seal withoug loosing decrypt functionality
2024-03-17 14:53:45 +01:00
the-djmaze
8c033f53fa ChangePassword extensions use \SnappyMail\SensitiveString 2024-03-17 14:50:32 +01:00
the-djmaze
9427b36633 v2.35.4 2024-03-16 01:00:09 +01:00
the-djmaze
5657af7238 Resolve Call to undefined function shell_exec #1496 2024-03-16 00:53:59 +01:00
the-djmaze
89e80bf124 Version bump for #1492 2024-03-16 00:49:18 +01:00
the-djmaze
0fd0d18154 Resolve #1499 2024-03-16 00:36:58 +01:00
the-djmaze
ce63c36fb0 Resolve #1500 2024-03-15 23:54:37 +01:00
the-djmaze
71f78a83bb Cleanup for #1489 2024-03-15 23:41:34 +01:00
Maarten
8f417c53fb
Merge pull request #1498 from SergeyMosin/compact-composer-plugin-v1.0.2
fix: signature editor form is submitted on menu open
2024-03-15 23:38:25 +01:00
Sergey Mosin
7c6d2ad423 fix: signature editor form is submitted on menu open (set menu button element 'type' to 'button') 2024-03-15 11:42:32 -04:00
the-djmaze
c18ae6477d Resolve #1489 2024-03-15 01:16:43 +01:00
the-djmaze
d04f2166d9 OpenPGP.js v5.11.1 2024-03-15 01:11:09 +01:00
Maarten
a0e7bf790e
Merge pull request #1492 from cm-schl/master
Update plugin ldap-mail-accounts: use SensitiveString for passwords
2024-03-15 00:59:42 +01:00
Maarten
df0787d8b0
Merge pull request #1495 from ner00/master
Update pt/pt-PT translation
2024-03-15 00:55:47 +01:00
the-djmaze
bd21c98179 Nextcloud extension added: fetch user email address for login screen 2024-03-15 00:54:41 +01:00
the-djmaze
46bd6d4564 Nextcloud changed stored password handling 2024-03-15 00:53:30 +01:00
lmperfis
c3ca3d7732 Update pt/pt-PT translation 2024-03-14 12:32:42 +00:00
the-djmaze
56950b4b70 Solve PHP Notice: Undefined index: ENCODING 2024-03-14 04:34:15 +01:00
the-djmaze
d0be08ddd3 Bugfix: Nextcloud SignMeType constant incorrect 2024-03-14 04:10:36 +01:00
the-djmaze
106765e384 Nextcloud session['snappymail-password'] to session['snappymail-passphrase'] 2024-03-14 03:59:46 +01:00
the-djmaze
d784c61076 Disable Nextcloud oidc 2024-03-14 03:56:39 +01:00
the-djmaze
f6e3017b50 lowercase login by default 2024-03-13 20:53:50 +01:00
the-djmaze
4fd282dc6c Resolve #1491 2024-03-13 18:48:19 +01:00
cm-schl
a0576dba1f
use SensitiveString for passwords
uses the new SensitiveString class introduced with Snappymail v2.30.0
2024-03-13 17:16:48 +01:00
the-djmaze
e04cc1080a application.ini login_lowercase should be configurable per domain 2024-03-12 22:11:32 +01:00
the-djmaze
4ebb3e7082 Added \SnappyMail\IDN::toAscii() 2024-03-12 21:47:38 +01:00
the-djmaze
aa7323ba43 Lowercase punycode domain names 2024-03-12 19:50:11 +01:00
the-djmaze
d2167dd290 v2.35.3 2024-03-12 18:58:02 +01:00
the-djmaze
891195efa6 Added the demo crypto keys in examples 2024-03-12 18:45:51 +01:00
the-djmaze
295b3e4cfb Skip crashing OpenPGP keys 2024-03-12 18:44:36 +01:00
the-djmaze
03e2dda6c1 OpenPgp generate key support Internationalized Domain Names 2024-03-12 18:14:14 +01:00
the-djmaze
b89f91f08a Delete old domain setup files on save 2024-03-12 18:02:10 +01:00
the-djmaze
4fd2f63c07 Improved more handling of Internationalized Domain Names 2024-03-12 18:01:27 +01:00
the-djmaze
5c21fea5d7 Example how to use PROXYAUTH 2024-03-12 16:22:28 +01:00
the-djmaze
ca249bcced Support Internationalized Domain Names in OpenPGP 2024-03-12 16:20:19 +01:00
the-djmaze
696a2bbd3c Improved handling of Internationalized Domain Names in punycode 2024-03-12 16:06:17 +01:00
the-djmaze
fd54796710 Drop support for IMAP PROXYAUTH as it is a non-standard X-NETSCAPE thing 2024-03-12 03:13:12 +01:00
the-djmaze
521f5e0d08 Cleanup imapsync 2024-03-12 02:31:09 +01:00
the-djmaze
dd662164d0 Upgrade::ConvertInsecureAccounts use new format 2024-03-12 02:30:47 +01:00
the-djmaze
9e562ac882 ValidateWhiteList use IDN punycode 2024-03-12 00:42:09 +01:00
the-djmaze
a093eb3231 oCacher->Get can return NULL 2024-03-11 20:33:34 +01:00
the-djmaze
7999894bda Handle Domain::$name as lowercase punycode due to IDN complexity 2024-03-11 20:11:13 +01:00
the-djmaze
56ede16833 Added: Cache::Exists
Change: Cache::Get can return NULL
2024-03-11 19:54:53 +01:00
the-djmaze
705907e816 Fix Optional parameter $oAccount declared before required parameter $sLogin 2024-03-11 19:38:15 +01:00
the-djmaze
7d66adbe3c Polyfill idn_to_*() 2024-03-11 12:32:59 +01:00
the-djmaze
f726ac7061 Cleanup KeyPathHelper a bit 2024-03-11 11:05:41 +01:00
the-djmaze
df7b11eadb Improved Domain management code 2024-03-11 11:04:19 +01:00
the-djmaze
de150b359c Make Domain::Normalize() private 2024-03-10 23:58:54 +01:00
the-djmaze
1e55f86f51 Deprecate most Domain methods 2024-03-10 23:58:18 +01:00
the-djmaze
ea4cda6a91 bugfix: autoconfig log error 2024-03-10 23:46:46 +01:00
the-djmaze
18a859c68f fix spacing 2024-03-10 23:46:00 +01:00
the-djmaze
cc22327279 Drop deprecated Domain::SetConfig() 2024-03-10 23:21:07 +01:00
the-djmaze
e07749be6a Ignore popups on logoutReload() 2024-03-10 19:09:17 +01:00
the-djmaze
986b3a79f1 Fix Capa handling 2024-03-10 19:00:46 +01:00
Maarten
c450965cb6
Merge pull request #1484 from botsarenthuman/patch-1
Update ImapClient.php
2024-03-10 18:35:59 +01:00
the-djmaze
7459813646 Fix BodyStructure encoding name 2024-03-10 18:25:05 +01:00
the-djmaze
913ed54668 Improved TNEFDecoder 2024-03-10 18:02:38 +01:00
botsarenthuman
84c8e0d08d
Update ImapClient.php
These lines were overwriting our custom plugin which sets it own auth method via a php unshift. These are already the default login methods, so please don't override what someone may have changed in a plugin.
2024-03-09 12:33:52 -08:00
the-djmaze
d498bf2b53 Actions::MainClearFileName() belongs to Raw 2024-03-08 03:09:58 +01:00
the-djmaze
8a3948777f Fix AddressBookProvider namespaces 2024-03-08 02:50:58 +01:00
the-djmaze
9fc4d8f953 Merge Actions::getAdditionalLogParamsByUserLogin() into Actions::LoggerAuthHelper() 2024-03-08 02:49:41 +01:00
the-djmaze
f32f5347a7 Merge Actions::LoggerAuth() into Actions::LoggerAuthHelper() 2024-03-08 02:36:39 +01:00
the-djmaze
6e24f45d4a AddressBookProvider belongs to Contacts actions 2024-03-08 02:34:33 +01:00
the-djmaze
27f5ba9337 Moved some config admin settings 2024-03-07 01:52:48 +01:00
the-djmaze
8e6f35bfad Improved some AppData handling 2024-03-07 01:16:58 +01:00
the-djmaze
565e8f0fb7 draft code for TNEF winmail.dat #1012 2024-03-06 02:31:28 +01:00
the-djmaze
8fe5cd3c95 update mime types 2024-03-06 01:22:49 +01:00
the-djmaze
c1385894cc Make GnuPG separate admin settings option 2024-03-06 01:13:24 +01:00
Maarten
91d9da4046
Merge pull request #1481 from tinola/master
update Polish translation
2024-03-05 20:05:46 +01:00
tinola
ae725b0974 update Polish translation 2024-03-05 10:18:25 +01:00
Maarten
fd5a793de0
Merge pull request #1479 from S-A-L13/master
Disabled small php part of Nextcloud OpenID Connect
2024-03-04 19:52:46 +01:00
Maarten
54723ea522
Merge pull request #1480 from hguilbert/patch-15
Update admin.json
2024-03-04 19:50:04 +01:00
the-djmaze
c8ea6fd2aa Removed TODO as mentioned in #1473 2024-03-04 19:48:57 +01:00
the-djmaze
382ccdb499 Polyfill ctype #1250 2024-03-04 19:46:12 +01:00
hguilbert
2d920396b2
Update admin.json 2024-03-04 19:35:22 +01:00
S-A-L13
b7fc061f04 Merge branch 'master' of https://github.com/S-A-L13/snappymail 2024-03-04 17:08:58 +01:00
S-A-L13
876ed221c3
Update Fork (#2)
* Cleanup OpenPgpImportPopupView code

* update polish translation

* small fix

* Added Import S/MIME certificate popup
And much better handling of the sign and encrypt options

* bugfix: store in Passphrases

* Resolve #1448

* pre-verify S/MIME opaque signed messages so we have a body to view

* Fix timestampToString() for future dates

* Move php8.php to /app/libraries/polyfill/

* Improved Settings handling to prevent bugs in outer code

* Changed AbstractProvider::IsActive() to be abstract

* Example for #1449

* bugfix: previous IsActive() commit

* OpenSSL required due to S/MIME

* Use get_debug_type() instead of gettype()

* update polish translation

* Make all Enumerations classes abstract

* Added search functionality in Admin -> Config
And removed the unused ['capa']['quota']

* Cleanup Quota handling

* OPEN_PGP should be OPENPGP as it is one word

* Improve Capa handling

* Resolve #1451

* Bugfix TypeError: b64Encode(...).match(...) is null

* Small StorageType change

* Bugfix: mailvelope editor failed

* Bugfix: undefined getMailvelopePrivateKeyFor()

* Bugfix: MIME parser RegExp didn't escape `boundary` which caused issues

* Return detailed info on PgpImportKey

* Show GnuPG verify error

* Sort PGP keys by email and id

* Sort S/MIME certificates on emailAddress else validTo

* S/MIME import from signature use `BEGIN PKCS7`

* Optionally use existing private key to generate S/MIME certificate

* Chaned some error_log() to MailSo Logger()

* Force reload of S/MIME certificates list on import

* Make better use of SnappyMail\SensitiveString

* Fix view PGP key button

* Mask all POST data that has a key which contains `pass`

* v2.35.1

* Resolve #1455

* Improved GnuPG error handling

* Update pt/pt-PT translation

* update Polish translation

* Drop support for gnupg pecl extension as it fails with "no passphrase" issues

* Resolve #1456

* Resolve #1458

* v2.35.2

* fix changelog

* Resolve #1461

* Update pt/pt-PT translation

* compact-composer plugin v1.0.0

* Resolve #1462

* Fix decrypt error message

* `new Error()` to `Error()`

* Resolve #1463

* Show url for #1466

* Simplify SignMe/Remember me code

* Simplify language Notifications

* Bugfix: SetPassword expects \SnappyMail\SensitiveString

* https://github.com/the-djmaze/snappymail/issues/1450#issuecomment-1972147950

* improve: fire the 'squire2-toolbar' event after more props are added

* improve: add dark theme support and use 'button' element as menu trigger for consistent styling

* fix: use compact template in non-destructive way (do not replace the PopupsCompose template if a different wysiwyg is used)

* Update admin.json

* Update user.json

* CSS rainloopErrorTip location

* Improved error handling on PGP and S/MIME decrypt

* KnockoutJS remove unused `beforeRemove`

* KnockoutJS drop unused `as`

* KnockoutJS simplify renderMode because only 1 option is used

* KnoutJS cleanup templating.js a bit

* KnockoutJS drop unused `bindingRewriteValidators`

* KnockoutJS drop the twoWayBindings code

* KnockoutJS simplify virtualElements binding check

* KnockoutJS simplify applyBindingsToNodeInternal

* KnockoutJS use Array.isArray

* KnockoutJS drop alias `textinput` for `textInput`

* KnockoutJS scramble `createChildContext`

* KnockoutJS scramble `controlsDescendantBindings`

* KnockoutJS scramble `exportDependencies`

* KnockoutJS drop unused `throttleEvaluation`

* KnockoutJS drop unused `valueAllowUnset`

* KnockoutJS drop unused `templateNodes`

* KnockoutJS drop unused `optionsCaption`

* KnockoutJS drop unused `dontLimitMoves`

* KnockoutJS drop unused `uniqueName`

* KnockoutJS drop IE leftovers

* KnockoutJS drop unused `preprocess`

* KnockoutJS drop unused "disposeWhenNodeIsRemoved" and "disposeWhen"

* KnockoutJS don't scramble exportDependencies. controlsDescendantBindings, createChildContext

* KnockoutJS drop unused `$parentContext` and `$parents`

* KnockoutJS drop unused `$rawData`

* Knockoutjs built latest

* KnockoutJS drop unused template options `nodes`, `if`, `ifnot`

* KnockoutJS use more Array.isArray

* KnockoutJS cleanup code a bit

* KnockoutJS primitiveTypes can just be checked with Object()

* KnockoutJS rebuilt

* Verify S/MIME signed automatically and log Exception

* Automatically verify PGP and S/MIME signed messages

* `new Error` to `Error`

* By default throw AccountNotAllowed as confused in #1478

* GPG use pinentries for decrypt, sign and export

* Better GPG error handling

* GPG show error on view/export

* OpenPGP fix handling of importing keys

* Make "verify signatures automatically" optional, as it requires more IMAP fetching

* S/MIME don't post identity key and certificate, just fetch from server

* Show error to old browsers, instead of crashing

* Automatically verify S/MIME decrypted signed message

---------

Co-authored-by: the-djmaze <>
Co-authored-by: tinola <tinola@poczta.onet.pl>
Co-authored-by: Maarten <3752035+the-djmaze@users.noreply.github.com>
Co-authored-by: lmperfis <joint.striker@gmail.com>
Co-authored-by: Sergey Mosin <sergey@srgdev.com>
Co-authored-by: hguilbert <51283484+hguilbert@users.noreply.github.com>
2024-03-04 17:00:27 +01:00
S-A-L13
3bd073a38b Disabled php part of Nextcloud OpenID Connect
The php code was still executed and throwed the error:
"Undefined array key "snappymail-autologin-oidc" at /var/www/nextloud/nextcloud_28/apps/snappymail/templates/admin-local.php#43"
2024-03-04 16:51:43 +01:00
the-djmaze
34106c937e Automatically verify S/MIME decrypted signed message 2024-03-04 15:33:19 +01:00
the-djmaze
d1466ad2f2 Show error to old browsers, instead of crashing 2024-03-04 15:02:13 +01:00
the-djmaze
574fd820a6 S/MIME don't post identity key and certificate, just fetch from server 2024-03-04 15:01:47 +01:00
the-djmaze
4006dd38f8 Make "verify signatures automatically" optional, as it requires more IMAP fetching 2024-03-04 13:33:40 +01:00
the-djmaze
b5062624fa OpenPGP fix handling of importing keys 2024-03-04 12:42:23 +01:00
the-djmaze
5aa71a3ede GPG show error on view/export 2024-03-04 11:15:34 +01:00
the-djmaze
d57300dd75 Better GPG error handling 2024-03-04 11:02:12 +01:00
the-djmaze
464d22d69a GPG use pinentries for decrypt, sign and export 2024-03-04 10:14:14 +01:00
the-djmaze
7d485813e5 By default throw AccountNotAllowed as confused in #1478 2024-03-04 10:12:59 +01:00
the-djmaze
644c8ad389 new Error to Error 2024-03-04 01:12:40 +01:00
the-djmaze
870019d2df Automatically verify PGP and S/MIME signed messages 2024-03-04 01:07:00 +01:00
the-djmaze
27fbe01876 Verify S/MIME signed automatically and log Exception 2024-03-03 23:52:02 +01:00
the-djmaze
b2009f6bc0 KnockoutJS rebuilt 2024-03-03 23:10:16 +01:00
the-djmaze
9db2690710 KnockoutJS primitiveTypes can just be checked with Object() 2024-03-03 22:47:19 +01:00
the-djmaze
0e1a34f067 KnockoutJS cleanup code a bit 2024-03-03 22:36:03 +01:00
the-djmaze
b07bf3ad12 KnockoutJS use more Array.isArray 2024-03-03 22:33:29 +01:00
the-djmaze
1357a696be KnockoutJS drop unused template options nodes, if, ifnot 2024-03-03 21:32:53 +01:00
the-djmaze
e97cf8fa6b Knockoutjs built latest 2024-03-03 19:20:51 +01:00
the-djmaze
e3f781cffb KnockoutJS drop unused $rawData 2024-03-03 19:20:16 +01:00
the-djmaze
ca170f2461 KnockoutJS drop unused $parentContext and $parents 2024-03-03 19:17:26 +01:00
the-djmaze
766d3eaa98 KnockoutJS don't scramble exportDependencies. controlsDescendantBindings, createChildContext 2024-03-03 19:10:00 +01:00
the-djmaze
a8e38a998f KnockoutJS drop unused "disposeWhenNodeIsRemoved" and "disposeWhen" 2024-03-03 18:23:52 +01:00
the-djmaze
12711be049 KnockoutJS drop unused preprocess 2024-03-03 18:18:26 +01:00
the-djmaze
4276896002 KnockoutJS drop IE leftovers 2024-03-03 18:17:01 +01:00
the-djmaze
39ad99224e KnockoutJS drop unused uniqueName 2024-03-03 18:12:18 +01:00
the-djmaze
62bda28a28 KnockoutJS drop unused dontLimitMoves 2024-03-03 18:11:15 +01:00
the-djmaze
acf1be454f KnockoutJS drop unused optionsCaption 2024-03-03 18:01:02 +01:00
the-djmaze
bb3fc79e09 KnockoutJS drop unused templateNodes 2024-03-03 17:56:43 +01:00
the-djmaze
ab1a75935f KnockoutJS drop unused valueAllowUnset 2024-03-03 17:36:04 +01:00
the-djmaze
05b1e96046 KnockoutJS drop unused throttleEvaluation 2024-03-03 17:31:44 +01:00
the-djmaze
2876f92f4d KnockoutJS scramble exportDependencies 2024-03-03 17:30:15 +01:00
the-djmaze
667e50c9fb KnockoutJS scramble controlsDescendantBindings 2024-03-03 17:27:18 +01:00
the-djmaze
4ee00d30ae KnockoutJS scramble createChildContext 2024-03-03 17:24:55 +01:00
the-djmaze
47cd902369 KnockoutJS drop alias textinput for textInput 2024-03-03 17:21:27 +01:00
the-djmaze
ee3aa16fcf KnockoutJS use Array.isArray 2024-03-03 17:12:35 +01:00
the-djmaze
a40e6484a1 KnockoutJS simplify applyBindingsToNodeInternal 2024-03-03 17:02:38 +01:00
the-djmaze
33f0dfd3b2 KnockoutJS simplify virtualElements binding check 2024-03-03 16:58:07 +01:00
the-djmaze
4af874e1d1 KnockoutJS drop the twoWayBindings code 2024-03-03 16:49:52 +01:00
the-djmaze
df8f13e359 KnockoutJS drop unused bindingRewriteValidators 2024-03-03 16:48:42 +01:00
the-djmaze
0f0f60e456 KnoutJS cleanup templating.js a bit 2024-03-03 16:46:54 +01:00
the-djmaze
97a369048e KnockoutJS simplify renderMode because only 1 option is used 2024-03-03 16:41:39 +01:00
the-djmaze
dde1183174 KnockoutJS drop unused as 2024-03-03 16:27:21 +01:00
the-djmaze
513fc949d7 KnockoutJS remove unused beforeRemove 2024-03-03 16:09:07 +01:00
the-djmaze
9e05aa4a50 Merge branch 'master' of github.com:the-djmaze/snappymail 2024-03-03 04:15:07 +01:00
the-djmaze
41969bf2c1 Improved error handling on PGP and S/MIME decrypt 2024-03-03 04:14:49 +01:00
the-djmaze
0e202a6640 CSS rainloopErrorTip location 2024-03-03 03:13:03 +01:00
Maarten
4d2d223bdb
Merge pull request #1475 from hguilbert/patch-14
Update user.json
2024-03-01 20:01:50 +01:00
hguilbert
ae8d40786e
Update user.json 2024-03-01 19:16:59 +01:00
Maarten
1cff9d987e
Merge pull request #1474 from hguilbert/patch-13
Update admin.json
2024-03-01 19:11:38 +01:00
Maarten
380eae6669
Merge pull request #1473 from SergeyMosin/compact-composer-plugin-v1.0.1
Compact composer plugin v1.0.1
2024-03-01 19:10:10 +01:00
hguilbert
8e0414a4ec
Update admin.json 2024-03-01 19:00:08 +01:00
Sergey Mosin
d6acf55ab2 fix: use compact template in non-destructive way (do not replace the PopupsCompose template if a different wysiwyg is used) 2024-03-01 10:20:45 -05:00
Sergey Mosin
6169f6083f improve: add dark theme support and use 'button' element as menu trigger for consistent styling 2024-03-01 10:12:24 -05:00
Sergey Mosin
c0247ff2bd improve: fire the 'squire2-toolbar' event after more props are added 2024-03-01 10:07:14 -05:00
the-djmaze
2efe90fe48 https://github.com/the-djmaze/snappymail/issues/1450#issuecomment-1972147950 2024-03-01 02:08:29 +01:00
the-djmaze
d84f39be86 Bugfix: SetPassword expects \SnappyMail\SensitiveString 2024-03-01 01:45:56 +01:00
the-djmaze
c1b7d37663 Simplify language Notifications 2024-03-01 01:39:00 +01:00
the-djmaze
5b3b362012 Simplify SignMe/Remember me code 2024-02-28 20:42:31 +01:00
the-djmaze
490465cbbf Show url for #1466 2024-02-28 20:12:15 +01:00
Maarten
e880d0ce86
Merge pull request #1466 from SergeyMosin/compact-composer-plugin
compact-composer plugin v1.0.0
2024-02-28 20:10:12 +01:00
Maarten
0b092a588d
Merge pull request #1465 from ner00/master
Update pt/pt-PT translation
2024-02-28 20:09:54 +01:00
the-djmaze
593fd4c41d Resolve #1463 2024-02-28 20:09:16 +01:00
the-djmaze
14bee5d3bd new Error() to Error() 2024-02-28 19:46:21 +01:00
the-djmaze
4303ee1908 Merge branch 'master' of github.com:the-djmaze/snappymail 2024-02-28 19:45:30 +01:00
the-djmaze
df963e3537 Fix decrypt error message 2024-02-28 19:45:14 +01:00
the-djmaze
6e56808a0d Resolve #1462 2024-02-28 19:36:57 +01:00
Sergey Mosin
57003ab4b8 compact-composer plugin v1.0.0 2024-02-28 09:47:39 -05:00
lmperfis
a95ecf6133 Update pt/pt-PT translation 2024-02-28 14:18:01 +00:00
Maarten
47793ce1cb
Merge pull request #1460 from tinola/master
update Polish translation
2024-02-27 23:17:53 +01:00
the-djmaze
b3893f7164 Resolve #1461 2024-02-27 23:16:47 +01:00
the-djmaze
0cd39afadc fix changelog 2024-02-27 23:08:42 +01:00
the-djmaze
37dee0e78e v2.35.2 2024-02-27 23:04:32 +01:00
the-djmaze
7e6523b59a Resolve #1458 2024-02-27 22:51:10 +01:00
Maarten
1722d88f1a
Merge pull request #1454 from S-A-L13/master
Added function for ldap-identities plugin to filter by mail prefixes (allow compatibility for e.g. Exchange and others)
2024-02-27 22:34:48 +01:00
Maarten
44bda3a315
Merge pull request #1457 from ner00/master
Update pt/pt-PT translation
2024-02-27 22:33:06 +01:00
the-djmaze
719b21a4fb Resolve #1456 2024-02-27 22:30:29 +01:00
the-djmaze
68ed7cafae Drop support for gnupg pecl extension as it fails with "no passphrase" issues 2024-02-27 22:29:36 +01:00
tinola
6bb77d6d7c update Polish translation 2024-02-27 21:19:50 +01:00
lmperfis
150d95c157 Update pt/pt-PT translation 2024-02-27 18:00:43 +00:00
the-djmaze
3d176d4e4f Improved GnuPG error handling 2024-02-27 18:45:25 +01:00
the-djmaze
c73e3637a3 Resolve #1455 2024-02-27 15:12:42 +01:00
S-A-L13
31d9e9fd1b Changed version to 2.3 2024-02-27 14:30:57 +01:00
S-A-L13
20f6dea345 minor changes 2024-02-27 13:46:02 +01:00
S-A-L13
0763f3d1c6 Removed wrong escapes 2024-02-27 13:22:38 +01:00
S-A-L13
f4554374bd Minor changes to match coding style of original coder 2024-02-27 13:10:53 +01:00
the-djmaze
b0211424a7 v2.35.1 2024-02-27 12:05:30 +01:00
S-A-L13
ebf7540554 Added function CleanupMailAddresses
Added function (and additional code to start it) that helps to clean up the mail addresses array. It removes the prefix (if set in config) and removes all addresses with no or a different prefix.
2024-02-27 12:04:07 +01:00
the-djmaze
275ad40346 Mask all POST data that has a key which contains pass 2024-02-27 11:25:34 +01:00
the-djmaze
28d8bec935 Fix view PGP key button 2024-02-27 11:04:35 +01:00
the-djmaze
7cacc9b503 Make better use of SnappyMail\SensitiveString 2024-02-27 11:03:36 +01:00
the-djmaze
0f7505baba Force reload of S/MIME certificates list on import 2024-02-27 02:41:16 +01:00
the-djmaze
847d33abc6 Chaned some error_log() to MailSo Logger() 2024-02-27 02:31:53 +01:00
the-djmaze
182f884374 Optionally use existing private key to generate S/MIME certificate 2024-02-27 02:19:12 +01:00
the-djmaze
97b65465e2 S/MIME import from signature use BEGIN PKCS7 2024-02-26 22:34:15 +01:00
the-djmaze
20daa1ce13 Sort S/MIME certificates on emailAddress else validTo 2024-02-26 19:34:50 +01:00
the-djmaze
091895df38 Sort PGP keys by email and id 2024-02-26 19:21:40 +01:00
the-djmaze
6141ca7936 Show GnuPG verify error 2024-02-26 18:43:17 +01:00
the-djmaze
6f98aee998 Return detailed info on PgpImportKey 2024-02-26 18:26:51 +01:00
the-djmaze
7bc302c665 Bugfix: MIME parser RegExp didn't escape boundary which caused issues 2024-02-26 17:36:55 +01:00
the-djmaze
50569e1854 Bugfix: undefined getMailvelopePrivateKeyFor() 2024-02-26 17:17:32 +01:00
the-djmaze
0cbca605ec Bugfix: mailvelope editor failed 2024-02-26 16:59:50 +01:00
the-djmaze
ab748aab99 Small StorageType change 2024-02-26 16:44:25 +01:00
the-djmaze
2559c09b23 Bugfix TypeError: b64Encode(...).match(...) is null 2024-02-26 16:42:35 +01:00
S-A-L13
12cbb9f07e Added config fields for mail prefix
Mail prefix is needed to filter mailidentities. For example suche set by Exchange in the ProxyAddresses field, which can hold different address types
2024-02-26 15:47:57 +01:00
the-djmaze
99b7ec661c Resolve #1451 2024-02-26 14:53:25 +01:00
Maarten
b4e146776f
Merge pull request #1452 from tinola/master
update polish translation
2024-02-26 13:51:40 +01:00
the-djmaze
118587dcf3 Improve Capa handling 2024-02-26 13:48:57 +01:00
the-djmaze
6e1aae3f61 OPEN_PGP should be OPENPGP as it is one word 2024-02-26 13:39:09 +01:00
the-djmaze
9006c377fd Cleanup Quota handling 2024-02-26 13:36:10 +01:00
the-djmaze
886e53bb8f Added search functionality in Admin -> Config
And removed the unused ['capa']['quota']
2024-02-26 13:26:06 +01:00
the-djmaze
e1dced8007 Make all Enumerations classes abstract 2024-02-26 11:12:02 +01:00
tinola
cbfc7e7d82 update polish translation 2024-02-26 07:25:09 +01:00
the-djmaze
9ef11db895 Use get_debug_type() instead of gettype() 2024-02-26 04:20:28 +01:00
the-djmaze
044b0dcde6 OpenSSL required due to S/MIME 2024-02-26 03:16:18 +01:00
the-djmaze
dcfa144ce3 bugfix: previous IsActive() commit 2024-02-26 02:58:06 +01:00
the-djmaze
58d3fc8fd5 Example for #1449 2024-02-26 02:54:44 +01:00
the-djmaze
cfc497556e Changed AbstractProvider::IsActive() to be abstract 2024-02-26 02:49:06 +01:00
the-djmaze
007e4b25eb Improved Settings handling to prevent bugs in outer code 2024-02-26 02:47:56 +01:00
the-djmaze
c6aad25581 Move php8.php to /app/libraries/polyfill/ 2024-02-25 20:13:39 +01:00
the-djmaze
5262e59fdd Merge branch 'master' of github.com:the-djmaze/snappymail 2024-02-25 13:11:30 +01:00
the-djmaze
57ce6f9bbf Fix timestampToString() for future dates 2024-02-25 13:11:17 +01:00
Maarten
e3830a5c3f
Merge pull request #1445 from S-A-L13/master
StartTLS for LDAP Identities plugin
2024-02-25 12:58:00 +01:00
the-djmaze
5552d3c1b9 pre-verify S/MIME opaque signed messages so we have a body to view 2024-02-25 12:56:25 +01:00
the-djmaze
a98f8aa1f6 Merge branch 'master' of github.com:the-djmaze/snappymail 2024-02-25 11:38:33 +01:00
the-djmaze
1e03eac9a5 Resolve #1448 2024-02-25 11:38:19 +01:00
Maarten
8aef85804e
Merge pull request #1447 from tinola/master
update polish translation
2024-02-25 11:31:57 +01:00
Maarten
2b0ca5d314
Merge branch 'master' into master 2024-02-25 11:31:49 +01:00
the-djmaze
a7041b4efb bugfix: store in Passphrases 2024-02-23 03:22:29 +01:00
the-djmaze
6f33bc23d3 Added Import S/MIME certificate popup
And much better handling of the sign and encrypt options
2024-02-23 03:14:36 +01:00
tinola
6ac5cea2e4 small fix 2024-02-22 17:51:20 +01:00
tinola
70a7784d68 update polish translation 2024-02-22 17:32:39 +01:00
S-A-L13
8dac28e1a2 Update index.php 2024-02-22 14:56:29 +01:00
S-A-L13
383e40636b Added StartTLS functionality
Added StartTLS in function Connect().
And also added parameters in config to activate StartTLS.
2024-02-22 14:54:55 +01:00
the-djmaze
f94fc34d4f Cleanup OpenPgpImportPopupView code 2024-02-22 00:33:20 +01:00
the-djmaze
0efc0bbe3a Translate some S/MIME text 2024-02-22 00:00:12 +01:00
the-djmaze
453e73f71a Cache S/MIME passphrases when "remember" is checked 2024-02-21 23:28:53 +01:00
the-djmaze
9941ff61f7 Bugfix: S/MIME sigPart handling 2024-02-21 01:28:36 +01:00
the-djmaze
aebed32f76 Bugfix: verify S/MIME signatures got broken allong the way while implementing this 2024-02-21 01:23:36 +01:00
the-djmaze
d5d47ffed1 Use SensitiveString at more places 2024-02-21 00:59:09 +01:00
the-djmaze
a473e5e223 Implement \Stringable 2024-02-21 00:36:31 +01:00
the-djmaze
d5a43e422d v2.35.0 2024-02-20 18:58:18 +01:00
the-djmaze
e9a63b40c5 Enable S/MIME encrypt #259 2024-02-20 18:29:35 +01:00
the-djmaze
ca12655e5f Cleanup PGP PUBLIC KEY handling 2024-02-20 18:14:32 +01:00
the-djmaze
6ce08726b4 Automaticaly import S/MIME certificates that are found in signatures #259 2024-02-20 17:42:26 +01:00
the-djmaze
3d168b4688 Cleanup DoPgpVerifyMessage action param handling 2024-02-20 16:03:47 +01:00
the-djmaze
5a2d2fd0e5 Handle S/MIME encrypt, decrypt, sign and very everywhere #259 2024-02-20 16:03:22 +01:00
the-djmaze
44a623543f set smimeKey and smimeCertificate for demo 2024-02-20 15:21:32 +01:00
the-djmaze
18d0ba4acb Get S/MIME decrypt working for #259 2024-02-20 13:04:12 +01:00
the-djmaze
1762198642 Get S/MIME encryption working #259 2024-02-20 12:38:57 +01:00
the-djmaze
196dffa8d8 Fix S/MIME certificates cache handling 2024-02-20 11:46:34 +01:00
the-djmaze
4b8a295fbe mask another passphrase in the logs for PHP < 8.2 2024-02-20 11:24:23 +01:00
the-djmaze
ec0d92bfac mask passphrases in logs for PHP < 8.2 2024-02-20 11:22:28 +01:00
the-djmaze
479452ad7b Cache S/MIME certificates info #259 2024-02-20 11:11:10 +01:00
the-djmaze
f5f3a90275 Only ask S/MIME private key passphrase when it is encrypted #259 2024-02-20 11:10:43 +01:00
Maarten
f06b6edef5
Merge pull request #1443 from tinola/master
update Polish translations
2024-02-20 10:34:09 +01:00
tinola
0063c2fc3f update Polish translations 2024-02-20 08:11:15 +01:00
the-djmaze
7ae53719c4 Rename CSS .openpgp-control to .crypto-control 2024-02-20 01:52:37 +01:00
the-djmaze
9c9adde9c8 Added some missing translations 2024-02-20 01:09:41 +01:00
the-djmaze
568caed3c7 Ask password to generate S/MIME self signed #259 2024-02-20 01:01:15 +01:00
the-djmaze
3f08051e37 Added a S/MIME certificates list to User settings #259 2024-02-19 20:16:37 +01:00
the-djmaze
a22ae5fcf4 fix name addSMimeEncrypted 2024-02-19 18:54:00 +01:00
the-djmaze
10ec90435d Show certificate icon for p12 and pfx files 2024-02-19 18:51:52 +01:00
the-djmaze
2f2079e9c1 Rename SearchPGPKey action to PgpSearchKey 2024-02-19 17:39:56 +01:00
the-djmaze
2fa3508c11 Rename MessagePgpVerify action to PgpVerifyMessage 2024-02-19 17:35:48 +01:00
the-djmaze
55e55b7bb7 Rename SMime actions 2024-02-19 17:33:24 +01:00
the-djmaze
9a5a5091a1 More S/MIME changes for #259 2024-02-19 15:35:10 +01:00
the-djmaze
a9b60a762f Also mark p7m with certificate icon 2024-02-19 15:29:25 +01:00
the-djmaze
f181863d50 No default passphrase for self-signed #259 2024-02-19 15:28:03 +01:00
the-djmaze
f53d9ed6c3 Verify S/MIME signed messages #259 2024-02-19 15:14:11 +01:00
the-djmaze
4df3766231 Fix signing messages with S/MIME #259 2024-02-19 12:51:02 +01:00
the-djmaze
128e2f6254 Added signing using S/MIME #259 2024-02-19 04:35:37 +01:00
the-djmaze
f83b60782a Improved handling to create S/MIME certificates #259 2024-02-19 01:52:12 +01:00
the-djmaze
6fa4dff23b Set S/MIME private key and certificate per identity #259 2024-02-18 17:18:47 +01:00
the-djmaze
33de51b2d5 Check for CONDSTORE or QRESYNC to get the HIGHESTMODSEQ 2024-02-18 16:47:28 +01:00
the-djmaze
8a10d30f2a Disable IMAP METADATA by default (hardly used) 2024-02-18 16:47:04 +01:00
the-djmaze
8a0b3d3791 Resolve #1425 2024-02-18 16:44:20 +01:00
the-djmaze
86f084e5a9 Added Auth Bearer to SnappyMail\HTTP\Request 2024-02-18 16:29:25 +01:00
the-djmaze
785bde153e MMS examples of #1294 2024-02-18 16:13:59 +01:00
the-djmaze
96d08cd418 Added option to create self-signed S/MIME certificate #259 2024-02-18 16:08:09 +01:00
the-djmaze
ae4a90bda5 Bugfix: when moving a folder/mailbox check for parent delimiter 2024-02-18 14:28:42 +01:00
the-djmaze
859b064d39 More info about IMAP capabilities 2024-02-18 13:04:05 +01:00
the-djmaze
dd5bb8593c Resolve #1442 2024-02-18 10:50:33 +01:00
the-djmaze
53940e64ab Added more code for S/MIME #259 2024-02-16 01:23:23 +01:00
the-djmaze
dceb5fca41 Resolve #1439 2024-02-15 23:56:26 +01:00
the-djmaze
5a69d1e241 Resolve #1438 2024-02-15 23:45:43 +01:00
the-djmaze
e02cb38974 v2.34.2 2024-02-14 18:55:04 +01:00
the-djmaze
662121d90e Resolve #1433 2024-02-14 18:48:13 +01:00
the-djmaze
2dbcd47a56 Resolve #1432 2024-02-14 18:34:58 +01:00
the-djmaze
7b3102a6b3 Added isSMimeEncrypted() and isSMimeSigned() #259 2024-02-14 02:43:54 +01:00
the-djmaze
3648b3eb60 Resolve #64 2024-02-13 19:44:40 +01:00
the-djmaze
72815f842e Small bugfix for the folder editor popup 2024-02-13 18:25:17 +01:00
the-djmaze
72b481f9c4 Fix english text for ERROR_ON_SAVING_FILE 2024-02-13 18:00:33 +01:00
the-djmaze
6982b57289 Small MailSo cleanup 2024-02-13 17:45:53 +01:00
the-djmaze
f89a1cd3f9 v2.34.1 2024-02-13 14:58:32 +01:00
the-djmaze
b3e1fe1320 Resolve #1430 2024-02-13 14:53:20 +01:00
the-djmaze
9f2b2e50d7 v2.34.0 2024-02-13 13:24:45 +01:00
the-djmaze
e4c7cec7e3 Disable ACL myRights as it is in the Settings -> Folder popup #157 2024-02-13 11:42:46 +01:00
the-djmaze
39c17b6493 Make whole settings folder td clickable 2024-02-13 11:16:07 +01:00
the-djmaze
312f1c3b9b use Folder.unreadEmails() instead of Folder.unreadCount() 2024-02-13 11:11:19 +01:00
the-djmaze
27d119c068 Bugfix: typeCast() number could return NaN 2024-02-13 11:10:56 +01:00
the-djmaze
2a14566679 friendlySize() could return NaN 2024-02-13 10:50:31 +01:00
the-djmaze
306d3ec7b5 Improved ACL handling #157 2024-02-13 10:44:38 +01:00
the-djmaze
7e304daee0 Bugfix: this.error() undefined when hiding folder edit message 2024-02-13 02:17:27 +01:00
the-djmaze
304c67534b Added: support all namespaces 2024-02-13 02:05:38 +01:00
the-djmaze
de7e9d86d3 bugfix: undefined $keyId 2024-02-12 22:30:29 +01:00
the-djmaze
e727c54798 Fix folder ACL checkboxes #157 2024-02-12 20:54:51 +01:00
the-djmaze
32e3f829fa Cleaner ACL list 2024-02-12 20:52:30 +01:00
the-djmaze
b0d4b56cee Some improvements for ACL Support #157 2024-02-12 20:48:43 +01:00
the-djmaze
a0f7114a39 Bugfix: KnockoutJS failed to output text '0' 2024-02-12 20:07:08 +01:00
the-djmaze
905315b164 Bugfix: friendlySize() failed on 0 2024-02-12 20:03:06 +01:00
the-djmaze
ec111defbb Process all IMAP namespaces 2024-02-12 17:58:24 +01:00
the-djmaze
ba55b328ea Workaround Dovecot PREAUTH [CAPABILITY (null)] issue 2024-02-12 17:15:53 +01:00
the-djmaze
7ab9d1a980 Workaround disabled ACL could cause "Disconnected: Too many invalid IMAP commands" #157 2024-02-12 17:14:38 +01:00
the-djmaze
3c464cace5 Resolve #1384 2024-02-12 13:37:51 +01:00
the-djmaze
9933a0e83e Added draft code to handle S/MIME through GnuPG #259 2024-02-12 13:36:12 +01:00
the-djmaze
9cceafcb3e Enable OpenPGP by default #89 2024-02-12 10:35:46 +01:00
the-djmaze
2ed6ccf89c Bugfix: new identity PGP settings incorrect value assignment 2024-02-12 10:32:10 +01:00
the-djmaze
8ab32816e2 Resolve #1404 2024-02-12 02:13:39 +01:00
the-djmaze
355f6158be Bugfix: #342 2024-02-12 01:26:56 +01:00
the-djmaze
7da5692865 Resolve #342 2024-02-12 01:01:19 +01:00
the-djmaze
a45cd5904f Trim white space in PGP armored key #89 2024-02-11 22:09:11 +01:00
the-djmaze
c72c2dbaa4 Added options to Identity for PGP sign and encrypt #89 2024-02-11 21:16:38 +01:00
the-djmaze
4c84c6cdfc Resolve #1427 2024-02-11 20:48:03 +01:00
the-djmaze
ec5d570ac6 Added ko toggle bindingHandler 2024-02-11 20:34:02 +01:00
the-djmaze
17cb093b32 Automaticaly add PGP key from Autocrypt #89 2024-02-11 19:23:09 +01:00
the-djmaze
e28085fbba Added deprecated MIME PGP headers for #89 ? 2024-02-11 18:21:38 +01:00
the-djmaze
62f0bac381 Allow CSP connect-src CORS for keys.openpgp.org to directly fetch PGP keys 2024-02-11 18:08:27 +01:00
the-djmaze
bfb0874c47 Fix for #1427 2024-02-11 17:06:22 +01:00
the-djmaze
7f40c317d0 Define JMAP FolderModel.myRights 2024-02-11 17:00:09 +01:00
the-djmaze
ea55eb13e5 Centralize loading of accounts and identities 2024-02-11 16:40:35 +01:00
the-djmaze
7c1f70c51e Replace some ko.exportSymbol('*') in favour of ko['*']
and drop ko.exportProperty()
2024-02-11 15:37:24 +01:00
the-djmaze
6c144b5a28 Improved handling of visible folders 2024-02-11 15:03:19 +01:00
the-djmaze
7ca5991041 KnockoutJS use Symbol for isObservableArray() 2024-02-11 14:44:47 +01:00
the-djmaze
5225b62a0a Simplify generating folderListVisible 2024-02-11 04:31:32 +01:00
the-djmaze
bb906e61ab Make time_zone a select list due to PEBKAC #1417 #1426 2024-02-11 04:10:30 +01:00
the-djmaze
e1a51ba69c Add idea for #1427 2024-02-11 03:52:17 +01:00
the-djmaze
a25d35d6df Resolve #1405 2024-02-09 02:39:00 +01:00
the-djmaze
d1154df74d Resolve #1415 2024-02-08 18:48:54 +01:00
the-djmaze
81f8fe3019 Resolve #1425 2024-02-08 18:12:32 +01:00
the-djmaze
43cbbd51c1 Also allow backup PGP keys on server on import #89 2024-02-08 18:01:15 +01:00
the-djmaze
83aa65981b Added link to schema.org #1422 2024-02-08 17:41:50 +01:00
the-djmaze
a056631cef Update example extension/plugin 2024-02-08 00:46:16 +01:00
the-djmaze
89b6e84fea Deduplicate and sort OpenPGP.js key stores #89 2024-02-08 00:08:24 +01:00
the-djmaze
d832117ae4 Disabled support for Nextcloud OpenID Connect
https://github.com/the-djmaze/snappymail/issues/1420#issuecomment-1933045917
2024-02-07 23:35:45 +01:00
the-djmaze
8f037b4b46 Use input type="search" 2024-02-07 02:42:00 +01:00
the-djmaze
a7f764546f Fix pgp import button style #89 2024-02-07 02:38:46 +01:00
the-djmaze
f8002151be Added button to import keys from server into OpenPGP.js #89 2024-02-07 02:29:22 +01:00
the-djmaze
6c01db395d Added support to lookup public keys online #89 2024-02-07 01:55:52 +01:00
the-djmaze
bac6c2d332 More log debug messages for #1420 2024-02-07 01:17:26 +01:00
the-djmaze
59fea00a31 Redesign Nextcloud OIDC login #1420 2024-02-06 20:31:50 +01:00
the-djmaze
66c9091b88 Add more debug messages for #1420 2024-02-06 19:57:00 +01:00
the-djmaze
f0d97b52d9 Support JSON-LD #1422 2024-02-06 19:52:00 +01:00
the-djmaze
a46484755b Added Autoconfig as extension 2024-02-06 18:43:33 +01:00
the-djmaze
728286d16c Cleanup some mail address parsing 2024-02-06 18:31:11 +01:00
the-djmaze
04a78ad8bd Resolve #1294 2024-02-06 17:00:48 +01:00
the-djmaze
d55ce60cc5 Resolve #1225 by using optional link tracking 2024-02-06 16:05:17 +01:00
the-djmaze
d2c59d2e1c Change for #1420 2024-02-06 14:24:56 +01:00
the-djmaze
19946fc551 Let Autoconfig also use Microsoft's autodiscover 2024-02-06 14:17:36 +01:00
the-djmaze
d6be75e39d Messages don't need generateUid() either 2024-02-06 12:09:17 +01:00
the-djmaze
ee6654474d No use for contacts generateUid() 2024-02-06 12:07:06 +01:00
the-djmaze
453e9b0f3e Resolve #1411 2024-02-06 12:05:30 +01:00
the-djmaze
e5e6ad8aac Merge IMAP login SCRAM* with PLAIN 2024-02-06 11:50:47 +01:00
Maarten
c365ffedf3
Merge pull request #1424 from tinola/master
Update admin.json
2024-02-06 11:06:17 +01:00
tinola
dc2a72c756
Update admin.json 2024-02-06 07:19:01 +01:00
the-djmaze
83659ff62d Drop the bSearchSecretWords param from logger 2024-02-05 22:30:23 +01:00
the-djmaze
e1d95f8632 Changes for #1420 to detect OIDC 2024-02-05 21:40:30 +01:00
the-djmaze
cbcab5b981 Bugfix: domain autoconfig regular expression is too large 2024-02-05 21:29:25 +01:00
the-djmaze
3ec93d11ea Bugfix domain autoconfig error 2024-02-05 20:52:33 +01:00
the-djmaze
8c3a4b4fc7 Improved style of Admin -> Domain -> Domain description 2024-02-05 20:42:01 +01:00
the-djmaze
8948d22095 This might solve #1420 ? 2024-02-05 20:16:25 +01:00
the-djmaze
5e0d52b9e7 Added domain autconfig detection of @benbucksch
https://datatracker.ietf.org/doc/draft-bucksch-autoconfig/
2024-02-05 19:56:58 +01:00
the-djmaze
d4cdfb8fa5 Added draft code for FUZZY search RFC 6851 2024-02-05 16:12:56 +01:00
the-djmaze
a9669e430f Added FlightReservation example of @vkrause for #1422 2024-02-05 15:27:13 +01:00
the-djmaze
be633f78a7 Add some basic support for Linked Data (Structured Email) #1422 2024-02-05 14:52:23 +01:00
the-djmaze
ea07ea45b8 Move docker examples to sub directory 2024-02-05 14:26:23 +01:00
the-djmaze
809fca73a0 Extract WYSIWYG code from Html.js into HtmlEditor.js 2024-02-05 14:10:58 +01:00
the-djmaze
2084913a4d Rename moment to time as it has nothing todo anymore with momentjs
Change some observables to static as they never change later
2024-02-05 01:15:05 +01:00
the-djmaze
673126ae8a Resolve #1416 2024-02-05 00:36:07 +01:00
the-djmaze
b35eab77be Merge branch 'master' of github.com:the-djmaze/snappymail 2024-02-04 23:49:14 +01:00
the-djmaze
c04a5da865 Uncaught exception: Exception: DateTimeZone::__construct(): Unknown or bad timezone (UTC+1) #1417 2024-02-04 23:48:58 +01:00
the-djmaze
a24a7dbde7
Merge pull request #1418 from tinola/master
Update Polish translation
2024-02-04 23:35:29 +01:00
the-djmaze
be8d302b82 Improved MIME email addresses parse info 2024-02-04 23:25:31 +01:00
the-djmaze
ec9197cb85 Also fix MIME header parsing in JavaScript, read issue #1403 2024-02-04 23:03:53 +01:00
the-djmaze
0914ede3a3 Cleanup Logger a bit 2024-02-03 12:28:06 +01:00
the-djmaze
f105ed3f9d Changed Knockout a bit 2024-02-03 12:06:56 +01:00
tinola
84aa997c62 Update Polish translation 2024-02-02 08:26:02 +01:00
the-djmaze
a352ebff25 Changes for #1412 2024-01-30 19:16:53 +01:00
the-djmaze
9eb5646aec Redesign WYSIWYG handling to allow any editor (quill, tiny, etc. etc.) 2024-01-30 18:16:39 +01:00
the-djmaze
e6db60e76c
Merge pull request #1407 from ner00/master
Update pt/pt-PT translation
2024-01-29 11:31:18 +01:00
the-djmaze
070d10a1d0 Resolve #1408 2024-01-29 11:25:42 +01:00
the-djmaze
0a6ac6613c Resolve #1409 2024-01-29 11:22:19 +01:00
lmperfis
7eba9cf48e Update pt/pt-PT translation 2024-01-25 16:04:40 +00:00
the-djmaze
3a37aad25f Remove unused NameWithDelimitrom() 2024-01-23 16:35:43 +01:00
the-djmaze
91595ef6d5 Resolve ##1403 2024-01-23 16:35:22 +01:00
the-djmaze
4b8ad326fa Cleanup MIME header email address parsing 2024-01-23 14:35:41 +01:00
the-djmaze
443a6df070 Small change to show why saving message to Sent mailbox failed #1397 2024-01-23 14:34:41 +01:00
the-djmaze
29f6b2b743 Move Autocrypt parsing to JavaScript 2024-01-23 10:38:54 +01:00
the-djmaze
b726400f42 Resolve #1402 2024-01-23 10:23:06 +01:00
the-djmaze
5e35e39012 Bugfix: ask/send readReceipt was broken 2024-01-23 10:20:54 +01:00
the-djmaze
61c533a1a6 v2.33.0 2024-01-22 15:11:44 +01:00
the-djmaze
5e012bd66e Bugfix: redesign of addPgpEncrypted() failed 2024-01-22 14:56:05 +01:00
the-djmaze
a80cb495d2 Resolve #1396 2024-01-22 14:34:35 +01:00
the-djmaze
aca3490331 Resolve #1395 and #1394 2024-01-22 14:30:53 +01:00
the-djmaze
69d92ee184 workaround with issue to detect dkim 2024-01-22 14:03:09 +01:00
the-djmaze
f0bb3a8a45 Handle message hasVirus header in JavaScript 2024-01-22 13:33:00 +01:00
the-djmaze
e133cf5ffb Changes for BIMI-Selector #1394 2024-01-22 13:25:04 +01:00
the-djmaze
b7bab3cf21 bugfix: undefined MimePart 2024-01-22 11:07:21 +01:00
the-djmaze
9558456bcf Changes for #1397 2024-01-22 11:07:07 +01:00
the-djmaze
8749d189df cleanup mime header encoding handling 2024-01-22 09:19:45 +01:00
the-djmaze
4d9fb41d73 Cleanup mime header parameter handling 2024-01-22 09:03:34 +01:00
the-djmaze
5747b7add6 Version bump for #1400 2024-01-22 00:05:06 +01:00
the-djmaze
dac5b105ce
Merge pull request #1400 from PhilippMundhenk/master
Automatic login for ProxyAuth plugin, improved security documentation
2024-01-22 00:02:52 +01:00
the-djmaze
58955f792a Changes for BIMI-Selector #1394 2024-01-22 00:01:46 +01:00
the-djmaze
8292c47f7c Return all fetched messages headers in JSON.
This is in preperation of BIMI-Selectors #1394
2024-01-21 23:35:32 +01:00
Philipp Mundhenk
b947db2eb1 added documentation for usage of custom_logout_link 2024-01-21 15:31:32 +01:00
Philipp Mundhenk
59c0f5cc94 documented auto login, improved security documentation 2024-01-21 15:09:31 +01:00
Philipp Mundhenk
081726d764 added automatic login 2024-01-21 14:57:47 +01:00
the-djmaze
55a5fb491a Change SMTP sendRequestWithCheck for future support of RFC's 2024-01-18 03:19:03 +01:00
the-djmaze
48c3d655b4 Merge code to generate MIME PGP parts and MIME Plain parts 2024-01-18 03:17:27 +01:00
the-djmaze
ad985f94e5 Change a weird translation. This should be better 2024-01-17 01:59:44 +01:00
the-djmaze
7cf5edc74a Alsp check global AddressBook.sqlite on ClearUserData() 2024-01-17 01:58:49 +01:00
the-djmaze
b1c435277c Resolve #1393 2024-01-17 01:34:25 +01:00
the-djmaze
2d829178f8 Added feature to use the SQLite AddressBook per login account instead of global.
On by default unless the global AddressBook.sqlite already exists.
2024-01-17 00:55:23 +01:00
the-djmaze
b89a1b309c Bugfix: dataBaseUpgrade always runs on sqlite and pgsql
And split the db schema data into seperate class
2024-01-17 00:12:01 +01:00
the-djmaze
e965d58de0 Resolve #1140 2024-01-16 16:08:22 +01:00
the-djmaze
8f9c199360 Bump Nextcloud extension version 2024-01-16 15:49:15 +01:00
the-djmaze
816a2745bc Resolve #1392 2024-01-16 15:48:47 +01:00
the-djmaze
34e4bad77f Workaround #1392 2024-01-16 15:38:27 +01:00
the-djmaze
e4f3df3bb9
Merge pull request #1390 from PhilippMundhenk/master
implemented ProxyAuth
2024-01-16 01:36:45 +01:00
Philipp Mundhenk
f6eab84d40 added README 2024-01-14 18:22:59 +01:00
Philipp Mundhenk
84f739c72f added encryption 2024-01-14 18:22:41 +01:00
Philipp Mundhenk
ec937a5af1 implemented ProxyAuth 2024-01-14 14:39:23 +01:00
the-djmaze
30ed8dde11 Resolve #1381 2024-01-12 01:56:12 +01:00
the-djmaze
06fdf66748 Resolve #1379 2024-01-12 01:42:00 +01:00
the-djmaze
6b3f76e4ee Login form use method="POST" to prevent uri exposure when javascript fails 2024-01-09 15:56:35 +01:00
the-djmaze
2a3cea63cc KnockoutJS drop unused rateLimit method 2024-01-09 14:52:05 +01:00
the-djmaze
6b3c073ddd Don't watch-js 2024-01-09 01:28:34 +01:00
the-djmaze
c651112cc0 Cleanup some data-bind="" 2024-01-09 01:27:52 +01:00
the-djmaze
f7f3b0d373 Drop the disabled Knockout twoWayBindings 2024-01-08 18:33:37 +01:00
the-djmaze
c9f14318ea Bugfix: knockout title:value was removed, use attr:{title:value} 2024-01-08 18:32:15 +01:00
the-djmaze
e55938b653 Drop support for _ko_property_writers and for two-way binding they must be observables 2024-01-08 05:25:48 +01:00
the-djmaze
81ccee1152 Remove some unused Knockout code 2024-01-08 05:24:15 +01:00
the-djmaze
6a715da1ac Bugfix Sieve rfc5429 2024-01-08 04:55:18 +01:00
the-djmaze
a96ff94c6f Bugfix handling of RainLoop Sieve script 2024-01-03 02:41:42 +01:00
the-djmaze
f3935b1df4 Fix some Sieve parser issues 2024-01-03 01:47:52 +01:00
the-djmaze
62639acc5a Cleanup Sieve RainLoop filter editor 2024-01-03 01:31:44 +01:00
the-djmaze
42bcc0e047 Snappy New Year! 2024-01-02 17:44:34 +01:00
the-djmaze
9ebfa94fec docker hub php83 fails, trying php82 2023-12-31 13:33:31 +01:00
the-djmaze
f96bb39204 Docker hub use alpine linux 3.18.5 2023-12-31 13:29:26 +01:00
the-djmaze
f1350c83b7 docker hub to PHP 8.3 2023-12-31 13:25:06 +01:00
the-djmaze
55020137a9 Improved setup.php error log 2023-12-31 13:09:36 +01:00
the-djmaze
4a2de54c3e Changed some InvalidArgumentException to the better suited ValueError 2023-12-31 13:09:14 +01:00
the-djmaze
4d66c02190 Improve fix for #1373 2023-12-28 01:28:22 +01:00
the-djmaze
0a8dfe7d51 Resolve #1373 2023-12-28 01:23:56 +01:00
the-djmaze
38ef44e1d0 Added github sponsor link to Admin About page 2023-12-27 00:28:54 +01:00
the-djmaze
2467800247 Update funding choices 2023-12-26 23:56:23 +01:00
the-djmaze
b2477f2ce3 v2.32.0 2023-12-26 17:42:56 +01:00
the-djmaze
167c27c1ee Default IMAP message_list_limit to 10000 2023-12-26 17:20:27 +01:00
the-djmaze
b88794b54b Bugfix: Folders array_filter(): Argument #1 ($array) must be of type array, null given 2023-12-26 16:54:29 +01:00
the-djmaze
1a75a624cb Run full UID fetch in background when message_list_limit is set 2023-12-26 16:45:48 +01:00
the-djmaze
ef850e37f7 Cleanup SequenceSet 2023-12-26 16:26:12 +01:00
the-djmaze
501b0daa09 Make MessageListThreadsMap a background task.
Related to #1211
2023-12-26 02:03:49 +01:00
the-djmaze
7baa7af929 DoMessageCopy() return toFolder hash/etag 2023-12-26 00:59:30 +01:00
the-djmaze
508f5cc6e5 Improve Squire with isBrElement() 2023-12-26 00:58:43 +01:00
the-djmaze
98b203a3ca Demo plugin disable delete of messages 2023-12-25 16:07:59 +01:00
the-djmaze
d21b7e754f Cleanup, fix and improve some Squire handling 2023-12-25 16:07:42 +01:00
the-djmaze
4606ddf182 Change for #1360 2023-12-17 23:58:32 +01:00
the-djmaze
1a331dc3ba Some fixes for #1362 2023-12-17 22:42:48 +01:00
the-djmaze
4400af04c7
Merge pull request #1362 from Murena-SAS/dev/lang-fix-nexcloud
make nextcloud language work with snappy
2023-12-17 22:34:02 +01:00
the-djmaze
adaac297f9
Merge pull request #1363 from hampoelz/nc-theme-fixes
Nextcloud Theme fixes and improvements
2023-12-17 22:32:00 +01:00
hampoelz
e67776adf4 fix: attachment list simple 2023-12-17 14:02:03 +00:00
hampoelz
aae22db190 improve: message-list toolbar alignment 2023-12-17 12:36:45 +00:00
hampoelz
64c9d1cd40 fix: Nextcloud calendar picker 2023-12-17 12:04:46 +00:00
hampoelz
d260d97136 fix: Nextcloud file picker in Firefox 2023-12-17 11:54:33 +00:00
hampoelz
6bffd8e859 fix: first and last tabs label margin 2023-12-17 11:37:00 +00:00
hampoelz
2e892ff083 fix: login screen textbox padding 2023-12-17 11:35:39 +00:00
hampoelz
4ad603eeb1 fix: checkboxes in openpgp generate popup 2023-12-17 11:34:05 +00:00
hampoelz
a8647cbcae fix: remove checkbox outline on focus 2023-12-17 11:32:26 +00:00
hampoelz
4521f07acf fix: email addresses input dark theme 2023-12-17 11:28:43 +00:00
the-djmaze
dd46434895 Resolve #1361 2023-12-14 00:08:41 +01:00
Avinash Gusain
0a4f83f507 use getLanguages 2023-12-13 16:28:25 +05:30
Avinash Gusain
d1e6ea379e use getLanguages 2023-12-13 16:07:44 +05:30
Avinash Gusain
3a46916ad9 set default lang 2023-12-13 15:39:53 +05:30
Avinash Gusain
184d3fe7d6 nextcloud snapppy lang fix 2023-12-13 10:26:03 +05:30
the-djmaze
1d652e0ce3 Backup plugin don't use tar stream yet (was a test) 2023-12-12 22:55:02 +01:00
the-djmaze
f1c6ff3f2a Backup plugin use tar stream 2023-12-12 22:52:31 +01:00
the-djmaze
d1bab197c1 Backup using own TAR stream when PharData not available 2023-12-12 22:51:57 +01:00
the-djmaze
927c4e6ed1 Properly set CACHEDIR.TAG from http://www.brynosaurus.com/cachedir/ 2023-12-12 21:44:16 +01:00
the-djmaze
9fbe7e8d13 Draft rfc4467 for #288 2023-12-12 14:44:19 +01:00
the-djmaze
e0fa23822c Set static and themes folder to 0755 2023-12-12 14:11:53 +01:00
the-djmaze
c823ef6eae Rename messageVisibility to messageVisible 2023-12-12 14:11:25 +01:00
the-djmaze
7f0315dae4 Small indent fix 2023-12-12 01:08:04 +01:00
the-djmaze
2916583d0b Resolve #1332 2023-12-11 23:46:45 +01:00
the-djmaze
638755bef3 Theme NextcloudV25+ spacing to tabs 2023-12-11 23:08:14 +01:00
the-djmaze
2788ff3bcf Fix NExtcloudV25+ theme padding 2023-12-11 23:07:17 +01:00
the-djmaze
339ed3d44e Some dutch translations 2023-12-11 22:45:16 +01:00
the-djmaze
b4c6a3f18e Nextcloud use NextcloudV25+ theme by default 2023-12-11 22:45:00 +01:00
the-djmaze
c9d0a530c2 Provide Nextcloud dashboard widget code 2023-12-11 22:40:30 +01:00
the-djmaze
02366067c0 Fix upgrade issue 2023-12-11 16:46:50 +01:00
the-djmaze
f490c53919 Bugfix: Nextcloud FilterLanguage wrong param order #1352 2023-12-11 15:46:08 +01:00
the-djmaze
f47b77347d Small translate improvement 2023-12-11 13:50:36 +01:00
the-djmaze
8ce2a244e9 https://github.com/the-djmaze/snappymail/issues/1353#issuecomment-1849049228 2023-12-11 13:38:05 +01:00
the-djmaze
c3f7827683 All CSS font-size to % instead of px 2023-12-11 13:34:23 +01:00
the-djmaze
c1c851c238 Merge getNameAndEmailHelper() into newMessageCommand() 2023-12-11 11:50:02 +01:00
the-djmaze
08257f47cb Improved #1286 to be in line with all code 2023-12-11 11:38:38 +01:00
the-djmaze
65d469f71a
Merge pull request #1286 from rezaei92/master
Sending group email to all contact addresses
2023-12-11 11:07:30 +01:00
the-djmaze
bfb914132e Small change for #1350 2023-12-11 11:07:10 +01:00
the-djmaze
6f8abf33c8
Merge pull request #1350 from attike/attike-snappymail-plugins
New Plugin to handle multible identities: Use From-Address-Account for smtp
2023-12-10 17:05:07 +01:00
the-djmaze
4bb1e24222 Squire use double quotes as in original source 2023-12-10 17:04:01 +01:00
the-djmaze
c61f4a6918 Resolve #1042 2023-12-10 17:02:07 +01:00
the-djmaze
3db4827354 Removed title binding handler 2023-12-09 20:05:57 +01:00
the-djmaze
e3219a2636 Improved IMAP Capability detection 2023-12-09 19:37:28 +01:00
the-djmaze
ddc953f4fa v2.31.0 2023-12-08 22:24:04 +01:00
the-djmaze
7d45dce7ce Updated french language by @Cwpute 2023-12-08 21:57:07 +01:00
the-djmaze
91a505ea02 Resolve #1356 2023-12-08 21:48:03 +01:00
the-djmaze
9d7f93f304 Resolve #1354 2023-12-08 21:44:25 +01:00
the-djmaze
6d58b1efb5 Changed the squire code a bit 2023-12-08 01:33:27 +01:00
the-djmaze
e56415aa51 Different solution to use Nextcloud languages #1293 2023-12-08 01:28:08 +01:00
the-djmaze
8984726fd7 Added more language helpers 2023-12-08 01:09:58 +01:00
the-djmaze
66d9300b61 Cleaner language detection 2023-12-08 00:58:42 +01:00
attike
ca894d4427
Create README for new plugin 2023-12-07 00:59:18 +01:00
attike
051af6132e
new Plugin: SmtpUseFromAdrAccountPlugin 2023-12-07 00:57:08 +01:00
the-djmaze
a4724df69e
Merge pull request #1347 from SergeyMosin/reply-forward-indicators-fix
fix: flag indicators are added to wrong message when another message is selected while composing
2023-12-07 00:19:45 +01:00
the-djmaze
9675d03568 Resolve https://github.com/fastmail/Squire/issues/449 2023-12-07 00:07:31 +01:00
the-djmaze
f008f948d2 Fix some Squire editors to merge with v2.2.5 2023-12-07 00:05:01 +01:00
Sergey Mosin
853727541f fix: flag indicators are added to wrong message when another message is selected while composing 2023-12-05 14:08:31 -05:00
the-djmaze
fa15ff6ba4 Draft idea for custom notification sounds 2023-12-05 16:18:36 +01:00
the-djmaze
5d6fb0c705 Track the inUndoState 2023-12-05 16:18:17 +01:00
the-djmaze
7e2cc69a23 Resolve #1296 2023-12-05 15:00:09 +01:00
the-djmaze
e2149ea94c Sync some Squire code with main project code 2023-12-05 02:02:55 +01:00
the-djmaze
9198ce187b Changes for #1296
Can be tested at https://snappymail.eu/demo/
2023-12-04 17:45:57 +01:00
the-djmaze
039e2252de range.collapse(false) is default 2023-12-04 16:20:25 +01:00
the-djmaze
a5d749ec05 Squire cleanTree() use while instead of for 2023-12-04 16:19:28 +01:00
the-djmaze
280660314f Squire drop support for iPod 2023-12-04 15:47:18 +01:00
the-djmaze
58666c0df5 Resolve #1344 2023-12-04 13:47:45 +01:00
the-djmaze
28ee711938 Rearrange squire source code to better diff with originals 2023-12-04 13:31:47 +01:00
the-djmaze
7441b64de0 Bugfix: Nextcloud Call to undefined method RainLoop\\Model\\MainAccount::ImapConnectAndLoginHelper() 2023-12-04 03:39:51 +01:00
the-djmaze
cbfb83e4db Update Nextcloud screenshot 2023-12-04 02:39:45 +01:00
the-djmaze
2548f30a2a SnappyMail failed due to Nextcloud Symfony polyfill 2023-12-04 02:30:39 +01:00
the-djmaze
0c6895f7d7 v2.30.0 2023-12-04 02:03:57 +01:00
the-djmaze
95ec5e6bb0 Improve security of SensitiveString 2023-12-04 01:36:21 +01:00
the-djmaze
b7b266defc Merge branch 'feature/1343-secure-parameters' 2023-12-04 00:52:50 +01:00
the-djmaze
7bd76a19b5 Set more #[\SensitiveParameter] for #1343 2023-12-04 00:41:20 +01:00
the-djmaze
f869ed5121 More improvements for #1343 2023-12-04 00:25:26 +01:00
the-djmaze
870d78d5a3 Split PHP polyfills from include.php 2023-12-03 23:12:33 +01:00
the-djmaze
089c229213 Bugfix: account sSmtpPassword was wrong 2023-12-03 23:09:46 +01:00
the-djmaze
13f8ab5caf Improved the idea for #1343 2023-12-03 23:08:44 +01:00
the-djmaze
be70870b72 Split PHP polyfills from include.php 2023-12-03 22:09:56 +01:00
the-djmaze
cabc652aa2 Simple idea for #1343 2023-12-03 21:42:30 +01:00
the-djmaze
c61c3c6ce7 Revert #1343
PHP Fatal error: Attribute "SensitiveParameter" cannot target property
2023-12-03 21:34:29 +01:00
the-djmaze
84169179bc
Merge pull request #1343 from edlerd/patch-1
Mark Account password as sensitive information
2023-12-03 21:20:17 +01:00
the-djmaze
09bd6d5335 Disable snappymail/v/0.0.0/static/.htaccess for now as many servers have issues with it 2023-12-03 21:14:20 +01:00
David Edler
758ce9805e
Mark Account password as sensitive information, so it won't get included in log files
see https://www.php.net/manual/en/class.sensitiveparameter.php
2023-12-03 20:57:29 +01:00
the-djmaze
20058edd71 dragData already set by setDragAction 2023-12-03 20:40:54 +01:00
the-djmaze
ef5c3f73a5 Don't disable STARTTLS 2023-12-03 17:57:49 +01:00
the-djmaze
2400c6def8 Use SASL-IR for #1245 2023-12-03 17:57:27 +01:00
the-djmaze
56a5f29f26 Also allow disable imap login capabilities 2023-12-03 17:44:26 +01:00
the-djmaze
465d7ed673 Admin -> Domain after login test show all capabilities to disable 2023-12-03 17:36:41 +01:00
the-djmaze
cf910c678b Revamp Domains Settings IMAP disabled capabilities to extend it 2023-12-03 17:08:25 +01:00
the-djmaze
e6b2cdfcdf Merge branch 'master' of github.com:the-djmaze/snappymail 2023-12-03 12:59:13 +01:00
the-djmaze
b5552c1408 Resolve #1245 2023-12-03 12:58:54 +01:00
the-djmaze
a5da1eee65
Merge pull request #1341 from hguilbert/patch-12
Update FR user.json
2023-12-03 12:25:08 +01:00
hguilbert
67e1e6ab05
Update FR user.json 2023-12-02 07:12:20 +01:00
the-djmaze
57c000908f Resolve #951 2023-12-01 23:18:08 +01:00
the-djmaze
7e30c50dfe Merge viewPopupMessage() into popupMessage() 2023-12-01 23:00:39 +01:00
the-djmaze
004de4e48c Added some CSP info 2023-12-01 22:59:36 +01:00
the-djmaze
b0fea1e7c1 Hint for #1177 2023-12-01 01:28:05 +01:00
the-djmaze
f8d990a25f Resolve #1339 2023-12-01 01:15:19 +01:00
the-djmaze
e9ad4e38c2 Fix plugin admin permission 2023-11-30 00:10:16 +01:00
the-djmaze
db629bf29c Small improvement for #1338 2023-11-29 23:07:50 +01:00
the-djmaze
fb8d557099 Resolve #1338 2023-11-29 22:45:40 +01:00
the-djmaze
d75f64904f Bugfix: Creation of dynamic property SnappyMail\Stream\ZipEntry::$compression is deprecated 2023-11-29 22:17:30 +01:00
the-djmaze
b05e4f609c Drop unused ImapClient::IsSupported() 2023-11-29 22:00:58 +01:00
the-djmaze
56a0fd63ce Drop obsolete $_ENV['SNAPPYMAIL_NEXTCLOUD'] 2023-11-28 18:40:01 +01:00
the-djmaze
3db4ff2a82 Some code for Nextcloud "unread mail" widet #569 2023-11-28 18:39:42 +01:00
the-djmaze
c1017499e4 Improved example plugin to test for admin section 2023-11-28 10:25:36 +01:00
the-djmaze
603d48f739 Make addJsonHook() $sFunctionName param optional 2023-11-28 10:25:13 +01:00
the-djmaze
44ddb2d78e Remove unused Plugin->replaceTemplate 2023-11-28 09:40:39 +01:00
the-djmaze
5412348a65 Example code for #1042 2023-11-27 18:06:12 +01:00
the-djmaze
5effa242ae Improved Zip::addRecursive 2023-11-27 18:05:00 +01:00
the-djmaze
086f5ebb06 Bugfix: handling services images failed 2023-11-27 17:05:30 +01:00
the-djmaze
fdc21f26fc Bugfix: json.after-* hook didn't send $aResponse as recursive array 2023-11-27 17:04:36 +01:00
the-djmaze
daf1e2769f Resolve #1289 2023-11-27 15:07:02 +01:00
the-djmaze
771c6f7559 Idea to fetch all UID's in background 2023-11-27 14:36:46 +01:00
the-djmaze
612aa09071 Enable thread view in demo #445 2023-11-27 02:33:43 +01:00
the-djmaze
7135af995d Extend example extension code with more details 2023-11-27 01:51:23 +01:00
the-djmaze
5e2d9c4fb0 set dropdown menu initDom to null 2023-11-26 18:06:42 +01:00
the-djmaze
77d2d099e2 Resolve Add a "Move to" button inside message view #1295 2023-11-26 18:06:19 +01:00
the-djmaze
eb802135a9 Add folder full name to message uids set 2023-11-26 17:52:20 +01:00
the-djmaze
df7888e3a6 Remove the openDropdownTrigger and replace some with a better toggle 2023-11-26 17:50:18 +01:00
the-djmaze
9d876d1146 Draft code: on message view set hash 2023-11-26 15:11:01 +01:00
the-djmaze
9e124f0572 IMAP ENABLE must be supported? 2023-11-26 14:48:21 +01:00
the-djmaze
787907f42a Define RFC 8970 PREVIEW 2023-11-26 03:04:34 +01:00
the-djmaze
00302d2064
Merge pull request #1336 from leojonathanoh/enhancement/docker-add-more-php-extensions
Enhancement (docker): Add more php extensions
2023-11-26 02:57:32 +01:00
the-djmaze
85c5168cb6
Merge pull request #1335 from leojonathanoh/fix/development-fix-self-signed-certs-verification-in-docker-compose.yml
Fix (development): Fix self-signed certs verification in `docker-compose.yml`
2023-11-26 02:57:24 +01:00
the-djmaze
a2b638dc55 Remove all String.trim() from Sieve RainLoop script #1329 2023-11-26 02:55:08 +01:00
the-djmaze
bcb6d30023 More in line with Squire v2.2.5 2023-11-26 02:47:40 +01:00
the-djmaze
0423c50c51 Resolve #1337 2023-11-26 02:30:08 +01:00
the-djmaze
fc0074dfd2 Squire: unused root 2023-11-26 02:29:48 +01:00
the-djmaze
1db1bdf675 Squire: Remove redundant <span> after replacing styles
e4ae7c2b81
2023-11-26 02:20:26 +01:00
the-djmaze
beb2c7f577 Squire: Handle empty nodes in moveRangeBoundariesDownTree
b85754ca50
2023-11-26 02:16:15 +01:00
Leonard Jonathan Oh
b58006503c Enhancement (docker): Add more php extensions 2023-11-24 12:31:31 +00:00
Leonard Jonathan Oh
25bd3d441e Fix (development): Fix self-signed certs verification in docker-compose.yml
This allows `Require verification of SSL certificate` to work as expected.
2023-11-24 10:47:32 +00:00
the-djmaze
677e1863e5 Resolve #1331 2023-11-24 00:44:11 +01:00
the-djmaze
50f73dde75
Merge pull request #1334 from leojonathanoh/enhancement/ci-create-separate-workflow-for-docker-pr-builds
Enhancement (ci): Use separate workflow for PR docker builds
2023-11-24 00:22:57 +01:00
the-djmaze
eb6ac32798
Merge pull request #1327 from leojonathanoh/enhancement/development-update-docker-compose.yml-with-working-stack
Enhancement (development): Update `docker-compose.yml` with working stack
2023-11-24 00:21:37 +01:00
the-djmaze
23d1eb0e28
Merge pull request #1330 from cm-schl/master
Update German Translation
2023-11-24 00:20:28 +01:00
the-djmaze
5047c3c6b8 Resolve #1328 2023-11-24 00:16:08 +01:00
Leonard Jonathan Oh
7183e2614e Enhancement (ci): Use separate workflow for PR docker builds
This is so the `docker` workflow status is not polluted with PR builds.
2023-11-23 22:44:01 +00:00
Leonard Jonathan Oh
1ad64e9fc9 Enhancement (development): Update docker-compose.yml with working stack
This is for those who want to try out the full stack in development.

```sh
gulp  # Generate static assets
docker-compose up --build
```
2023-11-23 21:57:43 +00:00
leo
ee99590a63
Enhancement (docker): Add more archs (#1321)
* Enhancement (docker): Add `linux/arm64` arch

* Fix
2023-11-23 20:21:47 +01:00
cm-schl
aabce7c951
Update admin.json 2023-11-23 16:34:41 +01:00
the-djmaze
bde5060008 Revert #1323
As rfc5228 implementations MUST support the "keep", "discard", and "redirect" actions.
2023-11-23 01:46:46 +01:00
the-djmaze
0736782a44 Resolve #1323 2023-11-23 01:34:55 +01:00
the-djmaze
7dc4002fb4 Bugfix: loading integrity.php failed 2023-11-23 00:48:20 +01:00
leo
60700a56e9
Fix (docker): Use 127.0.0.1 instead of localhost to test snappymail in entrypoint.sh (#1325)
* Fix (docker): Use `127.0.0.1` instead of `localhost` to test snappymail in `entrypoint.sh`

* Run build on PR but don't push

* Login only on tags

* Fix test
2023-11-23 00:36:36 +01:00
the-djmaze
60964c9869 Activate OLDER and YOUNGER of RFC 5032 2023-11-23 00:35:52 +01:00
the-djmaze
ad3d8c87ec Revert "Fix: listen on IPv6 socket as well in container (#1324)"
This reverts commit 1e597f9cd7.
2023-11-23 00:31:32 +01:00
the-djmaze
6f2f89c365 Add support for IMAP WITHIN https://datatracker.ietf.org/doc/html/rfc5032 2023-11-23 00:11:30 +01:00
Andriy Kushnir
1e597f9cd7
Fix: listen on IPv6 socket as well in container (#1324) 2023-11-22 23:25:18 +01:00
the-djmaze
79348f975f Added some IMAP connection examples 2023-11-22 18:18:29 +01:00
the-djmaze
cb2f641378 Put domain capabilities in ?admin domain test response 2023-11-22 17:45:24 +01:00
the-djmaze
0dfcc52728 No need to check for libxml_use_internal_errors 2023-11-22 12:52:56 +01:00
the-djmaze
288eedf6a1 Improved test output with colors 2023-11-22 12:52:43 +01:00
the-djmaze
3bff3555a0 Added a test due to Failed loading libs.min.js #358, #862, #890, #895, #1238, #1320 2023-11-22 12:47:14 +01:00
the-djmaze
4f5db79e27 Activate RFC 4314 MYRIGHTS 2023-11-22 04:50:01 +01:00
the-djmaze
4c0b0b102a Prioritize LIST-EXTENDED over LSUB (LSUB deprecated in IMAP4rev2) 2023-11-22 04:09:26 +01:00
the-djmaze
5cdbba8da0 Support \noinferiors to disallow creating subfolders 2023-11-22 04:07:57 +01:00
the-djmaze
d74407f36b Resolve #1318 2023-11-22 00:13:22 +01:00
the-djmaze
40a352c3c0 No {{sha}} in docker image names? 2023-11-22 00:08:45 +01:00
the-djmaze
9e2d8d02b9 Update changelog 2023-11-21 23:54:42 +01:00
the-djmaze
9ee2f46a99 v2.29.4 2023-11-21 23:49:16 +01:00
the-djmaze
a0eac266f7 Resolve #1319 2023-11-21 23:47:35 +01:00
the-djmaze
aa9888d2df Drop application.ini for Docker #965 2023-11-21 21:10:33 +01:00
the-djmaze
b77bf0745e Update README with correct docker workflow images and urls 2023-11-21 20:53:28 +01:00
the-djmaze
e10bc516fe v2.29.3 2023-11-21 16:01:47 +01:00
the-djmaze
f6764b3616 Resolve #1284 2023-11-21 14:19:54 +01:00
the-djmaze
50fef1cf69 small code cleanup 2023-11-21 13:56:16 +01:00
the-djmaze
9fcf2658d0 docker hub is djmaze/snappymail 2023-11-21 13:41:41 +01:00
the-djmaze
81a1b12005 Only build docker images on release tags 2023-11-21 13:12:44 +01:00
the-djmaze
366ef575f1 Remove TODO from docker workflow 2023-11-21 12:56:21 +01:00
the-djmaze
9ded40ba9c Idea to prevent exit inside Nextcloud 2023-11-21 00:13:22 +01:00
the-djmaze
8247357184 Some changes for #1293 2023-11-20 22:40:33 +01:00
the-djmaze
930be49775 Resolve #1008 2023-11-20 15:50:03 +01:00
leo
24dbff999e
Enhancement: Add Docker Hub image (#965)
* Enhancement: Add Docker Hub image

* Push to ghcr.io

* Add all `org.opencontainers.image.xxx` labels using `--label` instead of `LABEL`

* Change `php-fpm` to listen on `:9000` to expose prometheus metrics via `php-fpm_exporter`

* Include `yarn.lock` to speed up builds

* Reorder

* Use correct sha for pr

* Add logging before overriding values in config

* Add `DEBUG=true` env var for verbose `entrypoint.sh` logs

* Print php exception when snappymail fails to generate data directory and config file on the very first time

* Log snappymail version

* Fix COPY statement

* Add .dockerignore

* Add `USER` and `ENTRYPOINT`

* Update `.dockerignore`

* Add docker image test

* Push only if image test succeeds

* Log when startup is successful

* Use plain `docker build` in `build_and_test.sh`

* Fix test output
2023-11-20 15:01:26 +01:00
the-djmaze
6552a93989 Changes for #929 2023-11-20 12:50:47 +01:00
the-djmaze
87381e2e4d Resolve #1302 2023-11-17 00:37:21 +01:00
the-djmaze
36c8b97cb1 Merge branch 'master' of github.com:the-djmaze/snappymail 2023-11-17 00:09:00 +01:00
the-djmaze
e918889c3b Resolve #1306 and #1313 due to localStorage failure 2023-11-17 00:08:32 +01:00
the-djmaze
e7d7ca48e4
Merge pull request #1301 from SergeyMosin/mailbox-uri-fix
Fix: '#/mailbox/folder/mUID/search' uri/route handling
2023-11-15 00:42:49 +01:00
the-djmaze
c8baabf8d9 Sabre/Xml 4.0.4 for #1311 2023-11-14 20:41:46 +01:00
the-djmaze
70a2ebb671 Sabre/VObject 4.5.4 for #1311 2023-11-14 20:25:39 +01:00
the-djmaze
90a657c0fb Merge branch 'master' of github.com:the-djmaze/snappymail 2023-11-14 17:13:01 +01:00
the-djmaze
2611a2e067 v2.29.2 2023-11-14 17:12:42 +01:00
the-djmaze
442c4f5eb5
Merge pull request #1304 from tkasch/reply-fix
Fix threading view in Thunderbird (others?)
2023-11-14 17:05:00 +01:00
the-djmaze
85b4e23d31
Merge pull request #1307 from robertoszek/master
add video-on-login-screen plugin
2023-11-14 17:02:03 +01:00
the-djmaze
13c23141ee Resolve #1303
And STATUS SIZE is part of RFC 8438, not RFC 9051
2023-11-14 16:49:38 +01:00
the-djmaze
9bdd7d5564 Define sortMode inside addObservablesTo() 2023-11-14 11:28:50 +01:00
the-djmaze
9bb2399e47 Resolve #1308 2023-11-14 11:14:40 +01:00
robertoszek
b34d87a209
add video-on-login-screen plugin 2023-11-09 21:24:48 +01:00
Torsten Kasch
cdd74c8f20 Fix threading view in Thunderbird (others?)
Replies sent via SnappyMail break thread view in Thunderbird
due to not standard-compliant Reply-To and References headers.

* Due to the long IDs, the headers `Reply-To`, `References` (and `Messge-ID`)
  are split between the header name and its value. According to section RFC5322,
  section 2.2.3, this may be legal but it obviously causes problems.

* On subsequent replies, the parent's ID gets prepended to the `References`
  header. Section 3.6.4 of the same RFC specifies that the ID should be
  appended to that header.
2023-11-08 16:35:46 +01:00
Sergey Mosin
0bd3545a34 improve: nextcloud iframe mode unified search result click handling 2023-11-07 09:34:26 -05:00
Sergey Mosin
4b26317be8 fix: '#/mailbox/folder/mUID/search' URI does not show the message 2023-11-07 09:34:21 -05:00
the-djmaze
09e3c7bec6 Rename FolderUserStore.folderListError to FolderUserStore.error 2023-10-31 01:39:40 +01:00
the-djmaze
f097c8bb92 Rename folderListOptimized to optimized 2023-10-31 01:38:09 +01:00
the-djmaze
1a5ff4772d Drop unused AccountUserStore.signature
Drop debounce from AccountUserStore.loading
2023-10-31 01:36:41 +01:00
Mohammad Rezaei
c402d90256 Improve the group mail features styles 2023-10-29 11:05:33 +03:30
the-djmaze
36789bd3b5 Cleanup knoin 2023-10-24 17:25:09 +02:00
the-djmaze
e6a60b879e No need for __dom property 2023-10-24 17:07:14 +02:00
the-djmaze
bd737a82bf Improve solution for #1241 2023-10-24 11:43:47 +02:00
the-djmaze
0064a44031 https://github.com/the-djmaze/snappymail/pull/629#issuecomment-1752025230 2023-10-24 00:56:29 +02:00
the-djmaze
adc300d636 Resolve #1241 2023-10-24 00:51:32 +02:00
the-djmaze
1bf252ad7e Revert #1241 due to #1283 2023-10-24 00:42:04 +02:00
Mohammad Rezaei
73dd4677da Sending group email to all contact addresses 2023-10-16 15:41:28 +03:30
the-djmaze
9a4b73e819 Resolve #1270 2023-10-08 14:59:03 +02:00
the-djmaze
8fda2f4955 No need to check for !oMoveFolder && !bDelete 2023-10-08 14:45:50 +02:00
the-djmaze
bbf45ea979 Resolve #1274 2023-10-08 14:45:20 +02:00
the-djmaze
b3309f7b4e Cleanup messagelist UpOrDown handling 2023-10-08 14:07:02 +02:00
the-djmaze
59f9ccdbdc Remove messagelist UpOrDown delay 2023-10-08 14:03:32 +02:00
the-djmaze
231ccb1e43 Cleanup and simplify messageList UpOrDown handling 2023-10-08 13:57:46 +02:00
the-djmaze
8841464f84 Remove unused returnValue 2023-10-08 12:30:38 +02:00
the-djmaze
04e2869953 Nextcloud plugin v2.25 2023-10-08 12:30:25 +02:00
the-djmaze
845d1d9fb3
Merge pull request #1263 from mayswind/master
update Chinese translation
2023-10-04 01:18:05 +02:00
the-djmaze
94f64a6e3f
Merge pull request #1266 from theronakpatel/createCalendarListItem-class-reposition
Create calendar list item class reposition
2023-10-03 21:09:01 +02:00
Ronak Patel
f0d90db640 Change of class position createCalendarListItem 2023-10-03 09:49:03 -07:00
Ronak Patel
5200917e0a Change of class position createCalendarListItem 2023-10-03 09:48:22 -07:00
Ronak Patel
8e485c3cab Change of class position createCalendarListItem 2023-10-03 09:47:57 -07:00
Ronak Patel
019a5024f9 Change of class position createCalendarListItem 2023-10-03 09:46:03 -07:00
MaysWind
ad17df8653 update Chinese translation 2023-10-03 20:58:46 +08:00
the-djmaze
9b26d0f60a v2.29.1 2023-10-02 18:42:13 +02:00
the-djmaze
e1649d0361 Drop .actionHandle 2023-10-02 18:35:59 +02:00
the-djmaze
57b804f3a3 Bugfix: using messages list checkboxes failed 2023-10-02 18:34:33 +02:00
the-djmaze
396caabdaa Bugfix: flagParent failed due to my change for #1248 2023-10-02 18:05:12 +02:00
the-djmaze
a25350aa60 v2.29.0 2023-10-02 17:05:42 +02:00
the-djmaze
d4e76fb42c Improved solution for #1241 2023-10-02 16:36:22 +02:00
the-djmaze
edad4ac025 Resolve #1241 2023-10-02 16:15:29 +02:00
the-djmaze
26b7abf893 Other solutions for nextcloud auto login #1247 due to a TOTP conflict 2023-10-02 15:51:19 +02:00
the-djmaze
31d50cf67e Remove spacing 2023-10-02 15:38:02 +02:00
the-djmaze
d0e6a78f72 Bump version #1251 2023-10-02 15:22:24 +02:00
the-djmaze
611c5f2631 Resolve #1250 2023-10-02 14:46:26 +02:00
the-djmaze
1d27c22085 Resolve #1251 2023-10-02 14:41:27 +02:00
the-djmaze
6b0e6ec02a Improved selector changes of #1248 2023-10-02 12:47:47 +02:00
the-djmaze
63d0d138e6 Simplify change of #1247 2023-10-02 12:26:34 +02:00
the-djmaze
7a49d55736
Merge pull request #1248 from SergeyMosin/some-fixes
Some fixes
2023-10-01 11:46:05 +02:00
the-djmaze
775faa9d79 #1243 version bump 2023-10-01 11:18:37 +02:00
the-djmaze
ebf16393fc
Merge pull request #1243 from Alphix/patch-1
[ldap-contacts-suggestions] Shorten overlong label
2023-10-01 11:15:48 +02:00
the-djmaze
4cc1e8429e
Merge pull request #1247 from SergeyMosin/some-improvements
Some improvements
2023-10-01 11:13:55 +02:00
the-djmaze
c41e95dc3b
Merge pull request #1259 from theronakpatel/add-to-calendar-redesign
Improve UX of "Put in Calendar" option in nextcloud plugin
2023-10-01 11:05:18 +02:00
Ronak Patel
c599847aea Make the Put in calendar option more obvious in Mail 2023-09-28 11:06:21 -07:00
Sergey Mosin
79c8281a6b improve: nextcloud: set 'smremember' cookie if 'sign_me_auto' is set to 'DefaultOn' when using 'snappymail-autologin*', otherwise nextcloud users need to re-login when the browser is re-opened. 2023-09-18 15:54:19 -04:00
Sergey Mosin
35cd354353 improve: add 'collapse_blockquotes', 'allow_spellcheck' and 'mail_list_grouped' to admin settings ('defaults' section) 2023-09-18 15:54:14 -04:00
Sergey Mosin
22691450af improve: if applicable set '\\answered' or '$forwarded' flag after a message is sent so the proper icon is shown in the message list view 2023-09-18 15:54:14 -04:00
Sergey Mosin
bafd17d029 improve: spellcheck the subject when 'allowSpellcheck' setting is true 2023-09-18 15:54:14 -04:00
Sergey Mosin
a8710bacc9 improve: in mobile mode hide folders(left) panel when a folder is clicked 2023-09-18 15:54:14 -04:00
Sergey Mosin
dadb6b86c3 improve: address input: space character can trigger '_parseValue' if the email address looks complete 2023-09-18 15:54:14 -04:00
Sergey Mosin
d97ccf0cfb improve: add "Add/Edit signature" label to PopupsIdentity.html 2023-09-18 15:54:14 -04:00
Sergey Mosin
11c616715d improve: use calendar icon in message list for messages with '.ics' or 'text/calendar' attachments 2023-09-18 15:54:14 -04:00
Sergey Mosin
8ab3055223 fix: unseen indicator is not shown in thread view when 'listGrouped' settings is false + show unseen message count when the message list is threaded 2023-09-18 15:52:39 -04:00
Sergey Mosin
1b7e144a6e fix: <font> tag 'style' is lost in replies 2023-09-18 15:50:49 -04:00
Sergey Mosin
d5965bf1d7 fix: nextcloud iFrame mode: click on unified search result opens inner iFrame 2023-09-18 15:50:49 -04:00
Sergey Mosin
15e59ef65f fix: allow clicking action on entire "ListItem" area, instead of just the "text elements" 2023-09-18 15:50:48 -04:00
David Härdeman
a221ebfab8
[ldap-contacts-suggestions] Shorten overlong label
This is just cosmetic, but the "to use" is superfluous and doesn't match the wording of the other labels (and makes the rendered UI a bit weird by pushing everything to the side).
2023-09-13 01:07:45 +02:00
the-djmaze
49010a70a0 Resolve #1237 2023-09-11 21:44:57 +02:00
the-djmaze
c60f8776f4 Resolve #1208 2023-08-29 16:08:24 +02:00
the-djmaze
4f3265f8b6 Resolve #1215 2023-08-28 17:44:07 +02:00
the-djmaze
8b246e64a6 Added idea to use crypt seal in the future when login password changes 2023-08-28 16:59:00 +02:00
the-djmaze
335b6bc5c8 Added comment to public function GenerateFilePath() 2023-08-28 15:50:17 +02:00
the-djmaze
44c4514622 Allow to call setup.php outside to test PHP version and extensions #1209 2023-08-28 14:43:53 +02:00
the-djmaze
120873c7d6 Added "View ICS" extension #1178 2023-08-28 13:34:23 +02:00
the-djmaze
5251d85fef Changes for #1234 2023-08-28 12:05:56 +02:00
the-djmaze
6b42620ad3 Cleanup some squire code 2023-08-28 12:05:02 +02:00
the-djmaze
e9770e17f6
Merge pull request #1234 from SergeyMosin/text-nodes-in-squire-root
fix: unwrapped text nodes attached to squire._root
2023-08-28 11:02:16 +02:00
the-djmaze
eb566ca9db Changes for idea in #1150 (isSmall not active yet) 2023-08-28 10:11:34 +02:00
the-djmaze
53f8abc311 Bugfix: undefined call to parseStreamRecursive() 2023-08-28 09:16:15 +02:00
Sergey Mosin
626d52b15a fix: unwrapped text nodes attached to squire._root 2023-08-23 17:20:03 -04:00
the-djmaze
8f79a4c34b Show paperclip at EML attachments #1166 2023-08-22 13:57:36 +02:00
the-djmaze
ba304fcd00 Moved NextcloudV25+ theme to Nextcloud integration #629 2023-08-22 12:58:29 +02:00
the-djmaze
64bb993ffa
Merge pull request #629 from hampoelz/nc-theme
Modern UI / Nextcloud Theme
2023-08-22 12:53:58 +02:00
the-djmaze
ab986677dc Color picker use color blind palette "Tableau 10" by Maureen Stone by default #1199 2023-08-22 11:40:13 +02:00
the-djmaze
54344a5b54 Idea for #1199 2023-08-21 17:12:24 +02:00
the-djmaze
4e04461f80 Changes for "Request failed" error #1220 2023-08-21 16:02:57 +02:00
the-djmaze
4c5f19579c Fix Fetch controller.abort(reason) handling #1220 2023-08-21 11:31:57 +02:00
the-djmaze
a3bb108b33 Fix for previous commit regarding UTF-8 #1230 2023-08-21 10:03:36 +02:00
the-djmaze
037ed7e257 Change for #1225 2023-08-21 10:01:10 +02:00
the-djmaze
d6eb0d927a Resolve #1230 2023-08-21 09:12:27 +02:00
hampoelz
7fc268e518 fix: avatar size and alignment 2023-08-13 10:20:15 +00:00
the-djmaze
83456164c7 Resolve #1228 2023-08-08 09:59:53 +02:00
hampoelz
bbd100c544 chore: Add slight contrast to message list toolbar 2023-08-04 11:40:42 +00:00
Rene Hampölz
47ed699525
Merge branch 'the-djmaze:master' into nc-theme 2023-07-27 11:22:16 +02:00
hampoelz
0e0d8c8962 fix: Message flags default color in dropdown 2023-07-27 08:59:26 +00:00
hampoelz
a667b46316 chore: Rename sidebar menu item 2023-07-27 08:51:10 +00:00
hampoelz
af37b2b202 fix: Text overflow in sidebar menu items 2023-07-27 08:49:58 +00:00
the-djmaze
f6ef6d45ff
Merge pull request #1212 from SergeyMosin/squire-ui-font-info
Update editor font-family and font-size drop-downs
2023-07-24 15:42:08 +02:00
the-djmaze
a6c81bb071
Merge pull request #1207 from chiyi4488/patch-1
Update TC user.json
2023-07-24 15:41:58 +02:00
the-djmaze
2ccf758c8e
Merge pull request #1206 from MKjanek32/master
Improved Polish translation and Nextcloud internationalization
2023-07-24 15:41:50 +02:00
Sergey Mosin
1fcada1b07 squire ui: show current(under cursor) font-family and font-size in the editor toolbar 2023-07-14 14:16:15 -04:00
Yi Chi 齊一
08c5d6e7dd
Update user.json 2023-07-12 11:28:53 +08:00
the-djmaze
99d68bc354 Workaroung imagick improper image header #1201 2023-07-11 10:24:50 +02:00
the-djmaze
1eb192db72 v2.28.4 2023-07-10 14:27:21 +02:00
the-djmaze
76e82ba159 Resolve #1205 2023-07-10 11:01:46 +02:00
the-djmaze
c669a8e55f
Merge pull request #1203 from tinola/master
update version number
2023-07-10 10:34:37 +02:00
the-djmaze
024efd3be7
Merge pull request #1204 from SergeyMosin/more-default-configs
More default configs
2023-07-10 10:34:15 +02:00
Sergey Mosin
ceeb55acf2 improve: only show 'Add "domain.tld" as an application for mailto links?' message after login (firefox shows the message on every reload otherwise). 2023-07-09 09:06:20 -04:00
Sergey Mosin
c75c0e9ed1 fix: 'reloadTime' function result is passed into 'setInterval' instead of the function 2023-07-09 09:06:16 -04:00
Sergey Mosin
c59d19781f add 'view_images' to admin settings ('defaults' section) 2023-07-09 09:06:11 -04:00
Sergey Mosin
2e0077adec add 'view_show_next_message' to admin settings ('defaults' section) 2023-07-09 09:06:05 -04:00
Sergey Mosin
665aa4a226 add 'msg_default_action' to admin settings ('defaults' section) 2023-07-09 09:05:58 -04:00
tinola
231480e775 update version number 2023-07-07 17:13:44 +02:00
the-djmaze
19ea5de1bf Convert getPdoAccessData() : array to a RainLoop\Pdo\Settings object instance 2023-07-04 11:43:23 +02:00
the-djmaze
4cd24b87ff Translate for new BIDI #1200 2023-07-04 09:47:02 +02:00
the-djmaze
63f9137812
Merge pull request #1200 from rezaei92/master
Added bidi buttons to Squire editor
2023-07-04 09:36:25 +02:00
the-djmaze
f6348123db Resolve #1195 2023-07-03 15:33:38 +02:00
the-djmaze
eab3d8d938 Improved #1197 2023-07-03 15:16:52 +02:00
the-djmaze
2f746cb262
Merge pull request #1197 from SergeyMosin/nexctloud-custom-config
nextcloud: add ability to include custom php file in InstallStep migration
2023-07-03 15:10:55 +02:00
the-djmaze
825ba99a08 Change for #358 2023-07-03 11:51:32 +02:00
the-djmaze
0e3ed0fea0 Resolve #1192 2023-07-03 11:05:11 +02:00
Rene Hampölz
a2814e19c3 chore: Add fallback variables 2023-07-01 15:37:59 +00:00
Rene Hampölz
87215506fe refactor: Cleanup 2023-07-01 14:53:40 +00:00
Rene Hampölz
009428c72f fix: Side panel footer buttons in RTL layout 2023-07-01 14:19:09 +00:00
Mohammad rezaei
b2b07ab920
Added bidi button to Squire editor 2023-07-01 17:31:07 +03:30
Rene Hampölz
7c2e456ab0 revert: Tablet layout parts 2023-07-01 13:47:14 +00:00
Sergey Mosin
cb96ad95c4 nextcloud: add ability to include custom php file in InstallStep migration 2023-06-30 21:46:21 -04:00
Jan Potocki
b0ca61eff5 Updated Polish translation 2023-06-29 18:51:19 +02:00
Jan Potocki
c09f71e9a9 Updated Polish translation for Nextcloud integration 2023-06-29 18:50:29 +02:00
Jan Potocki
3d2c9836e2 Fixed internationalization for Nextcloud integration 2023-06-29 18:49:03 +02:00
the-djmaze
47e3fc90f2 Resolve #1186 2023-06-26 12:41:47 +02:00
the-djmaze
841fca17cd v2.28.3 2023-06-22 13:28:07 +02:00
the-djmaze
739a2ce39e Attachments in "new window" view #1166 2023-06-22 13:22:32 +02:00
the-djmaze
1a499f61fd Resolve #1187 2023-06-22 12:54:52 +02:00
the-djmaze
0ab66e175a Resolve #1182 2023-06-22 12:49:26 +02:00
the-djmaze
11a79da01a Merge branch 'master' of github.com:the-djmaze/snappymail 2023-06-22 12:43:12 +02:00
the-djmaze
2a45142644 Resolve #1185 2023-06-22 12:42:59 +02:00
the-djmaze
663f86ccda
Merge pull request #1189 from ner00/master
Squire UI - Editor strings
2023-06-22 12:22:00 +02:00
ner0
867c319a1e Squire UI - Editor strings 2023-06-21 18:41:28 +01:00
the-djmaze
5cce4713a3
Merge pull request #1183 from hguilbert/patch-10
Update admin.json
2023-06-21 08:09:54 +02:00
the-djmaze
1e29f03c03
Merge pull request #1184 from hguilbert/patch-11
Update user.json
2023-06-21 08:09:44 +02:00
hguilbert
de45fe62cc
Update user.json
Translation update
2023-06-19 17:29:21 +02:00
hguilbert
12102fdfdd
Update admin.json
Translation update
2023-06-19 17:11:34 +02:00
the-djmaze
954a86b23d Resolve #1180 2023-06-19 16:38:00 +02:00
the-djmaze
0f5e16f7d8 Update css/js file sizes 2023-06-19 16:20:20 +02:00
the-djmaze
21f3661c8d v2.28.2 2023-06-19 15:32:25 +02:00
the-djmaze
821b175391 https://github.com/the-djmaze/snappymail/discussions/1043#discussioncomment-6166617 2023-06-19 14:36:45 +02:00
the-djmaze
a022f90cef Bugfix: base64_decode() second parameter must be true 2023-06-19 14:17:06 +02:00
the-djmaze
529223a43e Added JWT class 2023-06-19 14:16:42 +02:00
the-djmaze
b8ebe6c1bc Resolve #1179 2023-06-19 11:25:37 +02:00
the-djmaze
0e3025eb79
Merge pull request #1176 from LarsBel/master
add Nextcloud 27 compatibility
2023-06-18 23:47:01 +02:00
the-djmaze
0905cc4813
Merge pull request #1175 from tinola/master
update Polish translation
2023-06-18 23:46:49 +02:00
Rene Hampölz
0d20305a27 chore: Update input & select styles from upstream nextcloud 2023-06-18 19:59:33 +00:00
Rene Hampölz
71c99dad5a chore: Rework emailaddresses select 2023-06-18 19:56:03 +00:00
Rene Hampölz
534a87b254 chore: Add tablet layout (wip) 2023-06-17 19:38:19 +00:00
Rene Hampölz
72ba59e95b refactor: Cleanup 2023-06-17 18:56:24 +00:00
Rene Hampölz
92098cb60f chore: Improve highlight folder row keyframe 2023-06-17 18:51:33 +00:00
Rene Hampölz
d197636eda fix: Mobile dropdown positioning 2023-06-17 18:29:57 +00:00
Rene Hampölz
5cd879484a fix: Emailaddresses input width on mobile 2023-06-17 16:19:52 +00:00
Rene Hampölz
26547f48b6 fix: Contact popup border 2023-06-16 20:16:02 +00:00
Rene Hampölz
7fa19917ff fix: Contact popup coloring 2023-06-16 20:03:52 +00:00
Rene Hampölz
c9c0d0d888 chore: Improve mobile layout of contact popup 2023-06-16 20:01:36 +00:00
Rene Hampölz
e515163a90 chore: Remove admin settings toolbar text-shadow 2023-06-15 16:53:33 +00:00
Rene Hampölz
6310e9a39d chore: Add compose popup attachments-count badge 2023-06-15 16:49:25 +00:00
Rene Hampölz
3fedf8a053 chore: Improve mobile placement of checkboxes in AdvancedSearch popup 2023-06-15 16:39:44 +00:00
Rene Hampölz
1ccef6cb26 fix: Mobile popup padding 2023-06-15 15:48:51 +00:00
Rene Hampölz
d0b00887b4 chore: Improve admin settings mobile layout 2023-06-15 11:38:24 +00:00
Rene Hampölz
d3609d04e4 fix: Broken Nextcloud menu list margin 2023-06-15 09:26:56 +00:00
Rene Hampölz
2fdc9a2308 fix: Mobile side panel border color 2023-06-14 20:49:38 +00:00
Rene Hampölz
8470525f99 fix: OpenPgpImport popup textarea width 2023-06-14 20:47:46 +00:00
Rene Hampölz
5800905f01 fix: Languages popup label margin 2023-06-14 20:47:46 +00:00
Rene Hampölz
75fb5170c1 fix: Mobile dropdown positioning 2023-06-14 20:47:45 +00:00
Rene Hampölz
819147246f fix: Tabs label overflow 2023-06-14 20:11:01 +00:00
LarsBel
02210fb827
Merge pull request #1 from LarsBel/NC27compatibility
add Nextcloud 27 compatibility
2023-06-14 21:35:17 +02:00
LarsBel
41d118b99b
add Nextcloud 27 compatibility 2023-06-14 21:33:51 +02:00
tinola
bd1192d716 fix typo 2023-06-14 09:10:05 +02:00
tinola
56837256fa update Polish translation 2023-06-14 09:08:00 +02:00
the-djmaze
9e2b5202c9
Merge pull request #1174 from cm-schl/master
German translation of editor buttons
2023-06-13 22:50:43 +02:00
cm-schl
be4fc15cb0
German translation of editor buttons 2023-06-13 16:12:11 +02:00
the-djmaze
ed31ed206d Translate Squire UI 2023-06-13 14:22:20 +02:00
the-djmaze
5bf0f3b562 Improvements for #1071 2023-06-13 13:44:38 +02:00
the-djmaze
3a3b2f0771 Prevent MessageList multiple request at the same time #1071 2023-06-12 17:00:23 +02:00
the-djmaze
fabc162481 Bugfix: invalid CSP report-uri 2023-06-12 14:13:42 +02:00
the-djmaze
9ff3e94870 Resolve #1169 2023-06-12 13:12:13 +02:00
the-djmaze
311dc7610f Merge handling of local Account Settings
Found while investigating #1170
2023-06-12 12:15:11 +02:00
the-djmaze
1dd0f546ce As BIDI is added, remove from README.md #1158 2023-06-12 11:49:12 +02:00
the-djmaze
3b682f5811 Added BIDI to Squire #1158 2023-06-12 11:45:59 +02:00
the-djmaze
43d885b922 Nextcloud Cannot modify header information
https://github.com/the-djmaze/snappymail/issues/929#issuecomment-1582552784
2023-06-12 10:58:56 +02:00
the-djmaze
fc6a58fd5d
Merge pull request #1161 from cm-schl/master
Update German admin.json
2023-06-08 14:32:55 +02:00
the-djmaze
f7ff9d662d Merge branch 'master' of github.com:the-djmaze/snappymail 2023-06-08 14:32:12 +02:00
the-djmaze
1d6be7ae52 Detailed error for "Cannot access the repository at the moment" #1164 2023-06-08 14:31:57 +02:00
Rene Hampölz
0050a8f4ad fix: Dropdown coloring of select element 2023-06-06 20:24:05 +00:00
Rene Hampölz
b8b813e605 chore: Use same styles for input and select elements 2023-06-06 20:10:58 +00:00
Rene Hampölz
c79f9ab2a0 fix: Weird icon buttons 2023-06-06 19:58:05 +00:00
the-djmaze
336fdf074a
Merge pull request #1160 from hguilbert/patch-9
Update user.json
2023-06-06 18:52:07 +02:00
cm-schl
5947ae9308
Update German admin.json 2023-06-06 14:48:51 +02:00
hguilbert
f49874c10e
Update user.json
Some update
2023-06-06 08:00:17 +02:00
Rene Hampölz
2327e812a8 fix: Input border color 2023-06-05 22:11:52 +00:00
Rene Hampölz
c00a1e41d6 chore: Improve message list toolbar on mobile 2023-06-05 21:50:17 +00:00
Rene Hampölz
88a6ab3e11 fix: Inconsistent buttons 2023-06-05 21:28:06 +00:00
Rene Hampölz
a25c43f340 chore: Change dropdown text align 2023-06-05 18:38:36 +00:00
Rene Hampölz
ebe952e005 chore: Adjust fallback border radius of grouped button 2023-06-05 18:36:24 +00:00
Rene Hampölz
8416e4e1cd refactor: Full restructure of styles file 2023-06-05 18:34:47 +00:00
Rene Hampölz
09f57db753 fix: Button group fallback styles 2023-06-05 15:20:03 +00:00
Rene Hampölz
6a6d836f9e fix: Button group fallback styles 2023-06-05 14:15:39 +00:00
the-djmaze
fe0216aa3a v2.28.1 2023-06-05 15:49:16 +02:00
the-djmaze
d190aa114b Resolve #1149 2023-06-05 15:31:01 +02:00
the-djmaze
15eaf18ec3 Resolve #1151 2023-06-05 15:12:22 +02:00
the-djmaze
14edb6c18e Merge branch 'master' of github.com:the-djmaze/snappymail 2023-06-05 15:00:51 +02:00
the-djmaze
71a2b46d14 clearstatcache() for #1155 2023-06-05 15:00:42 +02:00
the-djmaze
37f014ff74
Merge pull request #1157 from mayswind/master
update Chinese translation
2023-06-05 14:22:58 +02:00
the-djmaze
ae697bc06a
Merge pull request #1156 from tinola/master
Add polish translation
2023-06-05 14:22:49 +02:00
Rene Hampölz
135cf1d3df fix: RTL selector maybe causes issues with non-rtl styles in some browsers 2023-06-04 08:42:27 +00:00
tinola
1d47f36573 fix last commit 2023-06-03 19:06:48 +02:00
tinola
d582e4508f Name in Polish was incorrect 2023-06-03 19:03:50 +02:00
tinola
e81ebc4460 another fixes, should be ok for now :) 2023-06-03 18:36:11 +02:00
tinola
924c6f5e7d yet another small fix ;) 2023-06-02 20:57:45 +02:00
tinola
36ccb5a962 just another fix in Polish translation :) 2023-06-02 20:32:00 +02:00
tinola
cb35387fa3 correction in Polish translation 2023-06-02 20:25:22 +02:00
tinola
b9ae32a901 update Polish translation 2023-06-02 20:04:26 +02:00
MaysWind
aae8a4f771 update Chinese translation 2023-06-03 01:26:12 +08:00
tinola
c2f8eec411 Add polish translation 2023-06-02 18:43:59 +02:00
Rene Hampölz
ffb8fe4c1b fix: Light theme backdrop message color 2023-06-01 16:42:18 +00:00
Rene Hampölz
933548dd79 chore: Improve folders text-overflow on disabled panel 2023-06-01 07:31:56 +00:00
Rene Hampölz
d1039cbcb7 fix: Too small messageList min-width 2023-06-01 07:15:36 +00:00
Rene Hampölz
db2b630ed7 chore: Improve threads badge margin 2023-05-31 22:01:22 +00:00
Rene Hampölz
9831b23a5e chore: Improve search-input-wrp 2023-05-31 21:50:24 +00:00
the-djmaze
9eaa0f4eb5 Resolve #1147 2023-05-31 21:44:51 +02:00
Rene Hampölz
dbe01cb15e fix: Broken styles in RTL layout 2023-05-31 15:25:54 +00:00
Rene Hampölz
704dd518cb chore: Move theme to global scope 2023-05-31 14:03:13 +00:00
Rene Hampölz
2776e4c10a chore: Update preview image 2023-05-31 14:02:13 +00:00
Rene Hampölz
454cc5a0c8 chore: Improve theme selector 2023-05-31 12:54:53 +00:00
Rene Hampölz
cb42124eb2 chore: Use Nextcloud variables otherwise fallback to default 2023-05-31 12:41:00 +00:00
Rene Hampölz
a65415a276 docs: Improve theme passthrough code comments 2023-05-31 10:35:24 +00:00
Rene Hampölz
3d3e6d0961 fix: Layout issues in horizontal view 2023-05-31 10:04:45 +00:00
Rene Hampölz
ebd474eaef fix: Contact popup styles in latest snappymail release 2023-05-31 09:51:13 +00:00
Rene Hampölz
55bf922edb fix: New unread sub-messages badge for threaded view 2023-05-31 09:44:10 +00:00
Rene Hampölz
6878d4c0de fix: Broken checkbox 2023-05-30 18:45:27 +00:00
the-djmaze
3c28bc6b97 v2.28.0 2023-05-30 17:02:47 +02:00
the-djmaze
7404ee058f Orange border for unread thread sub message(s) 2023-05-30 16:13:59 +02:00
the-djmaze
26fb2cf9fb Resolve #1028 2023-05-30 16:02:41 +02:00
the-djmaze
1f8fddd3f4 Bugfix: show timeout/abort error for #1071 2023-05-30 14:48:12 +02:00
the-djmaze
b22d16a2b6 Resolve #1137 2023-05-30 14:24:45 +02:00
Rene Hampölz
a6638e56fe chore: Add messages drag tip 2023-05-30 11:01:00 +00:00
Rene Hampölz
a602dfdf04 chore: Add attachment-place dragover 2023-05-30 10:47:30 +00:00
Rene Hampölz
0f11e81c23 refactor: Remove dead code 2023-05-30 10:39:01 +00:00
Rene Hampölz
9e7dc8b1e9 chore: Add message-list dragover 2023-05-30 10:36:38 +00:00
Rene Hampölz
58c90f4888 fix: Wrong message-list error color 2023-05-30 10:32:37 +00:00
Rene Hampölz
d7d8fc2314 refactor: Improve structure 2023-05-30 10:27:18 +00:00
Rene Hampölz
c191489891 fix: Wrong message-view error color 2023-05-30 10:04:18 +00:00
Rene Hampölz
183f033c7e chore: Improve email address select 2023-05-30 10:03:44 +00:00
the-djmaze
bdbb1f8bbf Resolve #1141 2023-05-30 12:01:30 +02:00
Rene Hampölz
12d1d1acae fix: Styles in next snappymail release 2023-05-30 09:43:08 +00:00
Rene Hampölz
96d4ae51e3 fix: Non-standard width properties 2023-05-29 19:44:08 +00:00
Rene Hampölz
cbbcaec957 fix: Popup footer button margin 2023-05-29 19:17:27 +00:00
Rene Hampölz
10c10bb104 chore: Improve compose popup button margin 2023-05-29 19:16:55 +00:00
Rene Hampölz
11770b59df chore: Improve error tip 2023-05-29 08:18:41 +00:00
Rene Hampölz
9ab9a6c9e5 chore: Remove "no attachments" text shadow 2023-05-28 16:44:16 +00:00
Rene Hampölz
23572a1272 chore: Improve attachment items 2023-05-28 16:41:37 +00:00
the-djmaze
0899dea56f Fix composer style for https://github.com/the-djmaze/snappymail/issues/1138#issuecomment-1565313259 2023-05-27 22:26:47 +02:00
the-djmaze
828c1eb5a2 Solve fatal error for https://github.com/the-djmaze/snappymail/issues/1138#issuecomment-1565336950 2023-05-27 22:14:42 +02:00
Rene Hampölz
62cf66b8ec chore: Improve nextcloud file picker 2023-05-27 15:08:50 +00:00
Rene Hampölz
52227a8e29 fix: Unread badge for user-folders 2023-05-27 08:37:08 +00:00
Rene Hampölz
82f7c3f4b4 fix: Login input icons 2023-05-26 19:00:18 +00:00
Rene Hampölz
c10e84f68a chore: Don't collapse settings side panel 2023-05-26 18:51:46 +00:00
Rene Hampölz
5fb914fbc7 chore: Improve compose popup header 2023-05-26 18:32:00 +00:00
Rene Hampölz
69b96edbde chore: Add nextcloud calendar select 2023-05-26 09:10:58 +00:00
Rene Hampölz
8f4fd6f214 fix: Button focus text color 2023-05-26 08:53:29 +00:00
Rene Hampölz
10d2ef334f fix: Link coloring 2023-05-26 08:43:02 +00:00
Rene Hampölz
e7bc290e15 chore: Hide additional theme settings selectively 2023-05-26 08:35:36 +00:00
Rene Hampölz
f17bb54e6f chore: Add contacts 2023-05-25 17:41:41 +00:00
Rene Hampölz
fd2f7e8c9d fix: Striped table 2023-05-24 10:36:52 +00:00
Rene Hampölz
78cc010560 chore: Improve link coloring 2023-05-24 10:35:48 +00:00
Rene Hampölz
f124207072 fix: Danger button 2023-05-23 16:06:15 +00:00
the-djmaze
e90ecd472c Merge branch 'master' of github.com:the-djmaze/snappymail 2023-05-23 13:54:14 +02:00
the-djmaze
197f597d1c Resolve #1134 2023-05-23 13:53:44 +02:00
Rene Hampölz
0a2c19a186 fix: MailMessageView button toolbar padding 2023-05-23 11:05:16 +00:00
Rene Hampölz
3c57c2e593 fix: fix: MessageView edit button selector 2023-05-23 10:24:41 +00:00
Rene Hampölz
93c6a4f122 fix: MessageView edit button 2023-05-23 10:23:22 +00:00
Rene Hampölz
4fe9cc5523 chore: Improve buttons 2023-05-23 09:49:52 +00:00
Rene Hampölz
3713d0f054 fix: Consider hidden toolbar buttons 2023-05-22 21:47:21 +00:00
Rene Hampölz
243baf5b5e chore: Rework button toolbar 2023-05-22 17:13:11 +00:00
Rene Hampölz
40bcf6b94b chore: Improve tabs 2023-05-22 13:12:01 +00:00
Rene Hampölz
e5c0e50c8c fix: Dropdown menu scrollbar 2023-05-22 10:27:22 +00:00
Rene Hampölz
a6da438ae7 fix: Account place border color 2023-05-22 10:17:21 +00:00
Rene Hampölz
55b872ee03 feat: Add language popup 2023-05-22 10:14:27 +00:00
Rene Hampölz
cbbf673f4d chore: Add plugin popups 2023-05-22 09:44:56 +00:00
Rene Hampölz
804b9531f7 chore: Improve settings control-group margin 2023-05-22 09:44:24 +00:00
Rene Hampölz
df04a6dc28 fix: Popup button margin 2023-05-22 08:53:53 +00:00
Rene Hampölz
c50642021b fix: Checkbox margin 2023-05-22 08:46:22 +00:00
Rene Hampölz
e179b46140 chore: Add tabs 2023-05-21 19:19:50 +00:00
Rene Hampölz
9cdbb609eb fix: Minor popup styles 2023-05-21 19:19:02 +00:00
the-djmaze
3340e0ba9f Left side menu position for RTL #1056 2023-05-18 16:52:24 +02:00
the-djmaze
24f7984d82
Merge pull request #1135 from jaapmarcus/patch-1
Fix password reset Hestia
2023-05-18 13:33:55 +02:00
Jaap Marcus
4cee246281
Update index.php 2023-05-17 22:33:06 +02:00
Jaap Marcus
0ae7b11776
Fix HestiaCP password change 2023-05-17 22:28:03 +02:00
the-djmaze
02576302c9 CSS unicode-bidi #1056 2023-05-16 17:28:15 +02:00
the-djmaze
6dec3c9052 Hestia plugin v1.1 for #1128 2023-05-16 16:57:21 +02:00
the-djmaze
08f27c1ec2 fix hestia script path 2023-05-16 16:53:17 +02:00
the-djmaze
d5a0ac8da8 Fixes for #1128 2023-05-16 16:51:42 +02:00
the-djmaze
35bfff878d Changes for #1128 2023-05-16 13:39:56 +02:00
the-djmaze
a504fd9298 Resolve #1130 2023-05-16 12:20:45 +02:00
the-djmaze
0bd5603dd0 Merge branch 'master' of github.com:the-djmaze/snappymail 2023-05-15 15:16:29 +02:00
the-djmaze
a2ca00e3e8 Log more for #1080 2023-05-15 15:16:10 +02:00
the-djmaze
59aa1cac35 Resolve #1125 2023-05-12 23:43:13 +02:00
the-djmaze
2c014caa72 Resolve #1126 2023-05-12 23:21:55 +02:00
the-djmaze
ffde5ddfb3 Bugfix: addEventListener('rl-view-model') missing for Settings #1013 2023-05-09 12:31:29 +02:00
the-djmaze
7968518f9c Compose window RTL #1056 2023-05-09 12:11:38 +02:00
the-djmaze
13abe74a31 Resolve #1119 2023-05-09 12:07:07 +02:00
the-djmaze
216b5964d7
Merge pull request #1124 from ner00/master
Update pt/pt-PT translation
2023-05-09 11:44:02 +02:00
the-djmaze
759ed2ad36 Fix tabs labels row height 2023-05-09 11:27:40 +02:00
ner0
51d5c1e19f Update pt/pt-PT translation 2023-05-08 18:28:05 +01:00
the-djmaze
08e8a570b8 Fix Nextcloud .btn-group > .btn layout 2023-05-08 14:41:45 +02:00
the-djmaze
e0c21b4b85 Resolve #1117 2023-05-08 14:41:06 +02:00
the-djmaze
bf8182f19b Added CSS --btn-border-radius 2023-05-08 14:37:13 +02:00
the-djmaze
8b4674b87f MultipleStreamWriter() to single WriteStream() 2023-05-08 14:20:04 +02:00
the-djmaze
2d52493b89 Fix locale pagination order for #1056 2023-05-08 13:23:54 +02:00
the-djmaze
bf6f342ffd Make pagination numbers locale aware for #1056 2023-05-08 13:01:16 +02:00
the-djmaze
85bb5348c0 Resolve #1104 2023-05-08 12:21:17 +02:00
the-djmaze
674e842861 Change for #1013 2023-05-08 10:59:11 +02:00
the-djmaze
eab3beaf2a Bugfix: node is null 2023-05-08 10:36:23 +02:00
the-djmaze
7b70117155 Resolve #1123 2023-05-08 09:47:08 +02:00
the-djmaze
a043eaec81 Change for #1105 2023-05-01 15:21:04 +02:00
the-djmaze
32277688af Resolve #1109 2023-05-01 12:01:35 +02:00
the-djmaze
88279c55e0 Resolve #1111 2023-05-01 11:48:57 +02:00
the-djmaze
932b71f345 Resolve #1112 2023-05-01 11:13:51 +02:00
the-djmaze
9021d52096
Merge pull request #1107 from chiyi4488/patch-1
Update zh-TW translation
2023-04-30 11:11:23 +02:00
the-djmaze
dc03d04658
Merge pull request #1108 from konkere/ru_localization
Update ru-RU translation.
2023-04-30 11:11:14 +02:00
chiyi4488
2dbd851fe7
Update user.json 2023-04-30 14:47:57 +08:00
Konkere
17f060316d Update ru-RU translation.
The variable "GLOBAL" - "NAME" is also used in the folder creation menu.
2023-04-27 11:58:58 +03:00
chiyi4488
17dbbecf5e
Update user.json 2023-04-27 12:15:39 +08:00
chiyi4488
6cca678ece
Update user.json 2023-04-27 08:45:50 +08:00
chiyi4488
66e4a1bb61
Update user.json 2023-04-27 08:45:16 +08:00
chiyi4488
b4a42a1681
Update zh-TW l10n 2023-04-27 01:03:49 +08:00
the-djmaze
404778089b I broke code with previous commit 2023-04-24 12:03:03 +02:00
the-djmaze
1883b407a6 TODO: Sieve issue on account switch
When current domain has sieve but the new has not, or current has not and the new has
2023-04-24 12:01:09 +02:00
the-djmaze
80d64574a6 Changes for #1078 2023-04-24 11:19:07 +02:00
the-djmaze
6e0372dcee Additions for #1094 2023-04-23 16:45:19 +02:00
the-djmaze
90365940ff
Merge pull request #1102 from hguilbert/patch-8
Update user.json
2023-04-23 16:40:35 +02:00
hguilbert
84d139bb25
Update user.json
Some update FR
2023-04-22 09:30:21 +02:00
the-djmaze
287b9b262b
Merge pull request #1100 from konkere/ru_localization
Fix and add translation's items in ru localization
2023-04-21 21:26:47 +02:00
Konkere
60c6777e2d Fix and add translation's items in ru localization 2023-04-21 15:01:58 +03:00
the-djmaze
ad6b51f76f Resolve #1083 2023-04-18 13:20:52 +02:00
the-djmaze
5eee165377
Merge pull request #1094 from cm-schl/master
added some italian translation - needs review
2023-04-18 13:06:42 +02:00
the-djmaze
178d65d12c Shorten arab translation for "Spam" 2023-04-18 11:48:31 +02:00
the-djmaze
a9a49a2d6f Also login RTL #1056 2023-04-18 11:43:28 +02:00
the-djmaze
a71ea44753 Improved RTL support #1056 2023-04-18 11:35:31 +02:00
cm-schl
4e6b4b2e0a Corrected translations - thanks to @lota 2023-04-18 10:44:42 +02:00
the-djmaze
9cabfe7570 Merge branch 'master' into rtl-support 2023-04-18 09:54:24 +02:00
the-djmaze
ad07c5b472 Changes for #1046 2023-04-18 09:45:03 +02:00
the-djmaze
c7cc250b1e Resolve #1086 2023-04-18 09:31:14 +02:00
the-djmaze
8630b418d1 Resolve #1082 2023-04-18 09:22:04 +02:00
cm-schl
a893455097 added some italian translation - needs review 2023-04-17 17:18:36 +02:00
the-djmaze
b09be12a37
Merge pull request #1087 from cm-schl/master
Update German translation
2023-04-17 11:47:56 +02:00
cm-schl
e69bcd1970 Update German translation 2023-04-14 12:45:33 +02:00
the-djmaze
628770b6c1
Resolve #1085 2023-04-13 23:06:29 +02:00
the-djmaze
2adccdbaf3 Allow empty message body when there are attachments #1052 2023-04-11 14:16:47 +02:00
the-djmaze
103b431780 Bugfix: GetActionParam() failed 2023-04-11 13:57:28 +02:00
the-djmaze
a889fc262a Nextcloud plugin integrate OIDC from #756 2023-04-11 13:28:29 +02:00
the-djmaze
14ee6f1b5b When reporting a bug, as user for usage mode 2023-04-11 13:02:26 +02:00
the-djmaze
20a2f5f185 Added base code for RTL support #1056 2023-04-11 12:55:59 +02:00
the-djmaze
dfc415e3a8 Allow when listLimited is active 2023-04-11 11:24:15 +02:00
the-djmaze
0a3effc6ba Inherit logger as Trait 2023-04-11 10:56:28 +02:00
the-djmaze
b5b1d5f88a Resolve #1070 2023-04-11 09:50:37 +02:00
the-djmaze
c7c43939ce Update ChangePassword version number 2023-04-11 09:18:00 +02:00
the-djmaze
9689b480a0 Move ChangePassword ISPConfig to own extension 2023-04-11 09:14:59 +02:00
the-djmaze
e8a5d09b97 Resolve #1069 2023-04-04 14:30:35 +02:00
the-djmaze
f686e9e875 v2.27.3 2023-04-04 12:28:35 +02:00
the-djmaze
b0dda8d3ae Allow saving draft with empty body #1052 2023-04-04 12:22:51 +02:00
the-djmaze
af9b778f63 Log \nonexistent folder for #1008 2023-04-04 12:18:58 +02:00
the-djmaze
87313d0616 Resolve #1003 2023-04-04 11:57:52 +02:00
the-djmaze
944a2cb8dc A solution for #1056 to support <html data-date-lang="fa-IR" 2023-04-04 11:28:15 +02:00
the-djmaze
fadba0f36a Resolve #1022 2023-04-04 11:09:57 +02:00
the-djmaze
ad56ca0f08 Resolve #1065 2023-04-04 10:42:18 +02:00
the-djmaze
ea8a9a0741 Resolve #1060 2023-04-04 10:36:28 +02:00
the-djmaze
2e0fc1585d Improved Squire by visualizing some active buttons states 2023-04-04 10:15:18 +02:00
the-djmaze
baacddd324 Bugfix: GnuPG decrypt failed 2023-04-03 10:29:42 +02:00
the-djmaze
da2ab68fcc Cleanup some enums to consts 2023-04-03 10:29:26 +02:00
the-djmaze
91e60c1007 Resolve #1037 2023-04-03 09:35:56 +02:00
the-djmaze
f3845be39f Fix GD2 for #1009 2023-03-28 15:06:05 +02:00
the-djmaze
dd74759adc Workaround #1046 2023-03-28 13:54:22 +02:00
the-djmaze
28cd8245c4 Resolve #1048 2023-03-28 13:42:35 +02:00
the-djmaze
564afd96f2 Resolve #1004 and #1054 due to #962 2023-03-28 13:13:44 +02:00
the-djmaze
78e294e98e Check if $rImapLiteralStream is open resource and not closed 2023-03-28 10:02:49 +02:00
the-djmaze
9a4da9d7f0 Use Actions()->decodeRawKey() 2023-03-28 10:02:22 +02:00
the-djmaze
3819311a6d Merge branch 'master' of github.com:the-djmaze/snappymail 2023-03-28 09:50:17 +02:00
the-djmaze
0c89285033 Resolve #1057 2023-03-28 09:49:25 +02:00
the-djmaze
7106ffceb3
Merge pull request #1045 from hguilbert/patch-7
Update user.json
2023-03-27 12:57:34 +02:00
hguilbert
c589e24aeb
Update user.json 2023-03-22 18:15:25 +01:00
the-djmaze
f33ae5e021 v2.27.2 2023-03-22 07:34:58 +01:00
the-djmaze
b5356a4115 Improve #1038 2023-03-21 19:08:17 +01:00
the-djmaze
30c95ac04e SASL always base64 by default 2023-03-21 18:56:48 +01:00
the-djmaze
7105e23781 Resolve #1038 2023-03-21 18:55:38 +01:00
the-djmaze
a702a45086 Resolve #1024 2023-03-21 18:29:18 +01:00
the-djmaze
68cf58e9da
Merge pull request #1036 from cm-schl/master
Rewrite of plugin ldap-mail-accounts
2023-03-21 15:53:30 +01:00
the-djmaze
cf2c3b944e Change for #1024 2023-03-21 15:49:33 +01:00
cm-schl
bf54ed90a7
Merge branch 'the-djmaze:master' into master 2023-03-21 15:27:49 +01:00
the-djmaze
8e8f396c46 v2.27.1 2023-03-21 14:00:55 +01:00
the-djmaze
f1f4606cc6 Resolve #1032 2023-03-21 12:21:37 +01:00
the-djmaze
db5bd3cd36 Improved attachmentIcon glyph coloring 2023-03-21 11:05:34 +01:00
the-djmaze
b29d8f617c Better align .accountPlace text 2023-03-21 10:06:00 +01:00
the-djmaze
50487af6a7 Improved attachment glyph handling 2023-03-21 10:05:29 +01:00
cm-schl
c2b7ddc76b
Merge branch 'the-djmaze:master' into master 2023-03-21 09:20:15 +01:00
the-djmaze
6b29460bdf Change for #1025 2023-03-20 22:38:02 +01:00
the-djmaze
e14719b021 Resolve #1027 2023-03-20 22:22:37 +01:00
the-djmaze
1ca039f796 v2.27.0 2023-03-20 16:43:41 +01:00
the-djmaze
45be0d7aa8 Bugfix: ask unload when mobile and message visible 2023-03-20 15:21:56 +01:00
the-djmaze
470da2ee15 Nextcloud CSS --panel-bg-clr was missing 2023-03-20 08:32:57 +01:00
the-djmaze
f81fcb4e61 Better line-height for QR code 2023-03-20 08:32:31 +01:00
the-djmaze
60dca97603 Bugfix: when decrypt message, subject was replaced empty 2023-03-20 08:27:53 +01:00
the-djmaze
7a98e5e7d4 Nextcloud plugin translate russian
https://github.com/the-djmaze/snappymail/discussions/979#discussioncomment-5327668
2023-03-18 19:32:50 +01:00
the-djmaze
e30f9854b7 Fix theme cached handling 2023-03-17 23:20:42 +01:00
the-djmaze
b85ed63ff6 Resolve #1018 2023-03-15 23:04:58 +01:00
the-djmaze
dc06502744 Resolve #1017 2023-03-15 22:53:06 +01:00
cm-schl
75f198c8a0 Update release date 2023-03-14 14:50:22 +01:00
cm-schl
00a507ff97
Merge branch 'the-djmaze:master' into master 2023-03-14 14:48:42 +01:00
cm-schl
7662889237
Merge pull request #1 from cm-schl/rework-on-mailaddress-handling
Rework on mailaddress handling
2023-03-14 14:48:17 +01:00
cm-schl
2d4e72805a Updated readme.md 2023-03-14 14:37:37 +01:00
the-djmaze
308c7197c7 Resolve #1007 2023-03-14 13:55:20 +01:00
the-djmaze
014d22add9 PHP getElementsByTagName() must be lowercase #1015 2023-03-14 13:05:46 +01:00
the-djmaze
8ea2ff4ae8 Resolve #968 2023-03-14 12:46:12 +01:00
the-djmaze
84c4522ff2
Merge pull request #1011 from mayswind/master
update Chinese translation
2023-03-14 10:55:18 +01:00
the-djmaze
4bd9535219 ERROR: Undefined constant "MailSo\Log\Drivers\STDERR" #965 2023-03-14 10:53:18 +01:00
the-djmaze
2201060888 Changes for #1007 2023-03-14 10:46:52 +01:00
the-djmaze
b824c394ab Cache the index 2023-03-14 09:58:58 +01:00
the-djmaze
3464e296c3 Fix 'Location:' headers using proper '302 Found' header 2023-03-14 09:58:30 +01:00
the-djmaze
6fde436865 Don't generateETag() on SELECT/EXAMINE 2023-03-14 09:39:33 +01:00
the-djmaze
a0a7e93707 Resolve #1014 2023-03-13 21:48:20 +01:00
the-djmaze
85b06123c6 Better hash/cache handling for some functions 2023-03-13 15:21:37 +01:00
the-djmaze
321782aa26 Potential fix for #1004 2023-03-13 15:21:06 +01:00
the-djmaze
49f76ffe76 Move more JSON code into MailSo\Mail\Message 2023-03-13 13:01:05 +01:00
the-djmaze
a019f4d80e Reset folder etag on draft send 2023-03-13 12:59:16 +01:00
the-djmaze
1923d5cb4b Speedup CheckableFolders 2023-03-13 12:04:09 +01:00
the-djmaze
f8b794ec1c Prevent folder/messages flags conflict by using the right name attributes for Folders 2023-03-13 11:49:40 +01:00
the-djmaze
17b1deb95b FolderInformation() use jsonSerialize() 2023-03-13 10:46:40 +01:00
the-djmaze
59b3fe70b6 Improved mailbox ETag 2023-03-13 09:56:35 +01:00
the-djmaze
2dbf192558 Knockout added future code replaceChildren() for Safari 14+ 2023-03-13 09:03:14 +01:00
the-djmaze
4a4b2938a6 Remove unused GetConnectedPort() 2023-03-13 09:02:18 +01:00
MaysWind
51fe76cca3 update Chinese translation 2023-03-12 21:24:11 +08:00
the-djmaze
1b49399c46 Resolve #1006 2023-03-10 19:38:09 +01:00
the-djmaze
670271f257 Resolve #1005 2023-03-07 20:03:50 +01:00
the-djmaze
d484392518 Improved mailvelope handling 2023-03-07 16:06:09 +01:00
the-djmaze
4a9bc53558 Fix PGP/Inline view 2023-03-07 15:42:13 +01:00
cm-schl
c732cec62f Clearer description whats username for in the config 2023-03-07 15:31:09 +01:00
the-djmaze
f5045b9759 Move APP_VERSION hashing to smctoken encryption key 2023-03-07 15:14:49 +01:00
cm-schl
58b368552f Overwrite of main address works
- Cleanup of not used functions
- Rewrite of FindLdapResults function to work in both cases: for additional accounts and main account
2023-03-07 15:05:10 +01:00
the-djmaze
9dbf7b3bad Remove unused KeyPathHelper::TemplatesCache() and KeyPathHelper::PublicFile() 2023-03-07 14:41:42 +01:00
the-djmaze
bd7f9856f2 Redesign Raw handling as encodeRawKey/decodeRawKey doesn't need encryption 2023-03-07 13:53:52 +01:00
the-djmaze
402de0d569 Bugfix: ETag should use account not ImapClient as switching accounts could generate same hash 2023-03-07 11:41:47 +01:00
the-djmaze
e2ed87a1ab Remove Model\Account param from encodeRawKey/decodeRawKey 2023-03-07 08:03:15 +01:00
the-djmaze
eaf4bbe6d3 Resolve more cache issue with #1003 2023-03-06 16:00:50 +01:00
the-djmaze
206c8abdf5 More changes for #1003 2023-03-06 13:21:21 +01:00
the-djmaze
8c7fd77762 Resolve #1001 2023-03-06 11:55:32 +01:00
the-djmaze
5436253ffd Cache changes for #1003 2023-03-06 11:36:23 +01:00
the-djmaze
4dbcade830 Knockout simplify Object.setPrototypeOf 2023-03-06 11:05:44 +01:00
the-djmaze
b7963ebfa0 Use UNSEEN in folder ETag #1003 2023-03-06 10:50:00 +01:00
the-djmaze
24cf17f68b Force Imap\Sync properties to be \MailSo\Imap\ImapClient 2023-03-03 22:41:26 +01:00
the-djmaze
17b6181b5d Remove MailClient->MessageAppendStream() in favour of ImapClient->MessageAppendStream() 2023-03-03 22:40:57 +01:00
the-djmaze
234a335425 Resolve #932 2023-03-03 16:20:38 +01:00
the-djmaze
44b8370f63 Bugfix: src is null 2023-03-03 16:10:29 +01:00
the-djmaze
33c10365f0 Improved FolderCollection handling 2023-03-03 15:50:27 +01:00
cm-schl
a8f6dab672 Working prototype.
- Needs check if overwriting mail address is activated
- Needs rework on ldap query function (looks up to much data)
- Code cleanup is needed
2023-03-03 12:27:56 +01:00
the-djmaze
a61ef0fa1c Merge branch 'master' of github.com:the-djmaze/snappymail 2023-03-03 10:51:37 +01:00
the-djmaze
da2e56a8cb MODSEQ requires 64-bit int 2023-03-03 10:51:16 +01:00
the-djmaze
dae15e26d8 Resolve #998 2023-03-03 10:50:53 +01:00
the-djmaze
502c3b873c
Merge pull request #994 from Akrobs/master
Update user.json & admin.json
2023-02-25 19:10:38 +01:00
Akrobs
40db956766
Update admin.json 2023-02-25 17:24:05 +03:00
the-djmaze
1663cc6ce5 Put top menu "accountPlace" inside top-system-dropdown-id 2023-02-25 15:10:21 +01:00
Akrobs
0f95bd6dc6
Update user.json 2023-02-25 17:06:29 +03:00
the-djmaze
9ef96fccdd Don't make font bigger when screen > 1400px 2023-02-25 14:32:45 +01:00
the-djmaze
661e66d7fd Put attachment controls inside attachmentsPlace 2023-02-25 14:24:42 +01:00
the-djmaze
4b11b5477e Allow Nextcloud 32bit 2023-02-25 14:23:47 +01:00
the-djmaze
d8b05ee361 Resolve #992 2023-02-25 14:16:04 +01:00
Rene Hampölz
a9d077a299 fix: Disable mail invert filter 2023-02-25 12:54:07 +00:00
Rene Hampölz
a93db065d6 fix: ShowImages layout 2023-02-25 12:44:41 +00:00
Rene Hampölz
dbaa6eb3b2 fix: Broken styles in the latest snappymail release 2023-02-25 12:39:49 +00:00
the-djmaze
0144be49bf Show message toolbar on screens > 1400px #970 2023-02-25 10:55:24 +01:00
the-djmaze
a8c7146f96 Resolve #991 2023-02-25 00:07:11 +01:00
the-djmaze
84008edf45 v2.26.4 2023-02-24 19:47:39 +01:00
the-djmaze
bc74ca34d3 Simplify CSS code 2023-02-24 18:31:03 +01:00
the-djmaze
f85e7b5dec Resolve #990 2023-02-24 12:38:19 +01:00
the-djmaze
e64d49240f Update and cleanup npm 2023-02-24 12:27:50 +01:00
the-djmaze
91b4ff16bd Reduce/simplify CSS footprint 2023-02-24 11:45:26 +01:00
the-djmaze
b03d35bc7a Resolve #989 2023-02-23 18:51:54 +01:00
the-djmaze
a86c5ba639 bugfix: unicode mailto: addresses 2023-02-23 18:43:27 +01:00
the-djmaze
d92f25973b fix unicode email address matching #955 2023-02-23 17:38:41 +01:00
the-djmaze
5ef79e5148 Also match unicode email addresses #955 2023-02-23 17:24:23 +01:00
the-djmaze
e3d2250e19 Nextcloud allow in iframe #537 2023-02-23 16:33:38 +01:00
the-djmaze
0d715c0bb4 Translate change for #988 2023-02-23 15:54:33 +01:00
the-djmaze
9fa145dbc5
Merge pull request #988 from HeySora/system-font
Use the System/Browser font by default
2023-02-23 15:50:48 +01:00
the-djmaze
d528498d8d Remove unused imports 2023-02-23 15:44:28 +01:00
the-djmaze
7f62d9b7aa remove unused aCache 2023-02-23 15:43:43 +01:00
the-djmaze
8623bb5d60 Reduce use of isMobile() 2023-02-23 15:43:32 +01:00
the-djmaze
6af13255f2 No need to listen for resize as matchMedia() is used now 2023-02-23 14:35:13 +01:00
HeySora
d8f6ed1370
Use the System/Browser font by default 2023-02-23 14:08:38 +01:00
the-djmaze
57f497cf63 isMobile() not used in templates 2023-02-23 14:04:35 +01:00
the-djmaze
e1833ae032 Make layout fully responsive using matchMedia('(max-width: 799px)') 2023-02-23 13:54:32 +01:00
the-djmaze
1dbd9bda0c Don't exit; 2023-02-23 09:04:44 +01:00
the-djmaze
202fb08d09 Move brotli and gzip compress option to application.ini 2023-02-23 08:39:40 +01:00
Rene Hampölz
d021bd26fd fix: MessageView toolbar padding 2023-02-22 19:18:01 +00:00
the-djmaze
b5db67d23f Bugfix some mobile CSS 2023-02-22 17:57:10 +01:00
the-djmaze
97282075b0 Reduce some JavaScript 2023-02-22 17:43:54 +01:00
the-djmaze
f023a0799c Probable fix for #860 2023-02-22 15:06:59 +01:00
the-djmaze
b93a31f950 scrollMessage not needed on focusedState change 2023-02-22 14:57:29 +01:00
the-djmaze
a80bb83ce9 Simplify CSS folder .focused 2023-02-22 14:53:12 +01:00
the-djmaze
ade75b4cbe Bugfix solution #537 for cached template 2023-02-22 14:13:18 +01:00
the-djmaze
c83cf64b80 Resolve #537 2023-02-22 14:09:26 +01:00
the-djmaze
bb77d0ae02 Redesign \SnappyMail\HTTP\CSP for better control 2023-02-22 13:57:37 +01:00
the-djmaze
915a142315 Merge branch 'master' of github.com:the-djmaze/snappymail 2023-02-22 12:19:04 +01:00
the-djmaze
f662841281 Resolve #987 2023-02-22 12:18:49 +01:00
the-djmaze
525535b7b8
Merge pull request #984 from ner00/master
Update pt/pt-PT
2023-02-22 09:24:56 +01:00
the-djmaze
f1c2e5be02
Merge pull request #985 from hguilbert/patch-5
Update admin.json
2023-02-22 09:24:47 +01:00
the-djmaze
b80cae0776
Merge pull request #986 from hguilbert/patch-6
Update user.json
2023-02-22 09:24:37 +01:00
the-djmaze
77126d989a Squire don't detect ftp links as browsers drop support 2023-02-22 08:52:20 +01:00
the-djmaze
d10aec8f08 Resolve #955 and allow unicode 2023-02-22 08:51:33 +01:00
hguilbert
fe411e0a29
Update user.json
Update translate FR
2023-02-22 06:13:00 +01:00
hguilbert
ce2e104b3e
Update admin.json
Update translate FR
2023-02-22 06:06:01 +01:00
ner0
8ea0693d80 Update 2023-02-21 23:21:31 +00:00
the-djmaze
4d8f7d2af7 No need for rl.initData 2023-02-21 20:05:02 +01:00
the-djmaze
145c11d58e Set X-Frame-Options: DENY when frame_ancestors is empty 2023-02-21 19:15:21 +01:00
Rene Hampölz
b1fef91c55 fix: SettingsPane margin 2023-02-21 17:16:29 +00:00
Rene Hampölz
1b10e304d4 fix: MessageList min width 2023-02-21 17:03:44 +00:00
Rene Hampölz
eb8bdd60c8 fix: Button overflow on small sidebar 2023-02-21 16:54:46 +00:00
the-djmaze
66fafd3981 Add CSP frame-ancestors for #537 2023-02-21 17:23:26 +01:00
the-djmaze
2daa4f97e2 v2.26.3 2023-02-21 16:55:10 +01:00
the-djmaze
0172931bf9 removed unused data.set('SignatureInsertBefore') in IdentityPopupView 2023-02-21 16:28:20 +01:00
the-djmaze
0f82ad1109 Cleanup Identity edit window 2023-02-21 16:26:21 +01:00
the-djmaze
d495369688 Cleanup IdentityModel handling 2023-02-21 16:02:22 +01:00
the-djmaze
bfffa750ca Translate "Are you sure you want to exit?" 2023-02-21 15:45:21 +01:00
the-djmaze
5050d8edb3 Improved folder name editing 2023-02-21 15:33:55 +01:00
the-djmaze
1c1b043a50 Improved key event handling 2023-02-21 14:26:37 +01:00
the-djmaze
81d521c562 Simplify folder name editing 2023-02-21 14:26:16 +01:00
the-djmaze
938c209869 Cleanup a bit of javascript 2023-02-21 12:59:56 +01:00
the-djmaze
0b8ec5c664 Bugfix: language selector didn't show current language in green 2023-02-21 11:53:43 +01:00
the-djmaze
d1823af111 More JSON properties to JavaScript camelCase 2023-02-21 11:52:50 +01:00
the-djmaze
07f6b7545a Rename spam=>junk and draft=>drafts folder names to be compatible with IMAP and JMAP 2023-02-21 10:56:21 +01:00
the-djmaze
6c00a9cf3b Save Settings array param to \RainLoop\Settings 2023-02-21 10:40:16 +01:00
the-djmaze
ce2fb9d7f2 Many AppData properties to JavaScript camelCase 2023-02-21 10:22:59 +01:00
the-djmaze
c53d9adaba Make allowCtrlEnterOnCompose an account setting (but inactive as never changed) 2023-02-21 09:18:26 +01:00
the-djmaze
618333e257 Removed unused allow_html_editor_biti_buttons config option 2023-02-21 09:07:11 +01:00
the-djmaze
8b70fee072 Moved rl.fetch and rl.fetchJSON to boot.js so that AppData can be fetched as JSON 2023-02-21 09:04:47 +01:00
the-djmaze
91bc5931fd Set default ContactsSync in Nextcloud 2023-02-21 08:38:19 +01:00
the-djmaze
15e25a16e4 Improved convert RainLoop ContactsSync data 2023-02-21 08:36:00 +01:00
the-djmaze
5a1835c576 Don't put ContactsSync PasswordHMAC in AppData 2023-02-21 08:35:29 +01:00
the-djmaze
cf720e7105 Resolve #981 2023-02-20 23:51:08 +01:00
the-djmaze
79edca93ef Resolve #982 2023-02-20 17:34:23 +01:00
the-djmaze
8d52b0afdf Bugfix: Notification enum conflicts with window.Notification 2023-02-20 15:59:37 +01:00
the-djmaze
b5ab175953 Merge GnuPG and OpenPGP.js passphrases 2023-02-20 15:49:38 +01:00
the-djmaze
8a8d1d756e centralize elementById('rl-app') 2023-02-20 15:47:46 +01:00
the-djmaze
ec3e99c6ab Newline at end of file 2023-02-20 15:36:01 +01:00
the-djmaze
c7e52e04c2 Small translate fix for previous commits 2023-02-20 15:35:38 +01:00
the-djmaze
08f391fcd7 bugfix: threads indicator gets lost with new message cache handling 2023-02-20 15:15:52 +01:00
the-djmaze
b8b7f10055 https://github.com/the-djmaze/snappymail/pull/965#discussion_r1111953373 2023-02-20 14:21:49 +01:00
Rene Hampölz
5dd0eaefe0 chore: Add textareas 2023-02-20 12:46:06 +00:00
the-djmaze
8a63ae05ef Cleanup unused Squire code 2023-02-20 13:12:09 +01:00
Rene Hampölz
9e29238ed1 fix: Hide number input's spin box on chrome 2023-02-20 12:00:26 +00:00
Rene Hampölz
f601e02bf7 chore: Add error tooltip 2023-02-20 11:53:34 +00:00
Rene Hampölz
d38bb34aae chore: Improve squire toolbar buttons 2023-02-20 11:52:24 +00:00
the-djmaze
e56d1cf5c6 Resolve #954 2023-02-20 11:50:11 +01:00
the-djmaze
3e99f760a4 Resolve #953 2023-02-20 11:25:20 +01:00
the-djmaze
4fb359be59 Improved messages cache handling and fixed broken messagesBodiesDom 2023-02-20 10:49:22 +01:00
Rene Hampölz
2ee8fa6480 chore: Remove hover effect for showImages area 2023-02-20 09:01:01 +00:00
Rene Hampölz
e388e6cd76 chore: Add nextcloud filepicker 2023-02-19 18:37:36 +00:00
Rene Hampölz
f19cfa850f fix: Some checkboxes are not styled 2023-02-19 17:28:48 +00:00
Rene Hampölz
19e24871e6 fix: Some buttons are not styled 2023-02-19 15:45:07 +00:00
Rene Hampölz
a4158393ea chore: Add loading and login screen 2023-02-19 15:33:57 +00:00
Rene Hampölz
6564e825ec Fix: Wrong colored scrollbar corner 2023-02-19 13:54:56 +00:00
Rene Hampölz
f8a2b3489a fix: Broken styles in the latest snappymail release 2023-02-19 13:48:17 +00:00
the-djmaze
15f9aa11db v2.26.2 2023-02-17 14:27:16 +01:00
the-djmaze
75a6353445 Remove CSS white-space from messages to prevent annoying side scrolling 2023-02-17 13:35:59 +01:00
the-djmaze
ab77949e64 Changes for #973 2023-02-17 13:35:21 +01:00
cm-schl
7948e86a07 added comment 2023-02-17 12:33:32 +01:00
cm-schl
b8c681d1a5 Additional accounts now always get the mail address from ldap 2023-02-17 12:01:39 +01:00
the-djmaze
6e6ed0eab3 Resolve #974 2023-02-17 09:11:48 +01:00
the-djmaze
3b7deb1328 Improved cleanHtml() and cleanCSS() handling 2023-02-17 08:54:17 +01:00
the-djmaze
1506a158f4 Show loadavg in Admin -> About for #971 2023-02-17 08:26:53 +01:00
the-djmaze
5b536f81e3 Resolve #971 2023-02-16 22:30:55 +01:00
the-djmaze
a9eff27f99 Resolve #972 2023-02-16 16:08:05 +01:00
the-djmaze
e4e12bdaa9 Cleanup fix for #962 2023-02-16 14:45:12 +01:00
the-djmaze
b240c26667 Resolve #962 2023-02-16 14:02:55 +01:00
the-djmaze
5216535278 Move the "upload EML file to mailbox" Append feature into a DoFolderAppend() 2023-02-16 13:13:23 +01:00
the-djmaze
fb2eb62f83 Rename Folder Hash to ETag as it is the more obvious name 2023-02-16 10:55:23 +01:00
the-djmaze
1a05a0adf2 Some $this->MailClient() to $this->ImapClient() 2023-02-16 09:01:14 +01:00
the-djmaze
d98a2e015e Released new Avatars extension 2023-02-16 09:00:00 +01:00
the-djmaze
99b73d87f6 Check login handling for #969 2023-02-16 08:40:28 +01:00
the-djmaze
90d039b36b Bugfix: DoMessageList() hash check was incorrect 2023-02-16 08:38:41 +01:00
the-djmaze
38c4b4e26e Resolve #969 2023-02-15 23:04:23 +01:00
cm-schl
9cfe164633 Works now with additional accounts:
The mail address is correctly set by ldap value.
But plugin needs rework: it makes no sense to let the user use the non
existing mail address "username@domain" used
only by SnappyMail. Plugin should always use a looked up mail address
2023-02-15 17:57:59 +01:00
the-djmaze
8c97b64a55 Fix translations 2023-02-15 17:33:06 +01:00
the-djmaze
4852895488 Resolve #967 btoa() issue 2023-02-15 17:29:47 +01:00
the-djmaze
03379a6163 Moved AllowDraftAutosave option from Settings -> Security to Settings -> General -> Compose 2023-02-15 17:05:53 +01:00
the-djmaze
edcb84b4ae SmtpClient->Connect() use $oSettings->Ehlo 2023-02-15 12:59:49 +01:00
cm-schl
aa03e84c79
Merge branch 'the-djmaze:master' into rework-on-mailaddress-handling 2023-02-15 12:26:35 +01:00
the-djmaze
353fdda3e5 Move some message checks to MailSo\Mime\Message 2023-02-15 12:03:51 +01:00
the-djmaze
d629f42e4c x-script not used anymore 2023-02-15 12:03:21 +01:00
the-djmaze
ae1e6184c3 Resolve #956 2023-02-15 11:57:30 +01:00
the-djmaze
7a762e50c7 Resolve #957 2023-02-15 11:57:01 +01:00
the-djmaze
8058c8d2f6 Allow <body> element CSS as .mail-body 2023-02-15 11:26:21 +01:00
the-djmaze
d11118a159 Resolve #961 2023-02-15 10:54:12 +01:00
the-djmaze
f970e6be2d Merge branch 'master' of github.com:the-djmaze/snappymail 2023-02-15 10:37:56 +01:00
the-djmaze
163eb51ff6 Resolve #964 2023-02-15 10:37:41 +01:00
the-djmaze
b18f0ee2d9
Merge pull request #959 from hguilbert/patch-2
Update user.json
2023-02-14 20:30:25 +01:00
the-djmaze
d58cb75e53 Resolve #958 2023-02-14 20:12:16 +01:00
the-djmaze
9dd917894d Resolve #960 2023-02-14 19:04:14 +01:00
hguilbert
305c3b6a86
Update user.json
Some translation ...
2023-02-14 18:24:25 +01:00
the-djmaze
bd9e50f222 Bugfix: new CSS <style> removing (background-)?color failed 2023-02-14 16:51:51 +01:00
the-djmaze
492f1d4b10 v2.26.1 2023-02-14 15:32:12 +01:00
the-djmaze
5105f6d4c1 Improved handling of secure message <style> CSS class names 2023-02-14 15:21:43 +01:00
the-djmaze
64818025e8 Added feature to allow <style> in messages 2023-02-14 14:54:38 +01:00
the-djmaze
aae3072209 Prepare cleanHtml() for new feature 2023-02-14 14:07:38 +01:00
the-djmaze
4d2cd82d95 Resolve #937 2023-02-14 12:30:11 +01:00
the-djmaze
f99daeebe5 Bugfix: message() is null 2023-02-14 12:26:31 +01:00
the-djmaze
1f86b73414 Bugfix: OpenPGP decrypted attachments friendlySize not a function #89 2023-02-14 11:37:08 +01:00
the-djmaze
e2391d1ad2 Idea code for #951 2023-02-14 10:21:26 +01:00
the-djmaze
614e6c5756 Don't clone message for viewing, so that there is instant interaction with messagelist item 2023-02-14 10:11:25 +01:00
the-djmaze
b7a68a4245 Fix message @media print 2023-02-14 09:17:53 +01:00
the-djmaze
a696d6c0a1 Bugfix: addressparser() didn't handle groups properly 2023-02-13 19:47:24 +01:00
the-djmaze
ebf429215b view Message in new tab/window was missing BCC 2023-02-13 19:46:30 +01:00
the-djmaze
d898178985 emailArrayToStringLineHelper() filter addresses without email address
and simplify ComposeType handling
2023-02-13 19:19:00 +01:00
the-djmaze
974acaab90 Cleanup EmailModel 2023-02-13 17:05:44 +01:00
the-djmaze
ceac15ace9 Bugfix: middleclick failed when messagesDom not yet initialized 2023-02-13 16:36:38 +01:00
the-djmaze
33653eae81 Improved email address parsing and handling 2023-02-13 16:15:26 +01:00
the-djmaze
e8c93a1d0c Improved EmailModel handling 2023-02-12 18:28:30 +01:00
the-djmaze
57dc1d29b3 Update Identity class to latest PHP features 2023-02-12 18:27:55 +01:00
the-djmaze
396a1a423e Resolve #936 2023-02-12 18:27:06 +01:00
the-djmaze
477628ed70 #950 always return EmailCollection 2023-02-12 01:20:20 +01:00
the-djmaze
dbabbb9385
bugfix for solution #950 incorrect mailto link 2023-02-12 01:13:30 +01:00
the-djmaze
6237a3691b Resolve #950 2023-02-12 01:02:55 +01:00
the-djmaze
98d686bc14 Cleanup AbstractViewPopup handling 2023-02-12 00:27:11 +01:00
the-djmaze
163e926d6b
Merge pull request #948 from lota/patch-4
Italian translation fix - password again
2023-02-11 22:40:35 +01:00
the-djmaze
199fb1a8d6
Merge pull request #947 from lota/patch-3
Password italian translation
2023-02-11 22:40:25 +01:00
the-djmaze
d26fb2db05 improved blockquote switcher design 2023-02-11 20:42:13 +01:00
the-djmaze
e4b0d43b3d Bugfix: screenOnRoute sometimes failed 2023-02-11 20:41:54 +01:00
the-djmaze
415102aa37 Replace Element.fromHTML() with createElement() 2023-02-11 20:38:57 +01:00
the-djmaze
820b26a315 CSS don't display:flex when [hidden] 2023-02-11 20:00:40 +01:00
Lota Bi
4c18b84455
Italian translation fix - password again
sorry, PASSWORD lemma duplicate in admin.json too
for my opinion password is a common word that not require translation in italian
2023-02-11 18:17:40 +01:00
Lota Bi
ff53f8f8fe
Password italian traslation
Password not need translation
2023-02-11 18:14:22 +01:00
the-djmaze
8b02d7f892 Improved fix for #941 and #944 2023-02-10 17:31:10 +01:00
the-djmaze
7dbcc3a58d
Merge pull request #944 from e-foundation/master
fix default theme selection
2023-02-10 16:17:43 +01:00
Nivesh Krishna
0c6950d49c
fix default theme selection 2023-02-10 20:02:17 +05:30
cm-schl
424c1ff90a Prepared ldap query to optionally read mail addresses
for main account and additional accounts
2023-02-10 12:04:50 +01:00
the-djmaze
399ae06a5c v2.26.0 2023-02-10 11:38:41 +01:00
cm-schl
30e3a8cc0f added new config options to overwrite the mail address 2023-02-10 11:11:24 +01:00
the-djmaze
2f22267a77 Resolve #836 2023-02-10 11:06:12 +01:00
the-djmaze
67e359e616 Merge branch 'master' of github.com:the-djmaze/snappymail 2023-02-10 09:56:06 +01:00
the-djmaze
31dd1b74b8 Resolve #938 2023-02-10 09:55:52 +01:00
the-djmaze
3655639bda
Merge pull request #942 from BenAlanSouthall/patch-1
Add Integrations with Apps to Documentation for Nextcloud
2023-02-10 07:47:04 +01:00
Ben Southall (Work Account)
916501c3ff
Add Integrations with Apps to Documentation for Nextcloud
Just worked out all we needed to do to get all users to come through was enable the contacts app. Nice!!! would be good to have both mention and any specific details of [these features](https://apps.nextcloud.com/apps/snappymail) in the docs :) :
> Integration with other Nextcloud apps (Contacts, Files and Calendar)
2023-02-10 02:01:34 +00:00
the-djmaze
f05ff65b30 Change for Chrome caching issue #188 2023-02-09 23:15:24 +01:00
the-djmaze
9d02be6a20 MAke settings panel 100% wide 2023-02-09 20:54:18 +01:00
the-djmaze
298c0ac866 Resolve #941 2023-02-09 20:53:52 +01:00
the-djmaze
1fb3a26bd7 Files 0755 to 0644 2023-02-09 16:53:05 +01:00
the-djmaze
f1640d7565 Some spacing between message "view images" buttons for #201 2023-02-09 16:52:40 +01:00
the-djmaze
b2079f7263 Bugfix: whitelist fails when empty or when using : #938 2023-02-09 16:16:50 +01:00
the-djmaze
6c14055006 Resolve #939 2023-02-09 13:52:41 +01:00
the-djmaze
2b7962805f PdoAddressBook ORDER BY deleted DESC to prevent sync and export issues 2023-02-09 13:50:09 +01:00
the-djmaze
08d4cf3648 Bugfix: upgrade Undefined variable $items 2023-02-09 12:57:00 +01:00
the-djmaze
e364b6286f Get account local sqlite AddressBook working (but still inactive) 2023-02-09 12:54:36 +01:00
the-djmaze
8d6eb96c8f v2.25.5 2023-02-09 10:37:43 +01:00
the-djmaze
9466fc71a8 Reduce memory usage on addressbook vcf import 2023-02-09 10:12:13 +01:00
the-djmaze
e6bdb37ca1 Kolab error: $id is string, should be int 2023-02-09 09:29:45 +01:00
the-djmaze
4145c87e55 Resolve #931 2023-02-09 09:29:19 +01:00
the-djmaze
58e1c2e535 Bugfix: default preview-pane layout width/height 2023-02-09 09:02:30 +01:00
the-djmaze
62fb32a914
Merge pull request #930 from cm-schl/patch-1
Update index.php
2023-02-08 18:12:27 +01:00
the-djmaze
b448b8661d Properly fix #928 by redesign using display: flex 2023-02-08 17:39:30 +01:00
cm-schl
a24dade801
Update index.php 2023-02-08 15:38:47 +01:00
the-djmaze
8b8b0fc7e4 small cleanup 2023-02-08 12:12:02 +01:00
the-djmaze
f35ea9a815 Workaround #928 2023-02-08 12:05:38 +01:00
the-djmaze
85d3a95dec Message whitelist #201:
* sort options based on domain count (highest top)
* hide when whitelist not active
2023-02-08 11:39:07 +01:00
the-djmaze
e12eeeafc6 Resolve #927 Call to undefined method MailboxDetectPlugin::Logger() 2023-02-08 10:43:11 +01:00
the-djmaze
4ef78c24e1 Log more info for #926 2023-02-08 10:31:22 +01:00
the-djmaze
7da5e84a35
Merge pull request #925 from Digital-Dimensions-LLC/master
Add Dark Themes
2023-02-07 17:17:05 +01:00
Justyn Freeman
cd6fc89e38 Add BlackWood theme 2023-02-07 10:36:55 -05:00
Justyn Freeman
919acff536
Merge branch 'the-djmaze:master' into master 2023-02-07 10:33:47 -05:00
Justyn Freeman
a5be8b9afc Update styles.css 2023-02-07 10:33:17 -05:00
Justyn Freeman
12c95159f2 Update styles.css 2023-02-07 10:33:14 -05:00
Justyn Freeman
13d80b41a6 Update styles.css 2023-02-07 10:33:10 -05:00
the-djmaze
831410e8f0 Whitelist images dropdown #201 2023-02-07 15:48:39 +01:00
the-djmaze
05d8e7b353 Improved autocrypt #342 2023-02-07 15:25:28 +01:00
the-djmaze
636ffe5fbb Add more logging for #907 2023-02-07 14:50:06 +01:00
the-djmaze
f2ca5f6a30 Probably solution for #907 2023-02-07 11:49:05 +01:00
the-djmaze
7286134382 Bugfix: inline images sometimes failed 2023-02-07 10:50:40 +01:00
the-djmaze
276cbc2f03 On upgrade set umask and chmod files for #358 2023-02-07 10:33:23 +01:00
the-djmaze
69064e2ad0 Image whitelist shortcuts as discussed in #201 2023-02-07 10:23:10 +01:00
the-djmaze
7aa5142047 Speedup cleanHtml() parser 2023-02-07 08:56:51 +01:00
the-djmaze
a1441c9f22 Removed disabled blockquote height calculator for #902 2023-02-07 08:51:02 +01:00
the-djmaze
e8669a20bb Resolve #918 2023-02-07 08:31:52 +01:00
the-djmaze
cb7a1fe30e
Resolve #921 2023-02-06 23:46:35 +01:00
the-djmaze
0c7593fa0e
Merge pull request #919 from hguilbert/patch-1
Update user.json
2023-02-06 23:30:57 +01:00
the-djmaze
cfeeeb3cd4
Merge pull request #920 from ner00/master
Translate IMAGES_OPTION_DKIM
2023-02-06 23:30:37 +01:00
Justyn Freeman
634a8ee9c0 Update styles.css 2023-02-06 14:35:58 -05:00
Justyn Freeman
dc2ebdf8e2 Update styles.css 2023-02-06 14:35:53 -05:00
Justyn Freeman
32f749bcb1 Update styles.css 2023-02-06 14:35:49 -05:00
ner0
336e2e756f Translate IMAGES_OPTION_DKIM 2023-02-06 18:56:43 +00:00
hguilbert
be47787166
Update user.json
Update translations - Typo correction
2023-02-06 17:54:27 +01:00
the-djmaze
e8f200186d Added external images option 'Always when DKIM is valid' for #201 2023-02-06 17:16:31 +01:00
Justyn Freeman
a898b2f405 Update styles.css
Fix tiling background image (mostly)
2023-02-06 10:40:47 -05:00
the-djmaze
2a619dfa93
Merge pull request #917 from ner00/master
Update and tweak pt/pt-PT translation
2023-02-06 16:40:28 +01:00
Justyn Freeman
b4625f1599 Update styles.css
Fix tiling background image (mostly)
2023-02-06 10:40:18 -05:00
ner0
9cc94287f9
Merge branch 'the-djmaze:master' into master 2023-02-06 15:35:07 +00:00
ner0
4d04094baa Update and tweak pt/pt-PT translation 2023-02-06 15:34:16 +00:00
Justyn Freeman
e8938ebde7 Add StripesDark
Add dark variation of Stripes theme
2023-02-06 10:21:27 -05:00
Justyn Freeman
86918738e4 Add NightShine
Add dark mode variation of Shine theme
2023-02-06 10:19:09 -05:00
Justyn Freeman
81a04ef861 Add BlurredDark
Add dark variation of Blurred theme
2023-02-06 10:18:49 -05:00
the-djmaze
8af68d7c65 Prevent Apache access error due to directories being 0700 2023-02-06 15:47:26 +01:00
the-djmaze
67b13e5b1b Admin -> Config layout fix 2023-02-06 15:41:30 +01:00
the-djmaze
88bfa5663f Prevent loading loop between MessageList and FolderInformation requests 2023-02-06 13:54:03 +01:00
the-djmaze
9cec77ecc1 Small messageList layout improvement 2023-02-06 13:25:20 +01:00
the-djmaze
4f7f713046 v2.25.4 2023-02-06 11:51:41 +01:00
the-djmaze
7c090ee775 Resolve #916 2023-02-06 11:28:15 +01:00
the-djmaze
a6e8e5cb82 Disable blockquotes height calculation for #902 2023-02-06 11:14:53 +01:00
the-djmaze
e65dcc1d79 Some style change for settings panels 2023-02-06 11:05:52 +01:00
the-djmaze
53569957fe Resolve #897 2023-02-06 10:33:12 +01:00
the-djmaze
b2fdc39670 Cleanup material-design checkbox 2023-02-06 10:04:00 +01:00
the-djmaze
7ffe02c28a Revert #897 2023-02-06 09:53:00 +01:00
the-djmaze
f01c6bce4b Fix some MailMessageView styling 2023-02-06 09:49:49 +01:00
the-djmaze
70e32e0905 Bugfix: autofocus was triggered when view resized 2023-02-06 08:49:56 +01:00
the-djmaze
cc054054c2 Merge branch 'master' of github.com:the-djmaze/snappymail 2023-02-05 19:46:09 +01:00
the-djmaze
8648b3af88 Resolve #912 2023-02-05 19:45:56 +01:00
the-djmaze
93ff3001c6 Hopefull improved styling for Firefox mobile fixes 2023-02-05 19:45:03 +01:00
the-djmaze
07409cde50 Set CSS color-scheme: dark; 2023-02-05 19:22:32 +01:00
the-djmaze
7bdc6c683b
Resolve #915 due to #898 2023-02-05 14:30:53 +01:00
the-djmaze
e2266d1ffd Add CSS color-scheme for #913 2023-02-05 12:29:19 +01:00
the-djmaze
7b586cf5fb
Merge pull request #913 from Digital-Dimensions-LLC/master
Add LoveDark Theme
2023-02-05 12:25:57 +01:00
the-djmaze
af6f83b193
Merge pull request #914 from hguilbert/patch-1
Update user.json
2023-02-05 10:15:39 +01:00
hguilbert
e464f253da
Update user.json
Some translations in "Français"
2023-02-05 08:34:22 +01:00
Justyn Freeman
5452d158f2 Re-Upload assets 2023-02-05 02:25:57 -05:00
Justyn Freeman
0437e11a47
Delete preview[1].png 2023-02-05 02:22:39 -05:00
Justyn Freeman
2e68dd6bef
Delete background[1].jpg 2023-02-05 02:22:28 -05:00
Justyn Freeman
7b9993b84f
Import image assets 2023-02-05 02:15:33 -05:00
Justyn Freeman
674859b835
Create styles.css 2023-02-05 02:13:09 -05:00
the-djmaze
dd829c5d97 $bUrlEncode always false, so remove it 2023-02-04 21:27:30 +01:00
the-djmaze
be0348b324 Resolve #910 MailSo\Base\Http::GetHost(): Return value must be of type string 2023-02-04 21:20:03 +01:00
the-djmaze
fc5b26dfc2 Added message maximum quoted text level for speed.
Read https://github.com/the-djmaze/snappymail/issues/902#issuecomment-1416777217
2023-02-04 16:39:50 +01:00
the-djmaze
b0a4fb77be Bugfix for whitelist to show images directly #201 2023-02-04 15:44:51 +01:00
the-djmaze
539ddcc51f Moved pluginEnable() to \SnappyMail\Repository::enablePackage() 2023-02-04 15:28:46 +01:00
the-djmaze
cf08c1aba4 Only allow from CLI #907 2023-02-04 15:08:42 +01:00
the-djmaze
7671503562 Example script for #907 2023-02-04 14:57:31 +01:00
the-djmaze
22ffe4a079 Bugfix: btn-thin were too high 2023-02-03 20:23:42 +01:00
the-djmaze
a0a9d8fd65 Solve messagelist thread issue as mentioned at
https://github.com/the-djmaze/snappymail/issues/445#issuecomment-1415949559
2023-02-03 15:51:41 +01:00
the-djmaze
8c676aa267 v2.25.3 2023-02-03 15:15:49 +01:00
the-djmaze
426c92fe33 Make collapse quotes optional for #902 2023-02-03 14:40:56 +01:00
the-djmaze
b859cd6aec Improved loginErrorDelay to prevent timing attacks 2023-02-03 14:36:13 +01:00
the-djmaze
c4df524a06 Prevent decrypt error for #859 2023-02-03 12:30:46 +01:00
the-djmaze
b182372b83 Speedup for #902 2023-02-03 12:12:40 +01:00
the-djmaze
c6db5f1def Move blockquote switcher to HTML parser #902 2023-02-03 11:17:16 +01:00
the-djmaze
39bb3719c2 Moved some application.ini settings 2023-02-03 11:16:15 +01:00
the-djmaze
16daa7b55e Resolve #891 and other index cache issues 2023-02-03 09:20:42 +01:00
the-djmaze
11c5b0e8f1 Resolve bug in images whitelist #201 2023-02-03 08:39:09 +01:00
the-djmaze
05f45d36d1 Resolve #901 2023-02-03 07:42:17 +01:00
the-djmaze
722bec1a1a Resolve #900 2023-02-02 22:06:43 +01:00
the-djmaze
489ed81c84 Move "assets" to proper location in snappymail/v/0.0.0/static/ 2023-02-02 17:19:06 +01:00
the-djmaze
4521a9917a Also allow changing email address (untested) for #859 2023-02-02 15:09:03 +01:00
the-djmaze
73e6848ff4 Don't remember GnuPGP key passphrase when it fails #840 2023-02-02 14:50:46 +01:00
the-djmaze
e01af6a7ac Set checkMailInterval to 15 minutes by default (now that it is configurable) 2023-02-02 14:43:22 +01:00
the-djmaze
acc1c0badc Don't remember OpenPGP key passphrase when it fails #840 2023-02-02 14:04:37 +01:00
the-djmaze
78938caaf3 v2.25.2 2023-02-02 13:26:23 +01:00
the-djmaze
565ef41eba Comments for #537 2023-02-02 12:55:06 +01:00
the-djmaze
a52881fb67 Resolve #840 2023-02-02 12:39:21 +01:00
the-djmaze
af3cecb2e1 https://github.com/the-djmaze/snappymail/issues/895#issuecomment-1412891229 2023-02-02 09:58:09 +01:00
the-djmaze
a7081660f0 Resolve #898 2023-02-02 09:51:00 +01:00
the-djmaze
8cf8823d56 Nextcloud use RainLoop settings #898 2023-02-01 21:09:18 +01:00
the-djmaze
094609102d Avatars use current app font #888 2023-02-01 13:02:37 +01:00
the-djmaze
cefe679c98 Resolve #486 2023-02-01 12:21:31 +01:00
the-djmaze
67488a56f6 https://github.com/the-djmaze/snappymail/issues/569#issuecomment-1411330109 2023-02-01 11:19:14 +01:00
the-djmaze
5259da41f2 Details for #188 2023-02-01 11:09:18 +01:00
the-djmaze
7236412e48
Merge pull request #896 from master3395/master
Update admin.json
2023-02-01 10:23:28 +01:00
the-djmaze
d68843e4ec Nextcloud prevent serving precompressed files due to too many setups that fail 2023-02-01 10:22:46 +01:00
the-djmaze
cc383f6b0e Resolve #233 2023-02-01 10:01:13 +01:00
Master3395
b5c6ecac3e Update admin.json
Updating translations for nb-NO
2023-01-31 21:33:24 +01:00
the-djmaze
76ae57b481 Resolve #887 2023-01-31 17:38:38 +01:00
the-djmaze
71eaaf007e Resolve #828 (floating toolbar not needed anymore) 2023-01-31 15:40:07 +01:00
the-djmaze
516a080a5b Remove unused translation 2023-01-31 15:39:44 +01:00
the-djmaze
2b8fbaf091 Prevent empty area scroll on body 2023-01-31 14:46:14 +01:00
the-djmaze
07079b519a Resolve #201 2023-01-31 14:45:50 +01:00
the-djmaze
6129fb4233 Paste image makes it max 1024px width/height #262 2023-01-31 13:13:29 +01:00
the-djmaze
9f5c75d9db Remove unused AUTH_SPEC_LOGOUT_TOKEN_KEY and AUTH_SPEC_LOGOUT_CUSTOM_MSG_KEY 2023-01-31 12:47:57 +01:00
the-djmaze
7578d18cab cleanup folderInformation() request 2023-01-31 12:47:21 +01:00
the-djmaze
a9764bf034 \RainLoop\Utils::SetCookie() to \SnappyMail\Cookies::set() 2023-01-31 12:46:37 +01:00
the-djmaze
131be583e5
Merge pull request #894 from e-foundation/nc-plugin-bump
bump NC plugin
2023-01-31 11:38:46 +01:00
the-djmaze
dc49aaf94d Resolve #849 2023-01-31 11:35:25 +01:00
the-djmaze
d7b5f3f4db Also protect GET requests with token for #892 2023-01-31 11:30:24 +01:00
Nivesh Krishna
206758c803
bump NC plugin 2023-01-31 15:26:32 +05:30
the-djmaze
b1c9bebce6 Force token for #892 2023-01-31 10:49:06 +01:00
the-djmaze
977dc1e5e4 Move and improve cookie handling so that it might catch #537 2023-01-31 10:27:23 +01:00
the-djmaze
fa3d4727f9 Also support SnappyMail\TAR on core update 2023-01-31 09:31:01 +01:00
the-djmaze
b1471c2bbd SnappyMail\TAR::extractTo support the $files and $overwrite parameters 2023-01-31 09:27:11 +01:00
the-djmaze
6e2e07ce98 Merge \MailSo\Base\Utils::RecRmDir() and \MailSo\Base\Utils::RecTimeDirRemove() 2023-01-31 09:05:27 +01:00
the-djmaze
a86c143160 Resolve #893 2023-01-31 09:03:01 +01:00
the-djmaze
3396a3d791 Protect against multiple accounts on different tabs #892 2023-01-30 22:42:37 +01:00
the-djmaze
c21817e5e0 v2.25.1 2023-01-30 15:49:58 +01:00
the-djmaze
e23e0138a9 Enable RFC 8689 2023-01-30 15:21:17 +01:00
the-djmaze
1126712d11 Improve create folder popup 2023-01-30 14:26:42 +01:00
the-djmaze
bc196bcd1a Added missing knockoutjs checked.js binding 2023-01-30 14:16:10 +01:00
the-djmaze
08a082a190 Merge branch 'material-design-checkbox-accessibility' 2023-01-30 14:14:26 +01:00
the-djmaze
93d1b6de9a unused typeToBitArray 2023-01-30 14:04:08 +01:00
the-djmaze
ac424fc584 re-enable simplified knockoutjs checked binding 2023-01-30 14:03:45 +01:00
Rene Hampölz
96e090650d fix: Clipped elements on disabled left panel 2023-01-30 11:18:46 +00:00
Rene Hampölz
15deadaa1c fix: Broken styles in the latest snappymail release 2023-01-30 11:12:11 +00:00
the-djmaze
d0376b53a8 Improved accessibility of material-design checkbox 2023-01-30 10:09:52 +01:00
the-djmaze
e148cdea75 Always subscribe to new folder by default 2023-01-30 09:12:11 +01:00
the-djmaze
4c8d84d07b Merge NoScript, NoCookie and BadBrowser pages in Index.html 2023-01-30 09:10:49 +01:00
the-djmaze
860b7701f3 Resolve #885 2023-01-29 18:28:35 +01:00
the-djmaze
6666712bc9 Cleanup #884 2023-01-28 08:28:40 +01:00
the-djmaze
f862634143
change for #884 2023-01-28 00:47:57 +01:00
the-djmaze
e45959949c
changes for #884 2023-01-28 00:44:10 +01:00
the-djmaze
c6500dfe14
Update Account.php
Bugfix send message using PHP mail() failed
2023-01-28 00:09:56 +01:00
the-djmaze
352ef98bc6 Resolve #849 2023-01-27 21:29:08 +01:00
the-djmaze
49a63f37c9 Resolve #880 2023-01-27 16:08:42 +01:00
the-djmaze
32e933b435 PHP < 8.1 ini_set() only accepts strings when declare(strict_types=1); is used 2023-01-27 16:07:05 +01:00
the-djmaze
2750e0698d Cleanup translations.
Also see https://snappymail.eu/translate.php
2023-01-27 12:15:25 +01:00
the-djmaze
f929c8fb69 Resolve #875 2023-01-27 09:19:32 +01:00
the-djmaze
f79e6f253d Improve mobile view left side background color 2023-01-27 08:42:18 +01:00
the-djmaze
f6f3040ad2 Also fix settings on upgrade inside Nextcloud 2023-01-27 08:30:34 +01:00
the-djmaze
82a1f4d781 Make #879 optional 2023-01-26 22:53:12 +01:00
the-djmaze
dc6674af4a
Merge pull request #879 from e-foundation/fix-contacts-suggestions-nextcloud
Add check to unregister system addressbook
2023-01-26 21:53:44 +01:00
the-djmaze
0b421d5a62 Nextcloud /themes/*/snappymail/(style.css|preview.png) for #875 2023-01-26 21:42:14 +01:00
Akhil
6dff9cd781
Add check to unregister system addressbook
Signed-off-by: Akhil <akhil.potukuchi@gmail.com>
2023-01-27 01:32:00 +05:30
the-djmaze
3b43a8bc78 Resolve #869 2023-01-26 20:03:07 +01:00
the-djmaze
d65d77ef2f Idea for #875 2023-01-26 20:02:48 +01:00
the-djmaze
188b419910 v2.25.0 2023-01-26 16:35:54 +01:00
the-djmaze
5b1404ffac Resolve #878 2023-01-26 15:53:00 +01:00
the-djmaze
271065fe44 Fix mobile view issues 2023-01-26 15:37:27 +01:00
the-djmaze
8047a36b70 #rl-content to use flex for better layout control 2023-01-26 14:11:30 +01:00
the-djmaze
cfcc8c73af Decode some Copernica link tracking 2023-01-26 10:49:57 +01:00
the-djmaze
974350ebee Found more JSON properties to change into JavaScript camelCase 2023-01-26 10:41:55 +01:00
the-djmaze
b9ef8ae2c9 Resolve #866 2023-01-25 10:24:18 +01:00
the-djmaze
ba543c95d7 Improved #871 2023-01-25 09:52:30 +01:00
the-djmaze
09f00d1766
Merge pull request #871 from codiflow/master
Added right margin to folder search input wrapper
2023-01-25 09:49:53 +01:00
the-djmaze
528b6cd096 cleanup some json code 2023-01-25 09:41:15 +01:00
the-djmaze
f23b7205c6 Squire Colour to Color 2023-01-25 09:28:48 +01:00
the-djmaze
4cfd6479ce Better Sieve rainloop.user script handling 2023-01-25 09:28:09 +01:00
the-djmaze
f080a302b1 Almost all JSON properties to JavaScript camelCase 2023-01-24 18:58:25 +01:00
Christian
d6bde1aab0
Added right margin to folder search input wrapper 2023-01-23 13:55:46 +01:00
the-djmaze
7a53cae32f Remove unused function ContentTypeType() due to previous commit 2023-01-22 22:27:40 +01:00
the-djmaze
7e42e99019 Remove some unused functions 2023-01-22 22:24:27 +01:00
the-djmaze
87df281434 Improve MailSo\Imap\BodyStructure 2023-01-22 20:06:52 +01:00
the-djmaze
3d63eeb79e Cleanup MIME part FileName handling 2023-01-22 16:07:49 +01:00
the-djmaze
65bf9be580 Maybe solution for #867 2023-01-22 13:32:03 +01:00
the-djmaze
da4b9684b4 Log RAW request for #867 2023-01-22 10:21:03 +01:00
the-djmaze
c30c41a79b Nextcloud _htaccess to .htaccess failed 2023-01-22 10:20:13 +01:00
the-djmaze
974adb78e2 Start documenting JavaScript rl object as noted in #865 2023-01-19 20:09:52 +01:00
the-djmaze
95024aca10 Bugfix: Nextcloud ?admin wrong layout 2023-01-19 19:41:30 +01:00
the-djmaze
d43d3340e4 Fix default messageListItem border left color for dark mode 2023-01-19 19:12:11 +01:00
the-djmaze
e1d66d90ae Resolve #863 2023-01-19 17:27:14 +01:00
the-djmaze
d25af53dfb v2.24.6 2023-01-19 17:11:40 +01:00
the-djmaze
79510eb79c Resolve #864 2023-01-19 16:46:39 +01:00
the-djmaze
dba125ad59 Change for #864 2023-01-19 15:49:49 +01:00
the-djmaze
7feb9a9f41 ImapConnectAndLoginHelper() to ImapConnectAndLogin() 2023-01-19 10:55:34 +01:00
the-djmaze
b3a969fb8a Bugfix and improved 2023-01-19 10:55:01 +01:00
the-djmaze
890fe132e1 Remove unused $bUsePhpMail 2023-01-19 10:53:35 +01:00
the-djmaze
790edc73c8 Workaround #813 2023-01-18 18:50:23 +01:00
the-djmaze
53eac88edb Move some Nextcloud SnappyMailHelper code to new InstallStep 2023-01-18 12:18:10 +01:00
the-djmaze
b20df3209f Fix language SETTINGS_LABELS 2023-01-18 11:45:27 +01:00
the-djmaze
1d4b20bb79 Prepare RFC 8689 2023-01-18 08:56:56 +01:00
the-djmaze
bd35521f41 Resolve #525 and #855 2023-01-18 08:44:24 +01:00
the-djmaze
7f8707c4c0 Cleanup messages cache handling 2023-01-18 08:38:26 +01:00
the-djmaze
745a3603fe Resolve #852 2023-01-18 08:20:51 +01:00
the-djmaze
dcd1d1cbd4 Resolve unknown CSP directive 'strict-dynamic' in Safari 13.1.2 2023-01-17 15:49:35 +01:00
the-djmaze
b2ca7f50ad Resolve timeStyle issue found in Safari 13.1.2 2023-01-17 15:48:48 +01:00
the-djmaze
cc068e9dc4 Small wrapping fix for #843 2023-01-17 15:09:48 +01:00
the-djmaze
98996ba4b7 Resolve #843 2023-01-17 14:26:00 +01:00
the-djmaze
d41f9d8eee Improved contacts suggestions limit handling #849 2023-01-17 12:31:07 +01:00
the-djmaze
51f250cc78 Plugins still use ImapConnectAndLoginHelper 2023-01-17 12:26:12 +01:00
the-djmaze
302dcf67c2 Bugfix: matchAnyRule() Return value must be of type bool, none returned 2023-01-17 12:19:45 +01:00
the-djmaze
80eea23b10 Add admin setting for the contacts suggestions limit
Improves visual info for #849
2023-01-17 11:52:07 +01:00
the-djmaze
c5c180cb2e Move createDomain & createDomainAlias buttons below table 2023-01-17 11:22:30 +01:00
the-djmaze
29beb9b75d Improved visibility Admin Domain Test errors 2023-01-17 11:02:45 +01:00
the-djmaze
61899ce092 Prepare for custom SMTP credentials for #859 #458 #431 #233 2023-01-17 10:28:19 +01:00
the-djmaze
038e093e68 Merge branch 'master' of github.com:the-djmaze/snappymail 2023-01-16 14:11:08 +01:00
the-djmaze
ad8eccf83b Resolve #858 2023-01-16 14:10:55 +01:00
the-djmaze
a72b671b1c
Merge pull request #854 from dominiquefournier/patch-6
Update fr-FR translations
2023-01-15 08:56:50 +01:00
dominiquefournier
e1f8fa5090
Update fr-FR translations 2023-01-14 19:14:04 +01:00
the-djmaze
177dfcb7e5 Improved and solve #847 2023-01-12 16:54:40 +01:00
the-djmaze
e1aa566ec8
Merge pull request #847 from SWEETGOOD-DE/master
Adding a button to clear folder search input field
2023-01-12 16:43:24 +01:00
codiflow
bd35a73f5f Added search input wrapper div 2023-01-12 15:52:54 +01:00
the-djmaze
686fa20945 v2.24.5 2023-01-12 15:16:32 +01:00
codiflow
7b29dca261 Adding a button to clear folder search input field 2023-01-12 13:24:34 +01:00
the-djmaze
a2336be273 Merge branch 'master' of github.com:the-djmaze/snappymail 2023-01-12 08:58:33 +01:00
the-djmaze
6923ddebe8 Bugfix: MessageCollection->totalEmails was incorrect on search 2023-01-12 08:58:11 +01:00
the-djmaze
c9608f18a2
Merge pull request #846 from cm-schl/master
Improve german and italian translation
2023-01-11 20:55:18 +01:00
cm-schl
f10f93fd8f Merge branch 'master' of https://github.com/cm-schl/snappymail 2023-01-11 16:48:14 +01:00
cm-schl
5eab70f935 Improve italian translation 2023-01-11 16:46:17 +01:00
cm-schl
2321abcf47 Improve german translation 2023-01-11 16:46:05 +01:00
the-djmaze
07dae9dd30 Resolve ReCaptcha CSP #841 2023-01-11 08:43:34 +01:00
the-djmaze
9c9eea0dac Bugfix: auth_logging failed #489 2023-01-10 09:10:20 +01:00
the-djmaze
4572d3f43d Bugfix: undefined $sValue 2023-01-09 21:21:59 +01:00
the-djmaze
5149357888 Bugfix: Class "RainLoop\Actions\Notifications" not found #839 2023-01-09 14:25:25 +01:00
the-djmaze
d3b716cfda I broke Remote.messageList() in previous commit 2023-01-09 14:06:33 +01:00
the-djmaze
be512a0333 Improved solution for #686 2023-01-09 13:11:27 +01:00
the-djmaze
cf12960507 Improved cache handling 2023-01-09 12:28:07 +01:00
the-djmaze
29854311f9 Don't use \ 2023-01-09 10:16:43 +01:00
the-djmaze
1311fd343b Improvements for #686 2023-01-05 16:27:13 +01:00
the-djmaze
9a5ad04a6e Avatars to 48x48 2023-01-05 12:29:25 +01:00
the-djmaze
712cfbb8f4 Put :login_name in change-password PDO default value 2023-01-05 12:18:15 +01:00
the-djmaze
7858b3e06a Improved avatars plugin with better cached image handling and custom images 2023-01-05 12:16:52 +01:00
the-djmaze
a2ddd493ce Improved MIME handling for JSON 2023-01-05 10:55:59 +01:00
the-djmaze
d4e1e90eef Better solution for #826 2023-01-05 09:55:09 +01:00
the-djmaze
d6d9be0dab Improve #826 2023-01-04 18:46:04 +01:00
the-djmaze
e95b919c1e Resolve #825 2023-01-04 16:11:10 +01:00
Rene Hampölz
4ead42aea2 fix: Center message subject 2023-01-04 11:39:51 +00:00
the-djmaze
02a553c79f Resolve #826 2023-01-03 20:56:38 +01:00
the-djmaze
a9c60137da Added untested KolabAddressBook autocreate contacts #812 2023-01-03 17:00:58 +01:00
the-djmaze
5ff8b28a12 Bugfix: Kolab AddressBook failed due to past changes 2023-01-03 16:22:57 +01:00
the-djmaze
e9504baa12 Bugfix: Typed property MailSo\Mail\MessageListParams::$sSearch must not be accessed before initialization 2023-01-03 16:11:20 +01:00
the-djmaze
1a71309b81 Drop confusing oldpass from default change-password query 2023-01-03 15:46:26 +01:00
the-djmaze
56c681bbd5 https://github.com/the-djmaze/snappymail/issues/724#issuecomment-1369826672 2023-01-03 15:25:24 +01:00
Rene Hampölz
c7991c91b7 chore: Improve simple attachment list 2023-01-03 14:12:33 +00:00
the-djmaze
19c0c5c98e Added DAV path error to log for #822 2023-01-03 15:11:17 +01:00
Rene Hampölz
2c3766f4d5 chore: Add group labels 2023-01-03 14:06:26 +00:00
the-djmaze
0e5ae38c58 More changes for #815 2023-01-03 14:15:09 +01:00
the-djmaze
cfd9c11db6 Moved sort options "FROM" direct below "DATE" for better understanding 2023-01-03 13:52:46 +01:00
the-djmaze
becdf29120 Changes for #815 2023-01-03 13:50:38 +01:00
the-djmaze
8bd466a656 Resolve #824 2023-01-03 13:26:08 +01:00
the-djmaze
1f9b3ec699 Fix Nextcloud .htaccess workaround 2023-01-03 13:26:00 +01:00
the-djmaze
8fdd0407db move release.php to cli/release.php 2023-01-03 13:20:27 +01:00
the-djmaze
1c9b53eb25 Remove 'set-version' argument for release.php 2023-01-03 12:58:38 +01:00
the-djmaze
de38c3b3e9 Added #821 2023-01-03 12:57:56 +01:00
the-djmaze
a88c2e94f9 Bugfix: forgot debug js/css setting change in Nextcloud 2023-01-03 12:26:01 +01:00
the-djmaze
5cadccb985 Bugfix: KolabAddressBook parse error 2023-01-03 10:38:07 +01:00
the-djmaze
083b6988ee Bugfix: Admin -> Contacts PDO test failed when using different AddressBookInterface 2023-01-03 10:37:28 +01:00
the-djmaze
27b19ef29d Resolve #823 2023-01-03 09:46:10 +01:00
the-djmaze
8b4019d934 Merge branch 'master' of github.com:the-djmaze/snappymail 2023-01-02 09:40:56 +01:00
the-djmaze
33d8482c4c New 'forward as attachment' glyph 2023-01-02 09:40:39 +01:00
the-djmaze
42c1c20a76 Resolve #787 2023-01-02 09:40:13 +01:00
the-djmaze
92d5a4176e
Merge pull request #820 from p-bo/patch-1
NC integration app metadata: add links to admin and dev docs
2023-01-01 22:45:20 +01:00
p-bo
1c43b21fa8
NC integration app metadata: add links to admin and dev docs 2023-01-01 19:02:22 +01:00
the-djmaze
e35d74be0b Add support for search criterias ON, SENTON, SENTSINCE and SENTBEFORE 2023-01-01 17:13:04 +01:00
the-djmaze
fb319c356d v2.24.4 2022-12-30 20:43:04 +01:00
the-djmaze
c8deecb4aa Speedup MessageListByRequestIndexOrUids() by using the new FetchIterate() 2022-12-30 19:47:40 +01:00
the-djmaze
fe718e81e9 Improved MessageList handling 2022-12-30 17:38:42 +01:00
the-djmaze
5eef0b409b Also check PHP_INT_SIZE if SnappyMail runs on 64bit 2022-12-30 15:34:31 +01:00
the-djmaze
4922586893 Cleanup config settings and provide some info 2022-12-30 15:11:25 +01:00
the-djmaze
4261bdafff Moved application.ini labs.use_app_debug_* to debug.* 2022-12-30 12:18:07 +01:00
the-djmaze
d1b31c6822 Improved sort when using message_list_limit in a virtual \All mailbox
https://github.com/the-djmaze/snappymail/issues/796#issuecomment-1367846187
2022-12-30 11:31:49 +01:00
the-djmaze
201d2e3c94 Translate GLOBAL/DEFAULT 2022-12-29 16:35:48 +01:00
the-djmaze
41db44bf35 Fix Dutch translation for confusing message (threads vs grouped) 2022-12-29 16:16:20 +01:00
the-djmaze
6abcbd16c4 Protect MessageListThreadsMap() 2022-12-29 16:15:38 +01:00
the-djmaze
34543d5bf3 On upgrade also update plugins in Nextcloud due to many misunderstandings and prevent invalid open issues 2022-12-29 14:42:11 +01:00
the-djmaze
94d33a6daf No need to check oCacher 2022-12-29 13:59:40 +01:00
the-djmaze
d4c4f84c13 https://github.com/the-djmaze/snappymail/issues/796#issuecomment-1367247159 2022-12-29 13:40:46 +01:00
the-djmaze
1cff18218e Bugfix #787 Typed property MailSo\Mail\MessageListParams::$bUseThreads must not be accessed before initialization 2022-12-29 11:03:43 +01:00
the-djmaze
ba460584bd https://github.com/the-djmaze/snappymail/issues/790#issuecomment-1366527884 2022-12-29 10:59:07 +01:00
the-djmaze
94c4b6c849 v2.24.3 2022-12-28 10:59:47 +01:00
the-djmaze
4805a377c4 Automatic update plugins at upgrade? 2022-12-28 10:56:11 +01:00
the-djmaze
3a96823506 When message list grouped by FROM show dynamic date/time 2022-12-28 10:55:37 +01:00
the-djmaze
ee27ef29d4 Bugfix: cPanel undefined $_ENV['SNAPPYMAIL_INCLUDE_AS_API'] 2022-12-28 10:54:52 +01:00
the-djmaze
7c928ee78e When sorting on FROM also sort on REVERSE DATE 2022-12-27 21:34:32 +01:00
the-djmaze
faa17ca3de Resolve #800 and #802 2022-12-27 20:57:11 +01:00
the-djmaze
0ff7b33a48 v2.24.2 2022-12-27 13:16:01 +01:00
the-djmaze
4ac3cba065 Disable sorting on thread view #445 2022-12-27 12:49:50 +01:00
the-djmaze
dfc76b4a47 Small fix for https://github.com/the-djmaze/snappymail/issues/445#issuecomment-1364575843 2022-12-27 12:22:27 +01:00
the-djmaze
5c9fdb6b55 Threaded view changes for https://github.com/the-djmaze/snappymail/issues/445#issuecomment-1364575843 2022-12-27 12:19:29 +01:00
the-djmaze
871664cd39 No need to call IMAP EXAMINE when current folder already SELECT 2022-12-27 11:17:29 +01:00
the-djmaze
ad45bcf2cf Changes for #796 2022-12-27 10:48:56 +01:00
the-djmaze
228fefc121 Resolve #798 2022-12-27 10:24:16 +01:00
the-djmaze
3f2d193bf6 Resolve #799 due to wrong implementation of RFC 8474 2022-12-27 10:11:54 +01:00
the-djmaze
c522daf866 No group per day for thread #445 2022-12-25 09:51:20 +01:00
the-djmaze
f2b8719223 Changes for #796 2022-12-24 23:21:43 +01:00
the-djmaze
ff9dfa28fe
Merge pull request #794 from mayswind/master
update Chinese translation
2022-12-24 19:22:05 +01:00
the-djmaze
432d3b5f47 Resolve #795 2022-12-24 19:21:32 +01:00
the-djmaze
c41049ab94 Improvements for #790 2022-12-24 19:03:41 +01:00
MaysWind
487f151dd0 update Chinese translation 2022-12-24 19:58:00 +08:00
the-djmaze
daa1185459 Resolve #793 2022-12-24 01:56:11 +01:00
the-djmaze
af59dd3d0d v2.24.1 2022-12-23 19:15:05 +01:00
the-djmaze
75b59322ad Resolve #792 2022-12-23 19:05:54 +01:00
the-djmaze
a83cb9150e Change Intl.DateTimeFormat() into toLocaleString() for iOS < 14 2022-12-23 19:03:35 +01:00
the-djmaze
508c262a4b SETTINGS_LABELS remove 'LABEL_' and '_NAME' part 2022-12-23 17:54:13 +01:00
the-djmaze
bf45070ff1 Remove unused Date.format() phpFormats 2022-12-23 16:28:02 +01:00
the-djmaze
27dddd3b1b Rollback #280 as it has issues 2022-12-23 16:20:54 +01:00
the-djmaze
9764c13fdd Remove unused receivedAt 2022-12-23 16:10:47 +01:00
the-djmaze
a9b336d90f 'Y-m-d\\TH:i:s' as 'ISO8601' 2022-12-23 16:10:35 +01:00
the-djmaze
a451600d8b Watch observable 2022-12-23 16:04:16 +01:00
the-djmaze
ea3eff5d0d Changes for #790 2022-12-23 13:50:31 +01:00
the-djmaze
79b19a978f Resolve #789 due to fix for #466 2022-12-23 13:48:20 +01:00
the-djmaze
16e513cf98 Avatars plugin fix for new MessageList group by day option 2022-12-23 12:27:46 +01:00
the-djmaze
b0ed74575f Cleanup locate time handling 2022-12-23 12:22:57 +01:00
the-djmaze
fca7e44aa0 Make MessageList per day optional #737 2022-12-23 08:42:36 +01:00
the-djmaze
81e46ccdf7 v2.24 screenshot 2022-12-22 20:11:34 +01:00
the-djmaze
a313664b64 Bugfix: PHP 7 issue with typed ?array 2022-12-22 20:03:55 +01:00
the-djmaze
e4b1950dbe v2.24.0 2022-12-22 19:40:11 +01:00
the-djmaze
18b7b39b49 Bugfix: https://github.com/the-djmaze/snappymail/issues/786#issuecomment-1363114868 2022-12-22 19:00:22 +01:00
the-djmaze
8aa9d3009b Resolve #737 by new messagelist view per day 2022-12-22 17:15:54 +01:00
the-djmaze
d8a64124f2 Resolve #466 2022-12-22 15:29:12 +01:00
the-djmaze
bb39d1709e Resolve #564 2022-12-22 14:54:41 +01:00
the-djmaze
6cd1007938 Split Domains and Extensions actions from ActionsAdmin in separate traits 2022-12-22 14:20:21 +01:00
the-djmaze
bafc5ad921 Move addComputables() from FolderModel.reviveFromJson to FolderModel.constructor 2022-12-22 12:00:02 +01:00
the-djmaze
c50670fc7f Rename printableUnreadCount() to unreadCount() 2022-12-22 11:40:56 +01:00
the-djmaze
cfdc37189b FolderList search style to CSS 2022-12-22 10:57:41 +01:00
the-djmaze
40d29acb15 Resolve #280 2022-12-22 10:31:19 +01:00
the-djmaze
7c4f1c309e Small cleanup 2022-12-22 10:03:02 +01:00
the-djmaze
9f69a992c8 Convert facebookmail.com to facebook.com 2022-12-22 10:02:47 +01:00
the-djmaze
215767ed9b Added: option to enable additional account unread messages count 2022-12-22 10:01:25 +01:00
the-djmaze
bad33e6dc4 Cleanup JavaScript MessageModel by moving dynamic code to MailMessageView and ComposePopupView 2022-12-22 09:56:06 +01:00
the-djmaze
ae1de36ee0 Bugfix: UnsubsribeLinks was broken 2022-12-22 00:17:13 +01:00
the-djmaze
277c567f54 Prevent godaddy click tracking 2022-12-21 20:53:48 +01:00
the-djmaze
315f2a345a Bugfix: handle multiple DKIM signatures authentication results 2022-12-21 20:51:33 +01:00
the-djmaze
219b155ede Cleanup Action reponse handling and use typed properties 2022-12-21 14:12:35 +01:00
the-djmaze
31b1096f4d Dark theme define color-scheme: dark; 2022-12-21 12:35:34 +01:00
the-djmaze
efd27cb211 CSS position data-unread better 2022-12-21 12:35:15 +01:00
the-djmaze
3012084184 Improved imapsync.php options detection 2022-12-21 12:34:54 +01:00
the-djmaze
2e3e1fa5fe Speedup Contacts Suggestions handling 2022-12-21 09:58:10 +01:00
the-djmaze
731ac52564 MailSo class properties to typed properties and clean up 2022-12-20 20:17:11 +01:00
the-djmaze
22450e7430 Cleanup MailSo 2022-12-19 17:26:59 +01:00
the-djmaze
a78fcb6308 partialParseResponseBranch broken due to previous commit 2022-12-19 10:44:25 +01:00
the-djmaze
8b65b6ee7c Bugfix: SieveClient quoted string parsing
Redesign NetClient::getNextBuffer() to return string
2022-12-19 10:39:50 +01:00
the-djmaze
2a86ab5753 Resolve https://github.com/RainLoop/rainloop-webmail/pull/2194 2022-12-18 23:59:12 +01:00
the-djmaze
5785ad511b Update domain default.json 2022-12-18 23:57:09 +01:00
the-djmaze
a21c859aba Cleanup Exception logging 2022-12-18 23:56:38 +01:00
Rene Hampölz
6529d01a4f fix: Admin setting with wrong alignment 2022-12-18 20:56:48 +00:00
Rene Hampölz
ef4ccdfb99 fix: Incorrectly colored separator 2022-12-18 20:52:18 +00:00
Rene Hampölz
c3c7aa9aef fix: Admin setting with wrong alignment 2022-12-18 20:44:40 +00:00
Rene Hampölz
fed0d53425 chore: Add alerts 2022-12-18 20:33:29 +00:00
Rene Hampölz
aa1128d40c refactor: Improve structure 2022-12-18 19:56:22 +00:00
Rene Hampölz
f88643ce65 chore: Improve theme selector 2022-12-18 19:50:01 +00:00
Rene Hampölz
980f1e45ef chore: Improve some buttons 2022-12-18 19:49:10 +00:00
Rene Hampölz
2ea3f6de4a fix: Checkbox overlaps with other elements 2022-12-18 19:35:53 +00:00
Rene Hampölz
c5f419e8da chore: Add theme selector 2022-12-18 19:26:52 +00:00
Rene Hampölz
34d8cf002b fix: Some buttons look slightly different 2022-12-18 19:01:46 +00:00
Rene Hampölz
9306808263 chore: Hide unnecessary theme settings 2022-12-18 16:48:57 +00:00
Rene Hampölz
9c7f522c82 chore: Improve admin settings pane margin 2022-12-18 16:31:51 +00:00
Rene Hampölz
d7af7d15a0 chore: Improve settings pane margin 2022-12-18 16:30:16 +00:00
Rene Hampölz
ef69e31ad1 chore: Improve settings menu buttons 2022-12-18 16:11:37 +00:00
the-djmaze
d126380282 Count() to count() 2022-12-18 13:55:37 +01:00
the-djmaze
f5beeb9ca1 Check SMTP SIZE #779 2022-12-18 13:55:22 +01:00
the-djmaze
2793dae547 IsSupported() to hasCapability() 2022-12-18 13:55:00 +01:00
Rene Hampölz
cdb4c0a3cf chore: Add admin side panel 2022-12-17 21:48:57 +00:00
Rene Hampölz
4aa684e186 chore: Add tables 2022-12-17 21:27:54 +00:00
Rene Hampölz
ed01a4df61 chore: Improve control group alignment 2022-12-17 20:19:39 +00:00
Rene Hampölz
9a3c5c17b7 fix: Wrong height of entries in settings menu 2022-12-17 20:00:34 +00:00
Rene Hampölz
757dc78bad fix: Broken checkboxes in the latest snappymail release 2022-12-17 19:43:47 +00:00
Rene Hampölz
88ad0ccc6c chore: Improve unread count badge 2022-12-17 19:16:55 +00:00
the-djmaze
19bc530879 Rename ImapClient::IsSupported() to ImapClient::hasCapability() 2022-12-16 11:52:56 +01:00
the-djmaze
3fdb2e7698 Better fix for #780 2022-12-16 11:45:24 +01:00
the-djmaze
edd083801f Resolve #780 2022-12-16 11:41:51 +01:00
the-djmaze
9484ff3cbb Resolve #769 2022-12-16 09:45:18 +01:00
the-djmaze
26706acf6a Added more imapsync CLI options and help 2022-12-16 09:32:10 +01:00
the-djmaze
b3fa14f017 v2.23.1 2022-12-15 17:14:32 +01:00
the-djmaze
99a3132023 Improved imapsync to use JMAP role for matching system folders 2022-12-15 16:27:02 +01:00
the-djmaze
9fb7cd881f Resolve #778 2022-12-15 14:06:25 +01:00
the-djmaze
54896bf044 Remove most DoFolders loops as they are not used.
And move system folder detection/autocreate to MailboxDetectPlugin because it is hardly used.
And by using mailbox.role the default system folder detection is only using (IMAP and JMAP) RFC standards.
2022-12-15 13:49:39 +01:00
the-djmaze
8799cd3e8d Resolve #777 2022-12-14 20:02:16 +01:00
the-djmaze
30a6f7f94a Cleanup Folders() fetch 2022-12-14 17:16:14 +01:00
the-djmaze
7c472943cf Fix input number width 2022-12-14 16:45:53 +01:00
the-djmaze
21d7e91493 New solution for #423 due to #774 2022-12-14 16:39:03 +01:00
the-djmaze
439ad5596f
Merge pull request #774 from e-foundation/fix-smtp-client-sasl
Fix issues with SMTP login mechanisms except "LOGIN"
2022-12-14 15:37:23 +01:00
the-djmaze
77669cfcc7 Disable unused folder_list_limit as MailSo\Mail\MailClient->folderListOptimization() was removed 2022-12-14 14:04:30 +01:00
the-djmaze
d7e93d8229 Merge MailSo\Mail\Folder into MailSo\Imap\Folder and speedup process 2022-12-14 14:03:16 +01:00
Akhil
06860a51e6
Revert pull 423 2022-12-14 15:17:37 +05:30
the-djmaze
6765f4bb5d Resolve #764 2022-12-14 09:42:34 +01:00
the-djmaze
569f4daac1 Cleaner messageview header 2022-12-13 16:52:42 +01:00
the-djmaze
fd6dc611bb Added more JMAP info 2022-12-13 16:52:20 +01:00
the-djmaze
21eaf88fd9 Bugfix: undefined $this->oImapResponse->ResponseList 2022-12-13 14:06:47 +01:00
the-djmaze
f8f8cd0124 MessageResultCount to JMAP totalEmails 2022-12-13 14:04:43 +01:00
the-djmaze
df8e4d2b9d Bugfix for new Settings system 2022-12-13 13:41:27 +01:00
the-djmaze
ec80404eed Better log failed mkdir() 2022-12-13 12:29:18 +01:00
the-djmaze
5c5287ea23 Moved most IMAP settings to domain control 2022-12-13 11:55:48 +01:00
the-djmaze
5394599a9d Set timeout defaults 2022-12-13 11:08:33 +01:00
the-djmaze
d756558303 Move timeout to global MailSo\Net\ConnectSettings 2022-12-13 10:27:46 +01:00
the-djmaze
3ccf70e5cd Don't fetchUnread for main account 2022-12-13 09:54:39 +01:00
the-djmaze
f98f1db441 Move all imap config options to MailSo\Imap\Settings for per domain control 2022-12-13 09:54:19 +01:00
the-djmaze
780aa8759d Rename __FORCE_SELECT_ON_EXAMINE__ to __FORCE_SELECT_ON_EXAMINE 2022-12-12 13:07:43 +01:00
the-djmaze
d0db7f5ce3 Resolve #760 2022-12-12 13:03:41 +01:00
the-djmaze
c27e231f53 Reduce amount of avatar requests based on config settings 2022-12-12 11:51:58 +01:00
the-djmaze
60b72ed981 Bugfix: CSS .e-checkbox.material-design invisible on show/hide 2022-12-12 11:13:33 +01:00
the-djmaze
e0f3995e85 Resolve #766 2022-12-12 11:12:48 +01:00
the-djmaze
9c3fe7d4e5 imapsync echo progress to CLI #744 2022-12-12 09:40:39 +01:00
the-djmaze
48712ac13f ImapSync example script #744 2022-12-09 10:33:02 +01:00
the-djmaze
97bdaf4788 v2.23.0 2022-12-08 17:15:46 +01:00
the-djmaze
7807859975 Show OpenSSL version in Admin -> About 2022-12-08 16:37:50 +01:00
the-djmaze
33a4692c06 Improve solution for #758 and #759 2022-12-08 12:13:35 +01:00
the-djmaze
a2ec25fbd4
Merge pull request #759 from e-foundation/oauthbearer-sasl-fix
Fix oauthbearer encoding
2022-12-08 12:05:37 +01:00
Akhil
95a84f8e62
Fix oauthbearer encoding 2022-12-08 16:20:51 +05:30
the-djmaze
682af34d53 Deprecate Account->Login() and Account->Password() 2022-12-08 10:35:20 +01:00
the-djmaze
6af4ead706 Missing user dropdown css changes 2022-12-08 10:27:42 +01:00
the-djmaze
b374023ddb Cleaner accounts list in systemdropdown 2022-12-08 09:54:55 +01:00
the-djmaze
c9b1098236 Add extension JsonHook info 2022-12-08 09:37:39 +01:00
the-djmaze
477158e54a Changed some Plugin hooks for better handling:
* json.action-pre-call => json.before-{actionname}
* json.action-post-call => json.after-{actionname}
2022-12-08 09:08:41 +01:00
the-djmaze
4397eaed86 Bugfix for #756 2022-12-07 19:57:00 +01:00
the-djmaze
079f334bcc Resolve #437 2022-12-07 17:36:04 +01:00
the-djmaze
9bb65609e2 width: fit-content; should be supported by all browsers 2022-12-07 16:35:57 +01:00
the-djmaze
8a5274de61 Fix border-box issue .buttonCompose 2022-12-07 16:34:30 +01:00
the-djmaze
72e89ba4e0 Bump avatars extension version number for the changes 2022-12-07 16:28:05 +01:00
the-djmaze
40cf942ddd Only run JSON hooks when $sAction is set #755 2022-12-07 16:26:38 +01:00
the-djmaze
b679cb41d9 Make all dialogs fit in mobile view #686 2022-12-07 16:25:37 +01:00
the-djmaze
39bc370dff Resolve #754 2022-12-07 13:22:52 +01:00
the-djmaze
70ff592bb7 Merge branch 'master' of github.com:the-djmaze/snappymail
# Conflicts:
#	snappymail/v/0.0.0/app/libraries/RainLoop/Plugins/Property.php
2022-12-07 12:25:22 +01:00
the-djmaze
94c3fa464d Resolve #744 (not active!!) 2022-12-07 12:24:31 +01:00
the-djmaze
8d1290e2c4 Small fixes 2022-12-07 10:59:52 +01:00
the-djmaze
b64e0a026d
Merge pull request #753 from cm-schl/master
Plugin configuration did not load anymore when type was SELECTION
2022-12-06 16:03:38 +01:00
the-djmaze
b2e111fc14 Resolve #750 2022-12-06 15:56:46 +01:00
the-djmaze
4709e6fc25 Resolve #752 2022-12-06 15:56:28 +01:00
cm-schl
5efd926f22 Plugin configuration did not load anymore when type was SELECTION
due to not existing object
2022-12-06 14:46:23 +01:00
the-djmaze
544ec16830 v2.22.7 2022-12-06 14:31:38 +01:00
the-djmaze
01d1d5d284 Added folder hash comment for UNSEEN issue 2022-12-06 14:27:12 +01:00
the-djmaze
95bcc29d59 Bugfix: Avatars From error when in Kolab folder/mailbox 2022-12-06 14:26:51 +01:00
the-djmaze
08217d4e99 Resolve #712 2022-12-06 11:41:02 +01:00
the-djmaze
c7f554d22b Bugfix: msg.from[0] is undefined 2022-12-06 11:19:21 +01:00
the-djmaze
0b2e82f9ca Cleanup some logging 2022-12-06 11:11:16 +01:00
the-djmaze
01a9556b9c Don't request remote avatars in mobile mode 2022-12-06 11:10:43 +01:00
the-djmaze
6b6aa54b99 Bugfix undefined matched domain should say email@example matched domain 2022-12-06 10:50:55 +01:00
the-djmaze
31e2962f9a Merge branch 'master' of github.com:the-djmaze/snappymail 2022-12-06 10:40:33 +01:00
the-djmaze
e8fc4eaa30 Cleanup some logging 2022-12-06 10:40:17 +01:00
the-djmaze
dc335f0016 Resolve #748 and #746 2022-12-06 10:40:02 +01:00
the-djmaze
6a6b800158
Merge pull request #749 from LarsBel/master
fixed order error
2022-12-05 20:10:10 +01:00
the-djmaze
ae40214f46 Maybe solution for #746 and #748 ? 2022-12-05 19:24:29 +01:00
LarsBel
34b0a09ed6
fixed order error 2022-12-05 17:56:46 +01:00
the-djmaze
6ac1f2b67a Resolve PHP 8.2 Creation of dynamic property is deprecated 2022-12-05 16:25:24 +01:00
the-djmaze
aa22dc61ca Bugfix Undefined property: MailSo\Mail\FolderCollection::$capabilities 2022-12-05 13:32:00 +01:00
the-djmaze
116fed7284 v2.22.6 2022-12-05 13:30:57 +01:00
the-djmaze
75c923f00f Prepare new Impersonate feature https://github.com/nextcloud/impersonate/pull/180 2022-12-05 11:48:46 +01:00
the-djmaze
07876dee81 Add comment for #737 2022-12-05 11:09:57 +01:00
the-djmaze
f82574a472 Use UIDVALIDITY when HIGHESTMODSEQ not available, maybe solves #745 2022-12-05 11:09:42 +01:00
the-djmaze
d48b3a74fc Use new FolderStatusAndSelect() on MessageList() 2022-12-05 10:32:12 +01:00
the-djmaze
a7f93ef864 Remove UNSEEN on IMAP4rev2 deprecated SELECT/EXAMINE 2022-12-05 10:31:13 +01:00
the-djmaze
4a5bd9033f No need to generate 1000's of ID's for MessageListByRequestIndexOrUids() 2022-12-05 10:03:11 +01:00
the-djmaze
c9294619e9 Merge branch 'master' of github.com:the-djmaze/snappymail 2022-12-04 15:10:04 +01:00
the-djmaze
7af66185c4 Idea for #737 2022-12-04 15:09:47 +01:00
the-djmaze
a88dc82224 Resolve #737 2022-12-04 14:41:12 +01:00
the-djmaze
77f738f79f
Merge pull request #742 from LarsBel/patch-1
update.sh: skip if same version + bugfix chown
2022-12-03 16:28:48 +01:00
the-djmaze
fb29f8b0dd Merge branch 'master' of github.com:the-djmaze/snappymail 2022-12-03 15:19:13 +01:00
the-djmaze
605ee88041 Resolve #741 2022-12-03 15:18:59 +01:00
LarsBel
e5974c600a
Update upgrade.sh 2022-12-03 10:32:32 +01:00
LarsBel
9bfce21d23
skip if same version 2022-12-03 10:19:28 +01:00
the-djmaze
e4664ad458
Merge pull request #736 from mayswind/master
Update Chinese translation
2022-12-02 21:22:42 +01:00
mayswind
88096589ac
Update Chinese translation 2022-12-03 00:27:42 +08:00
the-djmaze
cb2a265373 v2.22.5 2022-12-02 16:47:17 +01:00
the-djmaze
2aca295851 Resolve #731 and #719
Don't clear SignMe cookie due conflict with new smctoken cookie.
2022-12-02 15:32:27 +01:00
the-djmaze
543725dd42 Avatars extension added option to preload known service icons 2022-12-02 14:28:15 +01:00
the-djmaze
bff88e9f6a Avatars use text or colored silhouette as defaults 2022-12-02 09:09:30 +01:00
the-djmaze
f2aba8b11d Attempt to fix sign me tokens #731 and #719 2022-12-01 23:00:00 +01:00
the-djmaze
4d0ee8736b Reduce amount of server requests to fetch remote avatars 2022-12-01 22:47:57 +01:00
the-djmaze
c56cc7be73 Added advanced PluginPropertyType::SELECT for improved Avatars plugin 2022-12-01 19:09:05 +01:00
Rene Hampölz
ae4a71f9a5 chore: Improve padding of message list footer 2022-11-30 21:24:07 +00:00
Rene Hampölz
4823036995 fix: Imperfectly aligned icons 2022-11-30 21:18:27 +00:00
Rene Hampölz
a57ead9f7c chore: Improve buttons of message list toolbar 2022-11-30 20:58:25 +00:00
Rene Hampölz
06300de9f8 Fix: Broken styles in latest snappymail release 2022-11-30 20:50:53 +00:00
the-djmaze
2f4e17da51 HighestModSeq vs Highestmodseq (camel-case) 2022-11-30 17:12:14 +01:00
the-djmaze
f4b9501388 Resolve #728 by removing impossible button 2022-11-30 17:11:44 +01:00
the-djmaze
9502fa3f5a Avatars plugin added other identicon types (needs config settings) 2022-11-30 17:03:07 +01:00
the-djmaze
9df052a435 login.success hook is always \RainLoop\Model\MainAccount 2022-11-30 11:59:54 +01:00
the-djmaze
a4ea8a46a8 Small improvements for #727 2022-11-30 11:54:55 +01:00
the-djmaze
e92910d4a0
Merge pull request #727 from cm-schl/master
Plugin to add additional accounts by ldap
2022-11-30 11:43:17 +01:00
cm-schl
15aa1ce24f
Merge branch 'the-djmaze:master' into master 2022-11-30 09:43:15 +01:00
cm-schl
f86ed70238 add a readme for users 2022-11-30 09:15:25 +01:00
the-djmaze
85556d9c4c Add more logging to find solution for #719 2022-11-30 09:00:28 +01:00
the-djmaze
0d6499702d Replace some data-bind="click: function(){} with object functions to prevent eval() 2022-11-29 17:29:06 +01:00
the-djmaze
95808ba377 Bugfix Settings Themes style due to border-box change 2022-11-29 17:19:04 +01:00
the-djmaze
6d7c84226a Bugfix undefined $oConfig 2022-11-29 17:18:27 +01:00
cm-schl
71069a8cc9 renaming of files and classes resolve conflict with plugin ldap-identities 2022-11-29 16:51:54 +01:00
the-djmaze
a4aec30035 Minify plugins JavaScript on build 2022-11-29 16:39:26 +01:00
cm-schl
79191cf7a3 capability to remove mailboxes when user looses right on them,
some documentation and setting mailbox name by ldap query
2022-11-29 16:28:59 +01:00
the-djmaze
5c71c3949e Resolve #722 2022-11-29 16:13:05 +01:00
the-djmaze
f6f820c43d Cleanup Avatars plugin 2022-11-29 15:56:21 +01:00
the-djmaze
721edc5e57 Improved plugins hash when there are changes 2022-11-29 15:52:00 +01:00
the-djmaze
200e00e2d6 Support CSS .min.css and JavaScript .min.js files in plugins and themes 2022-11-29 14:59:32 +01:00
the-djmaze
a492b5bdf9 Avatars plugin now supports Identicons
and added draft code for Nextcloud Contacts
2022-11-29 11:49:26 +01:00
the-djmaze
0863976859 Resolve #717 2022-11-29 10:09:48 +01:00
the-djmaze
4ebde92a06 v2.22.4 2022-11-28 14:07:26 +01:00
the-djmaze
81bec371bf
Merge pull request #715 from Olloki/patch-6
Update user.json
2022-11-28 13:53:55 +01:00
the-djmaze
9c8d757ebf Contacts dialog left side max-width 2022-11-28 13:53:39 +01:00
the-djmaze
e27e014b81 Resolve #716 2022-11-28 13:49:38 +01:00
the-djmaze
aa842dbc83 Improved Contacts dialog layout for mobile 2022-11-28 12:25:21 +01:00
Olloki
95bf7b1fe5
Update user.json
A backslash in wrong position, a " missing
2022-11-28 11:54:42 +01:00
cm-schl
3aa063d475 added check if found domain is also configured
changed LOG_KEY variable
2022-11-28 11:49:28 +01:00
cm-schl
dc07313869
Merge branch 'the-djmaze:master' into master 2022-11-28 10:51:13 +01:00
the-djmaze
4085f58b4e Resolve #713 2022-11-28 10:39:28 +01:00
the-djmaze
b89d194863 Resolve #714 2022-11-28 10:09:24 +01:00
the-djmaze
e5ed52b79e Changes for #714 2022-11-27 16:05:44 +01:00
the-djmaze
a085bbb51d Small change based on comments of #355 2022-11-26 10:42:39 +01:00
the-djmaze
de7d1a82c3 Resolve #710 2022-11-26 10:41:18 +01:00
the-djmaze
ebaa181fd3 Resolve #709 2022-11-25 22:51:30 +01:00
the-djmaze
a34041c2dd v2.22.3 2022-11-25 16:33:08 +01:00
the-djmaze
3799a107a2 Make resolveLoginCredentials() public for #705 2022-11-25 16:24:49 +01:00
the-djmaze
ad4159fd2c Resolve #707 2022-11-25 15:52:46 +01:00
cm-schl
e797d0e5ed cleanup and documentation 2022-11-25 12:37:00 +01:00
cm-schl
7e3b81add9 remove not needet logging 2022-11-25 12:31:27 +01:00
the-djmaze
33cb705b07 Update to OpenPGP.js v5.5.0 2022-11-25 12:29:00 +01:00
cm-schl
73faa02795 better description of config parameters 2022-11-25 11:41:31 +01:00
the-djmaze
21c0c1ed5d Move some cPanel code to /usr/local/cpanel/base/3rdparty/snappymail/include.php #697 2022-11-25 11:00:20 +01:00
cm-schl
fa4bb8ae18
Merge branch 'the-djmaze:master' into master 2022-11-25 10:44:00 +01:00
cm-schl
d8b9907e32 working prototype 2022-11-25 10:42:14 +01:00
the-djmaze
ce7bcbcaf5 Added build script for cPanel 2022-11-25 09:56:26 +01:00
the-djmaze
5c02806a76 Handle the new logs/cache paths better 2022-11-25 09:55:59 +01:00
the-djmaze
dee6f6af7e Added config logs.path and cache.path to improve custom data structure.
Benefits cPanel integration #697
2022-11-25 08:19:44 +01:00
the-djmaze
2634edd842 Check for cPanel $_ENV['REMOTE_TEMP_USER'] 2022-11-24 16:57:37 +01:00
the-djmaze
82d5d34174 Resolve #704 2022-11-24 16:44:55 +01:00
the-djmaze
56fe3637f3 Fix cPanel user initialization 2022-11-24 15:36:02 +01:00
the-djmaze
6c8d8d597b v2.22.2 2022-11-24 14:43:03 +01:00
the-djmaze
a80a5d3dad
Merge pull request #698 from Olloki/patch-2
Basque user.json
2022-11-24 14:40:48 +01:00
the-djmaze
5a709a937d
Merge pull request #699 from Olloki/patch-3
Basque static.json
2022-11-24 14:40:38 +01:00
the-djmaze
81ade9f48e
Merge pull request #700 from Olloki/patch-1
Update langs.json
2022-11-24 14:40:30 +01:00
the-djmaze
bf5050945b
Merge pull request #701 from Olloki/patch-4
Basque relativetimeformat.js
2022-11-24 14:40:22 +01:00
the-djmaze
f41fff1e3e
Merge pull request #703 from Olloki/patch-5
Basque admin.json
2022-11-24 14:40:14 +01:00
the-djmaze
3594b344fd Bugfix: domain "hostname".json shortLogin failed 2022-11-24 14:31:57 +01:00
the-djmaze
b44da10e27 Better cPanel integration #697 2022-11-24 14:30:09 +01:00
Olloki
7246dd083f
Basque admin.json
Basque translated admin.json
2022-11-24 13:23:59 +01:00
the-djmaze
3948b11998 Support cPanel #697 2022-11-24 13:09:47 +01:00
Olloki
b29055a825
Basque relativetimeformat.js
Basque translation on relativetimeformat.js
2022-11-24 12:51:29 +01:00
Olloki
ac5faa90ee
Basque static.json
Basque translation of static.json
2022-11-24 12:41:59 +01:00
Olloki
1e430c8e57
Basque user.json
Basque translation on user.json
2022-11-24 12:35:12 +01:00
the-djmaze
29473045f8 Fix cPanel automate login issue 2022-11-24 12:20:57 +01:00
the-djmaze
cd66ce1d28 Resolve #696 2022-11-24 11:35:56 +01:00
the-djmaze
e067079f8a Fixes cPanel CSS issue #697 2022-11-24 11:31:12 +01:00
Olloki
0af70e0115
Update langs.json
Add Basque language
2022-11-24 09:55:03 +01:00
the-djmaze
0d7ffcb0a5 v2.22.1 2022-11-23 16:30:08 +01:00
the-djmaze
308be25c24 Resolve #695 2022-11-23 16:26:26 +01:00
the-djmaze
da98c611e1 v2.22.0 2022-11-23 12:57:44 +01:00
the-djmaze
5df476a7d0 Improved avatar style a bit 2022-11-23 12:32:57 +01:00
the-djmaze
2053749b54 Added description to Avatars extension 2022-11-23 11:35:34 +01:00
the-djmaze
b7fd933499 Resolve #691 2022-11-23 11:22:20 +01:00
the-djmaze
6d4f626cd6 Prevent domain uppercase issues
https://github.com/the-djmaze/snappymail/issues/689#issuecomment-1324091032
2022-11-23 11:08:48 +01:00
the-djmaze
288e1c8742 Resolve #693 2022-11-23 11:03:47 +01:00
the-djmaze
77ab2fddf5 Bugfix Avatars and simple empty-contact.png 2022-11-23 10:46:12 +01:00
the-djmaze
59cd22625a Make Gravatar and BIMI optional #115 2022-11-23 10:34:54 +01:00
the-djmaze
0deedbecf5 Use caching and a fetch queue to fetch avatars slowly without overloading server #115 2022-11-23 10:22:49 +01:00
the-djmaze
5069bc2950 Bigchange for contact image avatar support #115 2022-11-22 23:54:32 +01:00
the-djmaze
113a421d0f Different approach for #677 2022-11-22 17:48:05 +01:00
the-djmaze
ac73c0e3ff Added experimental avatars plugin for #115, #164, #569, #679 2022-11-22 17:44:57 +01:00
the-djmaze
7ef79635a6 Better drag & drop leftPanel 2022-11-22 15:28:07 +01:00
the-djmaze
274ebd6855 Resolve #684 2022-11-22 15:26:16 +01:00
the-djmaze
bf6b30c971 Bugfix: border-box issue in Nextcloud 25 2022-11-22 12:17:00 +01:00
the-djmaze
91978e6ecf v2.21.4 2022-11-22 12:05:21 +01:00
the-djmaze
7dca36409d Show email address for #683 and see what it brings 2022-11-22 11:23:55 +01:00
the-djmaze
434ac21103 Bugfix: when left panel disabled and dragstart messages, show panel 2022-11-22 11:14:56 +01:00
the-djmaze
1032d0eb45 SCREENS = {} to SCREENS = new Map 2022-11-22 11:00:09 +01:00
the-djmaze
63316be535 Removed inline parameter of checkbox and select components 2022-11-22 10:17:46 +01:00
the-djmaze
c503aaca1d Bugfix: UserBackground failed 2022-11-22 10:01:56 +01:00
the-djmaze
b655e0ad70 Bugfix: .apply() error on leftPanelDisabled.toggle 2022-11-22 09:53:46 +01:00
the-djmaze
08baff9e64 Added domain matcher test for #689 2022-11-21 17:18:11 +01:00
the-djmaze
d468bac551 Log current shortcuts scope for #690 2022-11-21 13:20:59 +01:00
the-djmaze
86c881970e Fix login button size 2022-11-21 12:50:00 +01:00
the-djmaze
cb167da854 Changed everything to be box-sizing: border-box; 2022-11-21 11:00:39 +01:00
the-djmaze
2d832ff5ea Fix selectbox issue with domain connection type #689 2022-11-21 09:01:59 +01:00
Rene Hampölz
095bd04634 fix: Sidebar button text is visible when collapsed 2022-11-19 15:20:53 +00:00
Rene Hampölz
8b508456b2 fix: Broken styles in embed mode 2022-11-19 15:17:26 +00:00
Rene Hampölz
d37022b116 chore: Rework checkboxes for better browser compatibility 2022-11-19 14:08:29 +00:00
Rene Hampölz
6281b5eee2 fix: Broken checkboxes in embed mode 2022-11-19 12:20:18 +00:00
the-djmaze
7878b542a5 Make messageview a bit larger so that it is the same height as the messagelist 2022-11-19 13:12:55 +01:00
the-djmaze
4bf1fa9f86 Move FormDataToObject() to inline code 2022-11-19 13:12:08 +01:00
the-djmaze
8e204409f6 Resolve #686 2022-11-19 13:10:32 +01:00
the-djmaze
ebaf92a2f0 Resolve #685 2022-11-18 09:58:32 +01:00
the-djmaze
867b7081f6 Simplify handling of ContactsSync settings 2022-11-18 09:54:53 +01:00
the-djmaze
4a2dcbc1f7 constant APP_DUMMY to \RainLoop\Actions::APP_DUMMY 2022-11-18 09:18:28 +01:00
the-djmaze
7da3ba8c61 Cleanup and rearrange some fontastic glyphs 2022-11-17 21:40:35 +01:00
the-djmaze
ecf53b1285 Resolve #361 2022-11-17 21:04:04 +01:00
the-djmaze
7e1b85d023 Bugfix: Contact.display() returns [object Object] 2022-11-17 14:44:34 +01:00
the-djmaze
bd287cb749 v2.21.3 2022-11-17 12:12:29 +01:00
the-djmaze
8cf5bd9c0a Report when user credentials are not set for #653 and #680 2022-11-17 11:40:37 +01:00
the-djmaze
30577b677a Set $oVCard->VERSION only once 2022-11-17 11:30:06 +01:00
the-djmaze
99816083ef Add better info to GPG classes 2022-11-17 11:29:46 +01:00
the-djmaze
38daad6d9b Disable JSON_PRETTY_PRINT due to issue with \SnappyMail\HTTP\Stream 2022-11-17 11:29:00 +01:00
the-djmaze
28a7377f97 Bugfix: DAV getContactsPaths() failed due to failures of (string) SimpleXMLElement
Added better logging of DAV connection for #653 and #680
2022-11-17 11:27:29 +01:00
the-djmaze
28a70ccc8e Resolve #679 2022-11-17 10:47:07 +01:00
the-djmaze
48f4e51dc5 Properly handle GnuPG decrypt failure #600 2022-11-16 17:05:53 +01:00
the-djmaze
92240e84a6 Removed \MailSo\Mime\Enumerations\MimeType 2022-11-16 16:20:10 +01:00
the-djmaze
e5ef0eaa6a Resolve #673 2022-11-16 15:55:16 +01:00
the-djmaze
ff81aa6abc Better solution for #501 2022-11-16 15:48:02 +01:00
the-djmaze
10e36e96b6 Show to admin if PHP Phar and Fileinfo are available 2022-11-16 15:34:40 +01:00
the-djmaze
481ef70976 Resolve #677 2022-11-16 15:33:53 +01:00
the-djmaze
f4448635d1 Bugfix handling attachments MIME type / content-type as it was broken. 2022-11-16 15:14:00 +01:00
the-djmaze
ee5fb1a83e Improved message responsive resizing #678 2022-11-16 08:42:28 +01:00
the-djmaze
565c8b13fa Better solution for #678 2022-11-15 23:57:39 +01:00
the-djmaze
b926d86568 Resolve #678 2022-11-15 23:56:50 +01:00
cm-schl
460ea5a479 first commit, not completely working at the moment 2022-11-15 18:29:01 +01:00
the-djmaze
c1b33dc0c4 Use fontastic in Nextcloud Files selector dialog 2022-11-15 14:46:51 +01:00
the-djmaze
676d379e29 Resolve #501 2022-11-15 14:45:38 +01:00
the-djmaze
9cda088645 Improved message spam score detailed view 2022-11-15 14:13:13 +01:00
the-djmaze
9fbae7f07e Resolve #672 2022-11-15 14:02:30 +01:00
the-djmaze
81a453955e v2.21.2 2022-11-15 13:37:25 +01:00
the-djmaze
920a8995d3 Use <details><summary> for attachments to get more read space #672 2022-11-15 13:21:40 +01:00
the-djmaze
b47035ef43 Activate "Simple attachments list" for #672 2022-11-15 13:13:52 +01:00
the-djmaze
58e9ebc37b WIP: Added attachmentListSimple for #672
This is not optional yet and off.
2022-11-15 12:45:08 +01:00
the-djmaze
4a0a6c80fc Resolve #574 2022-11-15 12:12:01 +01:00
the-djmaze
901e45d672 And a custom set_include_path() for #450 2022-11-15 11:56:30 +01:00
the-djmaze
591955af1d Improved login-oauth2 with a spl_autoload_register() for #450 2022-11-15 11:53:47 +01:00
the-djmaze
b2111b20d1 When copy/paste image use the raw data instead of clipboard HTML #654 2022-11-15 10:44:20 +01:00
the-djmaze
f23e0d7a03 Improved MIME charset decoding #662 2022-11-15 10:38:43 +01:00
the-djmaze
456ade5845 Improved workaround for Nextcloud Calendar crashes #661 #622 2022-11-15 09:48:54 +01:00
the-djmaze
bc5194a494 Support UTF8 in EML files #662 2022-11-14 13:49:43 +01:00
the-djmaze
31aaf80f00 Share public/internal file link #569 2022-11-14 12:35:42 +01:00
the-djmaze
7fafb6ee9c Remove message toggle fullscreen button which was only in mobile view 2022-11-14 09:18:57 +01:00
the-djmaze
1a93719e3f When application.ini debug.enable is true, also debug js and css 2022-11-14 09:18:19 +01:00
the-djmaze
089f016633 rl.setWindowTitle() to rl.setTitle() 2022-11-14 09:15:25 +01:00
the-djmaze
951ba62621 v2.21.1 2022-11-14 00:16:58 +01:00
the-djmaze
fdc0e3f59f Bugfix: Crypt crash when Sodium not installed 2022-11-13 19:41:50 +01:00
the-djmaze
9f1e9f1899 Bugfix: Nextcloud ContentSecurityPolicy versions issue 2022-11-13 19:41:23 +01:00
Rene Hampölz
65e614f00f chore: Add checkboxes 2022-11-13 11:26:15 +00:00
the-djmaze
01f26451d0 Improve solution #657 2022-11-13 10:27:30 +01:00
the-djmaze
c74c6474a3 Resolve #665 2022-11-13 10:24:52 +01:00
the-djmaze
74da439b08 Merge branch 'master' of github.com:the-djmaze/snappymail 2022-11-13 10:20:37 +01:00
the-djmaze
09727b80e6 Resolve #666 2022-11-13 10:20:20 +01:00
Rene Hampölz
23b31c7c26 fix: Broken styles in embed mode 2022-11-12 16:23:07 +00:00
Rene Hampölz
5f19bb8699 fix: Passed stylesheets are 'unloaded' after some time 2022-11-12 16:15:21 +00:00
the-djmaze
4a85dcfbb3
Merge pull request #659 from mayswind/master
update Chinese translation
2022-11-12 09:43:40 +01:00
MaysWind
ecb4dc17b0 update Chinese translation 2022-11-12 11:52:57 +08:00
the-djmaze
e7958fb1ed Resolve #657 2022-11-11 22:50:32 +01:00
the-djmaze
a13bb9e930 v2.21.0 2022-11-11 17:50:18 +01:00
the-djmaze
c929033388 Add more info to plugins README 2022-11-11 17:22:49 +01:00
the-djmaze
4e3a97a6f1 Bugfix: plugin config $this->aData is private and not accessible 2022-11-11 17:12:54 +01:00
the-djmaze
8e7569c8f3 Bugfix: undefined $_POST array key 2022-11-11 17:11:44 +01:00
the-djmaze
07db91c7ce Update descriptions 2022-11-11 17:04:50 +01:00
the-djmaze
5e9c8eb39e Prevent undefined $_POST['Output'] 2022-11-11 16:55:47 +01:00
the-djmaze
ef6b95722d Move ServiceExternalSso to plugin/extension 2022-11-11 16:55:13 +01:00
the-djmaze
3079771f29 Move ServiceRemoteAutoLogin to plugin/extension 2022-11-11 16:39:52 +01:00
the-djmaze
9745d0ed89 Move ServiceExternalLogin to plugin/extension 2022-11-11 16:33:31 +01:00
the-djmaze
135c8f2c24 Put messagelist top bar buttons also in dropdown 2022-11-11 15:50:34 +01:00
the-djmaze
2ac376d582 Rename ManageSieveClient to SieveClient 2022-11-11 15:50:15 +01:00
the-djmaze
ff065378ab Update plugins to use new Net/Imap/Smtp/Sieve Settings object 2022-11-11 14:32:24 +01:00
the-djmaze
cc1d0a6e38 Allow setting SSL options per domain and verify_certificate by default
This is a complete overhaul of the Domain settings system.
2022-11-11 13:45:40 +01:00
the-djmaze
d76ba3abc9 Fix Config handling 2022-11-10 19:20:09 +01:00
the-djmaze
efbc7563ac Style PopupsNextcloudFiles view 2022-11-10 15:26:35 +01:00
the-djmaze
3c78f9bf04 MIME Content-Base was missing 2022-11-10 13:58:57 +01:00
the-djmaze
2882b58fcf Bump LDAP Identities extension version number 2022-11-10 13:58:31 +01:00
the-djmaze
6c276b9b03 Draft code to share Nextcloud files as links #569 2022-11-10 13:57:53 +01:00
the-djmaze
14bd9720e9 addAttachmentHelper(url,..) the url should be id 2022-11-10 12:41:04 +01:00
the-djmaze
364947d1f9 Improved Plugin Property handling 2022-11-10 12:40:26 +01:00
the-djmaze
cc6a4c4de9 HestiCP unzip -q to tar -xzf 2022-11-09 16:11:43 +01:00
the-djmaze
3ee1bd488a https://github.com/hestiacp/hestiacp/issues/2620 2022-11-09 15:57:06 +01:00
the-djmaze
eb34fd64d1 Added: Change Password extension use pass_min_length and pass_min_strength in JavaScript 2022-11-09 15:28:12 +01:00
the-djmaze
fbabf0a283 Bugfix: Config $sAdditionalFileName never worked
Changed: Plugin Config now stored in JSON
2022-11-09 14:26:17 +01:00
the-djmaze
2f0e410b80
Merge pull request #647 from cm-schl/ldap-identities-plugin
correcting name of exception class in plugin ldap-identities
2022-11-09 12:17:08 +01:00
the-djmaze
8f37226b76 Filter more disallowed openssl ciphers thanks to @gene-git #641 2022-11-09 12:14:57 +01:00
the-djmaze
1d629209b4 Resolve #638 2022-11-09 12:05:16 +01:00
cm-schl
2a1c5c9a6a correcting name of exception class. was renamed in SnappyMail and therefore blocking the use of this plugin 2022-11-09 11:50:49 +01:00
the-djmaze
895abd09be Resolve #585 by allowing additional Sec-Fetch rules 2022-11-09 11:19:05 +01:00
the-djmaze
3992d9d5f7 Improve OpenSSL cipher handling due to issues with OpenSSL 3.
More info at #641
2022-11-09 09:12:06 +01:00
the-djmaze
697250e361 Cleanup handling of Utils::GetCookie() 2022-11-09 08:38:46 +01:00
the-djmaze
9db813b6ee Merge branch 'master' of github.com:the-djmaze/snappymail 2022-11-08 20:51:20 +01:00
the-djmaze
7ed6bfbf56 Resolve #643 2022-11-08 20:51:05 +01:00
the-djmaze
33cc9d54ff
Merge pull request #644 from cm-schl/patch-3
Add information how the items in the plugin list have to be separated
2022-11-08 17:49:32 +01:00
the-djmaze
decbbd8817 Resolve #571 by allowing to give an account a name/label 2022-11-08 17:40:12 +01:00
cm-schl
6f4dbf799b
Update Application.php
Minor correction to make clear how the items in the plugin list has to be separated
2022-11-08 17:32:39 +01:00
the-djmaze
2ee9d973e2 v2.20.6 2022-11-08 11:05:10 +01:00
the-djmaze
04c11ddc49 Move changeTheme and convertThemeName to Themes.js 2022-11-08 10:53:14 +01:00
the-djmaze
10835a6f82 Resolve PHP 8.2 Creation of dynamic property is deprecated 2022-11-08 10:26:23 +01:00
the-djmaze
061b219a9a
Merge pull request #642 from LukaszC86/patch-1
2.20.5 - fix for broken admin login
2022-11-08 10:17:43 +01:00
LukaszC86
ed89b60892
2.20.5 - fix for broken admin login
In 2.20.5 if you try to login to admin panel you get errors:

PHP message: PHP Notice: Undefined variable: sToken in /(...)/snappymail/v/2.20.5/app/libraries/RainLoop/ActionsAdmin.php on line 126

SERVICE[WARNING]: Argument 1 passed to RainLoop\ActionsAdmin::setAdminAuthToken() must be of the type string, null given, called in /(...)/snappymail/v/2.20.5/app/libraries/RainLoop/ActionsAdmin.php on line 126
2022-11-08 09:36:13 +01:00
the-djmaze
883906f441 v2.20.5 2022-11-08 00:14:16 +01:00
the-djmaze
a595c5dd6e Improved workaround for Nextcloud bug #631 #633 so it works in embed mode
https://github.com/nextcloud/server/issues/35013
2022-11-08 00:08:42 +01:00
the-djmaze
f41d40c2c0 v2.20.4 Nextcloud 2022-11-07 21:37:52 +01:00
the-djmaze
05db6b5bb3 Protect against Nextcloud bug #631 #633 2022-11-07 21:06:59 +01:00
the-djmaze
c8ee67c3ba Bugfix: setting snappymail-no-embed failed 2022-11-07 20:49:02 +01:00
the-djmaze
daca2b54bf Bugfix: undefined snappymail-no-embed 2022-11-07 20:47:32 +01:00
Rene Hampölz
2d6e2deb3d revert: Nextcloud v25 styles in upstream style file 2022-11-07 16:35:26 +00:00
Rene Hampölz
8d2446f314 chore: Move files to new theme folder 2022-11-07 16:24:08 +00:00
the-djmaze
2705f16e44 @rlMainBorderRadius to --border-radius: 5px; 2022-11-07 15:25:59 +01:00
the-djmaze
4ec7070ffa v2.20.3 2022-11-07 14:19:16 +01:00
the-djmaze
857ab52a5e Resolve #635 2022-11-07 12:58:50 +01:00
the-djmaze
4dd782014d Better multiple WYSIWYG registration 2022-11-07 12:53:25 +01:00
the-djmaze
80579a3ed0 Resolve #637 2022-11-07 11:48:46 +01:00
the-djmaze
07e80dd36e Resolve #636 2022-11-07 11:45:01 +01:00
the-djmaze
92d967f1e6 Improved handling of Content-Security-Policy 2022-11-07 11:38:36 +01:00
the-djmaze
5cd5f77c6f Better handling of admin token cookie 2022-11-07 09:50:39 +01:00
the-djmaze
0e347625e3 Make CSP entries unique 2022-11-06 23:12:01 +01:00
the-djmaze
529d727189 Bugfix CSP handling Nextcloud<24 for #631 and #633 2022-11-06 23:10:34 +01:00
the-djmaze
e0320c63c1 Remove CKeditor 4 because it never works with Content-Security-Policy
See #573 and #630
2022-11-06 15:30:08 +01:00
the-djmaze
6e4b6e543f Throw, catch then log decrypt errors for #632 2022-11-06 14:46:54 +01:00
the-djmaze
84e0fa5756 Resolve #634 2022-11-06 14:45:12 +01:00
the-djmaze
95ce1b15ef Prevent notices in MailSo\Net\ConnectSettings 2022-11-06 14:39:19 +01:00
Rene Hampölz
7da114b0c9 fix: nextcloud theme font-size is not used 2022-11-05 16:52:45 +00:00
Rene Hampölz
94506ed726 fix: nextcloud theme font-family is not used 2022-11-05 16:45:29 +00:00
Rene Hampölz
2f8203abda fix formatting 2022-11-05 15:27:24 +00:00
the-djmaze
115437fb6a v2.20.2 2022-11-05 12:07:26 +01:00
the-djmaze
0feae48464 Bugfix: pgpDecrypt() using MailVelope the decrypt message was not green 2022-11-05 12:04:56 +01:00
Rene Hampölz
ad8da7dce0 Initial commit 2022-11-05 10:53:07 +00:00
the-djmaze
db426abbac Some CSS borders to var(--border-color) 2022-11-05 11:03:17 +01:00
the-djmaze
7f4ebe560b
Merge pull request #626 from MI-KY/patch-1
corrected links to anchors
2022-11-05 10:51:05 +01:00
the-djmaze
2693e94417 Resolve #624 2022-11-05 10:07:53 +01:00
the-djmaze
8a0cb947f5 Resolve #627 2022-11-05 02:27:55 +01:00
MI-KY
5d8b067ca0
corrected links to anchors 2022-11-04 22:04:52 +01:00
the-djmaze
54fc65a921 Resolve #625 2022-11-04 17:32:37 +01:00
the-djmaze
538f752fbe Make 'snappymail/v/' path dynamic for cleaner Nextcloud paths 2022-11-04 16:56:43 +01:00
the-djmaze
35f37381ae v2.20.1 for Nextcloud 2022-11-04 16:06:20 +01:00
the-djmaze
00c5c8f35a Also theme menu border color 2022-11-04 15:54:26 +01:00
the-djmaze
199d1d4c42 Integrate border colors better with Nextcloud 25 theme 2022-11-04 15:47:09 +01:00
the-djmaze
8c356d8154 Bugfix: decrypt failed when OpenPGP.js not loaded 2022-11-04 15:25:53 +01:00
the-djmaze
44c42ade52 Update to Nextcloud 25 CSS 2022-11-04 15:10:52 +01:00
the-djmaze
f796b578fc Resolve #620 Nextcloud 25 theme colors 2022-11-04 14:58:19 +01:00
the-djmaze
4522a2ef6e Added CSS --dialog-border-clr and --dialog-border-radius 2022-11-04 12:30:38 +01:00
the-djmaze
e5572975a5 Now integrate with Nextcloud by default, but keep iframe option available 2022-11-04 12:14:22 +01:00
the-djmaze
7d3cbcd333 PHP 7.4 required #623 2022-11-04 12:02:11 +01:00
the-djmaze
245aaa92a2 Show 🔒 (lock) glyph in messagelist for encrypted messages 2022-11-04 11:41:39 +01:00
the-djmaze
3664b140c4 Use Nextcloud 18+ IEventDispatcher 2022-11-04 11:03:31 +01:00
the-djmaze
009b76de24 Resolve #622 2022-11-04 09:32:11 +01:00
the-djmaze
1ced0dcd1e Nextcloud Impersonate idea
https://github.com/nextcloud/impersonate/issues/179
2022-11-04 09:27:22 +01:00
the-djmaze
0a21485003 Improved external logout handling 2022-11-04 09:26:58 +01:00
the-djmaze
f0a3ea1348 #561 solution for NC25+ 2022-11-04 00:20:27 +01:00
the-djmaze
5c7bdde088 Merge branch 'master' of github.com:the-djmaze/snappymail 2022-11-04 00:14:57 +01:00
the-djmaze
c9277c9227 Add info for allowing remote images due to #621 2022-11-04 00:14:41 +01:00
the-djmaze
61e142bfad
Merge pull request #617 from cm-schl/patch-2
Update README basing on issue #596
2022-11-03 18:49:44 +01:00
cm-schl
aa942b9d00
Update README basing on issue #596
Checked the README and updated the screenshots. Also added a detailed description how the automatic login options work (basing on #596).

I'm not sure if SnappyMail is always first trying to use the user defined credentials and then the other options (showing prompt / passing Nextcloud username / passing Nextcloud mailaddress) - but to me it seemed the only logical procedure. Please correct me if I'm wrong.

I've leaved the paragraphs "Auto-connection for all Nextcloud users" and "Auto-connection for one user at a time" because I unfortunately didn't understand if these are talking about the same tree options in the Nextcloud "Additional settings" or some other config options...
2022-11-03 17:58:42 +01:00
the-djmaze
ce3acc4ec8 v2.20.0 2022-11-03 17:20:46 +01:00
the-djmaze
7c362879ed Disable Nextcloud Impersonate check #561 2022-11-03 16:15:42 +01:00
the-djmaze
d3b65afb35 Use some PHP typed properties 2022-11-03 14:54:52 +01:00
the-djmaze
39a827aa2e Improved theme styling and results in better Nextcloud integration 2022-11-03 12:45:10 +01:00
the-djmaze
719847c43e Update Nextcloud readme for admin login #612 2022-11-02 22:48:05 +01:00
the-djmaze
fe4f182606 https://github.com/the-djmaze/snappymail/issues/561#issuecomment-1301317723 2022-11-02 22:37:15 +01:00
the-djmaze
0ef8af21b1 Move bootstrap @LESS variables to CSS var() 2022-11-02 20:49:38 +01:00
the-djmaze
874bfa852b Strip mailchimp tracking 2022-11-02 16:23:10 +01:00
the-djmaze
d33ca12b46 Bugfix: CSS --dropdown-menu-background-color should be --dropdown-menu-bg-color 2022-11-02 13:49:33 +01:00
the-djmaze
9aaaea48bd Improved Nextcloud style a bit for when using Breeze Dark theme and others 2022-11-02 12:49:37 +01:00
the-djmaze
dc57442ba0 Added changelog so it can be shown at apps.nextcloud.com 2022-11-02 11:33:25 +01:00
the-djmaze
7bca4fb6af v2.19.7 2022-11-02 09:36:50 +01:00
the-djmaze
486878127d https://github.com/the-djmaze/snappymail/issues/569#issuecomment-1298556141 2022-11-02 09:30:27 +01:00
the-djmaze
1316c2d14e fix section in Nextcloud l10n 2022-11-02 09:29:40 +01:00
the-djmaze
b02274b35f stream_wrapper_register(..., Class::class) 2022-11-02 09:24:03 +01:00
the-djmaze
f805ae53dc Resolve #610 PHP 8.2 2022-11-02 09:21:04 +01:00
the-djmaze
c199b63304 Resolve #561 2022-11-01 23:35:11 +01:00
the-djmaze
e3ffad8552 Resolve #602 2022-11-01 21:56:36 +01:00
the-djmaze
9f41f18d43 Bugfix: undefined $sEmail 2022-11-01 21:53:39 +01:00
the-djmaze
d416ab3642 Bugfix OpenPGP.js sign HTML failed #600 2022-11-01 19:52:24 +01:00
the-djmaze
d993b213a7 Revert more changes of #600 2022-11-01 19:24:05 +01:00
the-djmaze
bd117d02e6 Revert a PGP change of #600 2022-11-01 19:19:38 +01:00
the-djmaze
b39d023241 Some more changes for #600 2022-11-01 19:14:08 +01:00
the-djmaze
41df46dbed Resolve #600 2022-11-01 18:42:18 +01:00
the-djmaze
c6850c6c3d Bugfix: logger leaked some passwords 2022-11-01 17:02:49 +01:00
the-djmaze
c7df5b9a3e Resolve #604 2022-11-01 16:37:02 +01:00
the-djmaze
cd09faa2ac Bugfix: create .pgp directory 2022-11-01 14:21:43 +01:00
the-djmaze
2cdadf3a6c Improvements for PGP decryption #600 2022-11-01 12:05:44 +01:00
the-djmaze
bef1a378ca Force PHP opcache_invalidate due to upgrade error reports "Missing version directory" 2022-11-01 10:14:33 +01:00
the-djmaze
b9412ac09b Make it clear that you are on the admin panel login screen 2022-11-01 09:50:45 +01:00
the-djmaze
2fc2b0cb1e Resolve #601 2022-10-31 19:34:32 +01:00
the-djmaze
e7b06496d2 v2.19.6 2022-10-31 17:10:04 +01:00
the-djmaze
806f6f3c5e Improved base Domain setup 2022-10-31 15:40:56 +01:00
the-djmaze
1dbf2e909f Prevent nextcloud impersonate plugin to login #561 2022-10-31 14:56:42 +01:00
the-djmaze
6e4be76664 Embed admin panel into Nextcloud (with autologin) 2022-10-31 13:35:22 +01:00
the-djmaze
028f4ecb08 Method 'GetRequest' not found in \MailSo\Base\Http #585 2022-10-31 12:20:00 +01:00
the-djmaze
a6988db8ce Remove Nextcloud dark mode, it is incomplete 2022-10-31 11:53:54 +01:00
the-djmaze
2ef9b22385 Cleanup MailSo MailClient using __call() 2022-10-31 11:50:29 +01:00
the-djmaze
2c54b0caf0 Improved Domain settings handling and store as JSON instead of ini 2022-10-31 11:17:25 +01:00
the-djmaze
9430c987e1 Pre-configure some domains in Nextcloud 2022-10-30 23:59:26 +01:00
the-djmaze
7fac6ca9dd this.addObservables() to addObservablesTo() 2022-10-30 22:19:52 +01:00
the-djmaze
839ebfb350 Resolve #590 2022-10-30 22:08:30 +01:00
the-djmaze
ff68fa15d1 Put sign and encrypt options in composer dropdown menu and simplify the two existing buttons with a glyph 2022-10-30 12:25:35 +01:00
the-djmaze
a58276ff45 When try to login IMAP/SMTP/SIEVE but STARTTLS is required, force STARTTLS 2022-10-30 11:43:17 +01:00
the-djmaze
cef870328c Don't set default_domain in Nextcloud when already set 2022-10-30 00:13:39 +02:00
the-djmaze
772d722972 Release Nextcloud 2.19.5 due to AUTOLOGOUT crash 2022-10-29 17:56:20 +02:00
the-djmaze
23b5de06b1 Added: simple parse iCal attachment to store in Nextcloud calendar 2022-10-29 17:04:18 +02:00
the-djmaze
00001c758d Added Nextcloud auto-login admin panel (disabled for now) 2022-10-29 16:53:06 +02:00
the-djmaze
0d4a4ad280 Add a default Domain configuration for Nextcloud #596 2022-10-29 02:03:21 +02:00
the-djmaze
3c57f39ae0 Merge branch 'master' of github.com:the-djmaze/snappymail 2022-10-29 01:28:21 +02:00
the-djmaze
95379cb951 Resolve #599 #595 2022-10-29 01:27:42 +02:00
the-djmaze
cd0f71bdce
Update UserAuth.php
Cleanup a bit through smartphone
2022-10-28 19:22:58 +02:00
the-djmaze
8406bd4c9f
Update Http.php
Cleanup a bit
2022-10-28 19:10:17 +02:00
the-djmaze
3caeae8ea6
Merge pull request #594 from mayswind/master
update Chinese translation
2022-10-28 16:17:54 +02:00
the-djmaze
6ac07fb17b
Merge pull request #598 from mayswind/fix_encoded_text
urldecode the file/folder name in webdav response
2022-10-28 16:17:03 +02:00
the-djmaze
787e236133 Bugfix: message attachments missing data 2022-10-28 13:57:13 +02:00
MaysWind
f05dcb6965 urldecode the file/folder name in webdav response 2022-10-28 19:47:29 +08:00
the-djmaze
fd0a41cfaf CLeanup Nextcloud javascript code 2022-10-28 09:58:04 +02:00
the-djmaze
a1cafb1d0c Bugfix: when Nextcloud calendar is cancelled, don't try to save #569 2022-10-28 09:45:11 +02:00
MaysWind
b9036ad829 update Chinese translation 2022-10-28 15:43:24 +08:00
the-djmaze
63d693f21b v2.19.4 2022-10-28 01:44:04 +02:00
the-djmaze
7a0ec76d25 Cleanup Jua upload handler 2022-10-28 01:36:49 +02:00
the-djmaze
9130da9dca Resolve #591 2022-10-28 00:29:51 +02:00
the-djmaze
108dd92163 Remove unused SettingsCapa 2022-10-27 23:52:33 +02:00
the-djmaze
d706793e56 Improved drag&drop of local EML files 2022-10-27 23:51:55 +02:00
the-djmaze
a6bf2abaff Resolve #570 2022-10-27 16:47:15 +02:00
the-djmaze
dec2c1e84c AutoLogout always allowed 2022-10-27 16:05:28 +02:00
the-djmaze
be8c453cac v2.19.3 2022-10-27 15:41:55 +02:00
the-djmaze
663a6bf3ad Also reload folder when EML files are dropped in current folder
And reduce memory footprint.
2022-10-27 13:32:44 +02:00
the-djmaze
14c684a866 Better error message for #586 2022-10-27 12:37:03 +02:00
the-djmaze
ba4b8f84cc Improved login default_domain with dynamic options 2022-10-27 12:31:09 +02:00
the-djmaze
f3e6dda69b Added: allow dropping local EML files onto any mailbox/folder on the left 2022-10-27 12:15:06 +02:00
the-djmaze
e06acbe738 Put back ExternalSso for #585
Not the most secure, needs improvements
2022-10-27 10:43:33 +02:00
the-djmaze
256023dc58 Improved message header style 2022-10-26 16:39:01 +02:00
the-djmaze
ffcc86805a Some array.slice to array.startsWith and cleanup some JavaScript code 2022-10-26 16:38:39 +02:00
the-djmaze
3903a37b64 Make calendar integration optional for #569
Due to bug in Nextcloud Calendar
2022-10-25 17:06:00 +02:00
the-djmaze
4fa931f631 Added Nextcloud save to Calendar popup #569 2022-10-25 16:09:05 +02:00
the-djmaze
797c95877e Added Nextcloud save to Calendar #569 2022-10-25 16:08:28 +02:00
the-djmaze
e183764e51 Nextcloud password generator got lost. Put it back 2022-10-25 11:40:04 +02:00
the-djmaze
a197378b7c cleanup MailSo a bit 2022-10-25 11:33:12 +02:00
the-djmaze
31d6666729 Improved Nextcloud integration 2022-10-25 11:32:47 +02:00
the-djmaze
2247be5026 Seperate RainLoop importer for #584 and
https://github.com/pierre-alain-b/rainloop-nextcloud/issues/288
2022-10-25 11:32:00 +02:00
the-djmaze
59c7baaab8
Merge pull request #582 from cm-schl/patch-1
Correct description how to set personal settings in Nextcloud Integration README
2022-10-24 19:28:48 +02:00
the-djmaze
dee4e05e17 Improved Nextcloud styling #569 2022-10-24 17:36:20 +02:00
cm-schl
51e6a88d37
Corrected description how to set personal settings 2022-10-24 16:59:55 +02:00
the-djmaze
f793e276bc Merge branch 'master' of github.com:the-djmaze/snappymail 2022-10-24 16:13:45 +02:00
the-djmaze
aeabb16808 Save multiple .EML to Nextcloud Files storage
https://github.com/the-djmaze/snappymail/issues/569#issuecomment-1287030832
2022-10-24 16:12:35 +02:00
the-djmaze
21fe9dcd68
Merge pull request #581 from mayswind/master
update Chinese translation
2022-10-24 15:50:33 +02:00
the-djmaze
b1bcbc1671 Resolve #579 2022-10-24 15:12:25 +02:00
the-djmaze
b6f35e00d6 Resolve #580 2022-10-24 13:07:56 +02:00
the-djmaze
3e3f85aaeb Improved logger more 2022-10-24 12:28:14 +02:00
the-djmaze
7911f9019a Handle uncaught exceptions 2022-10-24 12:14:00 +02:00
MaysWind
acc7787b1a update Chinese translation 2022-10-24 17:56:07 +08:00
the-djmaze
7f231ef24f Also RainLoop exceptions to RuntimeException 2022-10-24 10:55:29 +02:00
the-djmaze
c94e38b297 All MailSo Exceptions to a more logical \MailSo\RuntimeException base 2022-10-24 10:49:57 +02:00
the-djmaze
dc5ac7025d
Resolve #578 2022-10-23 20:49:33 +02:00
the-djmaze
50ddca2e42 Resolve #567 by removing change of 457 2022-10-22 16:06:16 +02:00
the-djmaze
79387262e3 Cleanup Nextcloud code 2022-10-21 16:10:07 +02:00
the-djmaze
c7833d622a Bugfix: nextcloud plugin Uncaught (in promise) TypeError: files.forEach 2022-10-21 16:09:48 +02:00
the-djmaze
62a14a3ab0 Bugfix: Nextcloud shows invalid "Temporary password" 2022-10-21 14:21:26 +02:00
the-djmaze
bcf63b6700 v2.19.2 2022-10-21 12:48:33 +02:00
the-djmaze
cbafa55450 snappymail.woff2 was incorrect 2022-10-21 12:38:28 +02:00
the-djmaze
ca07dcab66 Improved snappymail fontastic glyphs font 2022-10-21 12:31:55 +02:00
the-djmaze
30c2371b9a Attach Nextcloud files to mail #569 2022-10-21 12:17:49 +02:00
the-djmaze
2ede940aa7 Nextcloud create folder and select it #569 2022-10-21 09:26:05 +02:00
the-djmaze
b39305c8d8 Import Nextcloud RainLoop settings
https://github.com/pierre-alain-b/rainloop-nextcloud/issues/288
2022-10-21 09:08:48 +02:00
the-djmaze
ce4c6d1925 Nextcloud added import RainLoop data helper for
https://github.com/pierre-alain-b/rainloop-nextcloud/issues/288
2022-10-20 21:24:45 +02:00
the-djmaze
057bd9d15c Nextcloud improved save to folder 2022-10-20 16:38:18 +02:00
the-djmaze
c1cc8c5060 Nextcloud browse/select directory subtree #569 2022-10-20 16:26:38 +02:00
the-djmaze
94e703a98b Improve some line-height for app and message img 2022-10-20 14:40:16 +02:00
the-djmaze
3d809b1faa Improved stripTracking and strip amazon.com links 2022-10-20 12:03:36 +02:00
the-djmaze
550dfb3459 Improve Nextcloud style and unified search 2022-10-20 11:43:33 +02:00
the-djmaze
d6940aad7e Fix Nextcloud table white-space in embed mode 2022-10-20 10:54:34 +02:00
the-djmaze
a13c037fd7 Strip SendInBlue image tracking #564 2022-10-20 10:45:31 +02:00
the-djmaze
5b38bf3b17 Nextcloud auto-update plugin when on admin page 2022-10-20 10:23:09 +02:00
the-djmaze
b690370557 Allow user theme font selection #562 2022-10-20 09:33:44 +02:00
the-djmaze
a9ea62abc2 Resolve #566 2022-10-20 00:46:49 +02:00
the-djmaze
b435b14497 Resolve <a> color issue and hidden image detection #564 2022-10-19 23:57:58 +02:00
the-djmaze
4a89edec01 Get theme background working in Nextcloud #558 2022-10-19 23:31:44 +02:00
the-djmaze
7211869636 Nextcloud don't search if string is less then 2 characters
https://github.com/the-djmaze/snappymail/issues/561#issuecomment-1284191823
2022-10-19 20:05:58 +02:00
the-djmaze
a0b4517074 Update Nextcloud README.md a bit 2022-10-19 17:02:11 +02:00
the-djmaze
60d7cbb318 Make img alt="" text maximum of 32 characters #564 2022-10-19 16:44:35 +02:00
the-djmaze
c7cf5b1c2c JavaScript substr() is deprecated 2022-10-19 16:43:16 +02:00
the-djmaze
04d55be625 Split Nextcloud SnappyMailHelper ::startApp() to have login/handle in startApp() but the rest in loadApp() 2022-10-19 16:27:15 +02:00
the-djmaze
bdea9c6833 Resolve #559 2022-10-19 13:12:17 +02:00
the-djmaze
f53dab1baa Activate simple Nextcloud directory selector popup #96 2022-10-19 10:15:03 +02:00
the-djmaze
5abc6a3034 Solve Nextcloud Content-Security-Policy issue in debug mode
https://github.com/the-djmaze/snappymail/issues/96#issuecomment-1282946881
2022-10-19 09:01:36 +02:00
the-djmaze
93d8b5a419 Improve some login/logout handling 2022-10-18 23:32:47 +02:00
the-djmaze
b77854e421 Some small code improvements 2022-10-18 19:22:36 +02:00
the-djmaze
a41afb17ad Resolve Nextcloud save issue and added mockup code for files browser
https://github.com/the-djmaze/snappymail/issues/96#issuecomment-1282589485
2022-10-18 19:21:27 +02:00
the-djmaze
640f75da8d Workaround PHP --disable-phar aka Class 'PharData' not found #392 2022-10-18 16:31:48 +02:00
the-djmaze
dd24af93ea Nextcloud test v2.19.0 2022-10-18 12:26:18 +02:00
the-djmaze
6f59b58e19 Bugfix undefined $BIMI 2022-10-18 11:09:23 +02:00
the-djmaze
2b2de2abdb Update Nextcloud info.xml 2022-10-18 09:47:45 +02:00
the-djmaze
4b54b71f53 Added Nextcloud screenshots 2022-10-18 09:45:55 +02:00
the-djmaze
37fd11a8cb Nextcloud show initial password in admin settings and option to enable debug mode #96 2022-10-18 09:30:30 +02:00
the-djmaze
4faa4db112 Bugfix: array_search() expects parameter 2 to be array, null given 2022-10-18 08:48:59 +02:00
the-djmaze
9d9ea1ec31 Move application.ini imap settings from [labs] section to own [imap] section 2022-10-17 16:54:17 +02:00
the-djmaze
69fb887e63 Improved BIMI detection code #115 2022-10-17 16:16:06 +02:00
the-djmaze
40e2375b3e Draft code for BIMI (not active due to being slow)
https://github.com/the-djmaze/snappymail/issues/115#issuecomment-1186485370
2022-10-17 15:43:45 +02:00
the-djmaze
ddbe6b2a75 Improved stripTracking 2022-10-17 15:12:12 +02:00
the-djmaze
f9e0cc40a4 Added white logo for Nextcloud #96 2022-10-17 14:25:52 +02:00
the-djmaze
65c313c0e4 Also strip tracking in message images 2022-10-17 14:17:59 +02:00
the-djmaze
b683abc89f Hide nextcloud tr:hover inside SnappyMail #96 2022-10-17 13:48:39 +02:00
the-djmaze
20cc74b066 Improve message html element style width value 2022-10-17 13:45:05 +02:00
the-djmaze
4fb0199a0f oc_requesttoken is deprecated: use OC.requestToken instead 2022-10-17 13:37:29 +02:00
the-djmaze
0ff69776ed Integrate Nextcloud more and also use part of
https://github.com/the-djmaze/snappymail/issues/96#issuecomment-1279783076
2022-10-17 12:58:11 +02:00
the-djmaze
aa01343df8 Resolve #555 2022-10-17 11:30:32 +02:00
the-djmaze
b011d1fa0e Rename MailSo\Base\Utils::FunctionExistsAndEnabled() to more logical MailSo\Base\Utils::FunctionCallable() 2022-10-17 11:16:47 +02:00
the-djmaze
f3e159f2c6 Cleanup MailSo\Base\Utils 2022-10-17 10:55:28 +02:00
the-djmaze
dcc8db23b1 Replace MailSo\Base\Utils::ClearFileName() with new better MailSo\Base\Utils::SecureFileName() 2022-10-17 10:32:40 +02:00
the-djmaze
a5bff8674a Always show option to view as plain, by converting message HTML when plain is missing 2022-10-17 09:33:28 +02:00
the-djmaze
e6fc06b346 Change for #555 2022-10-17 09:27:36 +02:00
the-djmaze
fc2958538c Bugfix: imap_mutf7_to_utf8 is broken for U+10000 and up 2022-10-17 09:26:00 +02:00
the-djmaze
13492a9d0b Change \MailSo\Base\Utils::Php2js() in improved \RainLoop\Utils::jsonEncode() 2022-10-15 22:09:42 +02:00
the-djmaze
f04a0ca7f3 Fix Admin -> Config option description layout 2022-10-15 21:57:34 +02:00
the-djmaze
7db9fb36fa https://github.com/the-djmaze/snappymail/issues/96#issuecomment-1279776563 2022-10-15 18:39:00 +02:00
the-djmaze
5882cc6051 Resolve #554 2022-10-15 18:33:45 +02:00
the-djmaze
87d01c8bde Solve the massive logger bloat by simplifying it to be RFC 5424
As it confused people and #552
2022-10-15 17:39:49 +02:00
the-djmaze
2056600a72 Small code cleanup 2022-10-14 23:24:14 +02:00
the-djmaze
e8576c75b9 Forgot cleanup for #553 2022-10-14 19:54:11 +02:00
the-djmaze
0f3d8e66df Resolve #553 2022-10-14 19:53:14 +02:00
the-djmaze
187dfcd126 Resolve #552 2022-10-14 19:46:24 +02:00
the-djmaze
258afdd26e Added hMailServer change password for #551 2022-10-14 14:41:24 +02:00
the-djmaze
0910b8f27d Added draft code for Nextcloud files/folders selector #96 2022-10-14 13:48:37 +02:00
the-djmaze
115f603d20 Nextcloud unified search working in iframe mode 2022-10-14 11:53:22 +02:00
the-djmaze
7250bfa1e1 Resolve #547 2022-10-14 10:56:00 +02:00
the-djmaze
f649ea05fd Put message in URL for autoload regarding issue #100 and Nextcloud unified search #96 2022-10-14 10:20:41 +02:00
the-djmaze
c5d1e5e9c6 Improved login handling for Nextcloud #96 2022-10-13 23:46:37 +02:00
the-djmaze
00b08260e9 Allow search with keyword:. Might work in Nextcloud #93 2022-10-13 22:39:53 +02:00
the-djmaze
50dffed895 Strip tracking of zalando.nl 2022-10-13 22:39:13 +02:00
the-djmaze
dfc1058839 Always login in Nextcloud for unified search to work #96 2022-10-13 22:38:55 +02:00
the-djmaze
313d1efb14 Nextcloud unified search partially works now for @Mer0me
https://github.com/the-djmaze/snappymail/issues/96#issuecomment-1277586143
2022-10-13 19:49:47 +02:00
the-djmaze
d78cf50211 Cleanup Nextcloud code and added mockup for Unified search
https://github.com/the-djmaze/snappymail/issues/96#issuecomment-1277586143
2022-10-13 16:34:24 +02:00
the-djmaze
61770dd5c7 Added missing language file for Nextcloud plugin 2022-10-13 14:08:52 +02:00
the-djmaze
1625e722a2 Added option to save email in Nextcloud for #96 and @Mer0me
https://help.nextcloud.com/t/best-way-to-archive-mails-into-nextcloud-folders/144252
2022-10-13 14:07:04 +02:00
the-djmaze
ee03abfd09 Bugfix: Nextcloud plugin wrong filename 2022-10-13 12:58:26 +02:00
the-djmaze
99b84af7b5 Better Nextcloud integration with notification sounds #96 2022-10-13 12:46:33 +02:00
the-djmaze
1b3d6401f3 Some style fixes for Nextcloud embed mode
https://github.com/the-djmaze/snappymail/issues/96#issuecomment-1277236142
2022-10-13 12:07:15 +02:00
the-djmaze
c63366d0dc Better intergrate with Nextcloud #96 2022-10-13 12:00:17 +02:00
the-djmaze
46556931cc Added Nextcloud admin setting for embed/iframe mode for #96 2022-10-13 11:04:16 +02:00
the-djmaze
5c597c4c1d Improved Nextcloud integration for #96 2022-10-13 10:24:35 +02:00
the-djmaze
dc241ded1b v2.18.6 2022-10-12 23:08:28 +02:00
the-djmaze
063ed7d844 Added some WebDAV draft code for Nextcloud plugin #96 2022-10-12 20:14:30 +02:00
the-djmaze
211600135d Nextcloud Show spinner when saving message attachments #96 2022-10-12 18:49:09 +02:00
the-djmaze
b5fb4f5b52 Improved Nextcloud integration #96 2022-10-12 18:45:26 +02:00
the-djmaze
b2e1fa993d Added JavaScript rl-view-model.create event for advanced code injections
This commit contains one for Nextcloud, so you understand how it works
2022-10-12 14:06:11 +02:00
the-djmaze
0e56b693c1 Nextcloud replace old password "12345" instruction #96 2022-10-12 10:51:55 +02:00
the-djmaze
caa6ee8290 Copy gpg key in demo 2022-10-12 10:33:25 +02:00
the-djmaze
5ce11ce3dd Nextcloud prevent confusion by using /run/ instead of /app/ in routes #96 2022-10-12 10:33:25 +02:00
the-djmaze
cf8cdc25c3 Nextcloud different iframe height approach for #96 2022-10-12 10:33:25 +02:00
the-djmaze
921ce9471e Improved Nextcloud startApp() for #96 2022-10-12 10:33:25 +02:00
the-djmaze
9cca299e6a strip correlation_id tracking 2022-10-12 10:33:25 +02:00
the-djmaze
68309e5f7b Bugfix: don't set empty CSP script nonce- 2022-10-12 10:33:25 +02:00
the-djmaze
5fbca6fe48 centralize some code to \SnappyMail\Repository::getEnabledPackagesNames() 2022-10-12 10:33:25 +02:00
the-djmaze
d52f2adb2b Draft code to run SnappyMail inside Nextcloud without iframe for 2022-10-12 10:33:25 +02:00
the-djmaze
dcf4983a7d Bugfix themes in inside Nextcloud by adding webPath #96 2022-10-12 10:33:25 +02:00
the-djmaze
47c1071f3f Nextcloud rename Ajax to Fetch and added Nextcloud theme for #96 2022-10-12 10:33:25 +02:00
the-djmaze
63ef2cc724 Create Nextcloud release builder for #96 2022-10-12 10:33:25 +02:00
the-djmaze
bdca1f4ff6 Nextcloud /appinfo/app.php is deprecated https://github.com/pierre-alain-b/rainloop-nextcloud/issues/264
Also see #96
2022-10-12 10:33:15 +02:00
the-djmaze
e7a54e69d1 Nextcloud25 Call to undefined method OC_App::registerPersonal() #96
https://github.com/pierre-alain-b/rainloop-nextcloud/issues/285
2022-10-12 10:33:02 +02:00
the-djmaze
258f7fb1ad Change false === \strpos() to !\str_contains() 2022-10-11 10:23:56 +02:00
the-djmaze
8b842d920d Nextcloud remove deprecated jQuery code and get things working properly #96 2022-10-11 10:18:43 +02:00
the-djmaze
4583616ea6 Bugfix: undefined SASLMechanisms 2022-10-11 08:22:16 +02:00
the-djmaze
b3476818ee There we go, we have a working login screen in Nextcloud #96 2022-10-11 00:21:27 +02:00
the-djmaze
32059330dd Redesign Nextcloud integration with better security and SSO #96 2022-10-10 22:06:43 +02:00
the-djmaze
a6d5f6ad91 Improved sample of NextCloud Contacts Suggestions for #96 2022-10-10 18:41:15 +02:00
the-djmaze
c3a95db495 Sample of NextCloud Contacts Suggestions for #96 2022-10-10 17:45:48 +02:00
the-djmaze
8ae5563a84 Resolve #546 2022-10-10 15:06:07 +02:00
the-djmaze
036bac7914 Resolve #545 2022-10-10 13:56:30 +02:00
the-djmaze
b12852bd08 Reduce JavaScript footprint 2022-10-10 13:52:56 +02:00
the-djmaze
689126c57d Drop ifvisible as it was only used for Prefetch and that feature was removed in v2.17 2022-10-10 10:53:04 +02:00
the-djmaze
266217434f Forgot one change for #229 and #544 2022-10-08 23:59:56 +02:00
the-djmaze
fc7db056c2 Fix some messages flags/keywords case-insensitivity 2022-10-08 23:56:14 +02:00
the-djmaze
b833113ed6 Improvement for #229 and #544 so that script can be executed easier 2022-10-08 20:46:09 +02:00
the-djmaze
1cf0e007d9 Move /bin/upgrade.sh to better suited /cli/upgrade.sh 2022-10-08 20:33:16 +02:00
the-djmaze
f74fff8356
Merge pull request #544 from eibex/patch-1
Fix new upgrade filename (upgrade_snappymail bin/upgrade.sh)
2022-10-08 20:25:30 +02:00
the-djmaze
ec23e3d0ca Hide unread count for all system folders, except INBOX.
Also solves request for Spam box in #457
2022-10-08 13:46:27 +02:00
the-djmaze
81a5466f50 Replace "Ctrl+P" shortcut with proper @media print CSS 2022-10-07 21:08:43 +02:00
Eibe
bab47f098c
new filename fix 2022-10-07 20:15:28 +02:00
the-djmaze
1f600dff0d Strip Reddit click tracking 2022-10-07 14:41:23 +02:00
the-djmaze
7b6603719e v2.18.5 2022-10-07 13:17:50 +02:00
the-djmaze
a219509bd7 Finally drop the FolderModel.hidden() because FolderModel.visible() works better 2022-10-07 13:04:51 +02:00
the-djmaze
f56102dd88 Resolve #447 2022-10-07 12:23:07 +02:00
the-djmaze
7a7b11bdeb Resolve #474 2022-10-07 12:06:03 +02:00
the-djmaze
f488212c3d Don't thumbnail message inline images and show filename in title attribute 2022-10-06 23:43:24 +02:00
the-djmaze
13f20cbeb0 Improved some styling 2022-10-06 11:54:21 +02:00
the-djmaze
975103fc9d Don't wrap keywords/tags over multiple lines #419 2022-10-06 11:06:59 +02:00
the-djmaze
2fd4a47b33 Improved Message Tags UX #419 2022-10-06 11:04:10 +02:00
the-djmaze
2defb7ec35 Better keyword/tags/labels handling for #419 2022-10-06 10:42:21 +02:00
the-djmaze
df2de7ad66 Encode KEYWORD search for #419 2022-10-06 09:57:56 +02:00
the-djmaze
ba19d4e6b1 Replace PHP 8.2.0 deprecated utf8_decode/utf8_encode 2022-10-06 09:43:34 +02:00
the-djmaze
897f22ee6e When img element alt is missing, use last part of src 2022-10-05 22:54:53 +02:00
the-djmaze
0f834a714f Disallow space characters in keyword/tag/label name #419 2022-10-05 19:55:02 +02:00
the-djmaze
99ff07507e Create new keyword/tag/label for message #419 2022-10-05 17:25:30 +02:00
the-djmaze
7c00f2d903 Some german translations 2022-10-05 13:23:42 +02:00
the-djmaze
6291abf83e Resolve #487 2022-10-05 11:39:25 +02:00
the-djmaze
0259f636b0 Small bugfix for previous commit 2022-10-05 11:34:17 +02:00
the-djmaze
875dae0755 Allow searching on keyword/tag/label #419 2022-10-05 11:32:06 +02:00
the-djmaze
fba1c59f84 Bugfix: $ got removed from hash path 2022-10-05 11:05:04 +02:00
the-djmaze
86550d1563 strip more tracking parameters 2022-10-05 00:12:51 +02:00
the-djmaze
2e44775170 Workaround invalid [Cloudron Forum] Digest href="...." links 2022-10-04 23:49:06 +02:00
the-djmaze
4cfdc03efe Resolve #543 2022-10-04 22:58:09 +02:00
the-djmaze
b6aca7fae6 Bugfix https://github.com/afterlogic/MailSo/pull/5 2022-10-04 13:45:46 +02:00
the-djmaze
f0ae4e7e6c Bugfix https://github.com/afterlogic/MailSo/pull/6 maybe solves #466 ? 2022-10-04 13:32:36 +02:00
the-djmaze
026adcd611 Moved script to /bin/ #229 2022-10-04 12:58:02 +02:00
the-djmaze
cff628e6a3
Merge pull request #229 from Psychi1/master
Upgrade script
2022-10-04 12:54:08 +02:00
the-djmaze
ed95646bec v2.18.4 2022-10-04 12:16:37 +02:00
the-djmaze
1edc5fa4f7 Rename CheckboxMaterialDesignComponent to CheckboxComponent 2022-10-04 10:09:22 +02:00
the-djmaze
74f830486e Reduce AppData result for unauthorized visitor 2022-10-04 10:04:41 +02:00
the-djmaze
a51f86ae28 Make the "show inline images as attachments" optional and cleanup localization data 2022-10-03 20:15:12 +02:00
the-djmaze
02eb5ad4e8 Improved inline attachments visibility to prevent questions 2022-10-03 17:48:46 +02:00
the-djmaze
aa357af4c5 Remove more tracking params 2022-10-03 16:11:44 +02:00
the-djmaze
da451ed369 Also show inline images as attachments 2022-10-03 16:04:39 +02:00
the-djmaze
7f63a1e82d Bugfix: stripTracking broke plain text view 2022-10-03 12:45:35 +02:00
the-djmaze
a3585a859f stripTracking DHL, Google and Outlook
stripTracking no need for `g` and `s` RegEx modifiers
2022-10-03 12:25:20 +02:00
the-djmaze
4473043623 Catch JSON.parse errors 2022-10-03 09:20:54 +02:00
the-djmaze
8980fc9cb1 Solution for #540 ? 2022-10-02 19:39:24 +02:00
the-djmaze
73ddc6c4b9 Also decode Mandrill custom tracking domain 2022-10-02 19:38:04 +02:00
the-djmaze
23bbd10b9a Resolve #538 2022-10-02 15:19:23 +02:00
the-djmaze
e623351d24 Resolve #539 2022-10-02 00:21:02 +02:00
the-djmaze
ab816e9e09 Resolve #538 2022-10-02 00:15:49 +02:00
the-djmaze
8ca651b2fa Bugfix: this.isPlainEditor is not a function #541 2022-10-01 16:37:28 +02:00
the-djmaze
261d9ba59c First decode tracking links, then strip query parameters 2022-10-01 10:28:44 +02:00
the-djmaze
55bf83e02a Added: replace Mandrill (Mailchimp) tracking links with normal links 2022-10-01 10:00:04 +02:00
the-djmaze
69ae65b4bb Allow setting cookie SameSite #537 2022-09-30 16:51:03 +02:00
the-djmaze
fff3e5c9ce v2.18.3 2022-09-30 14:47:53 +02:00
the-djmaze
f05bb205e5 Bugfix: Call to a member function append() on null 2022-09-30 14:10:02 +02:00
the-djmaze
97cae30a51 Drop in_iframe and X-Frame-Options due to CSP, found while investigating #537 2022-09-30 14:01:57 +02:00
the-djmaze
54107ca937 Fix mailto: that i broke in #484 2022-09-30 11:38:51 +02:00
the-djmaze
ec24392664 https://github.com/RainLoop/rainloop-webmail/issues/2188 2022-09-30 10:27:57 +02:00
the-djmaze
8ea778a8d4 Drop the mostly unused InputComponent and use normal <input> 2022-09-30 10:17:19 +02:00
the-djmaze
b28d818c86 Added CSS --border-color for better styling 2022-09-29 22:40:50 +02:00
the-djmaze
a0d62079eb Remove unused use_mobile_version_for_tablets 2022-09-29 15:53:12 +02:00
the-djmaze
0b86c55d00 Bugfix: PHP log should not always be filled with notices 2022-09-29 15:22:56 +02:00
the-djmaze
690656e4d1 Make the new Admin => Config experimental editable #189 2022-09-29 15:06:23 +02:00
the-djmaze
1c542b33e7 Fix some styling and change "add folder" glyph and "copy messages" glyph 2022-09-29 10:55:24 +02:00
the-djmaze
2651b6fd93 Remove the old "move to folder" behaviour option 2022-09-29 10:08:45 +02:00
the-djmaze
456f304338 Removed CheckboxSimple component (was only used at login) 2022-09-28 23:32:04 +02:00
the-djmaze
976b1d54bd Remove cursor: copy #532 2022-09-28 14:58:57 +02:00
the-djmaze
c2ef5abd79 cleanup dragmessages code 2022-09-28 14:55:10 +02:00
the-djmaze
afe4da1f65 Resolve #532 2022-09-28 09:29:45 +02:00
the-djmaze
a8f4bab23e Ignore visual feedback vs ctrlKey #532 2022-09-27 23:56:46 +02:00
the-djmaze
1fee4fc940 cleanup code a bit 2022-09-27 23:55:29 +02:00
the-djmaze
0fce269a82 listCheckedOrSelectedUidsWithSubMails() now returns Set instead of Array 2022-09-27 23:46:13 +02:00
the-djmaze
55faeaa1d1 cleanup dragmessages draggable 2022-09-27 21:09:54 +02:00
the-djmaze
918af4ecf5 resolve #533 2022-09-27 19:15:20 +02:00
the-djmaze
0200bf1674 rename deleteMessagesFromFolder() to moveMessagesToFolderType() as it is 90% to move instead of delete 2022-09-27 18:59:07 +02:00
the-djmaze
cfbc04d3a4 Resolve #534 2022-09-27 18:56:28 +02:00
the-djmaze
b047f6ca9a simplify messagelist dragOverArea 2022-09-27 16:57:29 +02:00
the-djmaze
c64ec1b2d8 improved HtmlEditor html source handling 2022-09-27 11:21:47 +02:00
the-djmaze
88f7b3d345 Added option to (un)hide Kolab folders 2022-09-27 09:46:49 +02:00
the-djmaze
ba8188978d Cleanup ComposerPopup code 2022-09-27 09:45:35 +02:00
the-djmaze
03dabc1537 Drop LABEL_HAS_ATTACHMENTS 2022-09-26 19:01:23 +02:00
the-djmaze
be777c1784
Merge pull request #531 from Mimoza/patch-2
Update french translations
2022-09-26 19:00:01 +02:00
the-djmaze
c023b32e75
Merge pull request #530 from Mimoza/patch-1
Revert last commit to put back in place French translation
2022-09-26 18:59:49 +02:00
the-djmaze
ceaab4eeb7
Merge branch 'master' into patch-1 2022-09-26 18:59:40 +02:00
the-djmaze
4301d92d0b Change Squire HTML<>TEXT button for clarity as discussed
https://github.com/the-djmaze/snappymail/issues/498#issuecomment-1257076375
2022-09-26 14:32:47 +02:00
the-djmaze
218b512526 Drop unused translation SETTINGS_FILTERS/LOADING_PROCESS 2022-09-26 14:31:10 +02:00
the-djmaze
118558cdfd Renamed SaveSettingsStep to more logical SaveSettingStatus 2022-09-26 14:02:30 +02:00
the-djmaze
0864d306d6 Improved folder/mailbox name editing 2022-09-26 13:54:28 +02:00
the-djmaze
d1d820da73 Drop ko.extenders.limitedList 2022-09-26 11:55:26 +02:00
Mimoza
1a4947a529
Update french translations
I translated some texts left in English and improve some others
2022-09-26 11:50:54 +02:00
Mimoza
10dae4fa11
Revert last commit to put back in place French translation 2022-09-26 11:49:18 +02:00
the-djmaze
deeb86bd5f Drop unused translation LABEL_HAS_ATTACHMENTS 2022-09-26 11:19:42 +02:00
the-djmaze
dcb8110c2f Translate dutch 2022-09-26 11:19:25 +02:00
the-djmaze
b9e1601aa4
Merge pull request #529 from Mimoza/patch-1
Update french translations
2022-09-26 11:07:57 +02:00
the-djmaze
9f8fdb2dfb Use HTML details/summary elements for blockquote switcher 2022-09-26 11:06:42 +02:00
Mimoza
b2804a2f56
Update french translations 2022-09-26 11:01:45 +02:00
the-djmaze
c6652ba9b4 Lazy load all message images 2022-09-26 10:58:46 +02:00
the-djmaze
0953d0d76e Better solution for #516 ? 2022-09-25 23:55:24 +02:00
the-djmaze
867f8ff199 Solution for #528 ? 2022-09-25 23:39:35 +02:00
the-djmaze
6a3ebb9e5d v2.18.2 2022-09-24 11:00:50 +02:00
the-djmaze
52c95d4d0c Simplify DB schema 2022-09-24 10:56:27 +02:00
the-djmaze
021ce48351 Fix layout of OpenPGP Generate Key popup 2022-09-24 10:56:08 +02:00
the-djmaze
fe9ba68f41 Cleanup some html forms 2022-09-24 01:20:02 +02:00
the-djmaze
6752f1cfef Added min-height for attachments 2022-09-23 15:02:13 +02:00
the-djmaze
705000b46a cleanup populateMessageBody() 2022-09-23 15:01:55 +02:00
the-djmaze
4277ff95da Resolve #498 2022-09-23 13:42:28 +02:00
the-djmaze
5c43378d71 Move SettingsUserStore.removeColors() to cleanHtml() 2022-09-23 13:41:01 +02:00
the-djmaze
33b228a86f Bugfix Mime parser for decrypted messages 2022-09-23 09:53:29 +02:00
the-djmaze
8054e48d4a No need for rel="noreferrer noopener" due to Referrer-Policy header 2022-09-23 09:26:36 +02:00
the-djmaze
66479e83fc Better fix for PdoAbstract::getVersion() 2022-09-23 09:25:02 +02:00
the-djmaze
1dfb4c7d29 Bugfix: RainLoop\Common\PdoAbstract::getVersion(): Return value must be of type ?int, string returned 2022-09-23 09:11:29 +02:00
the-djmaze
df34c4a0ae v2.18.1 2022-09-21 10:16:23 +02:00
the-djmaze
0bbf8f4914 Added plain message tel uri detection 2022-09-21 09:52:30 +02:00
the-djmaze
64c716ea07 Cleanup FolderClearPopupView 2022-09-21 09:51:52 +02:00
the-djmaze
36c54521d7 Improved symlink detection for gnupg keys 2022-09-20 14:54:14 +02:00
the-djmaze
2aad2efc3c Bugfix: gnupg dir failed when /tmp/snappymail is not writable 2022-09-20 14:50:26 +02:00
the-djmaze
d69e45f7bf Drop unused TextAreaComponent 2022-09-20 12:29:27 +02:00
the-djmaze
e35fbea415 Security: disable spellcheck everywhere by default due to Chrome/Edge sending data you enter to their servers. 2022-09-20 12:26:12 +02:00
the-djmaze
9ed52fd070 Log some info for #520 2022-09-20 09:58:04 +02:00
the-djmaze
a9dad5c79b An email address is max 320, but RFC 2821 has a restriction on the length of an address in MAIL and RCPT commands of 254 characters
Still it is more then the 128
2022-09-20 09:40:09 +02:00
the-djmaze
6ee514910f Cleanup some PDO 2022-09-20 09:39:43 +02:00
the-djmaze
61b1c0b1e6 Merge branch 'master' of github.com:the-djmaze/snappymail 2022-09-20 09:00:00 +02:00
the-djmaze
2c30189fea Resolve #526 2022-09-20 08:59:38 +02:00
the-djmaze
6179c4c8ec
Merge pull request #517 from Arxwel/update_vietnamese_label
Update Vietnamese label
2022-09-15 23:08:05 +02:00
the-djmaze
39faff29e1 Contact stored in MySQL to MEDIUMTEXT. See #519 2022-09-15 23:06:56 +02:00
the-djmaze
916d7e6d88 Squire WYSIWYG should be a bit faster now 2022-09-14 23:17:02 +02:00
the-djmaze
f2ef5f2df8 Ask closing SnappyMail in mobile view when viewing a message 2022-09-14 08:53:30 +02:00
the-djmaze
9b8778f823 Reduce Knockout.js footprint by using ECMAScript 2020 2022-09-13 23:49:18 +02:00
the-djmaze
6cc3745c5f Don't clear MessagelistUserStore when switching layout 2022-09-13 23:00:47 +02:00
the-djmaze
1d982f3306 Improvement for #518 2022-09-13 23:00:26 +02:00
the-djmaze
b01b18647a Bugfix: i broke hasCheckedOrSelected() 2022-09-13 22:00:49 +02:00
the-djmaze
a566f6ed5a More Optional chaining in Knockout.js 2022-09-13 22:00:31 +02:00
Romain PASDELOUP
3cef1b5505
Update Vietnamese label 2022-09-12 22:22:03 +00:00
the-djmaze
d18f93d87f Workaround for Firefox issue #368 and #513 2022-09-12 23:30:14 +02:00
the-djmaze
aa90583116 Resolve #516 2022-09-12 23:16:59 +02:00
the-djmaze
7dc4b283b3 Simplify message .priorityHigh 2022-09-12 23:13:04 +02:00
the-djmaze
a3a4a057e5 Dropped the knockout.js tasks from compiled code 2022-09-12 22:31:37 +02:00
the-djmaze
d1f71508fe Drop Knockout.js loading components asynchronous
https://knockoutjs.com/documentation/component-registration.html#controlling-synchronousasynchronous-loading
2022-09-12 22:31:05 +02:00
the-djmaze
ef8b1f40e4 Use JavaScript Optional chaining in vendors/* 2022-09-12 22:07:51 +02:00
the-djmaze
e5e4675c1b cleanup and speedup Selector 2022-09-09 22:20:40 +02:00
the-djmaze
0c87bbac21 Faster Selector.autoSelect 2022-09-09 17:04:52 +02:00
the-djmaze
44ac2626ec Improve and cleanup Selector even more 2022-09-09 12:07:05 +02:00
the-djmaze
47a861a243 Speedup listChecked().length to hasChecked() 2022-09-09 10:02:40 +02:00
the-djmaze
7ec3d70c60 Resolve #515 2022-09-08 22:31:48 +02:00
the-djmaze
d1422826b8 Bugfix: Selector Shift + Arrow made checkboxes "checked" in a weird way 2022-09-08 15:06:12 +02:00
the-djmaze
ee5b30884f Speedup list Selector a bit 2022-09-08 13:37:06 +02:00
the-djmaze
d8b1e3432a Improved ComposePopupView bSkipNextHide to ComposePopupView.inEdit 2022-09-08 13:28:24 +02:00
the-djmaze
7df534b4b5 Rename isSpamAllowed to logical canMarkAsSpam 2022-09-08 12:16:37 +02:00
the-djmaze
2a92122dad Drop search capa to always allow it 2022-09-08 12:05:37 +02:00
the-djmaze
18096cb6ee v2.18.0 2022-09-08 10:07:27 +02:00
the-djmaze
9dcdd7e41c Contact add Note and improved changes check 2022-09-08 09:37:27 +02:00
the-djmaze
f451af2188 Centralize current Folder checks to prevent bugs (which there were) 2022-09-07 23:39:46 +02:00
the-djmaze
0c90875b61 Improved Contacts window 2022-09-07 13:45:30 +02:00
the-djmaze
56d64b325c Improved Contacts popup view 2022-09-06 23:18:14 +02:00
the-djmaze
f1241cf803 Added some business fields to AddressBook 2022-09-06 22:35:04 +02:00
the-djmaze
12c2b10419 Predefine vCard X-CRYPTO 2022-09-06 21:41:54 +02:00
the-djmaze
af86cabcff Improved info for new HTMLDialogElement features 2022-09-06 20:02:27 +02:00
the-djmaze
c6176438ee Rename tryToClosePopup to tryToClose 2022-09-06 19:23:07 +02:00
the-djmaze
8cdce0c302 Bugfix: prevent issue with modal dialog supported Esc key to close 2022-09-06 19:22:53 +02:00
the-djmaze
2627a16c36 Improved Contacts to check if changes should be saved 2022-09-06 19:22:06 +02:00
the-djmaze
c9ad0ef170 Improved new AddressBook system 2022-09-06 14:26:07 +02:00
the-djmaze
497193750b Idea to solve https://github.com/sabre-io/vobject/issues/589 2022-09-05 22:35:13 +02:00
the-djmaze
02623ab827 Remove Sabre\Xml unused functions 2022-09-05 22:04:43 +02:00
the-djmaze
5cbaf80f75 Sabre\Xml - call to undefined function 2022-09-05 22:01:25 +02:00
the-djmaze
ada4f01ee2 Sabre\Xml - Call to undefined function 2022-09-05 22:01:02 +02:00
the-djmaze
19d7082d58 Bugfix: Declaration xmlSerialize(Sabre\Xml\Writer $writer) must be compatible with Sabre\Xml\XmlSerializable::xmlSerialize(Sabre\Xml\Writer $writer): void 2022-09-05 11:12:56 +02:00
the-djmaze
5a9540b9c3 Sabre: VObject to v4.5.0 and Xml to v3.0.0 2022-09-05 11:05:38 +02:00
the-djmaze
fe20741409 Improved Contacts handling 2022-09-05 11:04:12 +02:00
the-djmaze
bfe80dcacb Added title attribute to contact name fields 2022-09-02 15:25:09 +02:00
djmaze
1a5b8819fa Merge remote-tracking branch 'origin/master' into addressbook 2022-09-02 15:15:01 +02:00
the-djmaze
3553bfa2d9 TypeError fCallback not a function 2022-09-02 12:11:47 +02:00
the-djmaze
732b6eb641 Use JavaScript Optional chaining 2022-09-02 11:52:07 +02:00
the-djmaze
d9bc435e2c MessageList click was really broken 2022-09-02 10:38:42 +02:00
the-djmaze
ab0b2b152c Solution for #487 ? 2022-09-02 09:57:30 +02:00
the-djmaze
afd65c809d Drop Remote.request() aAbortActions parameter 2022-09-02 09:56:31 +02:00
the-djmaze
bae103257c Bugfix: i broke the messagelist click function 2022-09-02 09:06:07 +02:00
the-djmaze
8d192445a7 v2.17.4 2022-09-01 21:37:32 +02:00
the-djmaze
1a130d0be3 ?admin use JavaScript Optional chaining 2022-09-01 21:28:37 +02:00
the-djmaze
17fa031064 Revert RainLoop merge that caused MIT vs AGPL 2022-09-01 21:16:52 +02:00
the-djmaze
a146d73f4b Licensed under MIT 2022-09-01 00:25:05 +02:00
the-djmaze
f6f6a80639 Merge remote-tracking branch 'upstream/master' RainLoop v1.17 2022-09-01 00:24:33 +02:00
RainLoop Team
9bf8fa5b63
Merge pull request #2109 from dominikschulz/fix/rest
Fix RestChangePasswordDriver
2022-09-01 00:01:11 +03:00
RainLoop Team
d6444c77e4
Merge pull request #2126 from master3395/patch-1
Updated copyright for 2021
2022-08-31 23:59:28 +03:00
RainLoop Team
b4fa86b8f3
Merge pull request #2147 from FreemoX/patch-1
Update README
2022-08-31 23:59:05 +03:00
RainLoop Team
2ab9599518
Merge pull request #2187 from RainLoop/road-to-the-os
Road to the MIT
2022-08-31 22:31:21 +03:00
RainLoop Team
aa5d3fc89d Road to the MIT 2022-08-31 19:20:47 +00:00
the-djmaze
15dd6f5a5c Resolve #496 2022-08-31 17:31:08 +02:00
the-djmaze
232ad31553 Resolve #507 2022-08-31 16:23:01 +02:00
the-djmaze
e97984d6c5 Resolve #508 2022-08-31 16:19:16 +02:00
the-djmaze
a02f12c6ce drag&drop gecko setPointerCapture idea 2022-08-31 16:04:51 +02:00
the-djmaze
d7965d1193 Improved mime parser 2022-08-31 16:03:22 +02:00
the-djmaze
03543d5cfc use TextDecoder on Mime parts? 2022-08-30 22:27:07 +02:00
the-djmaze
5340ca84e5 #505 Try iconv() when \mb_convert_encoding() will not work. 2022-08-30 22:25:09 +02:00
the-djmaze
3d5e094fd8 Resolve #506 2022-08-30 21:42:05 +02:00
the-djmaze
d1d86b04fb Resolve #503 2022-08-30 09:55:38 +02:00
the-djmaze
9a9bee7154 v2.17.3 2022-08-29 17:22:52 +02:00
the-djmaze
eb169f73fa Improved update/save admin user 2022-08-29 16:44:06 +02:00
the-djmaze
a3a20f8820 Updated some language translations 2022-08-29 16:20:29 +02:00
the-djmaze
d38fcae562 Admin replace "New login" with the more logical "Username" 2022-08-29 16:05:48 +02:00
the-djmaze
d810a629c8 Better admin TOTP base32 test 2022-08-29 15:51:16 +02:00
the-djmaze
532548572d Bugfix: undefined mb_internal_encoding() 2022-08-29 13:05:07 +02:00
the-djmaze
3808852894 Added: ?admin TOTP show QR code 2022-08-29 12:17:08 +02:00
the-djmaze
a80161a316 Bugfix: keep A elements when there is an image inside 2022-08-29 10:54:55 +02:00
the-djmaze
ea4f678d05 Resolve #500 2022-08-29 10:53:53 +02:00
the-djmaze
3f3a3f9147 Improved Squire WYSIWYG handling of A and IMG.
And also use Optional chaining (?.)
2022-08-29 09:36:32 +02:00
the-djmaze
cad5fb6067 Resolve #491 2022-08-26 15:17:30 +02:00
the-djmaze
4692dde3d5 resolve compile error 2022-08-26 11:55:56 +02:00
the-djmaze
aff2d4dd76 Moved handling of images using proxy in preperation of #491 2022-08-26 11:11:19 +02:00
the-djmaze
f41559ae2f Remove duplicate 'ReplyTo' 2022-08-25 15:49:46 +02:00
the-djmaze
e5113ef20a Resolve #497 2022-08-25 14:08:19 +02:00
the-djmaze
e0e69b3d3d Resolve #488 2022-08-23 13:45:22 +02:00
the-djmaze
e2d29af045 Bugfix: forward mail should not embed images by default #491 2022-08-23 11:22:49 +02:00
the-djmaze
291ebc5f0e Bugfix: Sieve should always has CRLF
https://www.rfc-editor.org/rfc/rfc5228#section-2.2
2022-08-23 10:52:57 +02:00
the-djmaze
58cd2fcacb Cleanup and improved handling of Sieve scripts 2022-08-23 10:52:23 +02:00
the-djmaze
61908dd0c0 Replace admin translation TAB_SECURITY/BUTTON_UPDATE_PASSWORD with GLOBAL/SAVE 2022-08-23 09:24:32 +02:00
the-djmaze
21bbbf312f Allow only username as additional account 2022-08-23 09:22:39 +02:00
the-djmaze
d91fbaa2c0 Resolve #492 2022-08-23 00:00:56 +02:00
the-djmaze
8e0c710815 Always show Sieve rainloop.user editor save button #493 2022-08-22 22:12:17 +02:00
the-djmaze
edb7b38e0c Resolve #494 2022-08-22 22:10:09 +02:00
the-djmaze
a18cc9a486 Move folderInformation() function 2022-08-22 21:52:00 +02:00
the-djmaze
88222034e6 No need to filter FolderUserStore.getNextFolderNames() result 2022-08-18 09:06:02 +02:00
the-djmaze
f3009ee781 Resolve #484 2022-08-10 11:47:15 +02:00
the-djmaze
d2f8f507a1 Rename 'Trash' to 'Bin' for en_GB RainLoop#2047 2022-08-09 15:42:12 +02:00
the-djmaze
629f75d4e8 User -> Settings -> General: add more compose window defaults:
* Request a read receipt
* Request a delivery receipt
* Sign
* Encrypt
2022-08-09 15:34:55 +02:00
the-djmaze
246d73c070 v2.17.2 2022-08-08 14:40:37 +02:00
the-djmaze
04083f478a cleanup OpenPGP.js askPassphrase 2022-08-08 14:33:45 +02:00
the-djmaze
c99503980f Bugfix: View messages marked for deletion failed #470 2022-08-08 14:26:24 +02:00
the-djmaze
04bf9cd185 Cleanup GetUids() cache handling 2022-08-08 14:06:23 +02:00
the-djmaze
a400d95444 Small html cleanup 2022-08-08 12:02:09 +02:00
the-djmaze
2330aa2bc9 Fix gnupg storage path 2022-08-08 12:01:29 +02:00
the-djmaze
e6a711693b PopupsAsk when hitting Enter, submit form 2022-08-08 12:01:05 +02:00
the-djmaze
977868c1fa Also PGP sign with private keys that have no passphrase #429 2022-08-08 09:53:19 +02:00
the-djmaze
7a85a75ca9 Allow private keys without passphrase in local browser storage as requested by #429 2022-08-08 09:26:45 +02:00
the-djmaze
2458a82031
Merge pull request #480 from yasuhirokimura/update_japanese_translations
Update Japanese translations
2022-08-06 13:32:20 +02:00
Yasuhiro Kimura
968f1e421f Update Japanese translations 2022-08-06 07:15:10 +09:00
the-djmaze
a28a9f732d Resolve #479
Was accidentally removed by commit
62d13a12d1
2022-08-05 09:23:15 +02:00
the-djmaze
a7d3a2e221 v2.17.1 2022-08-04 15:47:21 +02:00
the-djmaze
639098f401 Bugfix: AskPopupView tabbing failed now with input fields 2022-08-04 15:27:26 +02:00
the-djmaze
aff9ba29e7 Admin: Ask for IMAP login credentials when testing, idea for #477 2022-08-04 14:58:13 +02:00
the-djmaze
db95565b70 Cleanup some localications and added Esperanto 2022-08-04 14:08:58 +02:00
the-djmaze
b5920cbc32 Improved domains .ini files handling 2022-08-04 13:24:30 +02:00
the-djmaze
eb0cd796b0 Improved mailbox handling of empty message subject and messagelist folder detection 2022-08-04 12:18:07 +02:00
the-djmaze
9559986499 Bugfix/Improved AdvancedSearch popup by prefill the values 2022-08-03 22:23:32 +02:00
the-djmaze
9bd3049ba0 Added: search for "replied" yes/no 2022-08-03 12:03:34 +02:00
the-djmaze
18dc2889ce Cleanup folder handling a bit 2022-08-03 11:06:09 +02:00
the-djmaze
983bfbaa1b Merge remote-tracking branch 'origin/master' into addressbook 2022-08-03 00:51:58 +02:00
the-djmaze
421efc62ad Replaced LINK_ADD_EMAIL with fontastic ✚ 2022-08-03 00:50:44 +02:00
the-djmaze
fd54864f4d fix margin for #470 2022-08-03 00:42:04 +02:00
the-djmaze
3d4f804e5f Added "Hide messages marked for deletion" #470 2022-08-02 14:20:07 +02:00
the-djmaze
20aecf9514
Merge pull request #473 from Neilpang/master
fix for arm
2022-08-02 11:02:22 +02:00
the-djmaze
4349eda310 Translate request errors for #471 2022-08-02 11:01:19 +02:00
the-djmaze
561445de03 Better solution for #471 2022-08-01 22:45:17 +02:00
the-djmaze
2c4bd445a5 Resolve #471 by extending fetch messagelist to 60 seconds and handling timeout/abort 2022-08-01 13:59:14 +02:00
neil
4daaa37ed9 fix for arm 2022-07-31 19:34:58 +08:00
the-djmaze
31b12c3625
Update issue templates 2022-07-29 09:54:29 +02:00
the-djmaze
91b22864d7
Merge pull request #467 from ner00/master
update Portuguese (Portugal), update langs.json
2022-07-27 11:42:44 +02:00
ner0
1921e4c5fd update Portuguese (Portugal), update langs.json
Also base pt language for other countries that might not default to either pt-BR or pt-PT
2022-07-26 17:47:24 +01:00
the-djmaze
9861d1bf78 Merge branch 'master' into addressbook 2022-07-26 10:11:48 +02:00
the-djmaze
7561ff4c9f IncConnectAndLoginHelper => ImapConnectAndLoginHelper 2022-07-26 10:11:22 +02:00
the-djmaze
4a8ed7268e Email address autocomplete value is sufficient 2022-07-26 10:11:09 +02:00
the-djmaze
5b0aa3fc7d Merge branch 'master' into addressbook 2022-07-25 23:10:20 +02:00
the-djmaze
b237ef5c24 Changes for #465 2022-07-25 23:06:12 +02:00
the-djmaze
2837126d60 Get AddressBook Import/Export working 2022-07-25 22:55:48 +02:00
the-djmaze
859a18470e Revert nickname idea (it's not updating as it was not observing) 2022-07-25 13:25:02 +02:00
djmaze
08ded5bb71 Cleanup some Contacts code 2022-07-25 10:13:50 +02:00
djmaze
052f34a9f5 Some cleanups for new AddressBook 2022-07-22 22:59:50 +02:00
djmaze
c162a3acc6 Merge remote-tracking branch 'origin/master' into addressbook 2022-07-22 22:16:45 +02:00
the-djmaze
e49cbbbbec Contact Popup viewSaveTrigger never used 2022-07-22 22:14:05 +02:00
djmaze
35c906c777 Merge remote-tracking branch 'origin/master' into addressbook 2022-07-22 13:24:19 +02:00
the-djmaze
c678031d00 KolabAddressBook MessageAsContact always returns Contact object 2022-07-22 13:23:17 +02:00
djmaze
07a3664de4 Merge remote-tracking branch 'origin/master' into addressbook 2022-07-22 11:48:13 +02:00
djmaze
b025bed83c Rename AddressBook contacts utils convert commands 2022-07-22 11:46:46 +02:00
the-djmaze
5e2b7c87d0 Prepare for improved AddressBook 2022-07-22 11:44:44 +02:00
djmaze
513b2fcae8 Merge branch 'master' into addressbook 2022-07-22 11:16:32 +02:00
the-djmaze
6c4950615d Cleanup Sieve Filter edit, no need to reassign filters on save 2022-07-21 22:03:56 +02:00
the-djmaze
cf71c1a18f Resolve #464 2022-07-21 21:57:29 +02:00
the-djmaze
a5caae8991 Rename OutConnectAndLoginHelper to SmtpConnectAndLoginHelper
Rename IncConnectAndLoginHelper to ImapConnectAndLoginHelper
2022-07-21 18:37:37 +02:00
the-djmaze
b77ffc1786 Remove some &nbsp; entities 2022-07-21 18:35:42 +02:00
the-djmaze
e3cf5369d8 Cleanup AddressBook namespaces 2022-07-21 14:49:00 +02:00
the-djmaze
f46e996570 Merge branch 'master' into addressbook
# Conflicts:
#	snappymail/v/0.0.0/app/templates/Views/User/PopupsContacts.html
2022-07-21 14:25:51 +02:00
the-djmaze
7698625213 NL translation 2022-07-21 14:02:00 +02:00
the-djmaze
a2aefbf928 No need to test '1', empty() is sufficient 2022-07-21 12:02:45 +02:00
the-djmaze
0249e959ab Less padding in toggle identity button 2022-07-21 12:02:07 +02:00
the-djmaze
235bec0ee6 Make messageList items font 1px larger 2022-07-21 11:46:09 +02:00
the-djmaze
62d13a12d1 Replace bootstrap .caret with unicode 2022-07-21 11:45:08 +02:00
the-djmaze
1905a2c96c <ul class="dropdown-menu"> to <menu> 2022-07-21 11:36:13 +02:00
the-djmaze
d42cecb4df Resolve #462 2022-07-21 10:13:24 +02:00
the-djmaze
4238834cb5 Solve empty lines in HTML -> Plain conversion for #462 2022-07-20 12:34:30 +02:00
the-djmaze
f7555abed7 Probably solution for #462 ? 2022-07-19 20:55:54 +02:00
the-djmaze
efc3327cec Wrong Froxlor plugin class name 2022-07-19 12:43:31 +02:00
the-djmaze
05f6b77520 v2.17.0 2022-07-19 12:35:06 +02:00
the-djmaze
d73a179f59 Unregister audio initialization event listeners first 2022-07-19 11:50:57 +02:00
the-djmaze
58bcbc3aad Changes for #321 because GetRequest() is undefined 2022-07-19 11:40:50 +02:00
the-djmaze
06667c1b36
Merge pull request #455 from yasuhirokimura/update_japanese_localization
Update japanese localization database files
2022-07-19 11:30:10 +02:00
the-djmaze
60d1dea537
Merge pull request #454 from ZephOne/add-back-ldap-login-mapping
Add back ldap-login-plugin.
2022-07-19 11:29:51 +02:00
the-djmaze
3ba51f04b5 Resolve #456 2022-07-19 11:28:22 +02:00
the-djmaze
846d21ed13 Resolve #459 2022-07-19 10:06:04 +02:00
Yasuhiro Kimura
35f2c38788 localization/ja-JP/user.json: Update translations 2022-07-15 17:54:57 +09:00
Yasuhiro Kimura
955e5066f3 localization/ja-JP/admin.json: Update translations 2022-07-15 12:19:19 +09:00
Yasuhiro Kimura
30cc1611f8 Remove redundant spaces from japanese localization database files 2022-07-15 12:07:27 +09:00
Erwan Colin
1ded94bd2d Add back ldap-login-plugin.
Resolve #453.
2022-07-13 15:26:53 +02:00
the-djmaze
2a4fbea0a8 Disable Exception for #451 2022-07-08 23:52:05 +02:00
the-djmaze
d8b2253351 Changes for #451 2022-07-07 00:37:29 +02:00
the-djmaze
f69a4c3997 Drop unused buttonResize 2022-06-28 14:12:48 +02:00
the-djmaze
ac7eaf3cc1 Resolve #448 2022-06-28 13:41:38 +02:00
the-djmaze
d6de75e3b7 Reduce HTML element 2022-06-27 21:09:44 +02:00
the-djmaze
a725f20034 Reduce some HTML elements 2022-06-27 21:09:17 +02:00
the-djmaze
6800c76e40 Changes for Decrypt issue #442 2022-06-21 22:27:26 +02:00
the-djmaze
28d4a018fd Resolve #439 2022-06-16 01:16:19 +02:00
the-djmaze
5609a39dd4 https://github.com/the-djmaze/snappymail/issues/419#issuecomment-1152703964 2022-06-13 23:28:38 +02:00
the-djmaze
ab2a81cd9b Fix snowfall plugin #434 2022-06-13 21:21:51 +02:00
the-djmaze
a8eee1dbcf Resolve #435 2022-06-13 20:57:24 +02:00
the-djmaze
256541a05a Travailler vs Travail 2022-06-13 20:55:30 +02:00
the-djmaze
5028a5de8c Resolve #436 2022-06-13 20:54:36 +02:00
the-djmaze
8cf8502485 Filter more message flags/keywords/tags 2022-06-10 01:06:17 +02:00
the-djmaze
5a47893cd2 Process feedback of #419 2022-06-10 00:35:13 +02:00
the-djmaze
38836da9af Resolve #328 2022-06-08 23:40:28 +02:00
the-djmaze
61146e491b Bugfix: Resizer value failed on initialization.
And added some changes for #328
2022-06-08 17:14:44 +02:00
the-djmaze
224b453430 Prevent Sitecore tracking 2022-06-08 15:03:28 +02:00
the-djmaze
c2d6ee90ac Improved message flags/keywords/tags #419 2022-06-08 14:54:51 +02:00
the-djmaze
cc3486ab63 Change for #430
https://github.com/the-djmaze/snappymail/issues/430#issuecomment-1149834667
2022-06-08 14:30:37 +02:00
the-djmaze
82afd528d6 Resolve #432 2022-06-08 13:16:38 +02:00
the-djmaze
03e8d38a1c Added debug log for #431 2022-06-08 13:12:33 +02:00
the-djmaze
0f02cc6d29 Speedup flags cache 2022-06-08 13:08:27 +02:00
the-djmaze
2b3a18c629 Bugfix: domain disabled wildcard failed 2022-06-08 13:08:00 +02:00
the-djmaze
df80ff9533 Put sound notifications in SMAudio 2022-06-07 18:46:06 +02:00
the-djmaze
78a3b1a5be Cleanup some MessageFlagsCache handling 2022-06-07 15:48:16 +02:00
the-djmaze
42fe9ae1ba Drop prefetch/REQUESTED_MESSAGE_CACHE because 99.9% not used.
Message cache needs new design due to encrypted messages.
2022-06-07 12:00:22 +02:00
the-djmaze
a60d027169 Improved message cache handling and drop unused NEW_MESSAGE_CACHE 2022-06-07 11:54:19 +02:00
the-djmaze
757d71cd40 use_imap_unselect was removed/is undefined 2022-06-07 11:01:52 +02:00
the-djmaze
1bae3370fa Changes for #430 2022-06-07 11:01:01 +02:00
the-djmaze
f4e5b8730a Bugfix: check should be APPENDLIMIT not HIGHESTMODSEQ 2022-06-03 15:52:05 +02:00
the-djmaze
9e4edd8843 Improved tags #419 2022-06-03 14:46:05 +02:00
the-djmaze
c0994b38e8 Bugfix: i broke the QUOTA commands 2022-06-03 14:38:55 +02:00
the-djmaze
70e3e6423e Added message tags toggle for #419 2022-06-03 13:47:04 +02:00
the-djmaze
a6d97a601c Translate some for #419 2022-06-02 23:13:20 +02:00
the-djmaze
be2296185f
Merge pull request #428 from tomizius/improve-german-translation
improve german translation
2022-06-02 21:30:13 +02:00
the-djmaze
888a2f8f95
Merge pull request #427 from jaapmarcus/feature/change-password-hestia
HestiaCP Password reset support
2022-06-02 21:29:57 +02:00
the-djmaze
855e2c61c5 Improved message flags/keywords handling for #419 2022-06-02 21:26:57 +02:00
Thomas Englert
7846fa7f93 improve german translation 2022-06-02 20:00:56 +02:00
Jaap Marcus
869abb0469
HestiaCP Password reset support
Resets password via hostname:8083/reset/mail/ endpoint 

Should also work on VestaCP < 1.0.0 or after they have patched the bug in 1.0.x
2022-06-02 16:10:26 +02:00
the-djmaze
a073e7f308 Improved support RFC8474 (MAILBOXID, EMAILID, THREADID) for RFC8621 section 4.1.1 2022-06-02 11:26:49 +02:00
the-djmaze
a43fadb4e8 Use JMAP rfc8621 section-4 subject and receivedAt 2022-06-01 23:21:59 +02:00
the-djmaze
118505f91e Use JMAP rfc8621 section-2 totalEmails, unreadEmails and isSubscribed 2022-06-01 22:50:35 +02:00
the-djmaze
c5718057aa A rename to MessagesFlags to prevent confusion with Flags 2022-06-01 22:06:21 +02:00
the-djmaze
e8b73b4943 Bugfix: message flags/keywords are 'atom' and should be Utf7 modified 2022-05-31 23:53:57 +02:00
the-djmaze
84c1fb5402 Merge branch 'master' into addressbook 2022-05-31 21:25:59 +02:00
the-djmaze
3fc781c1c1 Drop application.ini imap_forwarded_flag and imap_read_receipt_flag 2022-05-31 21:24:39 +02:00
the-djmaze
5c99a14559 Simplify message view attachment controls 2022-05-31 21:17:09 +02:00
the-djmaze
baff1308e7 Remove ugly attachmentItem box-shafow 2022-05-31 20:55:55 +02:00
the-djmaze
d46537a24f Different Thunderbird labels idea for #419 2022-05-31 20:39:50 +02:00
the-djmaze
5ea5f54097 Fix message view menu order 2022-05-31 20:39:08 +02:00
the-djmaze
899648d8e4 Improved handling of imap message flags/keywords 2022-05-31 20:38:35 +02:00
the-djmaze
0ebfa6af23 Reduce MessageView "Checked messages count" HTML & CSS 2022-05-31 17:13:25 +02:00
the-djmaze
1e61171f9c Fix RFC 9051 IMAP4rev2 keywords and $ReadReceipt should be $MDNSent 2022-05-31 17:12:29 +02:00
the-djmaze
eb61563db4 Merge all example plugins 2022-05-31 10:47:14 +02:00
the-djmaze
f588c91570 Simplify IMAP QUOTA commands 2022-05-31 10:08:56 +02:00
the-djmaze
1ef7ea3f27 Made IMAP THREAD command iterable 2022-05-31 10:08:31 +02:00
the-djmaze
1c267a0030 v2.16.3 2022-05-30 21:04:08 +02:00
the-djmaze
bea081322e Resolve #425 2022-05-30 20:54:58 +02:00
the-djmaze
75422c73e8 v2.16.2 2022-05-30 13:47:45 +02:00
the-djmaze
baabc939d8 Document for #423 2022-05-30 13:17:15 +02:00
the-djmaze
98b49104cb
Merge pull request #423 from geraldurbas/geraldurbas-patch-1
Change Ordering of SASLMechanisms
2022-05-30 13:13:01 +02:00
the-djmaze
5cc738e2ba Resolve #422 2022-05-30 13:12:01 +02:00
the-djmaze
fe9d0da14a Added Thunderbird labels colors as test for #419 2022-05-30 12:58:50 +02:00
the-djmaze
30ece4b8c8 Resolve #420 2022-05-30 08:23:59 +02:00
the-djmaze
c39d89258a PdoAddressBook::Sync should work (in theory) 2022-05-29 23:36:03 +02:00
Gerald Urbas
2ea3f10cb0
Change Ordering of SASLMechanisms
Want bw. Needed to change the ordering for SASL Mechanism...
2022-05-29 20:19:06 +02:00
the-djmaze
135406ebfe Some changes for #419 flags 2022-05-29 10:12:49 +02:00
the-djmaze
a71874a8c4 Redesign AddressBook 2022-05-29 00:22:50 +02:00
the-djmaze
5f6ea3cf29
Merge pull request #421 from koratfood/patch-1
Update Norwegian (nb-NO) translation
2022-05-29 00:21:08 +02:00
the-djmaze
6cea49d316
Merge pull request #417 from edlerd/patch-1
Fix performance on threaded view in large folders
2022-05-29 00:21:00 +02:00
the-djmaze
5c93adde3b Resolve #418 2022-05-28 23:44:39 +02:00
the-djmaze
51411d300a Catch error of #418 (not the solution) 2022-05-28 23:43:02 +02:00
the-djmaze
48a954e077 Bugfix: ImapContactsSuggestions error on empty $aUids 2022-05-28 23:38:41 +02:00
koratfood
b74f2ecad5
Update Norwegian user translation
Complete Norwegian translation of user.json
2022-05-27 20:02:01 +02:00
koratfood
0a4fa7fb15
Update Norwegian admin translation
Complete Norwegian translation of admin.json
2022-05-27 19:48:16 +02:00
David Edler
ca201c8dfe
improve performance for searching with lots of threads 2022-05-24 21:14:23 +02:00
David Edler
1cd7493bf3
Fix performance on threaded view in large folders 2022-05-24 19:39:27 +02:00
the-djmaze
4c752f9a15 parse_ini_file disabled #354 2022-05-23 13:08:20 +02:00
the-djmaze
8ed00452f9 Undefined $aConfig #344 2022-05-22 10:07:33 +02:00
the-djmaze
e1426b484e Sieve: use Optional chaining operator
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining
2022-05-21 23:58:46 +02:00
the-djmaze
3a1046f215 Detailed exception log 2022-05-21 23:28:04 +02:00
the-djmaze
471628618c Added simple ZIP creator 2022-05-21 23:27:14 +02:00
the-djmaze
73896ae64b Bugfix: KolabAddressBook UID 2022-05-21 23:26:23 +02:00
the-djmaze
ce6810129a Added info about updated Sabre 2022-05-21 23:24:50 +02:00
the-djmaze
4def341b66 Protection for #371 2022-05-21 00:40:07 +02:00
the-djmaze
14fdd4aa32 Bugfixes for KolabAddressBook 2022-05-20 17:07:40 +02:00
the-djmaze
010f38ea25 Centralize Apache flush comment 2022-05-20 16:40:40 +02:00
the-djmaze
76c41d5156 Bugfix: hide_x_mailer_header option was missing for ReadReceiptMessage 2022-05-20 16:40:06 +02:00
the-djmaze
05f02c2197 Bugfix: Sabre $this->value already an area 2022-05-20 16:39:01 +02:00
the-djmaze
656c5f2a3e Bugfix: 2FA enforcement #349 2022-05-20 12:36:30 +02:00
the-djmaze
01fe226a92 Resolve #332 2022-05-20 10:50:08 +02:00
the-djmaze
fe3c2feccb https://github.com/the-djmaze/snappymail/issues/272#issuecomment-1132581341 2022-05-20 10:25:46 +02:00
the-djmaze
3508adb5ef Bugfix: plugin package incorrect 2022-05-20 08:48:35 +02:00
the-djmaze
3ab1725bb6 Improved idea #344 2022-05-20 08:37:24 +02:00
the-djmaze
a57d4dc4b1 Idea for #344 2022-05-20 08:34:11 +02:00
the-djmaze
a1fd8391da Added :login_name wildcard 2022-05-20 07:47:14 +02:00
the-djmaze
8f59cdea52 Merge branch 'master' of github.com:the-djmaze/snappymail 2022-05-20 07:44:35 +02:00
the-djmaze
def180e785 Resolve #351 2022-05-20 07:44:18 +02:00
the-djmaze
9becf699bd
Merge pull request #412 from ericgaspar/master
Fix untranslated entries (FR)
2022-05-19 23:11:53 +02:00
the-djmaze
9862fd5d1a Resolve #410 2022-05-19 21:26:39 +02:00
the-djmaze
562e1e5e68 Resolve #413 2022-05-19 21:16:00 +02:00
ericgaspar
b00cb7e613
Fix untranslated entries 2022-05-19 15:50:11 +02:00
the-djmaze
ad058674f6 Resolve #330 2022-05-19 15:21:41 +02:00
the-djmaze
6d3de4d691 Cleanup RainLoop\Api 2022-05-19 15:18:30 +02:00
the-djmaze
7c8039d91d Resolve #407 2022-05-19 15:18:15 +02:00
the-djmaze
199aea0636 v2.16.1 2022-05-19 14:44:56 +02:00
the-djmaze
e3b404c983 Resolve #408 #409 #411 2022-05-19 14:42:09 +02:00
the-djmaze
0ff571db14 v2.16.0 2022-05-19 10:58:04 +02:00
the-djmaze
f12019d77a AddressBook: Drop $sEmail parameter from functions and use new SetEmail()
AddressBook: Better CardDAV client with setDAVClientConfig()
2022-05-19 10:39:32 +02:00
the-djmaze
5f94e882a9 Merge branch 'master' of github.com:the-djmaze/snappymail 2022-05-19 08:34:26 +02:00
the-djmaze
bbbe69a9df Languages for #385 2022-05-19 08:34:09 +02:00
the-djmaze
c8de8bc225
Merge pull request #406 from kouinkouin/release-docker-fails
Release docker fails -- fixes #405
2022-05-19 00:15:38 +02:00
the-djmaze
90b3a2155d Kolab export contacts 2022-05-18 23:51:38 +02:00
the-djmaze
01e5916bf3 Bugfix: Export contacts failed 2022-05-18 23:43:29 +02:00
the-djmaze
33f0e6febf Small code cleanup 2022-05-18 22:53:33 +02:00
the-djmaze
aa67e66834 Place contacts suggestions plugins in Contacts category 2022-05-18 22:53:20 +02:00
the-djmaze
f2aedd42b7 Improved Plugins handling 2022-05-18 22:52:05 +02:00
the-djmaze
d93a31dda0 Improved Kolab detection 2022-05-18 22:51:32 +02:00
kouinkouin
99360626e0
feat(release): build the docker image by pulling the base image first 2022-05-18 22:36:00 +02:00
kouinkouin
483bab095b
fix(release): the $ZIP_FILES was a fullpath instead of a filename #405 2022-05-18 22:35:56 +02:00
the-djmaze
ea5224c7e3 Bugfix: kolab plugin error on ?admin 2022-05-18 22:29:46 +02:00
the-djmaze
b9101d9b1c Resolve #404 2022-05-18 17:15:59 +02:00
the-djmaze
9789a2509f Move to plugin #385 2022-05-18 17:15:31 +02:00
the-djmaze
86ac71ea2e Move the Kolab Contacts Suggestions test to be IMAP Contacts Suggestions 2022-05-17 17:15:20 +02:00
the-djmaze
ddb95b925d Sieve Scripts use radio buttons to prevent confusion 2022-05-17 16:53:32 +02:00
the-djmaze
723ebc4055 Split simple RainLoop Sieve filter from the advanced filters as mentioned in #80 and #257 2022-05-17 16:19:17 +02:00
the-djmaze
882c0bde42 Bugfix: sieve undefined args[i-1] 2022-05-17 14:48:38 +02:00
the-djmaze
e6ea47e75f Bugfix: startBlock could be null 2022-05-17 12:26:29 +02:00
the-djmaze
663fb1485a Resolve #400 2022-05-17 12:18:49 +02:00
the-djmaze
593d3af6d4 Resolve #396 2022-05-17 11:08:05 +02:00
the-djmaze
c1bed26fd1 Resolve #399 (just remove the confusing feature "hide submit button") 2022-05-17 09:15:06 +02:00
the-djmaze
cbdb22f1ad Resolve #393 2022-05-17 09:06:20 +02:00
the-djmaze
f4bbd02e69 Added IMAP RFC 8508 REPLACE 2022-05-16 19:57:35 +02:00
the-djmaze
e5f1c41df0 Resolve #382 2022-05-16 19:56:21 +02:00
the-djmaze
6fe8ce7ec4 Merge branch 'master' of github.com:the-djmaze/snappymail 2022-05-16 19:52:20 +02:00
the-djmaze
894ac99687 Resolve #394 2022-05-16 14:10:44 +02:00
the-djmaze
a400871548
Merge pull request #397 from yasuhirokimura/replace_rainloop_with_snappymail
Replace "RainLoop" with "SnappyMail" in localization database files
2022-05-16 08:05:04 +02:00
Yasuhiro Kimura
b78e2b6614 Replace "RainLoop" with "SnappyMail" in localization database files 2022-05-16 04:51:35 +09:00
the-djmaze
3630d2cfc7
Merge pull request #395 from yasuhirokimura/japanese_translation_search
Improve Japanese translation of "SEARCH".
2022-05-15 19:11:03 +02:00
Yasuhiro Kimura
25a7af0de6 Improve Japanese translation of "SEARCH".
"Search" in English is "検索" in Japanese.
2022-05-15 23:48:21 +09:00
the-djmaze
2b22c06b34 v2.15.3 2022-05-13 23:12:41 +02:00
the-djmaze
49d006b9b1
Merge pull request #390 from kouinkouin/docker-upgrade-base
Docker upgrade base image
2022-05-13 23:05:26 +02:00
the-djmaze
5757c06f77 Resolve #391 poppassd error 2022-05-13 22:58:09 +02:00
the-djmaze
05cd767761 Kolab as AddressBook works (no sync with LDAP yet) 2022-05-13 22:43:25 +02:00
the-djmaze
41dac08dd1 Improved (Kolab) AddressBook handling 2022-05-13 21:06:06 +02:00
the-djmaze
02e3ce779c Move TestSuggestions to Example plugin 2022-05-13 20:25:52 +02:00
the-djmaze
0672a73c0b Resolve #387 Non-ascii folder name isn't displayed correctly 2022-05-13 17:25:21 +02:00
the-djmaze
68a1fe64bb Resolve #388 japanese "mark as spam" 2022-05-13 17:09:09 +02:00
the-djmaze
b267458f7e Resolve #389 2022-05-13 17:06:30 +02:00
the-djmaze
824311937a Improved Kolab AddressBook/Contacts 2022-05-13 16:17:13 +02:00
kouinkouin
c6099f9863
feat(docker): use --build-arg=aarch64 to build for arm64 2022-05-13 15:37:51 +02:00
kouinkouin
7f8ed04fb4
feat(docker): use php:8.1-fpm-bullseye as base iamge instead of php:7.4-fpm-buster 2022-05-13 15:32:18 +02:00
kouinkouin
305cade97b
chore(git): ignore *.zip resulted from release.php 2022-05-13 15:30:53 +02:00
the-djmaze
5c9b7d7000 Added example plugin how to use Kolab for contact suggestions 2022-05-13 00:49:25 +02:00
the-djmaze
f7ba43437e v2.15.2 2022-05-12 15:52:40 +02:00
the-djmaze
e590576247 Small fix for changes of #248 2022-05-12 15:11:07 +02:00
the-djmaze
143cef5ffb Resolve #364 2022-05-12 15:10:24 +02:00
the-djmaze
4b50ff9f59 Resolve #366 2022-05-12 14:26:39 +02:00
the-djmaze
c9e7087548 Resolve #365 2022-05-12 14:09:32 +02:00
the-djmaze
98fce17124 Drop ugly DejaVu Sans font 2022-05-12 12:46:13 +02:00
the-djmaze
0ec245dce1 Cleanup path handling 2022-05-12 12:46:00 +02:00
the-djmaze
aa3eb6b991
Merge pull request #383 from eibex/master
Replace rainloop with snappymail in up to date hint
2022-05-12 12:20:24 +02:00
the-djmaze
35e6ab2cce https://github.com/the-djmaze/snappymail/issues/372#issuecomment-1119861495 2022-05-12 12:17:19 +02:00
the-djmaze
68d3ccd469 Bugfix: wrong ini section of sieve_auth_plain_initial 2022-05-12 12:00:28 +02:00
the-djmaze
313e7ce014 Bugfix: undefined $passfile 2022-05-12 11:59:37 +02:00
the-djmaze
426a0f8c3b Improved NetClient connection handling as discovered at #381 2022-05-12 11:59:23 +02:00
eibex
6518ded13f
replace rainloop with snappymail in up to date hint 2022-05-11 23:57:29 +02:00
the-djmaze
7e30cb95ec Solution #381 dh key too small? 2022-05-11 23:25:27 +02:00
the-djmaze
b926a26dc8 Small cleanups 2022-05-11 23:14:12 +02:00
the-djmaze
e205a0d3e0 Resolve #248 View eml attachments 2022-05-11 23:13:24 +02:00
the-djmaze
17de4268b0 Drop webPath and webVersionPath in JavaScript 2022-05-11 21:15:58 +02:00
the-djmaze
e4bc027aef Changes for #379 2022-05-11 21:13:29 +02:00
the-djmaze
304c55f038 Strip tracking printabout.nl 2022-05-11 20:36:03 +02:00
the-djmaze
5f788dfda7 Test change for #381 2022-05-11 20:01:34 +02:00
the-djmaze
be35be8908 Added draft code to use Kolab as AddressBook 2022-05-11 15:14:28 +02:00
the-djmaze
733a96a987 Fix AddressBook structure 2022-05-11 13:35:05 +02:00
the-djmaze
aa69772127 FileStorage add ROOT option 2022-05-11 13:32:39 +02:00
the-djmaze
bf276510ba Resolve #378 2022-05-10 15:12:06 +02:00
the-djmaze
2e1ae4c7d5 Slight improvement for Firefox bug #368 2022-05-10 10:25:53 +02:00
the-djmaze
06c0666b93 A solution for #365 2022-05-08 11:19:25 +02:00
the-djmaze
fb95174f67 Move generating admin_password RainLoop\Actions to RainLoop\ActionsAdmin 2022-05-08 11:03:39 +02:00
the-djmaze
944b4ae856 Don't hide login button by default, some people get confused 2022-05-08 10:59:04 +02:00
the-djmaze
f671adceb3 Resolve #370 2022-05-06 15:55:02 +02:00
the-djmaze
bf5f478dcc Example changes for #365 2022-05-05 16:56:09 +02:00
the-djmaze
ffafc2313d debug change-password better 2022-05-05 16:49:19 +02:00
the-djmaze
acac16cef0 Release ldap contacts suggestions plugin 2.9 for #367 2022-05-05 16:26:23 +02:00
the-djmaze
f2ccee1c6b Resolve #367 2022-05-05 16:20:22 +02:00
the-djmaze
dfed4f2c1f Changed Firefox to be 78+ due to dotAll missing #352 2022-05-05 09:59:05 +02:00
the-djmaze
310a88b0a5 Resolve TOTP QR code not readable #360 2022-05-02 20:02:53 +02:00
the-djmaze
fe60acab63 Solution for #360? 2022-05-02 00:06:05 +02:00
the-djmaze
e601604362 Solve PHP 8.1 issues:
* Implicit conversion from float to int loses precision
* JsonSerializable::jsonSerialize(): mixed
2022-05-02 00:02:24 +02:00
the-djmaze
d997a2b679 Just showError(e) instead of showError(e.message) 2022-04-30 21:26:57 +02:00
the-djmaze
9383277e64 Rename backToMailBoxClick to backToInbox 2022-04-30 21:26:34 +02:00
the-djmaze
c7e51f5b2c Resolve #359 2022-04-30 21:04:41 +02:00
the-djmaze
fcb50dfcda Change for #272 2022-04-30 01:27:40 +02:00
the-djmaze
f7a2389523 v2.5.1 2022-04-30 01:18:05 +02:00
the-djmaze
435b590b3e Drop mail composer HTML/Plain Forced to prevent confusions like in #355 2022-04-30 00:43:38 +02:00
the-djmaze
bde9835d5d Resolve #356 2022-04-29 23:41:00 +02:00
the-djmaze
08173c7663 Resolve #357 2022-04-29 23:27:18 +02:00
the-djmaze
6e687aeb1e Bugfix: add some space above signature in HTML mode 2022-04-29 22:54:20 +02:00
the-djmaze
a06b59784a Changes for #349 2022-04-29 13:23:04 +02:00
the-djmaze
80eed213d9 Allow cancelable on some custom javascript events. 2022-04-29 13:07:49 +02:00
the-djmaze
9f2c06bcd3 Release ChangePassword plugins v2.14 2022-04-29 12:08:05 +02:00
the-djmaze
1dccfdba3b Revamp for #351 2022-04-29 11:30:11 +02:00
the-djmaze
3522f76d37 Added Poppassd for #351 2022-04-28 23:51:41 +02:00
the-djmaze
53894ac4ea Resolve #353 2022-04-28 23:10:21 +02:00
the-djmaze
676b3677b9 Improve old/bad browser redirect as found for SeaMonkey #352 2022-04-28 15:12:52 +02:00
the-djmaze
c78298d1ed Resolve #350 2022-04-27 01:30:33 +02:00
the-djmaze
8b3cfc7a67 Add support for global 2FA enforcement #349 2022-04-25 16:21:16 +02:00
the-djmaze
375f715b78 TOTP plugin improved QRCode view 2022-04-25 15:20:37 +02:00
the-djmaze
fded75e3f4 Cleanup ComposePopupView class 2022-04-25 12:53:40 +02:00
the-djmaze
81fbb80788 Drop unused favicon_status 2022-04-25 09:57:51 +02:00
the-djmaze
071b2c1153 Drop rl.settings.capa 2022-04-25 09:57:32 +02:00
the-djmaze
671062af31 Resolve #348 2022-04-25 09:40:38 +02:00
the-djmaze
7d845569d4 Solution for #341 2022-04-24 16:06:39 +02:00
the-djmaze
dbeaf87f8f Merge branch 'master' of github.com:the-djmaze/snappymail 2022-04-23 22:01:02 +02:00
the-djmaze
9413e491d4 Improved solution for #343 2022-04-23 22:00:41 +02:00
the-djmaze
bb06ee8773
Merge pull request #346 from ericgaspar/master
Fix minor typo in French
2022-04-23 12:59:06 +02:00
the-djmaze
c46ffad7d3
Merge pull request #345 from tomizius/feature-improve-german-translation
Feature improve german translation
2022-04-23 12:58:55 +02:00
the-djmaze
86e9239a99 Resolve #343 2022-04-23 12:21:16 +02:00
the-djmaze
3ed1872c44 Bugfix width attribute as found in #343 2022-04-23 11:47:00 +02:00
ericgaspar
a7a56d939a Update admin.json 2022-04-23 11:03:32 +02:00
Thomas Englert
ea6744872e translation for plain text 2022-04-23 09:59:46 +02:00
Thomas Englert
73d1c57e53 improve german translation 2022-04-23 09:56:58 +02:00
the-djmaze
af3d0dcb00 Changes for #342 2022-04-22 14:51:18 +02:00
the-djmaze
2b97db659a Simplify translations 2022-04-21 16:53:41 +02:00
the-djmaze
03b1a5521f GPG allow TEMP stream_select 2022-04-21 16:43:02 +02:00
the-djmaze
b17a405a81 Update core option in application.ini for #337
Default = off
2022-04-21 11:06:26 +02:00
the-djmaze
56de3da3a8 Better GPG logging, read https://github.com/the-djmaze/snappymail/issues/331#issuecomment-1104898811 2022-04-21 10:52:30 +02:00
the-djmaze
c682e49090 Better solutions for MEMORY issues regarding #331 2022-04-21 10:29:56 +02:00
the-djmaze
fd28741cb8 Resolve #331 2022-04-21 01:27:12 +02:00
the-djmaze
0256f05e7d Bugfix: PGP sign option failed to be visible due to new "from" feature of v2.12.2 #202 2022-04-21 00:07:18 +02:00
the-djmaze
0ec49d0802 Solution for "PHP Warning: Input variables exceeded 1000"? #338 2022-04-20 22:49:42 +02:00
the-djmaze
bf85675e42 Added info about sm-(user|admin)-login events 2022-04-20 22:08:44 +02:00
the-djmaze
d2e8a2dba4 Resolve #333 2022-04-20 22:07:20 +02:00
the-djmaze
5135aa64c9
Merge pull request #334 from veitw/fix-duplicate-hsts-header
Remove duplicate HSTS header on Apache if mod_headers is loaded
2022-04-20 07:41:41 +02:00
Veit
260ef6dc9d Remove duplicate HSTS header on Apache if mod_headers is loaded
On Apache httpd, ./.htaccess sets HSTS if mod_headers is loaded, but though ./v/0.0.0/include.php does the same if envvar "HTTPS" is set, resulting in duplicate and thus invalid HSTS headers. One needs to go.
2022-04-19 23:09:20 +02:00
the-djmaze
eff357dc8e v2.15.0 2022-04-19 10:33:21 +02:00
the-djmaze
ef03ba4f60 Also log to php error log 2022-04-19 10:21:57 +02:00
the-djmaze
f39b1bb14d Changes for #326 2022-04-19 09:40:29 +02:00
the-djmaze
3d0421762a Resolve #325 2022-04-18 23:59:06 +02:00
the-djmaze
fb6b84d920 #305 image_exif_auto_rotate 2022-04-18 20:41:24 +02:00
the-djmaze
e80b1825eb Added MailSo\Log\Enumerations\Type::DEBUG 2022-04-18 20:36:07 +02:00
the-djmaze
710659560b Enable _debug() for #325 2022-04-18 20:20:37 +02:00
the-djmaze
81392ee8a0 Changes for #305 2022-04-18 19:44:16 +02:00
the-djmaze
e53e21857e Bugfix for #325 and log errors 2022-04-18 19:24:06 +02:00
the-djmaze
334d3918c5 Undefined property SnappyMail\PGP\GPG::$passphrases reported in #325 2022-04-17 01:14:44 +02:00
the-djmaze
a7b03ef6f6 Improved inline image size scaling 2022-04-16 12:24:16 +02:00
the-djmaze
5701609857 Changes for https://github.com/the-djmaze/snappymail/issues/305#issuecomment-1100090308 2022-04-16 12:07:06 +02:00
the-djmaze
0a49027840 Resolve #293 2022-04-16 11:01:24 +02:00
the-djmaze
7bbc53c8af Bugfix: message fullscreen had no left:0 2022-04-16 02:47:59 +02:00
the-djmaze
865f62dbb8 Better fix for #314 2022-04-16 02:38:57 +02:00
the-djmaze
20e391cf1c Added: show GnuPG import/delete key error 2022-04-16 02:02:38 +02:00
the-djmaze
9a63071292 Disable PHP GnuPG PECL when version < 1.5 see #325 2022-04-16 01:37:50 +02:00
the-djmaze
05aae219dd Idea for #293 2022-04-15 00:03:18 +02:00
the-djmaze
6c0f921318 Improvements for #157 2022-04-14 23:56:39 +02:00
the-djmaze
9ebffecd47 Generate core.json for #318 2022-04-13 23:52:21 +02:00
the-djmaze
4a5f3b901d Resolve #322 2022-04-13 23:44:00 +02:00
the-djmaze
41e794f684
Merge pull request #324 from azonti/master
fix `override-smtp-credentials`
2022-04-13 11:21:29 +02:00
the-djmaze
afeeceaf77 Set SpamScore to 100% when bIsSpam #320 2022-04-13 11:19:06 +02:00
the-djmaze
59857e66e7 Bugfix: multiple uploads failed, found while investigating #322 2022-04-13 11:02:19 +02:00
the-djmaze
c5cf9fc71d Some improvements, as found while investigating #322 2022-04-13 10:48:14 +02:00
Shu Takayama
d93e27a40d
fix override-smtp-credentials 2022-04-13 16:46:58 +09:00
the-djmaze
5fb78bcd80
Merge pull request #323 from florealcab/master
Add a new (less) dark theme
2022-04-13 09:26:32 +02:00
Floréal Cabanettes
7a2bec0a6b Fix commented code 2022-04-12 22:48:08 +02:00
Floréal Cabanettes
b4633bdfe6 Add Snow Dark V1 theme 2022-04-12 22:46:58 +02:00
the-djmaze
1d8898e974 Resolve #318 2022-04-12 17:08:26 +02:00
the-djmaze
ec842d21a2 Added back the insecure ServiceExternalLogin #321 2022-04-12 10:57:15 +02:00
the-djmaze
4d898bfef0 On upgrade #318, extractTo() must overwrite 2022-04-06 11:29:53 +02:00
the-djmaze
95b7dee402 Some draft code for #318 2022-04-06 11:24:37 +02:00
the-djmaze
dcbafb70eb fix readme 2022-04-05 15:15:55 +02:00
the-djmaze
852c122e56 Prevent base-uri injection 2022-04-05 14:36:09 +02:00
the-djmaze
6a90c62456 Resolve #317 2022-04-05 14:26:10 +02:00
the-djmaze
45d9657455 Don't unlink openpgp.js 2022-04-05 12:10:49 +02:00
the-djmaze
f1ecbeb9f6 v2.14.3 2022-04-05 11:47:32 +02:00
the-djmaze
ff394356b6 Strip awstrack.me tracking 2022-04-05 11:43:44 +02:00
the-djmaze
873c9ebd8c Resolve #316 2022-04-05 11:43:23 +02:00
the-djmaze
8c8c414bda v2.14.2 2022-04-05 11:06:22 +02:00
the-djmaze
093781727a Google FLoC is dead. Removed it 2022-04-05 10:41:06 +02:00
the-djmaze
ff35397292 Small change for #314 Something changed in Chrome 100? 2022-04-05 10:40:30 +02:00
the-djmaze
48974d1b5a Get rid of i18nInit and improve i18nUpdate 2022-04-05 10:31:55 +02:00
the-djmaze
5b3dfc26de Resolve #315 2022-04-05 09:24:16 +02:00
the-djmaze
d31244e747 Cleanup compose window style 2022-03-31 18:53:04 +02:00
the-djmaze
722e345cbe Cleanup some knockout code 2022-03-31 18:52:46 +02:00
the-djmaze
893364d52d Cleanup AppUser and AdminApp 2022-03-31 17:39:53 +02:00
the-djmaze
cf3801cba0 OpenPGP.js v5.2.1 works 2022-03-31 00:05:18 +02:00
the-djmaze
7585ac450e Cleanup Email.toLine() 2022-03-30 10:26:00 +02:00
the-djmaze
2af5257e10 Resolve #308 2022-03-30 10:24:15 +02:00
the-djmaze
98a571c7d2 Resolve #309 2022-03-30 09:53:55 +02:00
the-djmaze
485acf42d0 Resolve #306 2022-03-29 11:44:26 +02:00
the-djmaze
d3a3007bef #291 2022-03-29 11:36:08 +02:00
the-djmaze
0cea3312d6 Bugfix: path double slash 2022-03-25 15:42:11 +01:00
the-djmaze
33623db6ea Bugfix: undefined $gmagick 2022-03-25 15:35:10 +01:00
the-djmaze
e596d72cf4 Revert to OpenPGP.js v5.1.0 as v5.2.1 fails to decrypt 2022-03-24 13:53:34 +01:00
the-djmaze
a968a5531c Merge branch 'master' of github.com:the-djmaze/snappymail 2022-03-24 13:44:28 +01:00
the-djmaze
bbadd179fa OpenPGP.js v5.2.1 2022-03-24 13:43:38 +01:00
the-djmaze
c450eb849f v5.2.1 2022-03-24 13:41:41 +01:00
the-djmaze
99ffb986f1 Resolve #303 isString() error 2022-03-24 13:23:52 +01:00
the-djmaze
049350b112 Bugfix: incorrect style for settings security 2022-03-24 12:28:18 +01:00
the-djmaze
b074a9eaf3 Upgrade Sabre #304 (needs testing) 2022-03-24 12:02:45 +01:00
the-djmaze
2fae820ee4 Improved streaming as preperation for #300 2022-03-24 12:01:41 +01:00
the-djmaze
b138c1b4a0 Centralize attachmentName styling 2022-03-24 12:00:41 +01:00
the-djmaze
c121a233d6 Workaround Firefox 98 issue #301 2022-03-24 11:28:01 +01:00
uwe
333cb37ed3 removed link scrapping and added improvements 2022-03-23 19:36:31 +01:00
the-djmaze
70d6d398be Speedup raw view of images by changing detect_image_exif_orientation default to Off
and loadImage() uses stream instead of string.
2022-03-23 17:09:25 +01:00
the-djmaze
22472ea1f1 Bugfix: count() Argument #1 ($value) must be of type Countable|array, null given 2022-03-22 17:13:32 +01:00
the-djmaze
e452c3516a v2.14.1 2022-03-22 16:35:49 +01:00
the-djmaze
91327a3c6c Better solution for #298 2022-03-22 16:24:58 +01:00
the-djmaze
1833388ea4 Resolve #299 due to changes of #287 2022-03-22 15:36:10 +01:00
the-djmaze
13f270f426 Resolve #298 2022-03-22 11:47:17 +01:00
the-djmaze
40a0391092 Resolve #296 and cleanup Squire a bit 2022-03-22 10:10:11 +01:00
uwe
80e816927f Merge branch 'master' of github.com:Psychi1/snappymail 2022-03-21 17:57:29 +01:00
uwe
6d6ab73b72 show versions
show versions of recent snappymail and new snappymail
2022-03-21 17:57:07 +01:00
the-djmaze
a9b9b7df03 v2.14.0 2022-03-21 14:46:53 +01:00
the-djmaze
d08998eb1c Resolve #295 2022-03-21 14:24:41 +01:00
the-djmaze
050815dd7e Resolve #287 2022-03-21 13:00:10 +01:00
the-djmaze
443c3c199e Drop IE/Trident detection 2022-03-21 12:02:20 +01:00
the-djmaze
936e190908 Resolve Call to private method 2022-03-21 11:50:27 +01:00
the-djmaze
a00bf15a44 Resolve #294 2022-03-21 11:34:40 +01:00
the-djmaze
f47eb61aee Improved Sieve Script editor with lists of available Actions, Controls and Tests 2022-03-17 10:21:23 +01:00
the-djmaze
ff9a89380c Prepare some Sieve restructuring for GUI 2022-03-17 09:03:02 +01:00
the-djmaze
37bb9a9a97 added Sieve getMatchTypes() for easy valid match-types 2022-03-16 14:33:43 +01:00
the-djmaze
e4bd24b4e8 Added Sieve extension rfc6134 partial 2022-03-16 14:21:23 +01:00
the-djmaze
63de537f8f Added Sieve extension rfc5703 2022-03-16 12:05:50 +01:00
the-djmaze
7468268e1a PWA #264 Manifest does not have:
* PNG icon of at least 512px
* `background_color`
* `theme_color`
* maskable icon
* `<meta name="theme-color">` tag
2022-03-15 16:02:58 +01:00
the-djmaze
57673384e9 Support Sieve extension rfc6131 2022-03-15 10:16:26 +01:00
the-djmaze
b3c1723c5c Improved Sieve code and added rfc5435 2022-03-15 09:58:04 +01:00
the-djmaze
f453abf149
Merge pull request #285 from simonedalpont/master
Added translations for IT localization
2022-03-15 07:57:03 +01:00
the-djmaze
c01c02d723 Added Sieve extension rfc5463 2022-03-15 07:54:25 +01:00
simonedalpont
ac9f316100
admin.json minor translations fixes 2022-03-14 16:39:10 +01:00
the-djmaze
c76823dc5f Some tiny changes 2022-03-14 15:42:05 +01:00
simonedalpont
742aa0e473
Updated user.json with missing translations 2022-03-14 14:47:04 +01:00
the-djmaze
219589b8ea Support Sieve RFC3894 2022-03-14 14:06:28 +01:00
simonedalpont
0a9b2ae966
Corrected line related to Sign-in button. 2022-03-14 13:06:21 +01:00
simonedalpont
d3fc2a0164
Updated admin.json with missing translations. 2022-03-14 13:01:26 +01:00
the-djmaze
8761b860fd Fixed missing Debian Packages file 2022-03-14 12:39:30 +01:00
the-djmaze
668a5f1fa5 Added Sieve rfc5490
Renamed tests classes *Command as *Test
2022-03-14 12:39:11 +01:00
the-djmaze
40adf992ed Activate more Sieve extensions and use parseScript when saving script 2022-03-13 20:22:00 +01:00
the-djmaze
58f5e90f8f Resolve #283 2022-03-13 19:51:14 +01:00
the-djmaze
42813b90dd Added the new Sieve parser as script validator 2022-03-11 13:41:13 +01:00
the-djmaze
9bae77bfa1 Fix Sieve Circular dependency 2022-03-11 13:01:46 +01:00
the-djmaze
ea25d9bce4 Dynamic load app.js/admin.js/sieve.js based on minification 2022-03-11 12:58:12 +01:00
the-djmaze
088d6cab55 Still issue with shortcuts
https://github.com/the-djmaze/snappymail/issues/277#issuecomment-1064880609
2022-03-11 10:36:27 +01:00
djmaze
d6dc4d291c Split Sieve/Filters code from app.js so that i can work on the new Sieve GUI 2022-03-11 10:26:25 +01:00
the-djmaze
ec6a79d9d6 Resolve #281 2022-03-11 10:21:44 +01:00
the-djmaze
1934360cf4 https://github.com/the-djmaze/snappymail/issues/185#issuecomment-1064370753 2022-03-10 23:09:59 +01:00
the-djmaze
d6b1bcc375 v2.13.4 2022-03-10 14:32:10 +01:00
the-djmaze
4b02c19aa3 Bugfix: type error elementById(...) is null #272 2022-03-10 13:59:03 +01:00
the-djmaze
c510959b76 Create Debian repo
https://github.com/the-djmaze/snappymail/issues/185#issuecomment-1059420588
2022-03-10 13:53:28 +01:00
the-djmaze
d4069fd835 Default pdo_mysql_ssl_verify to false 2022-03-10 12:41:41 +01:00
the-djmaze
c725f9eebf Resolve RainLoop#2150 2022-03-10 12:41:12 +01:00
the-djmaze
63e15ff686 Bugfix: modal window help-block didn't scroll 2022-03-10 12:19:00 +01:00
the-djmaze
0c1ac011f2 Bugfix: Admin Plugins management broken 2022-03-10 12:18:14 +01:00
the-djmaze
b2dd5b7cad Bufix: plugin CSS failed to load 2022-03-10 11:46:54 +01:00
the-djmaze
2da1590cd9 Keep mail <body> element style 2022-03-10 11:01:18 +01:00
the-djmaze
a096f963ef Added Sieve settings concept.
It fails due to i18n conflicts
2022-03-10 10:27:04 +01:00
the-djmaze
cd734c7d5d Globalize rl.loadScript() 2022-03-10 09:57:27 +01:00
the-djmaze
0106751e64 Bugfix: HTMLTemplateElement never has a <body> element 2022-03-09 16:53:04 +01:00
the-djmaze
6f2f5bce86 Added Ctrl/Meta + F to open advanced search screen
Cleanup search field onEnter
2022-03-09 15:08:22 +01:00
the-djmaze
e0498895bc Resolve #279 2022-03-09 13:48:25 +01:00
the-djmaze
accf860796 Resolve #278 2022-03-09 13:11:28 +01:00
the-djmaze
f4cd25f8ad Added Sieve parser code in master 2022-03-09 12:33:31 +01:00
the-djmaze
e90e8a55ce Resolve #276 2022-03-08 23:15:54 +01:00
the-djmaze
33bc780c1f Resolve #277 2022-03-08 23:05:19 +01:00
the-djmaze
0b91ef04a0 Resolve #275 2022-03-08 17:22:08 +01:00
the-djmaze
e2338b0ab1 change-password v2.13 2022-03-08 15:01:55 +01:00
the-djmaze
6d8408b0ad v2.13.3 2022-03-08 15:00:12 +01:00
the-djmaze
3e494f6519 Cleanup views system 2022-03-08 12:28:16 +01:00
the-djmaze
c0f494c758 Some small cleanups 2022-03-08 10:52:40 +01:00
the-djmaze
04f4538700 Cleanup Dropdowns handling 2022-03-08 10:52:08 +01:00
the-djmaze
ffcd9990eb mailToHelper() use URLSearchParams 2022-03-08 10:05:24 +01:00
the-djmaze
4b8e77be5c Make ComposeType numeric 2022-03-08 09:27:32 +01:00
the-djmaze
cb3b9d6921
Merge pull request #267 from terribleplan/master
Update release dockerfile for PHP 7.4
2022-03-08 08:39:40 +01:00
the-djmaze
361b1e7991
Merge pull request #273 from veitw/change-password-mysql-ssl-support
plugins/change-password: MySQL SSL/TLS support
2022-03-08 08:39:31 +01:00
the-djmaze
4dd58f7c36 Cleanup and better rename settings screens to match template names 2022-03-08 00:51:32 +01:00
Veit
b7f17ef196 plugins/change-password: Add support for MySQL SSL/TLS connections and server certificate validation. 2022-03-07 23:14:02 +01:00
the-djmaze
30116c183f Resolve #268 2022-03-07 13:47:18 +01:00
the-djmaze
60987f4623 Cleanup shortcuts scope handling 2022-03-07 13:47:03 +01:00
the-djmaze
874f2592ca Drop Capa enums 2022-03-05 22:25:32 +01:00
terribleplan
c82d0a915a
Update release dockerfile for PHP 7.4 2022-03-05 11:02:34 -06:00
the-djmaze
f44507a69b Cleanup some code 2022-03-04 23:46:37 +01:00
the-djmaze
2a3e22344e Split Admin actions from User actions 2022-03-04 23:46:14 +01:00
the-djmaze
398c77eb35 Merge DomainAdminInterface into DomainInterface 2022-03-04 22:06:40 +01:00
the-djmaze
3251611c6d Move admin repository handling code to \SnappyMail\Repository 2022-03-04 16:09:50 +01:00
the-djmaze
c5fc3d24a9 Just make email address clickable 2022-03-04 15:23:20 +01:00
the-djmaze
ee135f2032 Bugfix: mailto handling was broken, and now also works without auto-login 2022-03-04 15:22:37 +01:00
the-djmaze
a503329b77 Resolve #265 regarding shortcuts in certain input fields.
As we want other shortcuts do work in input fields (which couldn't in previous releases).
2022-03-04 14:43:58 +01:00
the-djmaze
54f48fbe4d Resolve #261 2022-03-04 12:13:53 +01:00
the-djmaze
4f2f2dd485 Resolve #263 2022-03-04 11:53:36 +01:00
the-djmaze
a0deddd4e2 v2.3.2 2022-03-04 10:12:39 +01:00
the-djmaze
90d835059a Resolve #258 2022-03-04 09:31:14 +01:00
the-djmaze
fe0f6af9f4 Renamed closeCommand() to close() because it has no command feature anymore 2022-03-04 09:21:24 +01:00
the-djmaze
7f29f362f5 Fix markdown layout 2022-03-03 22:52:57 +01:00
the-djmaze
ca14a1e8d0 Upload SECURITY.md 2022-03-03 22:51:16 +01:00
the-djmaze
f0b0d21386 Some small cleanups/corrections 2022-03-03 19:22:17 +01:00
the-djmaze
28b32edfab Update optional php extensions 2022-03-03 19:21:25 +01:00
the-djmaze
f50f2c5ea0 decorateKoCommands() each command must have function
And due to that, a bug is found and solved in MessageView
2022-03-03 17:34:45 +01:00
the-djmaze
a67fb22bee Improved Contacts popup close handling 2022-03-03 16:41:34 +01:00
the-djmaze
fafe56ecb4 Fix and improved hasher routing 2022-03-03 16:28:05 +01:00
the-djmaze
06e2dc722d Added PHP Tidy as optional extension 2022-03-03 11:12:34 +01:00
the-djmaze
9f8854ae80 Remove the old unused \MailSo\Base\Crypt 2022-03-03 11:09:50 +01:00
the-djmaze
5bb190d974 Improve \MailSo\Base\Utils::FunctionExistsAndEnabled() 2022-03-03 10:44:15 +01:00
the-djmaze
bb7d8e85a0 Cleanup \MailSo\Base\HtmlUtils::BuildHtml() 2022-03-03 09:54:39 +01:00
the-djmaze
eb98c0713a Improved cleanHtml() handling of table width and content 2022-03-02 16:11:38 +01:00
the-djmaze
121f6f0bf8 Bugfix: strip utm_ tracking failed 2022-03-02 11:48:41 +01:00
the-djmaze
75766573e9 Speedup \MailSo\Base\HtmlUtils::BuildHtml() 2022-03-02 11:33:04 +01:00
the-djmaze
059b9eb322 Remove unused HtmlStrictAllowedTags and HtmlStrictDebug 2022-03-02 11:30:32 +01:00
the-djmaze
1d6dad8f4f Remove unused strict_html_parser (it's moved to JavaScript) 2022-03-02 11:22:05 +01:00
the-djmaze
765150c19a Only set DevEmail/DevPassword when version is 0.0.0 2022-03-02 11:19:43 +01:00
the-djmaze
6215af5d74 Fix Cache->GC(0) for files 2022-03-02 11:05:59 +01:00
the-djmaze
c605ff1767 Log issues for #255 2022-03-02 10:52:32 +01:00
the-djmaze
e07cf8d11f #252 doc not used anymore 2022-03-02 10:24:24 +01:00
the-djmaze
8701174157 Resolve #253 2022-03-02 10:23:01 +01:00
the-djmaze
df766e56da #185 improved dependencies 2022-03-02 09:51:37 +01:00
the-djmaze
b6495f3710 #185 mkdir slash missing 2022-03-02 09:47:11 +01:00
the-djmaze
096faae844 Remove some shortcuts due to conflicts, read #252 2022-03-02 09:26:30 +01:00
the-djmaze
4250dcf3f0 Cleanup theme switcher 2022-03-01 15:49:35 +01:00
the-djmaze
0f14e235b4 reenable deb removal 2022-03-01 11:39:06 +01:00
the-djmaze
62bdf41882 Improved debug #185 [202] error 2022-03-01 11:31:01 +01:00
the-djmaze
a1ceb8b314 #185 fix depends 2022-03-01 11:24:45 +01:00
the-djmaze
4f3a27cf54 #185 fix version dir 2022-03-01 11:23:40 +01:00
the-djmaze
fd90949e15 Resolve #251 2022-03-01 11:08:38 +01:00
the-djmaze
30a6ee5d3d Use opacity on disabled/readonly form field 2022-03-01 10:37:00 +01:00
the-djmaze
3de19b22b6 Solve hideSubmitButton issue 2022-03-01 10:36:27 +01:00
the-djmaze
f4d98130a5 Simplify save settings 2022-03-01 10:18:12 +01:00
the-djmaze
fc60dc94fc Revert broken background due to #249 2022-03-01 10:02:14 +01:00
the-djmaze
2e8497dc01 Bugfix: Admin extensions page didn't refresh after install/update 2022-02-28 17:26:23 +01:00
the-djmaze
eeb289ea44 v2.3.1 2022-02-28 16:13:41 +01:00
the-djmaze
e26f00e268 Resolve #250 2022-02-28 16:10:23 +01:00
the-djmaze
942cfbbf53 Resolve #249 2022-02-28 15:57:46 +01:00
the-djmaze
e4b70c2af1 Cleanup two-factor-auth extension 2022-02-28 15:31:21 +01:00
the-djmaze
62b6a1513c Cleaner boot data 2022-02-28 15:10:04 +01:00
the-djmaze
3f801cb762 TOTP extension v2.13 2022-02-28 14:55:00 +01:00
the-djmaze
ed959459ef v2.13.0 2022-02-28 11:35:29 +01:00
the-djmaze
92079fd6f7 Resolve #239 2022-02-28 11:21:01 +01:00
the-djmaze
376490725c Bugfix: i broke advanced search form 2022-02-28 11:03:02 +01:00
the-djmaze
f11f16c23b Resolve #247 2022-02-28 10:57:41 +01:00
the-djmaze
97bc3ef585 Enable AbstractViewSettings 2022-02-28 10:38:47 +01:00
the-djmaze
92cec80b73 Improved plugin documentation 2022-02-26 10:33:11 +01:00
the-djmaze
6d6690009c Cleanup unused Squire code 2022-02-26 10:22:14 +01:00
the-djmaze
01692075c6 Resolve #244 2022-02-26 09:39:22 +01:00
the-djmaze
36feca6ce7 modalVisibility() to modalVisible() 2022-02-26 01:06:18 +01:00
the-djmaze
86374433b9 Cleanup Sieve Filter editor code 2022-02-26 01:02:12 +01:00
the-djmaze
0bf891ba9d Improved ko.extenders.limitedList 2022-02-25 17:18:45 +01:00
the-djmaze
1d63683cf9 Improved shortcuts handling 2022-02-25 17:02:08 +01:00
the-djmaze
65a3b9e4c7 Bugfix: Popup Escape/Close key failed 2022-02-25 13:13:09 +01:00
the-djmaze
b82d26b71b Restructure some popups to use <form> 2022-02-25 13:12:44 +01:00
the-djmaze
169dbfecca Added some documentation 2022-02-25 12:11:32 +01:00
the-djmaze
47a6af52ba Resolve #242 2022-02-25 11:33:08 +01:00
the-djmaze
a9edbe9ecf Bugfix: resolve #243
And cleanup the HTML rules along the way
2022-02-25 11:11:28 +01:00
the-djmaze
93dcea6d35 Resolve #245 Send HTML message as last part 2022-02-25 10:36:23 +01:00
the-djmaze
f2054fde0f Resolve #246 2022-02-25 10:12:06 +01:00
the-djmaze
2edd55f01f Drop cancelCommand in favor of closeCommand and improve AbstractViewPopup handling 2022-02-24 22:40:17 +01:00
the-djmaze
06b5b83588 removed default export 2022-02-24 14:01:41 +01:00
the-djmaze
b5114fa73a Simplify admin domain management 2022-02-24 13:36:57 +01:00
the-djmaze
962ddde1f3 Some small cleanups and fixes 2022-02-24 12:43:44 +01:00
the-djmaze
e7c7b8ed53 Restructure Capa 2022-02-24 12:22:27 +01:00
the-djmaze
5990addfef Added: addEventsListener() and addEventsListeners() 2022-02-24 11:19:19 +01:00
the-djmaze
c270f0ad9a Prevent Circular dependencies 2022-02-23 23:11:12 +01:00
the-djmaze
bb4ff4fdc7 Bugfix: rl.app.setExpandedFolder() undefined 2022-02-23 22:23:16 +01:00
the-djmaze
661cd2aaf9 Restructure JavaScript
Split list code from MessageUserStore into MessagelistUserStore
Move functions out of AppUser
2022-02-23 19:26:52 +01:00
the-djmaze
60b7f61e42 Resolve #203 2022-02-22 17:21:08 +01:00
the-djmaze
13980c4ee3 Resolve #241 logout behavior 2022-02-22 00:44:13 +01:00
the-djmaze
24b638cd82 Cleanup some JavaScript 2022-02-21 15:36:34 +01:00
the-djmaze
18fbf332c2
Merge pull request #237 from lota/patch-1
Fix example for real main-bg-image
2022-02-19 22:51:41 +01:00
the-djmaze
d63b2000b6 Resolve #240 2022-02-19 13:23:13 +01:00
the-djmaze
f23dd5a431 Things for issue #185 2022-02-18 20:28:40 +01:00
Lota Bi
e226a3d503
Fix example for real main-bg-image
Fix example for real main-bg-image (avoid CSS syntax error) ;-)
2022-02-18 18:07:39 +01:00
the-djmaze
e324e2f6b6 Replaced tricky delegateRunOnDestroy() with koArrayWithDestroy()
koArrayWithDestroy creates ko.observableArray and calls the desired onDestroy() on entry delete.
2022-02-17 12:48:57 +01:00
the-djmaze
f4bc796fb1 Some small changes 2022-02-17 10:28:41 +01:00
the-djmaze
f4bed88e39 Cleanup pgp decrypt code and show green when decrypted 2022-02-17 10:18:47 +01:00
the-djmaze
b2a492bdab Cleanup knockout subscribables 2022-02-17 09:36:29 +01:00
the-djmaze
5748dea4bc Cleanup component models 2022-02-16 23:12:12 +01:00
the-djmaze
536a9d20fd Resolve #131 2022-02-16 16:55:56 +01:00
the-djmaze
7265cf03d9 https://github.com/the-djmaze/snappymail/issues/236#issuecomment-1041465503 2022-02-16 15:01:26 +01:00
the-djmaze
507a50de78 Resolve #198 2022-02-16 12:12:40 +01:00
the-djmaze
ab95a6ccb3 Forgot to make release, see #236 2022-02-16 10:19:57 +01:00
Psychi
19bbeb042a
Merge branch 'the-djmaze:master' into master 2022-02-15 19:24:35 +01:00
the-djmaze
e59e6444d0 Bugfix: some messages have incorrect image widths 2022-02-15 14:49:04 +01:00
the-djmaze
7838aee0f1 Prevent usage of Less 2022-02-15 14:48:32 +01:00
the-djmaze
29cbd0fbb6 v2.12.2 2022-02-15 12:53:20 +01:00
the-djmaze
be35a541c3 Added idea to allow <style> 2022-02-15 12:29:41 +01:00
the-djmaze
6c795d4ced Bugfix: missing comma 2022-02-15 12:08:52 +01:00
the-djmaze
fca464f0b2 Resolve mail redirects https://github.com/the-djmaze/snappymail/issues/234#issuecomment-1040120224#234 2022-02-15 11:43:18 +01:00
the-djmaze
9b82830c36 Improved bug #228 2022-02-15 11:05:01 +01:00
the-djmaze
9ea32aae95 Small maxWidth improvement for
https://github.com/the-djmaze/snappymail/issues/184#issuecomment-1039538958
2022-02-15 10:58:45 +01:00
the-djmaze
301413020c Block tracking pixel of 2px as found in #234 2022-02-15 10:46:42 +01:00
the-djmaze
ec23b61e14 Improvement for #184 2022-02-15 10:36:01 +01:00
the-djmaze
e2c171f302 Resolve #202 2022-02-15 10:22:52 +01:00
the-djmaze
93190f4071 XHTML to HTML 2022-02-15 09:00:51 +01:00
the-djmaze
c8104739c1 Resolve #234 2022-02-15 08:04:39 +01:00
the-djmaze
3fd4cd5d33 Hopefully resolve #231 2022-02-14 22:20:57 +01:00
the-djmaze
938fd36a9b v2.12.1 2022-02-14 17:48:40 +01:00
the-djmaze
88c16f5c40 Cleanup some CSS 2022-02-14 17:37:58 +01:00
the-djmaze
5c22933628 Small restructure 2022-02-14 15:39:47 +01:00
the-djmaze
27cfd1ee83 Cleanup CSP header 2022-02-14 15:01:42 +01:00
the-djmaze
5e9c83c1a8 Added option to application.ini for CSP reporting 2022-02-14 14:58:35 +01:00
the-djmaze
6c71f25f50 Resolve #124 2022-02-14 13:06:00 +01:00
the-djmaze
b405b45158 Resolve #205 only when 'Language' setting is empty 2022-02-14 12:56:57 +01:00
the-djmaze
af959e3631 Resolve #187 (found the real problem, comments in comments) 2022-02-14 12:27:43 +01:00
the-djmaze
973cb83ba0 Resolve #230 2022-02-14 11:48:23 +01:00
the-djmaze
eb22ddc4c3 Improved cleanHtml() 2022-02-14 11:47:56 +01:00
the-djmaze
185b4416a0 Solution for #231 ? 2022-02-14 11:10:52 +01:00
the-djmaze
911f833ede Improved Content-Security-Policy management for Captcha issue #222 2022-02-14 11:08:53 +01:00
the-djmaze
b257fac19b Resolve #232 2022-02-14 07:51:06 +01:00
the-djmaze
9d8325d5a8 Improved "View in separate window" with theme colors 2022-02-13 20:01:21 +01:00
the-djmaze
803113568f Resolve #228 2022-02-13 12:58:01 +01:00
uwe
1b561ee10f upgrade script 2022-02-13 11:30:06 +01:00
the-djmaze
182aee6bb8 Bugfix: don't log admin auth fail attempts twice 2022-02-12 00:05:35 +01:00
the-djmaze
cb15085dc6 Investigation of #227 led to this improvement 2022-02-11 19:45:18 +01:00
the-djmaze
569c2081f7 v2.12.0 2022-02-11 16:13:14 +01:00
the-djmaze
af08a9a301 Resolve #126 2022-02-11 15:51:35 +01:00
the-djmaze
2fea7b92e1 reCaptcha at admin login
https://github.com/the-djmaze/snappymail/issues/222#issuecomment-1036211212
2022-02-11 14:52:04 +01:00
the-djmaze
fecc9f96eb Added support for reCaptcha #222 2022-02-11 14:21:41 +01:00
the-djmaze
44ee236709 dispatchEvent(new CustomEvent(...)) to fireEvent(...) 2022-02-11 12:21:16 +01:00
the-djmaze
2d46eaa783
Merge pull request #226 from eibex/it-IT_totp
Add Italian translation to TOTP
2022-02-11 11:28:57 +01:00
the-djmaze
f7092e70ad remove style .squire-wysiwyg a 2022-02-11 11:28:02 +01:00
the-djmaze
16c7fdaf3b Squire remove brBreaksLine test 2022-02-11 11:27:30 +01:00
the-djmaze
e0e490c64f #89 Decrypt and verify with OpenPGP.js and GnuPG 2022-02-11 11:01:07 +01:00
eibex
97a655e517
add Italian translation 2022-02-10 23:33:27 +01:00
the-djmaze
85f9209176 Improved decrypted attachments view 2022-02-10 17:15:20 +01:00
the-djmaze
ecc669b734
Merge pull request #224 from PeopleInside/patch-1
Update user.json
2022-02-10 17:02:52 +01:00
the-djmaze
2037f21c45 Resolve #180 and now works with #89 2022-02-10 17:01:36 +01:00
the-djmaze
25a786d584 #89 added downloading of decrypted attachments 2022-02-10 16:35:55 +01:00
the-djmaze
4a1c3beb78 Update Plugin readme 2022-02-10 16:09:45 +01:00
the-djmaze
292e21bae1 Replaced added postal-mime for custom mime parser due to PGP verify requirements 2022-02-10 15:37:05 +01:00
Marco Borla
1156a99813
Update user.json
Fix Name is not "posta in arrivo" but should be Nome.
Fix for identity, Italian
2022-02-10 13:31:07 +01:00
the-djmaze
9188a8bcd2 Improved cleanHtml and the handling of removeColors for dark mode 2022-02-10 10:25:21 +01:00
the-djmaze
2c5322129c #89 Added signing using GnuPG 2022-02-09 22:58:47 +01:00
the-djmaze
8d0154530c Added missing PropertyCollection 2022-02-09 20:34:36 +01:00
the-djmaze
e0ebc999d5 Extend plugin config with a grouping class 2022-02-09 17:48:05 +01:00
the-djmaze
05f1d62041 Resolve #218 2022-02-09 17:46:31 +01:00
the-djmaze
92b81b777b Fix some OpenPGP translations 2022-02-09 15:43:14 +01:00
the-djmaze
8e515ed2af #89 improved sign and encrypt 2022-02-09 13:44:17 +01:00
the-djmaze
e7b2ed9881 #89 encrypt using GnuPG works 2022-02-09 11:02:12 +01:00
the-djmaze
8fff6fa759 Added: GnuPG encrypt (sign still fails) 2022-02-09 10:53:55 +01:00
the-djmaze
f3717815e1 Cleanup boot.js and fix rllayout cookie 2022-02-08 14:15:22 +01:00
the-djmaze
827421e116 Settings.capa() to SettingsCapa() 2022-02-08 14:13:06 +01:00
the-djmaze
51e391c4d6 Squire better handling of signatures 2022-02-08 13:48:39 +01:00
the-djmaze
398152be52 Disable Mailvelope "sign" message as it can't choose which key 2022-02-08 13:48:11 +01:00
the-djmaze
c4ffcc708a Also use AskPopupView instead of prompt() to view GnuPG private key 2022-02-08 11:34:04 +01:00
the-djmaze
8134a2567d More info about PGP keyservers 2022-02-08 11:21:29 +01:00
the-djmaze
ff8e76631b Bugfix sending OpenPGP.js signed messages
Cleanup and revamp MailSo/Mime for better multipart handling
2022-02-08 11:20:26 +01:00
the-djmaze
8428838a8b Replace AskPopupView "Yes" button with "Sign" or "Decrypt" 2022-02-07 23:00:51 +01:00
the-djmaze
66a3a18f67 Improved ask password 2022-02-07 19:35:24 +01:00
the-djmaze
d9f50fa829 Replaced prompt() into a AskPopupView.password() Promise 2022-02-07 17:30:41 +01:00
the-djmaze
1f0af5c0ac Hide some functions from rl.app. 2022-02-07 17:27:25 +01:00
the-djmaze
ab149b5ec9 remove unused showScreenPopup 2022-02-07 15:35:48 +01:00
the-djmaze
f6400b6da2 Remove rl.showScreenPopup in favour of AbstractViewPopup.showModal 2022-02-07 15:20:39 +01:00
the-djmaze
649f74fc51
Merge pull request #219 from lota/master
Added Italian translation
2022-02-07 12:30:52 +01:00
the-djmaze
67ae99fa3c v2.12.0-pr1 2022-02-07 12:29:19 +01:00
the-djmaze
051e78df51 #89 added send OpenPGP.js signed HTML message 2022-02-07 11:59:47 +01:00
the-djmaze
0cf63dab76 #89 add OpenPGP.js sign and encrypt 2022-02-07 11:32:53 +01:00
Lota Bi
2f442e68a7
Added Italian translation 2022-02-07 10:44:13 +01:00
the-djmaze
4b030c93ff
Merge pull request #217 from lota/master
other contributions in Italian and fixes
2022-02-07 10:27:01 +01:00
the-djmaze
d196edf24c Merge remote-tracking branch 'refs/remotes/origin/master' 2022-02-07 10:25:29 +01:00
the-djmaze
ad6e1bebf8 Much better HTML to Plain converter 2022-02-07 10:23:41 +01:00
Lota Bi
8b5a2dfb6b
Update user.json 2022-02-07 09:30:21 +01:00
the-djmaze
0b868d990a
Merge pull request #215 from lota/master
Some italian labels added/fixed
2022-02-06 18:16:10 +01:00
Lota Bi
05d98a6c58
Some italian labels added, and little fix 2022-02-06 17:06:44 +01:00
Lota Bi
7dd99c1ea0
fix Search label in italian
fix Search label in italian
2022-02-06 16:59:29 +01:00
the-djmaze
3759a576c9 Resolve #211 2022-02-06 00:40:36 +01:00
the-djmaze
90f559ac8a
Merge pull request #213 from leonekmi/fix-change-password-2
change-password: Fix non-supported hash methods
2022-02-05 23:40:21 +01:00
the-djmaze
44a72441bb
Merge pull request #212 from leonekmi/fix-change-password-1
change-password: Fix after password change
2022-02-05 23:38:42 +01:00
Leon
26d285703c change-password: Fix encrypt when using non-supported hash method (by returning clear password, you shouldn't do that!) 2022-02-05 21:03:40 +01:00
Leon
d9d21845ba change-password: Use setData instead of deprecated methods after password change to refresh webapp. 2022-02-05 21:02:19 +01:00
the-djmaze
0a6a8fa299 Improved MIME Message builder 2022-02-04 17:21:26 +01:00
the-djmaze
5b051745fe #89 Composer move sign/encrypt buttons from menu to view 2022-02-04 16:21:29 +01:00
the-djmaze
26d3509e28 Improved logging 2022-02-04 15:03:11 +01:00
the-djmaze
7fec4e849b Improved GPGP homedir detection for #208 2022-02-04 14:44:38 +01:00
the-djmaze
3aa319b230 Improved open_basedir and proxy 2022-02-04 14:43:12 +01:00
the-djmaze
7e2dfbc38a Bugfix: style P margin incorrect 2022-02-04 13:59:35 +01:00
the-djmaze
8544ccfb1e Dark theme dark scrollbar in webkit 2022-02-04 13:59:06 +01:00
the-djmaze
3fc5216841 Improved Composer handling with PGP messages 2022-02-04 13:40:59 +01:00
the-djmaze
96de0be977 #89 solve edit/reply encrypted message/draft 2022-02-04 09:54:59 +01:00
the-djmaze
686138ae15 Revamp isPopupVisible to AbstractViewPopup.hidden 2022-02-04 09:49:55 +01:00
the-djmaze
d7ed6ce423 #89 also encrypt draft on save 2022-02-04 09:00:28 +01:00
the-djmaze
384230f7bf Cleaner Content-Type detection for mimeToMessage() 2022-02-03 23:36:48 +01:00
the-djmaze
983a2db418 #89 added OpenPGP.js encrypt HTML 2022-02-03 23:36:12 +01:00
the-djmaze
6df9aaae43 Don't load Capa at login page and cleanup/speedup GetCapa 2022-02-03 23:04:55 +01:00
the-djmaze
ad269597d6 #208 improved GPG open_basedir 2022-02-03 22:48:11 +01:00
the-djmaze
25d946b873 #208 Block GPG when using open_basedir 2022-02-03 21:49:08 +01:00
the-djmaze
fb1c0dd606 Revamp MailSo\Mime\Message for sending proper multipart/encrypted 2022-02-03 21:41:59 +01:00
the-djmaze
5514264914 #89 Bugfix mime and signatures detection 2022-02-03 17:04:10 +01:00
the-djmaze
aa276c04c0 Bugfix: undefined ClearBodyAndHtmlTag 2022-02-03 16:51:51 +01:00
the-djmaze
0dffa549be #89 send encrypted using Mailvelope 2022-02-03 16:51:35 +01:00
the-djmaze
edc035fc13 #207 set correct minimum version 2022-02-03 12:53:16 +01:00
the-djmaze
7bbbff6d3e #207 set version 2022-02-03 12:48:34 +01:00
the-djmaze
ef61603431 Resolve #207 2022-02-03 12:47:32 +01:00
the-djmaze
45a714ee08 #89 GnuPG verify cleartext messages 2022-02-03 12:05:33 +01:00
the-djmaze
73fa215e22 #89 OpenPGP.js encrypt (+ verify) 2022-02-03 10:17:18 +01:00
the-djmaze
6b2311663b #89 Hide PGP SIGNATURE from cleartext signed messages 2022-02-02 18:43:55 +01:00
the-djmaze
e43c5e6d82 Remove unused translation 2022-02-02 17:01:26 +01:00
the-djmaze
acfe13bdc2 #89 OpenPGP.js verify cleartext 2022-02-02 17:00:27 +01:00
the-djmaze
f625abe0b2 #89 OpenPGP.js sign cleartext 2022-02-02 16:50:27 +01:00
the-djmaze
66340614b5 Cleanup unused PGP translation strings 2022-02-02 15:25:28 +01:00
the-djmaze
da79feeaee #89 verify PGP signatures using OpenPGP.js 2022-02-02 15:24:32 +01:00
the-djmaze
93db6e6e0e #89 verify detached signature using GnuPG 2022-02-02 14:36:49 +01:00
the-djmaze
08ea226dbe Bugfix: message.attachments.hasVisible() undefined 2022-02-02 13:29:13 +01:00
the-djmaze
e265a0f1c1 Moved the message HTML parsing from PHP to JavaScript
Now we can properly parse PGP/MIME HTML messages
2022-02-02 13:02:48 +01:00
the-djmaze
3615405aac #89 Remove debug code from pgpDecrypt() 2022-02-01 11:49:56 +01:00
the-djmaze
6b26ddec7a #89 Redesign HTML parsing for securing PGP decrypted HTML 2022-02-01 11:46:12 +01:00
the-djmaze
d9e81d6123 #89 revamp code for better decryption and get it working for GnuPG 2022-02-01 11:45:20 +01:00
the-djmaze
4eb70c3f06 #89 show decrypted HTML with inline attachments 2022-01-31 17:29:41 +01:00
the-djmaze
8a4ea92cfb #89 Parse PGP decrypted mime using https://github.com/postalsys/postal-mime 2022-01-31 15:24:51 +01:00
the-djmaze
c5e590721b Updated OpenPGP.js built 2022-01-31 14:12:34 +01:00
the-djmaze
35900415a2 Resolve #197 2022-01-31 12:36:11 +01:00
the-djmaze
949005eda7 #89 OpenPGP better labeling 2022-01-31 12:34:41 +01:00
the-djmaze
70c55a60be Bugfix our modified OpenPGP.js 2022-01-31 11:54:13 +01:00
the-djmaze
c012fe09f0 #89 decrypt using OpenPGP.js 2022-01-31 11:51:15 +01:00
the-djmaze
e28c5bdbb6 Drop some unused Node.js code and be es2020 2022-01-31 10:18:51 +01:00
the-djmaze
475cf91d02 OpenPGP.js use clone https://github.com/the-djmaze/openpgpjs 2022-01-31 09:38:33 +01:00
the-djmaze
efabf269c7 #89 Detailed control saving generated public/private keys 2022-01-31 08:30:46 +01:00
the-djmaze
76361a13da Split OpenPGP.js and GnuPG from PgpUserStore 2022-01-30 02:35:53 +01:00
the-djmaze
76226f45ca #89 Fix Mailvelope hasPrivateKey() detection
Proper rename OpenPGP Key viewer
2022-01-29 21:42:56 +01:00
the-djmaze
b06b04a579 Settings OpenPGP use <details> 2022-01-29 00:20:31 +01:00
the-djmaze
9f125c18c3 #89 added import keys to OpenPGP 2022-01-28 17:56:44 +01:00
the-djmaze
fe078174ab #89 added view GnuPG armored keys 2022-01-28 17:33:52 +01:00
the-djmaze
70f315e76e Only allow GnuPG when openpgp setting is true 2022-01-28 16:58:52 +01:00
the-djmaze
58d02fa2e7 Resolve #190 2022-01-28 16:43:50 +01:00
the-djmaze
f8da8b5135 Bugfix: store private key failed 2022-01-28 15:59:41 +01:00
the-djmaze
d4bac30719 Fix language 2022-01-28 15:45:26 +01:00
the-djmaze
f50d848b35 Updated demo plugin for upcoming v2.12 2022-01-28 15:43:40 +01:00
the-djmaze
221136ce1c Better info regarding storing keys on server 2022-01-28 15:11:15 +01:00
the-djmaze
f8cbd5d129 #89 Improved public/private key handling 2022-01-28 15:02:10 +01:00
the-djmaze
0560e22674 Cleanup compose window delete button 2022-01-28 13:47:13 +01:00
the-djmaze
88e2c5f52d Bugfix: save/send message failed do to CloseMemoryResource() in MailSo\Mime\Part destructor 2022-01-28 12:24:43 +01:00
the-djmaze
7de00cd05c Bugfix: incorrect translation in advanced search popup 2022-01-28 12:23:30 +01:00
the-djmaze
bf19f72a6b Reduce more HTML elements thanks to data-icon="" attribute 2022-01-28 12:23:05 +01:00
the-djmaze
997f0da59f Reduce HTML with improved fontastic 2022-01-28 10:19:21 +01:00
the-djmaze
c09c71df75 reduce html elements in menus 2022-01-28 00:29:54 +01:00
the-djmaze
61ec49fd22 #89 use HTML5 form validity on PGP Generator popup 2022-01-28 00:22:54 +01:00
the-djmaze
0da681f074 OpenPGP.js now stores keys in localStorage
Renamed all deleteAccess to askDelete
2022-01-27 23:07:34 +01:00
the-djmaze
9ab72e7a34 #89 Improved handling of OpenPGP.js stored keys 2022-01-27 20:54:27 +01:00
the-djmaze
ff7e41ad08 #89 Use OpenPGP.js v5.1.0 (still in progress) 2022-01-27 16:00:52 +01:00
the-djmaze
dfd255545a #89 Added getEncryptedMessageKeys() to get used encryption keys
And when no passphrases are entered, use `--pinentry-mode cancel`
2022-01-27 00:28:46 +01:00
the-djmaze
d3b60bf097 #89 support decrypting using Mailvelope 2022-01-26 17:08:10 +01:00
the-djmaze
3aca446e8d Distinguish PGP signed and encrypted in message viewer 2022-01-26 15:00:03 +01:00
the-djmaze
5ed4498e4f Added: MailSo\Mime\Part::IsPgpSigned()/IsPgpSignature()
Drop: MailSo\Mime\Enumerations\Constants
2022-01-26 14:43:31 +01:00
the-djmaze
8dc949f15c Added DoGnupgDecrypt(), DoGetStoredPGPKeys() and DoStorePGPKey() for #89 2022-01-26 12:15:36 +01:00
the-djmaze
897c150b1e MessageMimeStream(...$bIndexIsUid...) always true, so remove param 2022-01-26 11:48:57 +01:00
the-djmaze
d757102b9e Make ParseFromString, ParseFromFile, ParseFromStream static 2022-01-25 20:18:52 +01:00
the-djmaze
e0238e9966 Bugfix: ParseFromStreamRecursion return value must be of type MailSo\Mime\Part, bool returned 2022-01-25 19:57:43 +01:00
the-djmaze
0ed7f000d6 Improved detection of PGP/MIME encrypted messages instead of showing them as attachments 2022-01-25 17:02:29 +01:00
the-djmaze
48febdb414 Bugfix: encryptKeys was incorrect 2022-01-25 16:39:50 +01:00
the-djmaze
b1a2b7da95 Get decrypt working for #89 2022-01-25 14:46:03 +01:00
the-djmaze
54feb03316 Added sign, decrypt and encrypt for #89 2022-01-25 13:54:50 +01:00
the-djmaze
151708a920 Support generating ed25519/cv25519 keys for #89 and #172 2022-01-25 11:45:22 +01:00
the-djmaze
f26c35c411 Drop support for PEAR Crypt_GPG as it is lacking features we want in #89 2022-01-24 17:08:21 +01:00
the-djmaze
998a1c6cc8 Added: DoGnupgGenerateKey() which generates new private keys 2022-01-24 17:05:11 +01:00
the-djmaze
8635771537 Improve Settings -> OpenPGP to show available features 2022-01-24 16:47:53 +01:00
the-djmaze
ce971de919 Get PGP verify message working using Promise.
#89
2022-01-24 13:43:53 +01:00
the-djmaze
1d3673f117 Improved and bugfix handling of GnuPG for #89 2022-01-24 13:01:37 +01:00
the-djmaze
51fedab4fc Better solution for gpg 'socket name' error
Improment for #89
2022-01-22 09:21:21 +01:00
the-djmaze
6df7b76c8a Solution regarding https://github.com/php-gnupg/php-gnupg/issues/44
For our issue #89
2022-01-21 20:00:18 +01:00
the-djmaze
cff662009f WIP: revamp Crypt_GPG for #89 2022-01-21 17:54:51 +01:00
the-djmaze
a7eeeb4f55 Many more changes for #89 2022-01-20 16:38:27 +01:00
the-djmaze
3cc3a76b23 Composer changes for OpenPGP.js 2022-01-20 09:59:56 +01:00
the-djmaze
e731343093
Merge pull request #191 from ikidd/master
fixed for php:7.4-fpm
2022-01-19 20:17:34 +01:00
the-djmaze
c2e162b01b Properly load keyrings of Mailvelope, OpenPGP.js and GnuPG 2022-01-19 20:14:21 +01:00
the-djmaze
9f0b872839 Object.entries(d).forEach() to forEachObjectEntry() 2022-01-19 19:36:29 +01:00
the-djmaze
a47397ef09 Revamp PGP management due to implementing Mailvelop and PEAR Crypt_GPG 2022-01-19 18:24:07 +01:00
Ian Kidd
b1fc295e22
fixed for php:7.4-fpm
As per https://github.com/docker-library/php/issues/912

to correct build error: "configure: error: unrecognized options: --with-freetype-dir, --with-jpeg-dir"
2022-01-18 18:46:03 -07:00
the-djmaze
43a1196dbb Make Admin => Config readonly #189 2022-01-18 16:46:58 +01:00
the-djmaze
87548632a9 Cleaner DoMessagePgpVerify result 2022-01-18 15:08:07 +01:00
the-djmaze
7ef1a8f14a Don't return Text and Signature when verified. 2022-01-18 15:06:45 +01:00
the-djmaze
b8d898bc8a #89 Detect and verify PGP cleartext/clearsigned messages 2022-01-18 14:51:08 +01:00
the-djmaze
d35473841f #89 DoMessagePgpVerify() succeeds with GnuPG 2022-01-18 14:03:49 +01:00
the-djmaze
bf84684965 Added GnuPG->verify() for testing #89
Bugfix SnappyMail\PGP\Keyservers
Renamed DoPgpVerify to DoMessagePgpVerify
2022-01-17 22:04:14 +01:00
the-djmaze
fde44c0102 Changes for #89
This part fetches the required message parts for pgp verification.
2022-01-17 17:16:25 +01:00
the-djmaze
638128ff93 Attachmnet => Attachment 2022-01-17 16:39:10 +01:00
the-djmaze
e6290e06e9 Bugfix: undefined $iLiteralSize 2022-01-17 15:58:39 +01:00
the-djmaze
8dcd0cf833 Changes for #89
Now it does not fetch the PGP signature, because validation was broken anyway.
Instead it validates multipart/signed according to RFC 3156 section 5 and returns details for the signed part:
* BodyPartId
* SigPartId
* MicAlg

So in the future several implementations (GnuPG, OpenPGP.js, etc.) can use the correct data for verification.
2022-01-17 15:58:23 +01:00
the-djmaze
ba49d06d1a v2.11.0 2022-01-14 18:57:55 +01:00
the-djmaze
630dc1e854 Added toggle in message menu to switch between HTML/Plain content parts (when available) 2022-01-14 17:13:17 +01:00
the-djmaze
e04832c624 Fix legend i18n label 2022-01-14 14:18:39 +01:00
the-djmaze
94bf85ec23 Bugfix: iterator_to_array() doesn't fetch current() 2022-01-14 14:06:34 +01:00
the-djmaze
7680372eda Added option to prefer HTML to plain text view. 2022-01-14 14:05:33 +01:00
the-djmaze
8343e76d5f Cleanup and improved handling of BODYSTRUCTURE 2022-01-14 12:51:32 +01:00
the-djmaze
0b767bb373 Some IMAP RFC updates 2022-01-13 16:37:55 +01:00
the-djmaze
33967c2319 Support IMAP RFC 3516 BINARY 2022-01-13 15:40:58 +01:00
the-djmaze
464e766fcc Put OpenPGP check outside "plain".
This allows also for checking HTML messages (but errors for now)
2022-01-13 12:00:12 +01:00
the-djmaze
b1bbd58e21 Strip utm_* tracking 2022-01-13 11:10:40 +01:00
the-djmaze
4fa37ce187 Attempt to <a> bugs in HTML emails #187 2022-01-13 10:33:06 +01:00
the-djmaze
ca14fd3423 Drop github sponsoring due to required Stripe account.
Stripe is not privacy minded, etc.... (sorry, i know things why Stripe got huge in 8 years)
2022-01-12 15:16:49 +01:00
the-djmaze
d42f54ad58 Improved comments for IMAP RFC's 2022-01-12 15:06:33 +01:00
the-djmaze
c7f80d617e v2.10.3 2022-01-12 12:11:37 +01:00
the-djmaze
5757d8d464 Drop use_imap_list_subscribe and use 'HideUnsubscribed' = false
This prevents user questions regarding: "my folders are missing"
2022-01-12 11:55:41 +01:00
the-djmaze
661e937fd1 Added "subscribe" option to create folder popup 2022-01-12 11:15:04 +01:00
the-djmaze
a568c3f4f8 Bugfix: Delete folder failed 2022-01-12 11:13:00 +01:00
the-djmaze
9fea092c43 Cleanup RainLoop\Service with improved ?admin path detection 2022-01-11 15:55:48 +01:00
the-djmaze
c804f35347 CSS btn-thin-2 to btn-thin 2022-01-11 13:06:43 +01:00
the-djmaze
6aedba9d36 UploadErrorCode/UploadError use PHP UPLOAD_ERR_* numbers 2022-01-11 13:05:17 +01:00
the-djmaze
b5201883d6 Restructure and cleanup some RainLoop Actions code 2022-01-11 12:36:47 +01:00
the-djmaze
9d280ab97e Improved admin packages/extensions code 2022-01-11 09:47:24 +01:00
the-djmaze
f15644bcb6 Put the Arch Linux example build source in 2022-01-10 23:05:09 +01:00
the-djmaze
8238c259e7 Example code for Debian .deb of issue #185 2022-01-10 23:00:27 +01:00
the-djmaze
7f084dda53 Use SNAPPYMAIL_INCLUDE_AS_API and added SSO test 2022-01-10 16:10:56 +01:00
the-djmaze
dd6779b1a8 Hides valid inline parts from attachments section #180 2022-01-10 15:19:25 +01:00
the-djmaze
0e2e44a269 Changes for #180 2022-01-10 14:30:55 +01:00
the-djmaze
9bfbd755c2 SCRAM-SHA3-512
https://github.com/the-djmaze/snappymail/issues/182#issuecomment-1008832715
2022-01-10 14:01:21 +01:00
the-djmaze
99d7e5f0f1 Resolve #184 2022-01-10 13:23:36 +01:00
the-djmaze
32ce016af2 Copyright 2022 2022-01-10 13:02:32 +01:00
djmaze
5a17e3b51d Better Domain management with simplified SASL Mechanisms support 2022-01-10 12:57:42 +01:00
djmaze
6c6e73f448 Resolve #183
INDEX should never been a FetchType as it's not part of any RFC
2022-01-08 19:39:59 +01:00
djmaze
29fa090795 SHA-512 #182 2022-01-08 11:46:35 +01:00
djmaze
27161cd258 https://github.com/the-djmaze/snappymail/issues/170#issuecomment-1007854858 2022-01-08 11:42:42 +01:00
djmaze
80f5373e9e Cleanup StreamWrappers and no need for WhitespaceFilter 2022-01-07 17:16:53 +01:00
djmaze
1be93d7288 Cleanup Imap FetchType 2022-01-07 15:21:06 +01:00
djmaze
8631e48e05 Improved namespacing 2022-01-07 15:15:31 +01:00
djmaze
b9c18966ea Bugfix: FetchType::INDEX was missing in ImapClient::Fetch 2022-01-07 15:11:04 +01:00
djmaze
e4763a03ef v2.10.2 2022-01-07 14:28:13 +01:00
djmaze
a3312aed70 Bugfix: i broke the ImapClient Fetch callbacks 2022-01-07 14:22:30 +01:00
djmaze
bb4822c9cf MailClient use MailSo\Mime\Enumerations\Header as MimeHeader 2022-01-07 13:57:32 +01:00
djmaze
d9268773db Remove unused MailClient::InboxUnreadCount() 2022-01-07 13:55:06 +01:00
djmaze
a426330dca IMAP GETMETADATA use yieldUntaggedResponses() 2022-01-07 13:50:37 +01:00
djmaze
81bcc99426 Improved MailClient::FolderDelete and MailClient::MessageSetFlag 2022-01-07 12:14:50 +01:00
djmaze
69ac75959c Move ImapClient::Fetch to Messages trait 2022-01-07 11:33:18 +01:00
djmaze
971cdafb0f Move IMAP mailbox commands to trait 2022-01-07 10:48:57 +01:00
djmaze
5953b515f1 v2.10.1 2022-01-06 17:15:20 +01:00
djmaze
1587e4183d Bugfix: double SELECT/EXAMINE useless 2022-01-06 16:23:52 +01:00
djmaze
bfc8524876 Improved aAttrsForRemove handling 2022-01-06 16:20:24 +01:00
djmaze
239c7c28fb Replace some FolderSelect to FolderExamine because they should be READ-ONLY 2022-01-06 16:20:10 +01:00
djmaze
d691e3c327 Improved IMAP FetchType handling 2022-01-06 15:56:24 +01:00
djmaze
ab6b9bb412 Speedup IMAP FETCH response 2022-01-06 13:16:18 +01:00
djmaze
58f98cd69d MessageListByRequestIndexOrUids no need to check array_key_exists 2022-01-06 12:51:45 +01:00
djmaze
e3fd72571c This change should make MessageListByRequestIndexOrUids faster 2022-01-06 12:49:00 +01:00
djmaze
9b25b8580c Bugfix: MessageListByRequestIndexOrUids() sort order failed due to new SequenceSet 2022-01-06 12:28:12 +01:00
djmaze
55160a5152 Bugfix $oRange should be $oUidRange in FolderExpunge 2022-01-06 11:47:18 +01:00
djmaze
a228f81ece Move ImapClient::Message* functions to trait 2022-01-06 11:28:57 +01:00
djmaze
7dec51a364 MessageExpunge should be FolderExpunge
And simplify the function parameters
2022-01-06 11:00:56 +01:00
djmaze
e31b4f4b75 Added some comments 2022-01-06 10:32:58 +01:00
djmaze
476fe63999 Drop html messages table width attribute to prevent side scrolling 2022-01-05 13:10:44 +01:00
djmaze
66c4c39fea Classname \SnappyMail\LOG to \SnappyMail\Log 2022-01-05 12:02:22 +01:00
djmaze
70093e4d23 move 3 Subscribables into single Computable 2022-01-05 11:46:08 +01:00
djmaze
1d96160a38 Resolve #170 2022-01-05 11:22:02 +01:00
djmaze
64858d285d Replace "$IndexRange, bool $bIndexIsUid" with new SequenceSet class 2022-01-05 11:09:36 +01:00
djmaze
46317b5007 Better fix for #179
As RFC 5256 says: The US-ASCII and UTF-8 charsets MUST be implemented.
So just use UTF-8
2022-01-04 12:02:59 +01:00
djmaze
5e4821fef8 This might solve issue #179 2022-01-03 23:50:26 +01:00
djmaze
30e9b89d9b notifySubscribers and equalityComparer are not used outside KnockoutJS 2021-12-31 17:10:40 +01:00
djmaze
679d7356e0 More ko.computed to pureComputed 2021-12-31 17:02:32 +01:00
djmaze
a15454fd15 Cleanup createCommand() 2021-12-31 13:50:33 +01:00
djmaze
954de06f86 Switch from ko.computed to ko.pureComputed
This should provide performance and memory benefits over regular computed observables
2021-12-31 13:30:05 +01:00
djmaze
ac2238a23f Bugfix: Cannot write a value to a ko.computed unless you specify a 'write' option 2021-12-31 12:28:43 +01:00
djmaze
e52316bb08 Allow demo account to send messages to itself 2021-12-31 11:25:37 +01:00
djmaze
ab5715b536 Cleanup mime message builder 2021-12-31 11:25:07 +01:00
djmaze
119f22ae61 Bugfix for issue #170 2021-12-30 16:41:18 +01:00
djmaze
98b3fa9632 v2.10.0 2021-12-28 17:13:15 +01:00
djmaze
132c0a1349 Bugfix: setConfigFromParams() failed 2021-12-28 15:57:12 +01:00
djmaze
faaf25d4cc Message menu use hamburger icon instead of tiny triangle 2021-12-28 15:08:16 +01:00
djmaze
5c71d22215 Admin -> Config application.ini passwords as input password 2021-12-28 15:05:03 +01:00
djmaze
950a5ad454 doc.createElement => createElement 2021-12-28 14:49:40 +01:00
djmaze
c1dd6edc28 allowAdminPanel => adminAllowed 2021-12-28 14:49:21 +01:00
djmaze
2a01d8c991 Cleanup user-select 2021-12-28 14:48:20 +01:00
djmaze
997dc87305 Improved FileStorage dedugging with expired session token fix 2021-12-28 10:44:56 +01:00
djmaze
f2388bb936 error_log() to \SnappyMail\LOG::*() 2021-12-27 12:44:49 +01:00
djmaze
3fc5da50ef restructure app boot/start file include.php 2021-12-27 10:01:36 +01:00
djmaze
641e8f2e34 Disable iThreadLimit 2021-12-24 15:04:30 +01:00
djmaze
2312bb52f5 Added new logger that is RFC 5424 compatible 2021-12-24 15:01:36 +01:00
djmaze
480b7e3489 Improved index html generator 2021-12-24 14:43:17 +01:00
djmaze
813bed72ad No need for !! 2021-12-24 09:47:16 +01:00
djmaze
e434d51157 simplify custom include.php 2021-12-24 01:12:27 +01:00
djmaze
6d958081c4 Bugfix MULTIDOMAIN and cleanup localhost and fix the default.ini 2021-12-23 23:33:51 +01:00
djmaze
f92d453e8b Improved app booting
Bugfix SALT.php failed on initialization
Cleanup unused and obsolete constants and php settings
2021-12-23 16:04:40 +01:00
djmaze
b80e62adfc Changes for #176 2021-12-23 12:26:39 +01:00
djmaze
6465c95a91 Partial fix for #170 2021-12-23 12:20:40 +01:00
djmaze
eb31d0258a Remove unused vars 2021-12-23 11:38:01 +01:00
djmaze
f20a7c7b83 Added Admin -> Config to view all the application.ini settings.
TODO: save changes
2021-12-23 11:37:39 +01:00
djmaze
d7db182e5f Cleanup some logging 2021-12-23 11:27:01 +01:00
djmaze
6ea42d3171 Disable the Decrypt "invalid $data" error log messages 2021-12-22 20:40:12 +01:00
djmaze
b6db3360a3 #89 2021-12-22 20:38:01 +01:00
djmaze
cb848422b2 Resolve #174 2021-12-22 20:30:02 +01:00
djmaze
53f4019f5e RainLoop#2025 2021-12-22 20:22:41 +01:00
djmaze
92e1864f7c RainLoop#2024 2021-12-22 20:20:02 +01:00
djmaze
947f5ac604 RainLoop#2130 2021-12-22 20:16:47 +01:00
djmaze
e244ba01de Much better fix for #175
And added some comments to it, to prevent more screw ups
2021-12-22 20:16:14 +01:00
djmaze
11547b575e Another fix for #175 2021-12-22 11:38:19 +01:00
djmaze
0d31261063 Resolve #175 2021-12-22 10:03:57 +01:00
djmaze
254ec34b8c Add OpenPGP.js 5.0.1 (not used yet)
And make a stripped down version of it
2021-12-21 15:12:09 +01:00
FreemoX
b4fe7527a6
Update README
Added more useful information regarding the usage of this plugin
2021-12-17 13:25:13 +01:00
djmaze
5b4d34d1cb Improved Storage garbage collection
Improved RecRmDir() and RecTimeDirRemove()
2021-12-17 01:17:06 +01:00
djmaze
7df3ed665d Cleanup attachment filenames 2021-12-16 16:29:31 +01:00
djmaze
94bfe09f63 Cleanup message attachments collections 2021-12-16 15:54:43 +01:00
djmaze
eb669715ca Remove MessageUserStore.listEnd* overhead 2021-12-16 14:35:29 +01:00
djmaze
c7a0573852 Reduce garbage collection calls for demo account 2021-12-16 12:29:40 +01:00
djmaze
bd7047bfae RecRmDir and RecTimeDirRemove use *Iterator 2021-12-15 19:03:10 +01:00
djmaze
b95541892f Better observable naming in MessageUserStore 2021-12-15 19:02:36 +01:00
djmaze
2aceb89a8b Improved private data directory handling 2021-12-15 14:51:52 +01:00
djmaze
41a98d68c5 Bugfix: demo plugin broken due to v2.9.6 changes 2021-12-15 13:06:30 +01:00
djmaze
0905787f5f v2.9.6 2021-12-14 21:34:47 +01:00
djmaze
bdb6b9bb8b Just force logout on InvalidToken error immediatley. 2021-12-14 21:12:38 +01:00
djmaze
67e2a971ea Logout on account session errors 2021-12-14 15:48:39 +01:00
djmaze
f30d0263ac Remove rainloopErrorTip corner triangle 2021-12-14 14:32:18 +01:00
djmaze
41270ac5e9 Bugfix: incorrect return type for SetSpecLogoutCustomMgsWithDeletion() 2021-12-14 14:18:53 +01:00
djmaze
4097e4e733 Test login on account switching 2021-12-14 14:16:36 +01:00
djmaze
9ba11c77eb There's no VersionsCache 2021-12-14 12:42:58 +01:00
djmaze
abe2af153d Improved account login/switch handling 2021-12-14 12:42:41 +01:00
djmaze
3af8652175 Resolve #171 2021-12-13 14:50:17 +01:00
djmaze
1d9c772b94 Improved "delete folder" error handling. 2021-12-13 14:32:15 +01:00
djmaze
503219c70e Bugfix: undefined Remote.domainList 2021-12-13 14:12:06 +01:00
djmaze
0eba63a74b Bugfix: Undefined index 'UidNext' 2021-12-10 11:37:06 +01:00
djmaze
52e0950734 Bugfix: prevent out-of-memory loop 2021-12-10 00:55:22 +01:00
djmaze
5719b63619 Resolve #151
Server side control/kickout of logged in sessions
2021-12-09 14:26:55 +01:00
djmaze
40471957ee Bugfix: prevent Crypt::Decrypt loop 2021-12-09 12:47:18 +01:00
djmaze
a4dad79d3f Revamp admin login cookie 2021-12-09 12:46:53 +01:00
djmaze
26b728cf93 Bugfix: DecodeKeyValuesQ could be null 2021-12-09 12:46:35 +01:00
djmaze
b507c4cd75 Some md5 to sha1 2021-12-09 12:40:40 +01:00
djmaze
a512759289 Added: sort Folders on add/rename folder 2021-12-09 11:24:30 +01:00
djmaze
65e192cc54 Cleanup some PHP code 2021-12-09 10:39:29 +01:00
djmaze
8b96145df6 Bugfix: Class 'RainLoop\Model\Notifications' not found 2021-12-08 23:38:22 +01:00
djmaze
e25ffcacd6 v2.9.5 2021-12-08 23:32:50 +01:00
djmaze
987315fb65 Bugfix: fetching messagelist sometimes failed 2021-12-08 23:32:07 +01:00
djmaze
2ef0a7e382 Replaced the new callable $cbUntaggedResponse for yieldUntaggedResponses 2021-12-08 22:10:55 +01:00
djmaze
da0d8f66d5 Added callable cbUntaggedResponse param to ImapClient.getResponse()
This allows one less foreach() in ImapClient functions:
* specificFolderList()
* selectOrExamineFolder()
* FolderStatus()
* Fetch()
2021-12-08 21:13:12 +01:00
djmaze
f7412db3e5 Merge getFoldersResult() into specificFolderList() 2021-12-08 15:55:46 +01:00
djmaze
c8e4d589cb Offload server CPU to client when fetching folder list 2021-12-08 14:08:25 +01:00
djmaze
32712415ef Reload folders every 15 minutes is not needed 2021-12-08 12:17:45 +01:00
djmaze
b98762dd68 Replace deprecated String.substr with String.slice 2021-12-08 11:35:41 +01:00
djmaze
2719f08e26 Revamp mailbox management so that reloading of the whole folder tree is not needed 2021-12-08 11:06:42 +01:00
djmaze
5fdc38a40d Cleanup mailbox routing 2021-12-07 17:22:56 +01:00
djmaze
c41adf35f5 easier mailBox() link generator 2021-12-07 16:52:05 +01:00
djmaze
df293960d0 Remove unused startup_url 2021-12-07 16:51:09 +01:00
djmaze
3a61bb3e5a Revamp the FullNameHash system for better readable urls
And reduce the folders caching footprint.
And it reduces server load.
2021-12-07 14:03:30 +01:00
djmaze
76627ae2f6 Use the new b64EncodeJSONSafe 2021-12-07 13:23:38 +01:00
djmaze
e6b6531248 Move b64EncodeJSON to Utils 2021-12-07 12:40:55 +01:00
djmaze
148913ea32 More MessageFlagsCache improvements 2021-12-07 00:05:55 +01:00
djmaze
0f6bb75e80 Improve and bugfix MessageFlagsCache 2021-12-06 19:25:28 +01:00
djmaze
d734a3e415 Better mail message handling
* Cleanup HTML parsing
* Drop useless Microsoft 'Sensitivity' MIME Header
* Revamp Flags handling
2021-12-06 16:08:58 +01:00
djmaze
ddbcb4bfa4 Better mobile folderlist size 2021-12-06 11:44:04 +01:00
djmaze
45ae35110c Simple force email minimum font-size to be 11px for readability 2021-12-06 11:22:00 +01:00
djmaze
0331631376 Bugfix https://github.com/the-djmaze/snappymail/issues/163#issuecomment-986211571 2021-12-06 10:50:16 +01:00
djmaze
13145cd3dc Resolve #167 2021-12-06 10:35:43 +01:00
djmaze
30a6b053bb Be structural in order with sorting options (DESC/ASC and not mixed) 2021-12-03 13:54:46 +01:00
djmaze
3b40f86c33 Better Remote.saveAdminConfig() and better idleTrigger for them 2021-12-03 12:32:21 +01:00
djmaze
2588e5b328 Bugfix: https://github.com/the-djmaze/snappymail/issues/163#issuecomment-984673656 2021-12-03 00:50:31 +01:00
djmaze
5cf3842b42 Bugfix: Undefined array key "ThreadUid" 2021-12-03 00:44:04 +01:00
djmaze
617dd995b5 The Safari fix "position: sticky;" breaks Firefox and Chrome 2021-12-03 00:43:48 +01:00
djmaze
35bce8cf62 Also reduce admin remote fetch 2021-12-03 00:11:19 +01:00
djmaze
c1228d09f0 Bugfix: folder rename/move was broken 2021-12-02 23:21:12 +01:00
djmaze
792fee547a change AbstractFetchRemote with a better structure 2021-12-02 23:15:24 +01:00
djmaze
0d809dd574 Cleanup additional accounts in system menu 2021-12-02 11:12:21 +01:00
djmaze
64e77de103 Better bugfix for additional account switching 2021-12-02 00:42:15 +01:00
djmaze
a736f3697d Bugfix: account switching failed 2021-12-01 23:51:41 +01:00
djmaze
c16ab19dd4 Bugfix: PHP Notice Undefined index: HideUnsubscribed, UseThreads, ReplySameFolder 2021-12-01 23:36:01 +01:00
djmaze
62ebec4b83 v2.9.4 2021-12-01 14:47:46 +01:00
djmaze
24d3f080b2 Improved message html loading 2021-12-01 14:47:08 +01:00
djmaze
6d7911a9ed Object.entries().forEach() to forEachObjectEntry() 2021-12-01 14:23:37 +01:00
djmaze
b8eb8f83fa Better hashFolderFullName() 2021-12-01 13:55:14 +01:00
djmaze
547d66ebcb Easier SystemFolders handling 2021-12-01 13:54:35 +01:00
djmaze
31db5ee238 Bugfix: saveSystemFolders failed at initialization of mailbox 2021-12-01 12:04:17 +01:00
djmaze
f23f2d13ce Remove unused constant 2021-12-01 10:52:21 +01:00
djmaze
8aad63fcf8 Bugfix: additional account switch failed due to the old ParentEmail 2021-12-01 10:51:58 +01:00
djmaze
d4e77a97f5 Improved message header 2021-11-30 11:21:51 +01:00
djmaze
e4e26d799c Update demo plugin 2021-11-30 11:18:52 +01:00
djmaze
a28d8f4e04 Fix broken lessphp 2021-11-30 10:19:57 +01:00
djmaze
d33ec54c1c FolderFullNameRaw is gone due to UTF8 2021-11-30 10:19:43 +01:00
djmaze
f743f0e27a reduce lessphp 2021-11-30 09:47:31 +01:00
djmaze
aaf0b51c3d Settings -> Themes use figure and figcaption elements 2021-11-29 12:43:16 +01:00
djmaze
2d435fb42b Cleanup lessphp specific for SnappyMail 2021-11-29 11:41:10 +01:00
djmaze
a50b537892 Merge the RainLoop\Providers\Storage\FixFileStorage into SnappyMail\Upgrade 2021-11-26 23:22:23 +01:00
djmaze
66d1cf02b9 Bugfix: instanceof check was incorrect 2021-11-26 16:37:58 +01:00
djmaze
9a239679db Cleanup unused data 2021-11-26 16:37:41 +01:00
djmaze
664f2d466a Removed unused var 2021-11-25 14:21:09 +01:00
djmaze
0b657359fa Bugfix: dialog/select layout broken in Safari 2021-11-25 14:20:52 +01:00
djmaze
aed72f91ee Cleanup usage of ParentEmail 2021-11-25 13:48:00 +01:00
djmaze
85ddc5bbb2 Bugfix: Call to a member function Email() on null 2021-11-25 13:34:03 +01:00
djmaze
12a7a9e3fe Bugfix: undefined method $oAccount->Domain*() 2021-11-25 13:25:21 +01:00
djmaze
bc986f323c Improved HTML UTF-8 handling 2021-11-25 11:28:22 +01:00
djmaze
9218cc4785 Cleanup Collections 2021-11-25 11:27:57 +01:00
djmaze
7afbc05d18 Cleanup request Folders response 2021-11-24 15:18:13 +01:00
djmaze
e27fb46500 Resolve CardDAV sync not working due to new login system #163 2021-11-24 08:36:27 +01:00
djmaze
00ef26a905 Bugfix: messagelist flex was broken 2021-11-23 17:18:42 +01:00
djmaze
1da2bb045f Removed unused CopyDir() and InlineRebuildStringToJsString()
Bugfix StrMailDomainToLower()
2021-11-23 15:09:21 +01:00
djmaze
b0463f3bff Replaced StrToLowerIfAscii() for the better mb_strtolower() 2021-11-23 12:23:28 +01:00
djmaze
6a4bd6044a Improved UTF7 ⇄ UTF8 support 2021-11-23 12:09:19 +01:00
djmaze
22e858f905 No need to check 'disable_functions',
function_exists/is_callable do that.
2021-11-23 10:16:32 +01:00
djmaze
361e991aea Improved support RFC 6855 / RFC 5738 (UTF8) 2021-11-23 09:45:03 +01:00
djmaze
769ac33bcd Sieve is always UTF-8 2021-11-23 09:05:42 +01:00
djmaze
afcd76adbf Move ResponseCollection functions to their command functions 2021-11-22 23:03:05 +01:00
djmaze
299ec7faf8 Support RFC 6855 / RFC 5738 (UTF8) 2021-11-22 21:01:30 +01:00
djmaze
c9a497eb9d Put RFC 6855 draft code in 2021-11-21 20:42:31 +01:00
djmaze
97348be6c9 utf8_encode/utf8_decode are part of PHP 7.2 core 2021-11-21 20:41:31 +01:00
djmaze
796b10dc14 Dovecot supports 2021-11-19 17:08:30 +01:00
djmaze
4fdfd54f87 Bugfix: use detected language on first login 2021-11-19 15:31:30 +01:00
djmaze
a8e6aaada6 fix previous commit 2021-11-19 13:10:25 +01:00
djmaze
2db8b0b9fc Added draft code for raw passthru responses
To create a JavaScript based IMAP reponse  parser
2021-11-19 13:07:08 +01:00
djmaze
e6145249fa Bugfix: on login loading the user settings failed 2021-11-19 12:44:53 +01:00
djmaze
3895b7233c isFileHasThumbnail just check for GD/GMagick/IMagick
And small cleanup
2021-11-19 11:10:08 +01:00
djmaze
378ba93100 IMAP LIST also fetch SPECIAL-USE 2021-11-19 11:09:12 +01:00
djmaze
7b600bc77a Simplify Logger 2021-11-19 11:08:43 +01:00
djmaze
c78be97787 Faster bIsSpam check #162 2021-11-18 21:10:39 +01:00
djmaze
2ceb036402 #162 SpamAssassin "X-Spam-Status: No," is not spam and "X-Spam-Status: Yes," is spam 2021-11-18 20:53:17 +01:00
djmaze
fd2304edcf Different solution for #162 2021-11-18 17:44:48 +01:00
djmaze
2d110f6146 v2.9.3 2021-11-18 17:06:01 +01:00
djmaze
49b6d67c22 Resolve #162 2021-11-18 17:01:26 +01:00
djmaze
863c1d0151 Bugfix: two-factor-auth plugin wrong layout for v2.9 2021-11-18 16:44:53 +01:00
djmaze
fee6ed2e0e Bugfix: layout wrong 2021-11-18 16:44:17 +01:00
djmaze
7211d232a6 Cleanup language files 2021-11-18 16:37:42 +01:00
djmaze
c165e77ca2 Bugfix identities management layout 2021-11-18 14:43:40 +01:00
djmaze
8ac116d0a4 Added Admin TOTP to admin security page 2021-11-18 14:14:14 +01:00
djmaze
98aff451f5 Bugfix ContactsSync 2021-11-18 13:51:28 +01:00
djmaze
17932f2905 Bugfix: broken TOTP plugin 2021-11-18 13:51:11 +01:00
djmaze
a92d5a0f4f Better (material) components design 2021-11-18 12:40:38 +01:00
djmaze
30bec04a75 strlen() and count() are always 0 = false or more = true 2021-11-18 10:15:33 +01:00
djmaze
779e7c7685 Resolve #161 part 2 2021-11-18 09:22:24 +01:00
djmaze
ac5daa5c22 Resolve #161 2021-11-17 23:13:19 +01:00
djmaze
346829be38 v2.9.2 2021-11-17 14:20:04 +01:00
djmaze
44cb43bdd8 Revert to QuotaRoot for issue #75 2021-11-17 14:04:16 +01:00
djmaze
89d334b2bd Cleanup CSS 2021-11-17 13:50:20 +01:00
djmaze
6ba4e70d5e Cleanup Jua multi file uploader 2021-11-17 13:30:39 +01:00
djmaze
7027b1b74c Squire v1.11.3
https://github.com/neilj/Squire/pull/417
2021-11-17 12:29:24 +01:00
djmaze
ed7ebb066a Bugfix: get MessageList using ThreadUid 2021-11-17 12:18:59 +01:00
djmaze
7d077b0997 Bugfix: PHP 8 error 2021-11-17 11:18:26 +01:00
djmaze
e1e7a650fb revert messagesDragImage due to icon switch mail/copy 2021-11-17 07:57:41 +01:00
djmaze
0d22cfd955 Bugfix for PHP 8 2021-11-16 23:41:52 +01:00
djmaze
071dab01a7 Make .form-horizontal simple with less CSS classes 2021-11-16 16:22:05 +01:00
djmaze
dff89ea4e0 Bugfix: when allowMultipleIdentities is false always return primaryIdentity 2021-11-16 13:40:16 +01:00
djmaze
6ae38bfe1b Improved mobile view 2021-11-16 13:15:02 +01:00
djmaze
3bad2d5dbd Revamp login screens by moving login icons to the left,
due to issues with browser plugins like LastPass which place buttons on the right.
And added a TOTP icon
2021-11-16 12:35:11 +01:00
djmaze
c46d4b8c02 Fix PopupsIdentity layout 2021-11-16 09:33:31 +01:00
djmaze
ac7370103e Improved sieve filter editor with less pull-right 2021-11-15 16:52:18 +01:00
djmaze
54c2ba7b6e Improved admin styling 2021-11-15 15:44:37 +01:00
djmaze
203b884309 Some more CSS cleanups 2021-11-15 15:37:05 +01:00
djmaze
db2a7a51c9 Cleanup some HTML and CSS 2021-11-15 15:26:28 +01:00
djmaze
5f4c7c5c5b Bugfix: compose/send mail AdditionalAccount failed 2021-11-15 14:55:49 +01:00
djmaze
8a351e5763 Resolve #159 and more design issues 2021-11-15 12:16:02 +01:00
djmaze
6b8020b8f5 Improved additional account management 2021-11-15 10:56:52 +01:00
djmaze
b057c4083e Prepare some code for cleaner account switching without reload 2021-11-13 09:46:59 +01:00
djmaze
15ae0380ba Bugfix: 0 - Argument 2 must be of the type array, null given 2021-11-13 09:45:55 +01:00
djmaze
2c363e63a0 small code cleanup ()=>0 to null 2021-11-13 09:45:06 +01:00
djmaze
c561493bd0 Bugfix: detect the AccountSignMe again 2021-11-12 21:53:27 +01:00
djmaze
070fc14c4f OAuth2 draft code made with the old RainLoop code 2021-11-12 10:29:58 +01:00
djmaze
f14ebc6578 v2.9.1a forgot to encrypt sProxyAuthPassword 2021-11-12 10:09:08 +01:00
djmaze
f2c6900ea8 v2.9.1 2021-11-12 10:00:59 +01:00
djmaze
d5ea7dc188 Revert change that shouldn't be commited 2021-11-12 09:57:32 +01:00
djmaze
632e9b9b41 Bugfix: switch from AdditionalAccount to MainAccount 2021-11-12 09:41:17 +01:00
djmaze
ce413b7b7a Some account switch reload improvements 2021-11-12 09:36:08 +01:00
djmaze
9b0f9be23c SetCryptKey() use APP_SALT
This way the key is something the server has and something the user knows.
So that both can revoke the key validity.
2021-11-12 08:43:33 +01:00
djmaze
0de87e334c Added MainAccount class for better distinguishing it from the additional ones 2021-11-12 01:04:11 +01:00
djmaze
42bf782c6a When switching to additional account fails, show account update screen 2021-11-11 23:22:04 +01:00
djmaze
4690f367c1 Rename the new PasswordHash() to CryptKey() and added SetCryptKey() to support XOAUTHBEARER/XOAuth2 and others 2021-11-11 23:13:46 +01:00
djmaze
1767ba7ec9 Bugfix and improved Remote.message() and Remote.messageList() by using JSON 2021-11-11 22:52:06 +01:00
djmaze
739aeaded5 Improved the Switch account system for better feedback to user 2021-11-11 21:01:39 +01:00
djmaze
597ea21b70 Prepared code to switch accounts without reload (not working yet) 2021-11-11 17:14:06 +01:00
djmaze
d24e0a3e1b Try to convert the old less secure accounts and sorted order 2021-11-11 15:06:33 +01:00
djmaze
a18d393f54 Revamp the whole accounts system for better management and control.
This also solves RainLoop/#2134
2021-11-11 13:34:41 +01:00
djmaze
ef4790d04e Cleanup some classes and improve the Accounts and Contacts 2021-11-10 21:24:19 +01:00
djmaze
7ea4365ccb Bugfix: password should be json encoded 2021-11-10 16:47:32 +01:00
djmaze
7565b0770e PasswordHash should be password or APP_SALT 2021-11-10 16:45:59 +01:00
djmaze
1dd592f81f Contact sync use Account password hash 2021-11-10 15:18:44 +01:00
djmaze
c13724fbbb Bugfix for crypt system 2021-11-10 15:10:28 +01:00
djmaze
b102fc0e4c Improved data encryption for Contacts sync 2021-11-10 14:49:49 +01:00
djmaze
b1e895907f More encrypt/decrypt improvements and fixes 2021-11-10 13:29:50 +01:00
djmaze
59cb0978c7 Cleanup RainLoop used crypt methods 2021-11-10 12:37:36 +01:00
djmaze
9dae4cfa45 More encrypt/decrypt improvements to revamp SSO data to be properly encrypted 2021-11-10 12:30:56 +01:00
djmaze
cda88f438a Cleanup and bugfix encryption 2021-11-10 11:21:31 +01:00
djmaze
414a9509aa Added support for sodium_crypto_aead_xchacha20poly1305_ietf encryption 2021-11-10 10:36:16 +01:00
djmaze
492dee5e1a Improved openssl_encrypt support 2021-11-10 09:14:57 +01:00
djmaze
8ca043b6e4 Improved user authentication system by supporting OpenSSL aes-256-cbc-hmac-sha1 encryption 2021-11-10 00:57:09 +01:00
djmaze
99c72ad9e6 Drop bootstrap .well and .pull-left
Reduce bootstrap .pull-right usage
2021-11-09 00:53:42 +01:00
djmaze
d64cfb96ad Drop the .clearfix (old "fix" float stuff) 2021-11-08 22:03:31 +01:00
djmaze
e417a2801b Bugfix: Class 'RainLoop\Actions\Notifications' not found 2021-11-08 21:19:02 +01:00
djmaze
a656fb20aa Bugfix: Class 'RainLoop\Actions\Notifications' not found 2021-11-08 21:16:44 +01:00
djmaze
adf1086c03 Missed two iSpamScore to be int instead of float 2021-11-08 20:56:18 +01:00
djmaze
35433ca5b0 Bugfix: iSpamScore should be int, not float 2021-11-08 20:51:53 +01:00
djmaze
3950ff049c Display <dialog> as flex so that <header> is always top on scroll 2021-11-08 20:41:38 +01:00
djmaze
e4e86d0347 Put a garbage collector in demo plugin 2021-11-08 17:52:40 +01:00
djmaze
5ba3d2edcd Bugfix: system folders initialization failed on first time login 2021-11-08 17:40:52 +01:00
djmaze
70f9f0bd76 Improved demo mode plugin 2021-11-08 17:40:21 +01:00
djmaze
2f97d4bafb v2.9.0 2021-11-08 14:27:22 +01:00
djmaze
0ce29dae24 Bugfix undefined aResult 2021-11-08 13:56:49 +01:00
djmaze
32699c5446 Drop my generateFileNameOld() compatibility due security exploit. 2021-11-08 13:56:35 +01:00
djmaze
7020345739 Bugfix: Security issue with "remember me"
When (backup)server is compromised it is possible to decrypt RainLoop 'sign_me' files.

Found by further investigating #126
2021-11-08 12:31:51 +01:00
djmaze
aed4d9e4c2 Resolve #126 and nice for #151 2021-11-08 12:07:44 +01:00
djmaze
40f9f69b42 Wrong return type Model\Account 2021-11-08 10:40:48 +01:00
djmaze
a729a06a6b Improvements to file storage engine for #151 2021-11-08 10:40:31 +01:00
djmaze
f92810069a Improved Auth functions as trait
and use JSON instead of serialize for encoding/decoding data
2021-11-08 10:17:57 +01:00
djmaze
98b5989b44 Improved admin layout 2021-11-08 00:18:40 +01:00
djmaze
e8daff85bc Improve the .button-confirm-delete animation 2021-11-07 23:49:01 +01:00
djmaze
24ee2b6737 Fix the dialog backdrop for Chrome 2021-11-07 21:39:29 +01:00
djmaze
5b0dd471bc Improved the (User|Admin) Settings screens 2021-11-07 21:19:48 +01:00
djmaze
6170de5aee Drop bootstrap modal.less by using <dialog> <header> and <footer>
https://snappymail.eu/demo/ updated for testing
2021-11-07 17:06:08 +01:00
djmaze
880d4a05e9 Drop the ko.bindingHandlers.modal as click.koModal is never used
And replace hideScreenPopup() with this.closeCommand();
2021-11-06 22:08:45 +01:00
djmaze
2e34f98c80 Cleanup and improve HTML/CSS and it's JavaScript handling 2021-11-06 12:27:37 +01:00
djmaze
6273869b32 Bugfix: error when CacheClient is NULL 2021-11-05 17:25:09 +01:00
djmaze
9f444ceb53 Bugfix: 'exitFullscreen' called on an object that does not implement interface Document 2021-11-05 17:24:45 +01:00
djmaze
789dc264f7 Replace my old ResizeObserver workaround for RainLoop bugs with proper CSS flex.
And removed wysiwyg resize() in favor of flexbox.
2021-11-05 14:47:19 +01:00
djmaze
d305e090c5 Cleanup CSS for paginator and filters 2021-11-05 11:17:46 +01:00
djmaze
b2635eb5c6 Cleanup dropmenu css 2021-11-05 11:14:30 +01:00
djmaze
263e595ba2 Added: resize messages list vertical 2021-11-05 10:20:06 +01:00
djmaze
5188a88e95 v2.8.2 2021-11-04 21:47:52 +01:00
djmaze
159f899e1a Replace slow call_user_func()/call_user_func_array() with simple calls and splat 2021-11-04 21:42:05 +01:00
djmaze
18e2049cf2 Bugfix: Undefined variable: sParentFolderName 2021-11-04 16:44:17 +01:00
djmaze
d09f4cd14a Drop the 'NIL' checkes because the parser now properly handles NIL.
This prevents conflicts with real values named "NIL"
2021-11-04 16:38:08 +01:00
djmaze
a6ebee8e13 Bugfix: Trying to access array offset on value of type null
Now that the ResponseParser is fixed and handles NIL the BodyStructure class bug was detected
2021-11-04 16:27:08 +01:00
djmaze
40b8bf3d7e Some IMAP ResponseParser improvements 2021-11-04 16:25:54 +01:00
djmaze
d961d8e836 Reduce IMAP CAPABILITY requests 2021-11-04 15:16:35 +01:00
djmaze
e0f0ea7c46 Bugfix: collapsedPrivate() undefined 2021-11-04 15:15:40 +01:00
djmaze
9f3c0c499c Improved IMAP response parser and bugfix to handle NIL 2021-11-04 15:15:17 +01:00
djmaze
60b0fb4b35 Better fix for #1 and RainLoop#2081
The RainLoop skipSquareBracketParse wasn't perfect either
2021-11-04 10:28:51 +01:00
djmaze
2cf2b1ee75 Bugfix: some folders were invisible while they should be visible
It all came down to a very complex subscribe system.
I changed that in a "is visible for whatever reason" system.
2021-11-03 19:25:52 +01:00
djmaze
5264cd8225 v2.8.1 2021-11-03 15:12:34 +01:00
djmaze
a3f096b540 Bugfix: quotaDebounce was removed 2021-11-03 15:08:27 +01:00
djmaze
2a7348081a Remove useless clearPopup() functions 2021-11-03 14:58:34 +01:00
djmaze
ba895ba887 Improved new AdvancedSearch 2021-11-03 14:47:03 +01:00
djmaze
5a67c10056 Bugfix: only call getImageOrientation() for JPEG files 2021-11-03 12:30:02 +01:00
djmaze
9da4fd569b Small code cleanup 2021-11-03 12:18:34 +01:00
djmaze
6e1cf74908 Make IMAP QUOTA rfc2087 a trait 2021-11-03 12:09:43 +01:00
djmaze
88f603ac3d Fix broken Metadata 2021-11-03 12:02:27 +01:00
djmaze
0055eb6016 Improved IMAP sort/search/thread command handling 2021-11-03 11:24:26 +01:00
djmaze
93ced6f5f0 Refresh theme after login 2021-11-03 02:28:19 +01:00
djmaze
6c797c34f8 Activated search subfolders as request by #154 2021-11-03 02:28:01 +01:00
djmaze
b1038667ee Added ACL response class for #157 2021-11-01 22:59:04 +01:00
djmaze
ecdf1603b3 Bugfix: dark mode "horizontal split" the message area was white 2021-11-01 16:28:45 +01:00
djmaze
8d3bcdc2f2 Merge quota requests into folders request 2021-11-01 16:26:07 +01:00
djmaze
20eb01de08 Added AbstractFetchRemote.streamPerLine(fCallback, sGetAdd) for future use of streaming data to the client. 2021-11-01 14:57:58 +01:00
djmaze
013f09c8d3 Better fix for broken DoFolderInformation() response 2021-11-01 12:10:45 +01:00
djmaze
e52addf346 When login don't reload the whole browser. Just rebuilt screens 2021-11-01 11:24:11 +01:00
djmaze
d3500e2921 Bugfix: i broke the DoFolderInformation() response 2021-11-01 09:15:16 +01:00
djmaze
7188ae753e Some small code improvements 2021-11-01 00:35:59 +01:00
djmaze
3676183b10 Part of issue #157 (rfc2086 & rfc4314) 2021-11-01 00:29:20 +01:00
djmaze
06cb57bc93 No need to respond APP_VERSION in FolderInformation and FolderInformationMultiply requests 2021-10-31 01:06:32 +02:00
djmaze
e4149b655c Added support for rfc7889 and impoved rfc8474 2021-10-31 00:33:22 +02:00
djmaze
d4117dc723 Resolve #155 Office365 lacks IMAP features 2021-10-29 23:43:32 +02:00
djmaze
9db640c6c5 No need to set page=1 when calling mailBox() 2021-10-29 15:25:00 +02:00
djmaze
448f01e0c0 v2.8.0 missed bug 2021-10-29 13:12:42 +02:00
djmaze
1904ecf7d9 v2.8.0 2021-10-29 13:09:12 +02:00
djmaze
d3ad9dc115 Improved IMAP4rev2 RFC9051 support 2021-10-29 12:55:46 +02:00
djmaze
1cdbf2b944 Will this work for #124? 2021-10-29 11:52:59 +02:00
djmaze
3184f22d6c Prevent double foreach in \MailSo\Imap\ResponseCollection::getFoldersResult() 2021-10-29 11:51:56 +02:00
djmaze
4b7495b7e7 Folder flags case-sensitive not used, so remove them 2021-10-29 10:21:19 +02:00
djmaze
f2fe937940 Again PHP Notice: Undefined index: HIGHESTMODSEQ #149 2021-10-29 10:11:34 +02:00
djmaze
12ebe4c3a0 More folderlist speedups 2021-10-29 10:08:42 +02:00
djmaze
76630f593d Added some RFC 9051 IMAP4rev2 details
Added the missing FolderCheck() and FolderClose() commands
2021-10-29 01:57:05 +02:00
djmaze
2eac280508 IMAP LOGIN returns CAPABILITY, use that.
And bugfix broken XOAUTH2
2021-10-29 01:13:42 +02:00
djmaze
55c41c16b1 Missing space in dutch translation 2021-10-28 21:33:15 +02:00
djmaze
b326fb5af4 Improved error handling for exif_read_data() File not supported 2021-10-28 21:32:59 +02:00
djmaze
d2e69d7459 TODO Comment for #154 2021-10-28 21:32:20 +02:00
djmaze
8fae760bb8 Bugfix: error for folder status after IMAP FolderUnselect 2021-10-28 21:31:32 +02:00
djmaze
6faf8a6a36 Add constants for RFC 3516 2021-10-28 13:36:33 +02:00
djmaze
ed6be165f9 Add TODO comments for rfc4551 2021-10-28 13:36:12 +02:00
djmaze
913f1bfb10 Speedup MailClient folders list generator 2021-10-28 12:37:37 +02:00
djmaze
8636163f97 Bugfix: Undefined variable $key 2021-10-28 11:19:45 +02:00
djmaze
a0f96103a3 Bugfix: undefined $oResponse 2021-10-28 11:17:43 +02:00
djmaze
0ba7d3979a Added IMAP FolderHierarchyDelimiter() to easily fetch the delimiter 2021-10-28 11:17:18 +02:00
djmaze
371797cab1 IMAP oLastResponse not needed 2021-10-28 10:42:33 +02:00
djmaze
6c84313c98 Don't call IMAP METADATA on LSUB 2021-10-28 09:48:22 +02:00
djmaze
e289532699 Move IMAP response parser to trait for readability 2021-10-28 09:47:46 +02:00
djmaze
9fbde56e01 Make IMAP LIST-STATUS extension optional so you can turn it off on slow servers.
See application.ini `imap_use_list_status`
2021-10-27 22:44:24 +02:00
djmaze
68fc40e911 Damn, forgot browser cache while debugging. Now it works 2021-10-27 22:19:15 +02:00
djmaze
2afb11fd65 Improve previous bugfix commit with additional comments. 2021-10-27 21:49:44 +02:00
djmaze
3230a653d3 Bugfix: there's a long standing IMAP CLIENTBUG where STATUS command is executed after SELECT/EXAMINE on same folder 2021-10-27 21:14:52 +02:00
djmaze
a7194b74b9 Added RFC 2971 2021-10-27 19:42:09 +02:00
djmaze
85e7cbc206 Document some code 2021-10-27 19:41:54 +02:00
djmaze
d0210bd09a No need to call folderInformationMultiply at boot when LIST-STATUS is supported 2021-10-27 15:30:19 +02:00
djmaze
8d07ab87fa Merge STATUS related code into a trait 2021-10-27 13:54:55 +02:00
djmaze
d952ec5930 Resolve issue #153 2021-10-27 08:47:02 +02:00
djmaze
a13c6980a3 RFC5258 NonExistent 2021-10-26 20:27:53 +02:00
djmaze
4d6d0622e5 Speedup generating folderlist 2021-10-26 15:43:27 +02:00
djmaze
f992a06b63 Support RFC5258 to prevent LSUB roundtrip 2021-10-26 15:30:51 +02:00
djmaze
934431c6be Bugfix: ignore getMetadata() Exceptions 2021-10-26 15:10:58 +02:00
djmaze
1bb7139d46 Bugfix: undefined $sProxyAuthUser 2021-10-26 14:20:08 +02:00
djmaze
2efa0d8eb7 Cleanup some CSS and improve mail compose screen 2021-10-26 13:36:05 +02:00
djmaze
09a9a45e98 Cleanup plugin hooks README 2021-10-25 09:52:04 +02:00
djmaze
54f6f34e0d &$this should be $this for callables 2021-10-25 09:51:39 +02:00
djmaze
57dd0f7e2c Move TemproryApcStorage to demo-account plugin 2021-10-25 09:45:22 +02:00
djmaze
3945ab1349 Set umask(0077) by default to prevent any access to the _data_ dir 2021-10-22 17:42:58 +02:00
djmaze
89f0e81194 Sieve support login with OAUTHBEARER/XOAUTH2 2021-10-22 15:31:56 +02:00
djmaze
ed109740cd Cleanup netClientLogin code 2021-10-22 13:22:04 +02:00
djmaze
617d700a5d Revamp NetClient (SMTP, IMAP, Sieve) login for rfc7628 OAuth plugin support 2021-10-22 12:45:14 +02:00
djmaze
dff2415762 Bugfix setting cloudron/Dockerfile version 2021-10-21 22:48:06 +02:00
djmaze
48b5b59ec2 Added some example code for Cloudron and Virtualmin 2021-10-21 22:45:15 +02:00
djmaze
12a07cce8c Resolve issue #82 by adding back all languages 2021-10-21 22:02:06 +02:00
djmaze
3f335d8005 Cleanup relativetimeformat language files 2021-10-21 21:20:39 +02:00
djmaze
1b58e45b26 Added Polish language 2021-10-21 20:42:34 +02:00
djmaze
d27e6fe97f Added Czech language 2021-10-21 20:39:11 +02:00
djmaze
16f9ec3c37 Added Russian language 2021-10-21 20:34:45 +02:00
djmaze
fb86d15c02 Treat Kolab folders as SystemFolder and show the type in User -> Settings -> Folders 2021-10-21 17:15:00 +02:00
djmaze
524cafe689 Enable detection of some Kolab 'mail.*' folder types 2021-10-21 15:49:42 +02:00
djmaze
d534d2700a Show if optional PHP extensions are loaded on Admin -> About page 2021-10-21 15:28:56 +02:00
djmaze
6c0b5ab33b cURL is not required so put it in a list of optional PHP extensions 2021-10-21 14:59:45 +02:00
djmaze
5fcf31f512 Improve MailSo\NetClient (and children) code 2021-10-21 14:46:08 +02:00
djmaze
c8a5ae5c3a Improved kolab folder-type detection as they can also be appended with '.default' 2021-10-19 12:44:09 +02:00
djmaze
9f5f066dbf Improved Crossroads 2021-10-19 11:31:44 +02:00
djmaze
1f187dd9f2 Translate Kolab folder types 2021-10-15 14:38:34 +02:00
djmaze
c039e813a6 Forward if METADATA is supported to JavaScript 2021-10-15 12:34:45 +02:00
djmaze
3da130d061 Detect HTTPS 2021-10-15 11:59:11 +02:00
djmaze
20607859d1 Cleanup application.ini 2021-10-15 11:58:53 +02:00
djmaze
0c237376e5 Get Kolab integration working 2021-10-15 11:58:06 +02:00
djmaze
11823c280d Improved dark mode 2021-10-14 14:30:47 +02:00
djmaze
cec3581626 Soften dark theme select border 2021-10-14 10:41:07 +02:00
djmaze
fdae334e2d Dark theme make select boxes dark 2021-10-14 10:37:43 +02:00
djmaze
7e2d86cefe Rename kolab to kolabType for better naming 2021-10-14 10:37:07 +02:00
djmaze
ef9d1ed220 Improved Kolab folders visibility 2021-10-14 09:43:20 +02:00
djmaze
fa6590b3ab Access rfc5464 METADATA in JavaScript 2021-10-13 15:42:56 +02:00
djmaze
1fdcc68518 Skip all non-visible folders in folderList instead of being hidden 2021-10-13 15:41:22 +02:00
djmaze
44f73828f1 Kolab folders are not selectable 2021-10-13 15:40:16 +02:00
djmaze
474c2b9f95 RFC 5464 Metadata improvements as for #152 2021-10-13 10:43:43 +02:00
djmaze
73eb89b4ee Add support for RFC 5464 regarding issue #152 Kolab 2021-10-12 16:53:01 +02:00
djmaze
33f42cc34d Replace Md5Rand in favor of Sha1Rand 2021-10-11 16:28:35 +02:00
djmaze
dfa448c7cc v2.7.3 2021-10-11 14:39:36 +02:00
djmaze
21a9e24233 Revert templateId to viewModelTemplateID for issue #150 2021-10-11 14:31:54 +02:00
djmaze
7ede8eeb4a Better solution for #150 2021-10-04 13:53:59 +02:00
djmaze
db8ba85350 Resolve issue #150 2021-10-04 13:48:31 +02:00
djmaze
4fff41580e KnockoutJS disposeWhenNodeIsRemoved not used external 2021-10-04 13:47:47 +02:00
Master3395
0a68512055
Updated copyright for 2021 2021-10-03 02:41:14 +02:00
djmaze
c9ebb5a767 Bugfix: Fulguris incognito mode failed 2021-10-01 17:36:40 +02:00
djmaze
4a403df168 Cleanup KnockoutJS and use ECMASCRIPT_2018 for its closure compiler 2021-10-01 17:36:21 +02:00
djmaze
bcc3dc51ef Speedup KnockoutJS by simplifying components loader system.
Custom loaders are not used, so it is removed
2021-09-29 12:51:51 +02:00
djmaze
4142526ba6 Cleanup KnockoutJS 2021-09-28 14:40:24 +02:00
djmaze
4c7ce61bc0 Added missing pre/post knockout build files 2021-09-28 14:24:28 +02:00
djmaze
bf756c9279 Remove unused data from KnockoutJS 2021-09-28 14:03:07 +02:00
djmaze
5cb4d338a1 ko.utils.setTimeout to native setTimeout 2021-09-28 13:45:19 +02:00
djmaze
9014f08f35 ko.utils.registerEventHandler to native addEventListener 2021-09-28 13:38:02 +02:00
djmaze
8babd10f69 We don't use ko.onError so remove it 2021-09-28 13:26:23 +02:00
djmaze
07443407e9 Bugfix: nodes.forEach should be nodesArray.forEach 2021-09-28 13:21:41 +02:00
djmaze
7d97ae3145 Replace ko.utils.stringStartsWith with native String.startsWith 2021-09-28 13:20:54 +02:00
djmaze
2d4ce14b1c Detect enabled Brotli compression before Gzip compression 2021-09-27 12:50:59 +02:00
djmaze
244d4c49c5 Remove unused KnockoutJS afterMove 2021-09-27 12:49:40 +02:00
djmaze
130397dd89 Change for issue #147 2021-09-27 09:50:24 +02:00
djmaze
514c69fba2 Fixed issue #149 2021-09-27 09:40:57 +02:00
djmaze
4ac21679da v2.7.2 2021-09-23 16:11:51 +02:00
djmaze
7cb24d4d3c Speedup boot 2021-09-23 15:30:08 +02:00
djmaze
9158fcd0eb Improve AppUser.bootstart 2021-09-23 14:24:06 +02:00
djmaze
3c8cdcbb07 Drop useless "disable settings screen" 2021-09-23 11:05:19 +02:00
djmaze
8010229d6b Merge SystemDropDownMailBoxUserView & SystemDropDownSettingsUserView into SystemDropDownUserView 2021-09-23 10:40:10 +02:00
djmaze
1c23ccd327 PopupsKeyboardShortcutsHelp not used in Admin area 2021-09-23 10:34:11 +02:00
djmaze
2dfa0b5f0e Move setupSettings() in constructor 2021-09-23 09:44:46 +02:00
djmaze
c9fe7516c4 Remove unused parameter 'name' in views 2021-09-23 09:41:02 +02:00
djmaze
8be4c384bb Improved AbstractScreen properties
Improved settings screens
Views:
* sDefaultScope & sCurrentScope to sub-class keyScope
* drop viewModelVisible
* rename viewModelTemplateID to templateID
* rename viewModelPosition to viewType
2021-09-22 20:17:44 +02:00
djmaze
11f69ef9e4 Drop popupVisibilityNames/viewModelName in favor of the new visiblePopups Set 2021-09-22 13:37:12 +02:00
djmaze
1d29a281b4 Resolved issue #145 2021-09-20 09:19:23 +02:00
djmaze
2fc01d51c1 cleanup boot.js 2021-09-17 15:09:47 +02:00
djmaze
2227e8ca21 No need to disable help screen 2021-09-17 14:37:18 +02:00
djmaze
10143cf48f Remove useless "disable reload" feature 2021-09-17 14:25:52 +02:00
djmaze
b15178ce46 Remove more of messagelist_actions feature 2021-09-17 14:25:19 +02:00
djmaze
fa136cd529 Drop useless messagelist_actions feature 2021-09-17 14:07:52 +02:00
djmaze
00088ef547 No need to disable Composer (new message), so drop the feature 2021-09-17 13:58:49 +02:00
djmaze
cec6c41953 Cleanup some CSS 2021-09-17 12:08:16 +02:00
djmaze
ace913a1e3 Views &nbsp; to UTF-8 no-break spaces 2021-09-17 11:11:11 +02:00
djmaze
134deb8d73 Drop unused user mail templates system 2021-09-17 10:32:58 +02:00
djmaze
fd28e65ed6 Resolve Issue #144 2021-09-16 14:36:38 +02:00
djmaze
8abf8844bc Replace InlineBase64Decode with default convert.base64-decode and a WhitespaceFilter 2021-09-16 14:04:26 +02:00
djmaze
5816c08e11 v2.7.1 2021-09-14 17:13:03 +02:00
djmaze
c7b1a92ebf Bugfix: Undefined index: HTTP_USER_AGENT 2021-09-14 16:30:34 +02:00
djmaze
577c5f426e Bugfix: Argument 9 passed to MailSo\Mail\MailClient::MessageList() must be of the type int, string given
https://github.com/the-djmaze/snappymail/issues/143#issuecomment-918543318
2021-09-14 16:24:32 +02:00
djmaze
e93dc9201d Bugfix: Setting change "background color" checkbox error "MessageUserStore.messagesBodiesDom() is null" 2021-09-14 16:14:05 +02:00
djmaze
4ca29a2e8f Cleanup knockout Components 2021-09-14 16:11:50 +02:00
djmaze
3f295349b6 Remove Knockout binding "dropdownCloser" because BSN.Dropdown already handles it 2021-09-14 15:04:00 +02:00
djmaze
9e28eb5fc7 Improved Jua uploader 2021-09-14 12:50:56 +02:00
djmaze
2cb73643ca Improved dropdown menu's handling 2021-09-14 10:06:38 +02:00
djmaze
5839bcf62d Remove some unused KnockoutJS features 2021-09-13 16:20:29 +02:00
djmaze
f09820d0b9 Resolve Knockout/#2560 with
45e86bf034
2021-09-13 15:52:40 +02:00
djmaze
47b75755c4 Resolve issue #143 2021-09-13 13:32:06 +02:00
djmaze
96e2e6576c IMAP UID is integer 2021-09-10 16:28:29 +02:00
djmaze
9ffc90946c Improve issue #141 2021-09-10 15:20:13 +02:00
djmaze
37d29174f3 Bugfix: checkbox component cleanup error 2021-09-10 15:19:37 +02:00
djmaze
631b487163 Bugfix: close popups on browser back/forward hash change 2021-09-10 10:25:58 +02:00
djmaze
985a4f5077 More CSS, HTML & JS cleanups 2021-09-10 09:30:06 +02:00
djmaze
371b23a2f3 Cleanup more HTML and CSS 2021-09-09 17:00:31 +02:00
djmaze
e105ecdf1b Resolve issue #141 2021-09-09 11:33:28 +02:00
djmaze
f046fbf5cd Resolve issue #142 2021-09-07 23:10:20 +02:00
djmaze
01d96153c6 Cleanup checkbox component 2021-09-07 23:09:56 +02:00
djmaze
081761b593 User Settings General messages per page use <input number instead of select 2021-09-03 16:40:16 +02:00
djmaze
023c8f603b some ko.computed() to addComputables()/addComputablesTo() 2021-09-03 16:37:20 +02:00
djmaze
099560ca6a Small FolderList style improvement for touch expand/collapse 2021-09-03 09:47:05 +02:00
djmaze
b65b77f518 Bugfix: TypeError curValue is null 2021-09-03 09:30:53 +02:00
djmaze
d71b36f09e Issue #139 detect Rspamd X-Virus 2021-09-03 08:21:51 +02:00
djmaze
33b7546e9c Translate virus warning 2021-09-02 14:22:03 +02:00
djmaze
7c75e11666 Resolve issue #138 2021-09-02 14:21:50 +02:00
djmaze
1457039448 Bugfix issue #139 2021-09-02 13:38:59 +02:00
djmaze
340b0304b4 Resolve issue #140 missing language strings 2021-09-02 12:12:16 +02:00
djmaze
cca8ce065c Resolve issue #139 2021-09-02 12:09:16 +02:00
djmaze
a15e7f6d1e Resolve issue #140 2021-09-02 11:31:23 +02:00
djmaze
fa25be0631 Make unsubsribeLinks observable 2021-09-01 16:10:44 +02:00
djmaze
448120b665 HighestModSeq & Uidvalidity are integers according to IMAP RFC 2021-09-01 16:08:44 +02:00
djmaze
010794fccb v2.7.0 2021-09-01 12:21:08 +02:00
djmaze
53ece73da0 Run eslint before compiling JavaScript 2021-09-01 11:18:57 +02:00
djmaze
36971482a0 Some code cleanups 2021-09-01 11:02:51 +02:00
djmaze
aa16ef3dd0 Improved messageview design 2021-09-01 11:01:56 +02:00
djmaze
47bbd3d410 Bugfix: exitFullscreen() errors 2021-09-01 11:01:13 +02:00
djmaze
671a7a7002 Don't show unread on system folders 2021-09-01 09:43:53 +02:00
djmaze
bafc74fd09 Also prevent browser unload in Chrome 2021-08-31 16:21:40 +02:00
djmaze
f2d172de7d Prevent unloading of browser window when popups (like composer window) are open. 2021-08-31 16:17:20 +02:00
djmaze
8eaf9dc9c3 Bugfix previous commit 2021-08-31 15:33:09 +02:00
djmaze
2518881d10 Drop \MailSo\Base\Loader and just use $_SERVER['REQUEST_TIME_FLOAT'] in \MailSo\Log\Logger 2021-08-31 15:14:01 +02:00
djmaze
1b497ae239 Move \MailSo\Base\Utils::ConvertSystemString to \MailSo\Base\Locale::ConvertSystemString 2021-08-31 08:12:55 +02:00
djmaze
2fc9d5cff0 Try to resolve issue #137 2021-08-31 08:12:00 +02:00
djmaze
3756264669 Improvements for issue #136 2021-08-30 14:01:42 +02:00
djmaze
9cf83eb62a Better Md5Rand and Sha1Rand 2021-08-30 09:49:03 +02:00
djmaze
df975ade72 .less to .css see comments #134 2021-08-30 09:43:18 +02:00
the-djmaze
5c0ce6fef1
Merge pull request #135 from Alphix/update-plugin-comments
[snappymail] More changes to use the word "extensions"
2021-08-28 21:44:04 +02:00
David Härdeman
4e28a7bb7b [snappymail] More changes to use the word "extensions" rather than plugins/packages 2021-08-27 23:49:03 +02:00
djmaze
45662b39b0 Improved and cleanup CSS and language selectors 2021-08-27 16:30:42 +02:00
djmaze
f192902827 Improved design for #129 and #130 2021-08-27 12:54:11 +02:00
djmaze
2f87ada0c4 Resolve issue #129 2021-08-27 12:20:48 +02:00
djmaze
ff8e1ebd80 Fix indentation 2021-08-27 11:29:39 +02:00
djmaze
79d58ee45b Merge branch 'master' of github.com:the-djmaze/snappymail 2021-08-27 11:22:39 +02:00
djmaze
d78dcdade4 Resolve issue #128 2021-08-27 11:22:08 +02:00
the-djmaze
4e7a62ef84
Merge pull request #127 from Alphix/cosmetic_fixes_to_mailclient
Cosmetic fixes to mailclient
2021-08-27 10:02:30 +02:00
the-djmaze
74a1b72703
Merge pull request #132 from Alphix/redis_setex_fix
[redis] Fix call to setex()
2021-08-27 10:01:32 +02:00
djmaze
202fac8295 Some small UI design improvements 2021-08-27 09:59:13 +02:00
David Härdeman
34b8a4395a [redis] Fix call to setex()
\Predis\Client\setex doesn't return a boolean, but the current Redis
caching functionality expects it to do so.
2021-08-26 23:32:23 +02:00
djmaze
c8678953fe Resolve issue #130 2021-08-26 20:31:38 +02:00
djmaze
637ed9a478 Improve new .tabs CSS from 2021-08-26 20:10:14 +02:00
djmaze
d7a30cba79 Revamp tabs system using CSS display:grid instead of JavaScript 2021-08-26 08:10:56 +02:00
David Härdeman
691300da51 [snappymail] Clean up exception descriptions in MailClient.php
The messages are currently shown in the main UI as e.g.:
	Can't create folder. New folder name contains delimiter

Including a period (which seems to be the preferred style in other source
files) means that the error message would read:

	Can't create folder. New folder name contains delimiter.

Also fix two typos.
2021-08-25 17:23:57 +02:00
David Härdeman
8608c18bbe [snappymail] Fix some confusing indentation 2021-08-25 17:19:25 +02:00
djmaze
fe4344794b Workarounds for #124 (does not solve it) 2021-08-25 16:30:47 +02:00
djmaze
8a22ddff5e Improved #121 2021-08-25 16:27:17 +02:00
djmaze
6435fc3876 Bugfix: Trying to access array offset on OptionalResponse is null 2021-08-25 15:15:27 +02:00
djmaze
b24da035df Bugfix: undefined $sStyles 2021-08-25 15:00:45 +02:00
djmaze
3ad9bb6258 Cleanup some code 2021-08-25 13:22:40 +02:00
djmaze
ddb6daace6 Resolve weird cursor as mentioned in #112 2021-08-25 12:43:13 +02:00
djmaze
be9cb6c727 Bugfix for #123 2021-08-25 12:34:19 +02:00
djmaze
0b323ab870 Bugfix: when clicking \NoSelect subfolder, it redirect to parent
Improvement for #112
2021-08-25 12:24:27 +02:00
djmaze
0d35c70d7c Fix dark theme FolderList change 2021-08-25 12:18:24 +02:00
djmaze
e57069af4e Forgot to stage and commit this change for #123 2021-08-25 12:15:13 +02:00
djmaze
7a46527aa8 0 equals FALSE, so no need to check
Change 'TODO' with 'TODO: Translate'
2021-08-25 12:14:25 +02:00
the-djmaze
b1f78361f6
Merge pull request #122 from Alphix/fix_issue_72
Fix issue #72
2021-08-25 12:02:51 +02:00
djmaze
5db8f032b8 Resolve issue #123 2021-08-25 12:00:50 +02:00
David Härdeman
17f107057a [snappymail] Rework FolderCollectionModel .js a bit
Following the previous bugfix, rework the .js code a bit to reduce the
amount of nested ifdeffery.
2021-08-25 00:24:53 +02:00
David Härdeman
0190170edd [snappymail] Include subfolders in folder list rebuild
Subfolders also need to be taken into consideration, otherwise
subfolder deletion/creation won't be reflected in the UI.

Fixes #72
2021-08-25 00:24:01 +02:00
David Härdeman
b658b79264 [snappymail] Remove some more overuse of trim()
The FolderCreate() function also misses using trim() sometimes on
$sFolderParentFullNameRaw, so this should be more correct as well.
2021-08-24 23:20:27 +02:00
David Härdeman
542a1c9624 [snappymail] No need to call trim() twice
Mostly a cosmetic change, but stil.
2021-08-24 23:08:46 +02:00
djmaze
8934205ede Replace {'inbox-star-icon': isInboxStarred} with {'flag-icon': isFlagged} for future improvements 2021-08-24 21:10:49 +02:00
djmaze
db1615f2ca Bugfix: FolderList INBOX detection 2021-08-24 20:45:40 +02:00
the-djmaze
e2a7d1f5f0
Merge pull request #121 from Alphix/delete_parent_folder_only
[snappymail] Allow deletion of parent folder with subfolders
2021-08-24 19:41:59 +02:00
David Härdeman
72ff960114 [snappymail] Allow deletion of parent folder with subfolders
This change brings snappymails behaviour in line with RFC3501, section 6.3.4,
by allowing "real" (i.e. non-\Noselect) parent folders to be deleted and
by not performing a recursive deletion of subfolders.
2021-08-24 18:33:54 +02:00
djmaze
ef4d604f6d Bugfixes and improvements for Folderlist 2021-08-24 18:23:17 +02:00
djmaze
327d6c32ca Improved FolderCollection handling and try to solve https://github.com/the-djmaze/snappymail/issues/112#issuecomment-904193275 2021-08-24 15:53:39 +02:00
djmaze
2def2fc118 IMAP \archive is not the same \all, so split it 2021-08-23 17:23:43 +02:00
djmaze
d6071a584e Drop unused customSpecSuffix 2021-08-23 16:40:28 +02:00
the-djmaze
f0549e1735
Merge pull request #120 from Alphix/improve_change_password
[change-password] Improve change password

Last .js change is correct. It was a leftover of the old RainLoop AuthAccountHash system.
AuthAccountHash was some kind of login hash system to get logged in mail account.
2021-08-23 16:39:55 +02:00
David Härdeman
0728a26e95 [change-password] Bump version 2021-08-23 14:03:27 +02:00
David Härdeman
6c5106dbd2 [change-password] Fix password change js
Not sure what rl.hash.set() is supposed to do, but it is undefined, which
causes an exeption, which in turn provides an error message even when
the password was successfully changed.
2021-08-23 13:02:07 +02:00
djmaze
c8a28a7f95 Improvements for #119 2021-08-23 12:08:04 +02:00
the-djmaze
d8df978732
Merge pull request #118 from Alphix/improve_ldap_contacts
Improve ldap-contacts-suggestions plugin
2021-08-23 12:01:57 +02:00
the-djmaze
ac1041a16e
Merge pull request #119 from Alphix/improve_build_scripts
[snappymail] Some build fixes
2021-08-23 12:00:16 +02:00
djmaze
8a50586d9b Better Memcache 2021-08-23 11:52:24 +02:00
djmaze
8f1d96e86f Revert #113 and #116 with a compatibility fix 2021-08-23 11:50:27 +02:00
djmaze
881528d2ee Memcache support socket connections and Memcached class 2021-08-23 11:34:34 +02:00
the-djmaze
4a39093042
Merge pull request #116 from Alphix/improve_redis_support
[snappymail] Improve Redis support
2021-08-23 11:02:51 +02:00
djmaze
9dfc5f92d9 Merge branch 'master' of github.com:the-djmaze/snappymail 2021-08-23 10:50:04 +02:00
djmaze
52e7cfb6a3 Improved mail message CSS handling due to broken Amazon mails
Resolves issue #108
2021-08-23 10:49:25 +02:00
David Härdeman
1d65ec5345 [change-password] Document LDAP URI option 2021-08-23 10:42:07 +02:00
David Härdeman
aee1d7841b [change-password] Make use of StartTLS configurable
This makes the use of all three kinds of connections possible (ldap://,
ldap:// + TLS, ldaps://). ldap_start_tls will fail with ldaps://.
2021-08-23 10:42:07 +02:00
David Härdeman
ba2b903d67 [change-password] Use LDAP URI format instead of host/name
ldap_connect(<host>, <port>) is deprecated and ldap_connect(<uri>)
format makes it possible to use ldaps.
2021-08-23 10:35:51 +02:00
David Härdeman
2454909e83 [change-password] Set plugins to default to off 2021-08-23 10:35:51 +02:00
David Härdeman
5cbc3ed3f9 [ldap-contacts-suggestions] Default to localhost instead of 127.0.0.1
No need to default to IPv4 only.
2021-08-23 10:14:42 +02:00
David Härdeman
fc83b71a30 [snappymail] Some build fixes
Not an expert on the snappy build system, but rollup doesn't seem to be
used anywhere, so no need to check for its presence. Also, I had
to replace "node-fs" with "fs" to build a .tar.gz.
2021-08-23 00:42:21 +02:00
David Härdeman
9876597542 [ldap-contacts-suggestions] Bump version number 2021-08-22 13:36:05 +02:00
David Härdeman
3beef5a789 [ldap-contacts-suggestions] Support multiple objectClasses
This is mostly for consistency with the other LDAP attributes.
2021-08-22 13:34:51 +02:00
David Härdeman
8eec9d4a8f [ldap-contacts-suggestions] Clarify some more variables
Make it clearer that these variables take several attributes.
2021-08-22 13:34:51 +02:00
David Härdeman
f3b6cd08f0 [ldap-contacts-suggestions] Update defaults
Since multiple LDAP attributes are supported for the user name/email,
there's no harm in having defaults that are a bit more flexible
(for example, "givenName" is commonly only the users first name,
while a full name is usually preferable as an email recipient).
2021-08-22 12:54:02 +02:00
David Härdeman
8e9cef4f78 [ldap-contacts-suggestions] Use LDAP URI for connecting
ldap_connect(<host>, <port>) is deprecated and ldap_connect(<uri>) is
more expressive (for example, by allowing the use of SSL to be
mandatory using a ldaps:// URL).
2021-08-22 12:32:02 +02:00
David Härdeman
1841688b5f [ldap-contacts-suggestions] Rename some variables
Rename some variables to use common LDAP terminology and to make their
purpose clearer.
2021-08-22 12:32:02 +02:00
David Härdeman
a53d7383db [ldap-contacts-suggestions] Update option documentation
Use common LDAP terminology and update comments to reflect how the
configuration options work (e.g. that all the LDAP attribute options
are multivalued).
2021-08-22 12:31:56 +02:00
David Härdeman
725f217778 [ldap-contacts-suggestions] Better handling of mixed case attributes
While the LDAP search is case insensitive, the array which is returned from
ldap_get_entries() will only use lowercase. This means that if one
configures the plugin to look for e.g. "givenName", no results
will be returned.
2021-08-22 12:31:56 +02:00
David Härdeman
11294a8f8b [ldap-contacts-suggestions] Add support for StartTLS
The plugin currently supports SSL (by using a ldaps:// URI as the
hostname of the LDAP server) and unencrypted LDAP. This patch
also adds StartTLS support, which is used by many LDAP servers.
2021-08-22 10:48:33 +02:00
David Härdeman
c23eeb54be [ldap-contacts-suggestions] Fix allowed emails
The configuration interface allows a list of allowed emails to be set, but
the configuration parameter is never used.
2021-08-22 00:42:38 +02:00
the-djmaze
05af650a29
Merge pull request #117 from Alphix/make_apcu_explicit
[snappymail] Fix ACPU support
2021-08-22 00:11:29 +02:00
David Härdeman
dab86802f0 [snappymail] Fix ACPU support
Fix ACPU support and update configuration file comments to reflect the
ACP -> ACPU change that was introduced earlier.
2021-08-21 17:21:12 +02:00
David Härdeman
bd6b903b74 [snappymail] Change default connection string for Redis
The "redis" scheme is undocumented and has a slightly different syntax, so
prefer the "tcp" scheme.
2021-08-21 14:06:30 +02:00
David Härdeman
465e4b32ee [snappymail] Improve Redis support
By using a connection URL, it is possible to support all Predis features, like
passwords, unix sockets, database selection, etc.

Tested with TCP and unix socket connections.

Closes #113
2021-08-21 13:32:17 +02:00
djmaze
cc03546484 Reduce JavaScript footprint 2021-08-20 15:40:07 +02:00
djmaze
fea65b7ebf Cleanup htmlToPlain() and replace its splitPlainText() for simple wordwrap 2021-08-20 12:10:15 +02:00
djmaze
e0adf7accd Bugfix and simplify broken folderListOptionsBuilder() due to changes for #112 2021-08-19 21:31:08 +02:00
djmaze
ee7d06fbfd Changed Quota() to QuotaRoot(string $sFolderName = 'INBOX')
After reading RainLoop#2086 and looking in the source i noticed the incorrect naming
2021-08-19 17:00:31 +02:00
djmaze
5f73b721e6 Bugfix solution of #112 2021-08-19 15:35:47 +02:00
djmaze
ba477e25ff Resolve issue #112 2021-08-19 15:14:47 +02:00
djmaze
1f9e96f107 Improve Apache gzip & brotli handling 2021-08-18 20:29:51 +02:00
djmaze
6896f080e8 Resolve Issue #107 2021-08-18 16:35:37 +02:00
djmaze
c1fbd8a5d2 Move Apache mod_rewrite gzip/brotli rules to /snappymail/v/0.0.0/static/ 2021-08-18 16:24:05 +02:00
djmaze
7e43bfc6b0 Cleanup CSS and JS
Improve app loading error
2021-08-18 15:36:33 +02:00
djmaze
2c69da61f0 Bugfix Apache no mod_rewrite 2021-08-18 13:13:54 +02:00
djmaze
17ae0eac5b Cleanup \headers() 2021-08-18 13:13:50 +02:00
djmaze
212aeb6910 Prevent 'undefined' in php error log 2021-08-18 12:25:17 +02:00
djmaze
50d7803c17 Although this is a browser bug (Fulguris & DuckDuckGo), just show why the browser fails loading resources.
See https://github.com/the-djmaze/snappymail/issues/107
2021-08-18 12:23:48 +02:00
djmaze
b8a1aa49cf logo white bg due to github being dark 2021-08-17 15:34:15 +02:00
djmaze
b403f0579b v2.6.2 2021-08-17 15:14:55 +02:00
djmaze
d139c02cc9 Improved loading of WYSIWYG 2021-08-17 14:43:48 +02:00
djmaze
8273111e65 Strip unused CSS 2021-08-17 14:06:56 +02:00
djmaze
26015aaf18 Improve folderInformation and folderInformationMultiply 2021-08-17 12:08:09 +02:00
djmaze
a3dc8ad639 Drop unused allow_html_editor_source_button 2021-08-16 18:18:11 +02:00
djmaze
8498290d93 FolderInformation Result.Flags use Object.entries() 2021-08-16 18:10:45 +02:00
djmaze
1c95eab6d6 Bugfix and improve Squire HTML/Plain modes 2021-08-16 18:09:54 +02:00
djmaze
5efbcf5ad3 Squire
* drop isWin and isEdge (legacy)
* simplify isWebKit
* some code to ES 2015
2021-08-16 15:31:25 +02:00
djmaze
d4f55a02a4 Improve Squire edit history stack 2021-08-16 13:13:33 +02:00
djmaze
ed1dc4dbc1 Don't preload Compose window for speedup and to avoid an excessive DOM size 2021-08-13 10:16:55 +02:00
djmaze
2a6a1ff799 Improved keyboard shortcuts handling 2021-08-13 10:03:13 +02:00
djmaze
5f21fcc100 hasher.changed.* to hasher.* 2021-08-13 10:01:01 +02:00
djmaze
d536b5eeee Change ()=>{} into ()=>0 2021-08-13 09:58:43 +02:00
djmaze
2d87b52c07 There is no 'return true' for the shortcuts system 2021-08-12 20:55:24 +02:00
djmaze
64a7b82408 Bugfix: Help screen broken tabbing shortcuts 2021-08-12 20:33:13 +02:00
djmaze
8b116fa8ba Cleanup some code 2021-08-12 20:17:37 +02:00
djmaze
8d51e57d41 Resolve issue #106 2021-08-12 14:56:58 +02:00
djmaze
5895804e9a More excessive DOM reductions 2021-08-12 14:44:38 +02:00
djmaze
74f74163c6 Bugfix: <!-- ko text: valueAccessor --> failed
https://knockoutjs.com/documentation/text-binding.html#note-3-using-text-without-a-container-element
2021-08-12 12:54:42 +02:00
djmaze
467b4a7913 Resolve issue #105 2021-08-10 17:10:09 +02:00
djmaze
308e65f94f cleanup some css and js 2021-08-10 17:07:26 +02:00
djmaze
8a730a3ff2 v2.6.1 2021-08-10 15:24:46 +02:00
djmaze
89075b18bf Remove unused KnockoutJS code 2021-08-10 15:16:21 +02:00
djmaze
3a32a09f2a KnockoutJS:
* remove deprecated allBindings as Accessor https://github.com/knockout/knockout/pull/2133
* remove unused event '*Bubble' https://knockoutjs.com/documentation/event-binding.html#note-4-preventing-the-event-from-bubbling
* remove unused 'completeOn' https://knockoutjs.com/documentation/binding-lifecycle-events.html#indicating-that-a-control-flow-binding-completes-asynchronously
2021-08-10 15:00:49 +02:00
djmaze
4cb88b408c Small cleanup 2021-08-10 14:50:47 +02:00
djmaze
8b10abe5ac Reduce DOM size of Ask popup 2021-08-10 12:33:42 +02:00
djmaze
337770afd5 Drop unused preLabeled in Select component 2021-08-10 12:24:07 +02:00
djmaze
6807da145e Reduce help screen dom size 2021-08-10 12:23:29 +02:00
djmaze
6a903bc9b2 Reduce MessageList html/css footprint 2021-08-10 12:22:55 +02:00
djmaze
48e8138764 Bugfix: "clear folder" was shown in wrong folder 2021-08-10 11:42:21 +02:00
djmaze
4e45b56ea4 Speedup templates compiler 2021-08-10 10:31:53 +02:00
djmaze
89740bf50f Moved Fetch Metadata security due to issues with API and
https://github.com/the-djmaze/snappymail/issues/99#issuecomment-895293750
This should prevent security error on visiting "index" in any way, but keep security on any sub-request
2021-08-09 21:22:57 +02:00
djmaze
adb5619438 https://github.com/the-djmaze/snappymail/issues/99#issuecomment-894994640 2021-08-09 15:08:42 +02:00
djmaze
019de7de87 Bugfix: clicking star icon for flagged items in INBOX failed 2021-08-09 14:22:57 +02:00
djmaze
fd293b723b Resolve Issue #104 2021-08-09 11:13:10 +02:00
djmaze
d2550c3139 Reduce excessive DOM even more 2021-07-30 23:11:05 +02:00
djmaze
00bc92f4c7 Reduce excessive DOM a bit 2021-07-30 14:40:32 +02:00
djmaze
0659b126e7 Better folder unread-count view 2021-07-30 12:26:27 +02:00
djmaze
cbecdd93a0 More Knockout code to ES6 2021-07-29 11:43:47 +02:00
djmaze
b7cb990b00 v2.6.0 2021-07-28 16:11:59 +02:00
djmaze
7ca666f777 Bugfix: undefined $aKey 2021-07-28 15:23:09 +02:00
djmaze
e0106a6e52 CSP 'unsafe-eval' required for Knockout.js, see issue #103 2021-07-28 14:41:43 +02:00
djmaze
a3d2b560d0 Make <script> secure with CSP, see issue #103 2021-07-28 14:32:41 +02:00
djmaze
66560be455 Drop obsolete File.fileName and File.fileSize 2021-07-26 19:04:11 +02:00
djmaze
533f488cc4 Speedup boot script 2021-07-26 15:06:28 +02:00
djmaze
4d655953de Drop support for Edge Legacy (is EOL), Firefox < 69, Chrome < 69, Safari < 12 2021-07-26 11:48:53 +02:00
djmaze
d41b929c13 Delay message "mark as read" for 5 seconds 2021-07-26 10:15:50 +02:00
djmaze
55a581f922 Resolved Issue #84 2021-07-23 16:21:06 +02:00
djmaze
d1f43f49b7 Cleanup plugin languages 2021-07-23 16:18:23 +02:00
djmaze
8b760ef0d1 Get this plugin working 2021-07-23 15:58:54 +02:00
djmaze
2d1f99a8ce Get 2FA plugin somesort of working 2021-07-23 13:36:38 +02:00
djmaze
868f7a4b0a Merge branch 'master' into plugin-2fa 2021-07-23 11:58:18 +02:00
djmaze
56e8ea664d Cleanup user login JavaScript code 2021-07-23 11:57:45 +02:00
djmaze
0a69c6410d Added support for JavaScript FormData
As preparation for 2FA plugins and easier Fetch calls
2021-07-23 11:40:03 +02:00
djmaze
5a0f6c2b9f Translations for admin 2FA 2021-07-22 22:15:09 +02:00
djmaze
7d61f40fff improved some 2fa code based onmaster source changes 2021-07-22 22:14:26 +02:00
djmaze
2064c1613b Merge branch 'master' into plugin-2fa 2021-07-22 21:38:55 +02:00
djmaze
bf75cf7946 Added 2FA TOTP on admin login
https://github.com/the-djmaze/snappymail/issues/84#issuecomment-818808101
2021-07-22 21:36:44 +02:00
djmaze
b76a6ad7a7 Move RawContactsVcf and RawContactsCsv functions to \RainLoop\Actions\Contacts 2021-07-22 16:25:20 +02:00
djmaze
4645209053 Cleanup some code 2021-07-22 16:24:24 +02:00
djmaze
b16b184ac9 Improved focused styling 2021-07-21 21:54:07 +02:00
djmaze
5590fd4860 isNonEmptyArray => arrayLength 2021-07-21 21:34:17 +02:00
djmaze
1e49c1a6ac Don't wrap tabs to next line in Help screen 2021-07-21 14:15:55 +02:00
djmaze
eec3f46c34 Bugfix: messageview focused [Tab] key should not traverse back to messagelist 2021-07-21 14:15:31 +02:00
djmaze
5ef49f9b8e Bugfix: shortcuts stop working
https://github.com/the-djmaze/snappymail/issues/62#issuecomment-810921656
2021-07-21 14:14:31 +02:00
djmaze
0aab26383c Merge branch 'master' into plugin-2fa 2021-07-21 12:26:14 +02:00
djmaze
319e30265b Replace gulp blacklisted modules
https://github.com/the-djmaze/snappymail/issues/102#issuecomment-883843969
2021-07-21 12:24:12 +02:00
djmaze
689f329b4e Replace gulp blacklisted modules
https://github.com/the-djmaze/snappymail/issues/102#issuecomment-883843969
2021-07-21 11:20:55 +02:00
djmaze
7ab832e854 Custom new mail notification sounds 2021-07-21 11:19:52 +02:00
djmaze
ee540097b4 v2.5.3 2021-07-20 20:53:11 +02:00
djmaze
2aed429e5d Merge branch 'master' into OwnCloud 2021-07-20 20:47:44 +02:00
djmaze
5ef2b6daa3 drop unused small in bootstrap 2021-07-20 20:46:47 +02:00
djmaze
f57955443b Cleanup bootstrap css 2021-07-20 20:29:47 +02:00
djmaze
146f76ad9f Resolve Issue #101 2021-07-20 16:54:32 +02:00
djmaze
18cedbabad Simplify UserBackground code 2021-07-20 16:49:03 +02:00
djmaze
e13337e247 Cleanup styling and gulp merge @media queries 2021-07-20 16:45:55 +02:00
djmaze
d3d0180208 Bugfix: default attachment_size_limit to PHP upload_max_filesize 2021-07-19 14:27:25 +02:00
djmaze
1f2208d304 Cleanup time handling 2021-07-19 14:26:32 +02:00
djmaze
9657578de5 Update NextCloud code 2021-07-19 12:37:56 +02:00
djmaze
bb15cd1ec3 Resolve Issue #100 2021-07-19 11:57:47 +02:00
djmaze
b8d594eb45 Move OwnCloud plugin to final destination 2021-07-17 08:56:09 +02:00
djmaze
b0d7bab1b0 Move the NextCloud plugin to final destination 2021-07-17 08:53:50 +02:00
djmaze
65200af210 Added NextCloud
Taken from https://github.com/pierre-alain-b/snappymail-nextcloud
2021-07-17 08:38:21 +02:00
djmaze
2dde6c59eb Bugfix: \RainLoop\Utils::IsOwnCloudLoggedIn() undefined 2021-07-16 17:13:24 +02:00
djmaze
1996c79240 Fix fork url 2021-07-16 16:49:48 +02:00
djmaze
6e26c767c3 Changes for base OwnCloud/NextCloud
See https://github.com/the-djmaze/snappymail/issues/96
2021-07-16 16:27:19 +02:00
djmaze
5213b804d9 Some tiny changes 2021-07-16 16:24:07 +02:00
djmaze
79945d45b4 Merge Admin Plugins and Packages into single management page 2021-07-16 13:57:04 +02:00
djmaze
d69743cee5 Cleanup closeCommand & cancelCommand because both are defined for popups 2021-07-16 09:11:10 +02:00
djmaze
c46e190a3a Fix calc() in less files 2021-07-15 21:02:00 +02:00
djmaze
bf9b47ce85 Added: compose window on mobile use Fullscreen API 2021-07-15 21:01:41 +02:00
djmaze
6e41f19b02 Forgot to commit regarding APC => APCU
Mentioned at https://github.com/the-djmaze/snappymail/issues/99#issuecomment-879835900
2021-07-15 07:52:34 +02:00
djmaze
c46a28a8cf Bugfix: Invalid command 'RewriteEngine'
https://github.com/Mailu/Mailu/pull/1796#issuecomment-854958765
2021-07-14 12:56:37 +02:00
djmaze
7985eaa23a Merge branch 'master' into plugin-2fa 2021-07-14 12:51:54 +02:00
djmaze
18b3bdc4fc Different Sec-Fetch approach 2021-07-14 12:51:34 +02:00
djmaze
d5f0b1d06c Resolve Issue #98 2021-07-14 12:03:09 +02:00
djmaze
5530a85f47 Bugfix: broken oHttp, should use $this->Http() 2021-07-14 11:38:05 +02:00
djmaze
09b3fa3141 Cleanup MailSo\Base\Http 2021-07-14 11:26:48 +02:00
djmaze
51d9c3adbb Uncaught (in promise) TypeError: oData is undefined 2021-07-14 10:32:21 +02:00
djmaze
d85cc9a79f Improved Sec-Fetch
See https://github.com/the-djmaze/snappymail/issues/99#issuecomment-879702411
2021-07-14 10:29:23 +02:00
djmaze
e73e81664f Sec-Fetch improvements
Also see issue #99
2021-07-14 10:10:24 +02:00
djmaze
0251c583b9 Improve Issue #97 2021-07-13 20:51:54 +02:00
djmaze
abd9e58cc7 Resolved Issue #97 2021-07-13 20:49:01 +02:00
djmaze
2a44aeaf07 Added Sec-Fetch security 2021-07-13 20:42:58 +02:00
djmaze
9859bab9c3 Rename APC to APCU
Drop unused APP_REQUEST_RND
2021-07-13 20:38:13 +02:00
Dominik Schulz
bb58189352 Fix RestChangePasswordDriver
The RestChangePasswordDriver had a few issues and wasn't useable.
This commit fixes these issues.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
2021-07-02 12:30:33 +02:00
djmaze
f44515fa5b v2.5.2 2021-06-10 20:36:57 +02:00
djmaze
6dbe3d4c52 Brotli compress output if supported 2021-06-10 20:26:28 +02:00
djmaze
830f660ccc Change for issue #95 2021-06-01 13:45:58 +02:00
djmaze
d67cfaa3a4 Resolve Issue #93 2021-05-31 16:19:01 +02:00
djmaze
5a6c012b60 Remove the IsSelectable() filter
https://github.com/the-djmaze/snappymail/issues/94#issuecomment-850806845
2021-05-31 11:02:51 +02:00
djmaze
250f7152ac Revert part of previous commit for
https://github.com/the-djmaze/snappymail/issues/94#issuecomment-850806845
2021-05-31 11:01:27 +02:00
djmaze
494626bfc7 https://github.com/the-djmaze/snappymail/issues/94#issuecomment-850806845 2021-05-31 10:52:26 +02:00
djmaze
31e47fa4bb Resolved Issue #91 2021-05-25 17:22:51 +02:00
djmaze
51a82dbbcd Better folder creation popup and fixed dutch translation 2021-05-25 15:32:34 +02:00
djmaze
b570dec683 Resolves issue #92 ? 2021-05-25 15:31:48 +02:00
djmaze
bea8a95c6b v1.5.1 2021-05-19 15:58:37 +02:00
djmaze
37e1474650 Cleanup OpenPGP.js 2021-05-19 15:26:45 +02:00
djmaze
e49405cd85 Improved broken PGP implementation 2021-05-19 15:26:10 +02:00
djmaze
45c74370d0 Bugfix: has() is not a function 2021-05-19 11:24:53 +02:00
djmaze
4e03543e6e Merge branch 'master' of github.com:the-djmaze/snappymail 2021-05-18 14:29:17 +02:00
djmaze
426b82e7c4 Cleanup messageview style 2021-05-18 14:28:56 +02:00
the-djmaze
ca8f41fecb
Merge pull request #88 from Psychi1/master
Update user.json
2021-05-18 13:44:14 +02:00
djmaze
c571a4fbe7 Cleanup OpenPGP.js and prepare for using Rollup 2021-05-18 10:59:13 +02:00
Psychi1
8f940456b7
Update user.json
Wrong spelling
2021-05-15 15:19:20 +02:00
djmaze
f6bba786ed Sync RainLoop v1.16 2021-05-14 11:21:31 +02:00
djmaze
30ff459535 RainLoop: Improve getFoldersFromResult fix
46c3e305d7
2021-05-13 01:08:47 +02:00
djmaze
53333bd56a RainLoop: Fix folder names parser
9bcb8ae02c
2021-05-13 01:00:02 +02:00
djmaze
df8de36f91 Merge remote-tracking branch 'upstream/master' 2021-05-13 00:42:12 +02:00
djmaze
066a0c08d2 Fix OpenPGP error 2021-05-13 00:32:28 +02:00
RainLoop Team
13d05dc2ff Update dependencies 2021-05-06 22:58:24 +03:00
RainLoop Team
49d9093e44 Fix closure warnings (#2087) 2021-05-06 11:00:52 +03:00
RainLoop Team
90e41635ed Update locales 2021-05-06 03:39:59 +03:00
RainLoop Team
9bcb8ae02c Fix folder names parser 2021-05-06 02:21:58 +03:00
RainLoop Team
46c3e305d7 Improve getFoldersFromResult fix 2021-05-05 23:46:51 +03:00
RainLoop Team
86e62d90ea
Merge pull request #2094 from ecoValentin/master
Hotfix for typo in variable name
2021-05-05 22:43:21 +03:00
djmaze
b2b576a69c Remove OpenPGP unused functions and vars 2021-05-04 15:01:40 +02:00
djmaze
be76df33b6 Remove OpenPGP support for IE and Node, and es6-promise polyfill 2021-05-03 17:05:50 +02:00
ecoValentin
6e1470868a Hotfix for typo in variable name 2021-05-01 18:03:08 +00:00
djmaze
8c454ccd9d Cleanup OpenPGP.js a bit.
openpgp.worker doesn't need webpack
2021-05-01 16:33:30 +02:00
djmaze
5e63adc904 Move old OpenPGP.js to /vendors instead of npm 2021-05-01 15:10:04 +02:00
djmaze
a7ae087f18 More HTML cleanups 2021-05-01 10:02:40 +02:00
djmaze
109c6b6ab5 Cleanup HTML and CSS 2021-04-30 16:39:27 +02:00
djmaze
d38a1acc24 Cleanup contacts popup 2021-04-29 16:26:20 +02:00
djmaze
454321430a Bugfix: multiple accounts showed both fontastic glyphs 2021-04-29 15:15:01 +02:00
djmaze
032e71448b Cleanup boot loading bouncer 2021-04-29 15:14:26 +02:00
djmaze
89b52b512f Remove progressJs bar because we are fast... 2021-04-28 22:59:42 +02:00
djmaze
a8fd699575 Reduce image memory usage 2021-04-28 21:33:23 +02:00
djmaze
a36a8113bb Cleanup more rlspecauth/AuthAccountHash related code 2021-04-28 21:33:03 +02:00
djmaze
146b2c1001 Cleanup AuthAccountHash handling 2021-04-28 15:56:31 +02:00
djmaze
8e5d56e15f Cleanup some PHP code 2021-04-28 14:17:28 +02:00
djmaze
ce63ba506a Keep AUTH_SPEC_TOKEN_KEY
And now we can embed theme and language in index.html template
2021-04-28 12:08:07 +02:00
djmaze
4579a786ab Bugfix: undefined class Utils 2021-04-28 10:57:18 +02:00
djmaze
6c370abac3 Revert broken speedup idea for language and theme.
RainLoop removes AUTH_SPEC_TOKEN_KEY cookie, which kills browser refresh/F5
So had to put back the LangLink and NewThemeLink, for now
2021-04-26 21:56:11 +02:00
djmaze
dbf9755700 Improved themes and localization 2021-04-26 14:24:57 +02:00
djmaze
787f3a0cbd Improved requestSleep() 2021-04-26 12:20:31 +02:00
djmaze
fb98ca6fe7 Merge language into index template 2021-04-26 12:19:47 +02:00
djmaze
c3c1fc2c0e Tiny knockoutjs speedup 2021-04-23 18:16:36 +02:00
djmaze
8aa9b0b33f Speedup foldercollection 2021-04-23 13:01:51 +02:00
djmaze
29fe73d4e7 Cleanup .bind( 2021-04-23 10:47:24 +02:00
djmaze
9ec84baa32 Cleanup attachments design 2021-04-23 10:12:06 +02:00
djmaze
3ef494c971 Merge remote-tracking branch 'upstream/master' 2021-04-23 00:35:36 +02:00
djmaze
60a4a248d1 Simplify onWarmUp into onBuild 2021-04-23 00:12:42 +02:00
djmaze
999389c6c5 Bugfix: wrong Notification.RequestAborted 2021-04-22 23:53:39 +02:00
djmaze
ffb2f64170 <!-- ko foreach --> to: data-bind="" 2021-04-22 23:41:26 +02:00
djmaze
14a9f00c6e Improve composer dark mode 2021-04-22 23:34:37 +02:00
djmaze
3572d00a10 Cleanup admin code 2021-04-22 21:56:01 +02:00
RainLoop Team
4ae9252c76
Merge pull request #2006 from chuushi/patch-1
plugins/postfixadmin-change-password: Add "ARGON2I"
2021-04-22 21:02:21 +03:00
RainLoop Team
e5659da4e8
Merge pull request #2081 from the-djmaze/rainloop-issue2037
Resolve issue #2037
2021-04-22 20:21:54 +03:00
RainLoop Team
6a615c5d65
Merge pull request #2080 from fdisamuel/master
Google Document viewer and Managesieve Fixes
2021-04-22 19:02:15 +03:00
RainLoop Team
13ed45c7cf
Merge pull request #2090 from EdwardBetts/patch-1
Correct spelling mistake
2021-04-22 19:01:02 +03:00
RainLoop Team
ab36112eab
Merge pull request #2075 from powerhome/fix/rainloop-system-missing-primary-key
Add missing primary key to rainloop_system table
2021-04-22 19:00:33 +03:00
RainLoop Team
1aab9dfddc
Merge pull request #2042 from hfnukal/patch-1
This works also for CC and BCC
2021-04-22 18:55:55 +03:00
RainLoop Team
14fe3a106e
Merge pull request #2029 from lub/access-denied-status-code
throw 403 on access denied
2021-04-22 18:54:41 +03:00
RainLoop Team
3a7f80bfc2
Merge pull request #1998 from kesselb/load-images-print
Load image data for all images
2021-04-22 18:53:22 +03:00
djmaze
75c879836c Settings menus:
- remove .disabled, never used
- cleanup/simplify code
2021-04-22 16:02:12 +02:00
djmaze
a624d43602 Remove unused #rl-top 2021-04-22 14:30:41 +02:00
djmaze
8af35f7d39 Move login forgotPasswordLinkUrl/registrationLinkUrl to plugin 2021-04-22 13:59:22 +02:00
djmaze
1b4277c9db Remove some CSS outline and !important 2021-04-22 13:37:43 +02:00
djmaze
0d5ea94934 Resolve #87
Resolve #85
2021-04-21 10:34:54 +02:00
djmaze
1a8eea24cf Improve non-composited animation 2021-04-20 13:41:51 +02:00
djmaze
e1a08a9755 Bugfix: this.logoutReload is not a function 2021-04-20 13:01:15 +02:00
djmaze
3d2f7fb3ef Cleanup .add-on CSS 2021-04-20 11:27:19 +02:00
djmaze
df00748bf5 v2.5.0.1 2021-04-20 09:56:19 +02:00
djmaze
10c8cf68ed Resolve #86 2021-04-20 09:51:52 +02:00
djmaze
fbf816f905 v2.5.0 2021-04-19 20:44:12 +02:00
djmaze
19492a714d Also prevent Google FLoC in .htaccess 2021-04-19 20:42:01 +02:00
djmaze
0a03f9768f Prevent Google FLoC tracking 2021-04-19 20:35:41 +02:00
djmaze
15f8f5da1b translation spacing 2021-04-19 20:34:26 +02:00
djmaze
30727b0e29 Resolved and improved #79 2021-04-19 14:11:02 +02:00
djmaze
d528a523ad Drop unused qr.js 2021-04-19 13:34:33 +02:00
djmaze
f6eb03d7ef Speedup CardDAV sync by remembering Authorization 2021-04-16 20:36:38 +02:00
djmaze
f36ef03c1e Bugfix: TypeError: Return value of PdoAddressBook::davClientRequest()
For #79
2021-04-16 11:57:06 +02:00
djmaze
31bc2850de v2.5.0-rc.4 2021-04-15 16:42:16 +02:00
djmaze
658898ffbc Strange hamburger icon when syncing
https://github.com/the-djmaze/snappymail/issues/79#issuecomment-817321314
2021-04-15 15:46:47 +02:00
djmaze
c430f1b175 Test CardDAV for #79 2021-04-15 12:41:01 +02:00
djmaze
a407986483 Fix datetime parser for #79 2021-04-15 12:34:56 +02:00
djmaze
14c8e81332 Improvements for #79 2021-04-15 12:18:33 +02:00
djmaze
b4fefc1532 Improved #79 2021-04-14 16:36:46 +02:00
djmaze
2ed328d07c Improved 2fa plugin 2021-04-14 15:33:37 +02:00
djmaze
906959b2c2 Merge branch 'master' into plugin-2fa 2021-04-14 15:26:05 +02:00
djmaze
ae9bb29a47 move login.success hook 2021-04-14 15:25:50 +02:00
djmaze
7621ecbf2a improve 2fa plugin 2021-04-14 15:24:57 +02:00
djmaze
c30de83da9 Merge branch 'master' into plugin-2fa 2021-04-14 14:38:13 +02:00
djmaze
e112d1fd70 Change and document plugins hook system 2021-04-14 14:30:42 +02:00
Edward Betts
7f0b8f44ba
Correct spelling mistake 2021-04-14 09:27:45 +01:00
djmaze
54d2fb93cc Prepare more 2fa data 2021-04-14 10:11:09 +02:00
djmaze
3c8d01a882 There's no CSS .i18n-animation
It was only used by jQuery.letterfx in RainLoop
2021-04-14 09:24:23 +02:00
djmaze
5055406112 Resolved more CardDAV issues for #79 2021-04-13 23:15:13 +02:00
djmaze
910e7fbfd5 Improved #79 2021-04-13 17:25:36 +02:00
djmaze
89107387d5 Improved #81 2021-04-13 14:11:17 +02:00
djmaze
d9bab28bfe #84 as plugin 2021-04-13 11:42:06 +02:00
djmaze
84f3a7dd77 Less <span data-i18n=""> is reduced DOM profit 2021-04-13 10:07:37 +02:00
djmaze
971fbcd1bc https://github.com/the-djmaze/snappymail/issues/76#issuecomment-817305174 2021-04-12 22:02:06 +02:00
djmaze
09924ff7c8 v2.5.0-rc.3 2021-04-12 21:54:03 +02:00
djmaze
f475510b37 Merge branch 'no-2fa' 2021-04-12 21:36:06 +02:00
djmaze
ca9b8c8c7f Drop additionalCode for #84 2021-04-12 21:35:36 +02:00
djmaze
a300824999 Merge branch 'no-2fa' 2021-04-12 19:46:28 +02:00
djmaze
15554af027 remove unused ChangePassword trait actions 2021-04-12 19:46:07 +02:00
djmaze
63f10f9e9b remove unused showScreenPopup 2021-04-12 19:45:33 +02:00
djmaze
48fa1a1fdc Drop 2FA, read #84 2021-04-12 19:15:33 +02:00
djmaze
ca59c21602 Bugfix: translator "undefined" 2021-04-12 16:30:39 +02:00
djmaze
3a36094be7 #84 "The backup codes cannot be copy-pasted from the text area." 2021-04-12 16:09:33 +02:00
djmaze
b49db9214c https://github.com/the-djmaze/snappymail/issues/79#issuecomment-817808571 2021-04-12 15:24:16 +02:00
djmaze
47a5b2e268 Enable curl for #79 2021-04-12 15:12:24 +02:00
djmaze
c5d4e5f395 Bugfix: chunked response error for #79 2021-04-12 14:38:13 +02:00
djmaze
bc36b10348 Bugfix: $result undefined for #79 2021-04-12 13:54:07 +02:00
djmaze
971bd70314 Attempt better debug for #79 2021-04-12 13:39:57 +02:00
djmaze
673815364f Resolve #81 2021-04-12 13:20:18 +02:00
djmaze
1069eca4da Resolve #83 2021-04-12 13:08:09 +02:00
djmaze
fa371e25bf Revamp language system for #82 2021-04-12 12:57:35 +02:00
djmaze
fa4d2ae9e0 Magyar and Svenska for #82 2021-04-10 15:09:37 +02:00
djmaze
173a75bdb2 https://github.com/the-djmaze/snappymail/issues/79#issuecomment-816903417 2021-04-10 12:20:20 +02:00
djmaze
cae85484fd Resolve #77 2021-04-09 17:07:33 +02:00
djmaze
0374ded776 Cleanup Contacts/AddressBook PDO settings 2021-04-09 17:06:17 +02:00
djmaze
275e5c5947 v2.5.0-rc.2 2021-04-09 13:27:24 +02:00
djmaze
6217d1cc49 Added spam score result for Bogosity 2021-04-09 11:50:57 +02:00
djmaze
478ba00321 Bugfix: can't access property "classNames", config is undefined 2021-04-09 11:02:28 +02:00
djmaze
b768459bec Strict \PDO::getAvailableDrivers() 2021-04-09 09:58:02 +02:00
djmaze
49e5a88daa Secure #79 2021-04-09 09:42:09 +02:00
djmaze
4ee905c568 Improvements for #79 2021-04-09 09:28:46 +02:00
djmaze
5f153aeb8d Return location header in error of #79
DAV[DATA]: PROPFIND /.well-known/carddav
INFO[NOTICE]: SnappyMail\HTTP\Exception: 301 Moved Permanently
2021-04-09 09:03:39 +02:00
djmaze
118d996d3c Support AUTH=LOGIN on IMAP 2021-04-09 09:02:32 +02:00
djmaze
3d10bbface Added SpamResult 2021-04-09 09:01:48 +02:00
djmaze
7fc279293c v2.5.0-rc.1 2021-04-08 16:02:41 +02:00
djmaze
168ee911b3 Added: Show spam score in % in message detailed info
Currently only for SpamAssassin and Rspamd
2021-04-08 15:56:46 +02:00
djmaze
8ef00edb86 Drop default admin password '12345'
Now generate one and store in 'data/_data_/_default_/admin_password.txt'
And instructions at https://snappymail.eu/install.html
2021-04-08 12:11:06 +02:00
djmaze
ff13ff688c Drop the use if Babel transcompiler 2021-04-08 10:03:16 +02:00
djmaze
c67d77bd57 MySQL use utf8mb4 instead of the old utf8 2021-04-08 09:26:25 +02:00
djmaze
89cbcf6f63 Remove unused properties and improved message view header 2021-04-07 16:35:46 +02:00
djmaze
8620df907e Bugfix: composer attachments hard to see in dark mode 2021-04-07 14:48:12 +02:00
djmaze
d99b15251f Improved image processor 2021-04-07 14:42:38 +02:00
djmaze
95d5e10268 space vs tab 2021-04-07 13:28:50 +02:00
djmaze
0a60c27e06 https://github.com/RainLoop/rainloop-webmail/issues/2087 2021-04-07 13:26:58 +02:00
djmaze
687afdef6a Resolve quota issue #75 2021-04-06 23:03:20 +02:00
djmaze
ebfc2a705b Replaced Sabre\DAV 2021-04-06 10:21:59 +02:00
djmaze
0127bdb2d8 Remove most of Sabre
No need for all DAV server code when only the Client is used
And replace Sabre\DAV\UUIDUtil with better SnappyMail\UUID
2021-04-02 13:01:11 +02:00
djmaze
66cb1a272c Rename 'SabreForRainLoop' to the normal 'Sabre' and update to 1.8.12
Will update later to v4.1.5+
2021-04-01 21:49:43 +02:00
djmaze
d2534b5ed9 Implemented: plugin CSS
RainLoop still had a TODO for implementing plugin CSS
This is now used by the CKEditor plugin
2021-04-01 21:01:35 +02:00
djmaze
94abf288ba Replace Imagine and PHPThumb with simple image processor
Simple version uses GMagick/IMagick else GD2
2021-04-01 12:34:01 +02:00
djmaze
fcc219cc07 Improved SASL 2021-04-01 09:48:42 +02:00
djmaze
e96ced3bde Bugfix: LOGINDISABLED is only for the LOGIN command 2021-04-01 08:17:02 +02:00
djmaze
bb836fdb59 Detect IMAP LOGINDISABLED capability
Enable IMAP SASL-IR capability
2021-03-31 23:01:03 +02:00
djmaze
f17609b442 Resolve #73 2021-03-31 22:59:06 +02:00
djmaze
65a302d87f Replace obsolete IDNA2 with php intl idn_to_*
https://www.php.net/intl.idn
And a modified Symfony\Polyfill\Intl\Idn when php intl is not available.
2021-03-31 17:42:50 +02:00
djmaze
581c89d502 Cleanup unused properties 2021-03-30 11:48:22 +02:00
djmaze
5cb150a744 Prepare mailbox routing for new feature 2021-03-30 10:58:24 +02:00
djmaze
b26e709b8f https://github.com/the-djmaze/snappymail/issues/71#issuecomment-810013614 2021-03-30 10:18:31 +02:00
djmaze
eb69494f0c Resolve #71 2021-03-30 09:10:43 +02:00
djmaze
ba982edce7 v2.4.3 2021-03-29 22:31:51 +02:00
djmaze
1129db3f04 Improved #67 2021-03-29 22:05:35 +02:00
djmaze
b594f6f5fe Improved #69 2021-03-29 22:05:08 +02:00
djmaze
be855b36f1 Bugfix: SASL::factory() should not return void 2021-03-29 21:58:06 +02:00
djmaze
52abb3cf48 Bugfix: missed SASL commit 2021-03-29 21:54:55 +02:00
djmaze
389e473e22 Improved support for SCRAM-SHA-1 & SCRAM-SHA-256 2021-03-29 21:43:51 +02:00
djmaze
68d103b3c1 Added support for SCRAM-SHA-1 & SCRAM-SHA-256
https://github.com/RainLoop/rainloop-webmail/issues/1914
2021-03-29 20:51:14 +02:00
djmaze
d0dc257619 Support TLSv 1.3 where possible 2021-03-29 20:49:43 +02:00
djmaze
34efa2205c Properly backslash escape IMAP folder flags 2021-03-29 15:58:07 +02:00
djmaze
544d2272c8 Resolve #68 2021-03-29 15:52:37 +02:00
djmaze
5d09a14193 Bugfix: Previous commit didn't fix numeric indices 2021-03-29 15:51:46 +02:00
djmaze
135831b116 Drop root folders with \noselect flag
Like 'dovecot' which has 'dovecot.sieve' which has no emails
2021-03-29 14:21:47 +02:00
djmaze
5eb7c7515a Added feature request #69 2021-03-29 12:08:52 +02:00
djmaze
0dbc534305 Drop unused NullFolder 2021-03-29 09:38:18 +02:00
djmaze
ec03999f13 Merge branch 'sort-messagelist' 2021-03-27 16:04:16 +01:00
djmaze
64cf19746d Finish the sort feature 2021-03-27 16:02:48 +01:00
djmaze
7eeed62b09 Get sorting working for #67 2021-03-27 00:57:04 +01:00
djmaze
795275334c Issue #70 the error_log() is not needed anymore 2021-03-26 17:04:53 +01:00
djmaze
b0b27aff51 Resolve issue https://github.com/RainLoop/rainloop-webmail/issues/2037 2021-03-26 17:03:48 +01:00
djmaze
801e3f8e2b Resolve Issue #70 2021-03-26 16:47:28 +01:00
djmaze
52dadc46f3 Improve MailSo Imap ResponseException message 2021-03-26 15:58:10 +01:00
djmaze
864cca6ffd Dropped PHP73 branch 2021-03-26 15:07:46 +01:00
djmaze
883bf6b026 Start https://github.com/the-djmaze/snappymail/issues/67#issuecomment-806948346 2021-03-26 15:07:14 +01:00
djmaze
fd5940f5fc Bugfix: missing space between number and 'Bytes' 2021-03-25 16:51:54 +01:00
djmaze
59c1392b2c Added feature #67 2021-03-25 16:26:26 +01:00
djmaze
f26065bcc6 https://github.com/RainLoop/rainloop-webmail/pull/2075 2021-03-25 14:14:17 +01:00
djmaze
d1e55ff16e v2.4.2 2021-03-25 14:00:14 +01:00
djmaze
af3c79ce80 Moved CKEditor to be plugin 2021-03-25 13:35:15 +01:00
djmaze
240b0381f9 Cleanup *App classes 2021-03-25 10:54:40 +01:00
djmaze
673bd49095 Improvements for #62 2021-03-25 10:08:29 +01:00
djmaze
23e15fd161 Use own createElement() instead of doc.createElement 2021-03-25 09:38:45 +01:00
djmaze
7eaaa0a793 Upgrade i18n() to use Object.entries()
And replace quoted object keys to be without quotes
2021-03-24 21:26:40 +01:00
djmaze
fe4dbc729c Added isFunction() 2021-03-24 14:22:25 +01:00
djmaze
658ac816c8 Cleanup logoutReload() 2021-03-24 14:14:21 +01:00
djmaze
09f76d809b Show "Delete permenantly" in message menu
Because "shift + delete" also works.
2021-03-24 09:40:40 +01:00
djmaze
b2cfcd5d99 Improved sizing for #62 2021-03-23 23:52:17 +01:00
djmaze
057bcf5aa9 See issue #62 2021-03-23 23:46:25 +01:00
djmaze
b4ab5b891a replaced knockout hasfocus with autofocus="" 2021-03-23 22:57:40 +01:00
djmaze
650e962fdf Cleanup function folderListOptionsBuilder() 2021-03-23 22:45:30 +01:00
djmaze
36b66c3ec5 Bugfix: wrong fail2ban instruction 2021-03-23 22:04:27 +01:00
djmaze
644ded4311 Fix for github markdown view 2021-03-23 22:01:04 +01:00
djmaze
485848bdaf Added info about syslog, because question is asked in #66 2021-03-23 21:57:08 +01:00
djmaze
4bcfc81830 Small speedup/cleanup of some code 2021-03-23 14:48:34 +01:00
fdisamuel
c2fc21afed Google Document viewer and Managesieve Fixes
Make some changes in order to make work Google document viewer, and ManageSieve integration (tested only with PHP 7.4).
2021-03-23 12:14:38 +01:00
djmaze
cca0fc15da Added HTML5 form.reportValidity() to login screens
This improves browser feedback on form errors
2021-03-23 11:28:36 +01:00
djmaze
612aff4b27 Essential part for issue #64
Real drag & drop needs to be created.
2021-03-22 15:44:48 +01:00
djmaze
28d09c1a5d Bugfix: can't access property "setTrigger" 2021-03-22 15:20:59 +01:00
djmaze
f69b1195e6 Based on RainLoop discussion #2079,
i've added a security option to set Sender per Domain.
NOTE: Not tested yet
2021-03-22 14:17:18 +01:00
djmaze
10de3b8138 Added PHP 8 str_contains fallback
Clear cache folder on version change
Secure data folder with .htaccess
2021-03-22 13:51:38 +01:00
djmaze
490a706cc6 Bugfix: admin contactsType should be set before subscribables 2021-03-22 13:47:07 +01:00
djmaze
be66ab2ac8 Improved mobile and admin CSS 2021-03-22 13:46:03 +01:00
djmaze
f1b070b0a0 Resolve Issue #65 2021-03-21 22:14:24 +01:00
djmaze
07f5e60780 v2.4.1
Small layout bugfix
2021-03-19 10:14:56 +01:00
djmaze
2cf5fce562 Resolve Issue #61 2021-03-19 10:11:30 +01:00
djmaze
46531c7831 Bugfix and improve layout change handling 2021-03-19 10:09:30 +01:00
djmaze
407a69e100 v2.4.0 2021-03-18 16:28:06 +01:00
djmaze
d74f58393c Resolve Issue #52 2021-03-18 16:12:40 +01:00
djmaze
97d5f8762d Improve SettingsUserStore handling 2021-03-18 16:12:24 +01:00
djmaze
ce74b2e92f Cleanup more iError && data.Result 2021-03-18 14:48:21 +01:00
djmaze
87bee226b4 Easier refresh Folders 2021-03-18 13:52:56 +01:00
djmaze
11fd6736bb Set response ErrorCode as iError for easier fetch error handling 2021-03-18 12:33:13 +01:00
djmaze
a46c0c3b21 Put AppUserStore.currentAudio in AbstractSystemDropDownUserView 2021-03-17 10:09:10 +01:00
djmaze
676de1ed23 Simplify AppUserStore.contactsIsAllowed 2021-03-17 10:05:22 +01:00
djmaze
8157692a29 Bugfix: compose popup had two autosave timers 2021-03-17 10:03:57 +01:00
djmaze
845483d127 Bugfix: messagelist viewAppendArea failed to missing observableArray 2021-03-16 17:09:39 +01:00
djmaze
b7c02321fa Compress audio and clean links 2021-03-16 17:07:29 +01:00
djmaze
0b64083543 Array.isArray to isArray
Array.isNotEmpty to isNonEmptyArray
2021-03-16 16:49:14 +01:00
djmaze
986b8f056b prevent creation of _defineProperty() function 2021-03-16 16:08:01 +01:00
djmaze
eff92c3152 Cleanup AppUserStore
Simplify KeyState/Focused as Scope enum
2021-03-16 16:06:16 +01:00
Igor Valente Blackman
76ac8567cf
Add missing primary key to rainloop_system table
Signed-off-by: Igor Valente Blackman <igor.blackman@gmail.com>
2021-03-16 10:55:38 -03:00
djmaze
62cb918180 Removed AppAdminStore 2021-03-16 14:15:05 +01:00
djmaze
004eba6be2 Updated subscribables 2021-03-16 11:38:40 +01:00
djmaze
4b6f6b1bfc Move addObservablesTo, addComputablesTo & addSubscribablesTo to Common/Utils 2021-03-16 10:59:47 +01:00
djmaze
eda0ee695d Removed CapaAdminStore 2021-03-16 10:46:22 +01:00
djmaze
4a8d516123 Changed: StorageResultType to error result code 2021-03-16 09:46:23 +01:00
djmaze
be3ef15f8e Removed unused adminPing 2021-03-14 22:36:39 +01:00
djmaze
0345050344 Simplify DomainAdminStore, PackageAdminStore and PluginAdminStore 2021-03-14 22:36:23 +01:00
djmaze
bde4d147bb Cleanup Filters/Sieve capa 2021-03-14 12:15:48 +01:00
djmaze
a9785bc39c Better icon-spinner in dark theme 2021-03-12 23:56:39 +01:00
djmaze
87a56f5341 Cleanup eslint 2021-03-12 23:56:22 +01:00
djmaze
5a3745a8ca Resolved Issue #59 2021-03-12 23:55:33 +01:00
djmaze
6d16a533fe Resolved Issue #60 2021-03-12 23:54:47 +01:00
djmaze
9c14ba1b9d Remove messageVisibilityCommand 2021-03-12 17:08:58 +01:00
djmaze
227db0e0c3 Simplify MessageUserStore 2021-03-12 16:54:37 +01:00
djmaze
5e0f637b12 Removed unused detectDomBackgroundColor 2021-03-12 11:57:07 +01:00
djmaze
424167d43f Remove message background color detection.
It is useless without text color and breaks dark mode
2021-03-12 11:56:44 +01:00
djmaze
f9ded86221 When reply/sending e-mail:
- remove Microsoft Office styling
- remove HubSpot HTML attributes
2021-03-12 11:41:44 +01:00
djmaze
8b2d183f07 Bugfix: removeColors sometimes broke HTML elements 2021-03-12 11:24:48 +01:00
djmaze
6a454ec624 Convert user stores to single object instances
Removed unused ContactUserStore.exportingCsv and ContactUserStore.exportingVcf
2021-03-10 22:41:35 +01:00
djmaze
914c6e8d14 Improve messageview flag and info buttons/icons 2021-03-10 12:15:41 +01:00
djmaze
34b25eedea Improve Settings handling 2021-03-10 11:44:48 +01:00
djmaze
e7b1ce7509 Globalize message composer popup window 2021-03-10 11:43:23 +01:00
djmaze
5601e100d9 Bugfix: MouseEvent.which is not reliable 2021-03-10 09:43:31 +01:00
djmaze
56df186e8d v2.3.5 2021-03-09 16:13:19 +01:00
djmaze
bc2f30434b Remove/replace rl-mobile where possible 2021-03-09 15:51:29 +01:00
djmaze
59565275b1 Bugfix: allow any 'scheme:' uri 2021-03-09 14:50:43 +01:00
djmaze
bc360eccf9 Reduce more CSS 2021-03-09 14:50:09 +01:00
djmaze
eb9d2d8ddc Better messagelist item line height 2021-03-09 12:12:30 +01:00
djmaze
8a875670d9 Merged some light and dark theme mode style rules 2021-03-09 11:14:15 +01:00
djmaze
ab9e56f8b6 Reduce CSS footprint 2021-03-08 17:23:21 +01:00
djmaze
4570b87232 Solved some missed dark mode color issues 2021-03-08 15:46:15 +01:00
djmaze
e2d6528bf5 Bugfix: message threaded mode was broken (knockout computable requires call to observable) 2021-03-08 15:21:54 +01:00
djmaze
dade7756f8 Bugfix: Remove inactive/removed plugins from enabled_list 2021-03-08 12:22:49 +01:00
djmaze
6d0fa33022 Resolve Issue #51 2021-03-08 12:21:58 +01:00
djmaze
eb0d1ecccb CSS "dark mode" improvements 2021-03-06 23:13:46 +01:00
djmaze
e8deb4ff16 Remove capa.Folders and always allow mailbox folders 2021-03-06 10:07:54 +01:00
djmaze
1ac96c93d6 Improved responsive view
Removed unused CSS
2021-03-05 16:46:40 +01:00
djmaze
d351ee6367 Updated Squire to v1.11.1 2021-03-05 13:40:52 +01:00
djmaze
43e107b0cb Improved dark mode colors remover
Improved data-x-src:hover font-size
2021-03-05 11:44:13 +01:00
djmaze
b6d1df2f82 Improved Firefox Mobile drag&drop 2021-03-05 11:35:00 +01:00
djmaze
b86ad88472 Removed BaseCssClass 2021-03-05 10:40:14 +01:00
djmaze
addaede0df Improved password strength meter 2021-03-05 09:43:46 +01:00
djmaze
c538ebe174 improve admin plugin help-block design 2021-03-04 16:27:36 +01:00
the-djmaze
adce09712a
Merge pull request #54 from dominiquefournier/patch-1
Update index.php
2021-03-04 16:26:48 +01:00
the-djmaze
c36b2ed839
Merge pull request #57 from dominiquefournier/patch-4
Error: preg_match_all(): Unknown modifier 'g'
2021-03-04 16:26:38 +01:00
the-djmaze
7b6f9a3368
Merge pull request #58 from dominiquefournier/patch-5
Update index.php : $oConfig() -> $oConfig
2021-03-04 16:26:28 +01:00
dominiquefournier
986b424b5e
Update index.php : $oConfig() -> $oConfig 2021-03-04 15:27:07 +01:00
djmaze
fbd333cf4a Bugfix: allow space in password
Bugfix: throw ClientException on failure
See #51
2021-03-04 15:23:38 +01:00
dominiquefournier
ea1ce46f2d
Error: preg_match_all(): Unknown modifier 'g'
Error: preg_match_all(): Unknown modifier 'g'
2021-03-04 15:20:05 +01:00
djmaze
a528c93d47 Bugfix password plugin properties 2021-03-04 15:15:21 +01:00
djmaze
4d529a43b6 Use <input type="number"> for plugin property type INT 2021-03-04 15:14:47 +01:00
dominiquefournier
fcbebadccc
Update index.php
The second parameter remove the first one in admin part
2021-03-04 15:05:35 +01:00
djmaze
0c8c28fe41 Bugfix: Undefined property ChangePasswordPlugin::$oLogger 2021-03-04 14:54:35 +01:00
djmaze
a36cb17165 Issue #51
Added: visual password weakness meter
Bugfix: PasswordWeaknessCheck
2021-03-04 14:18:23 +01:00
djmaze
96ea4fdf0a Added config option for minimum passlength
Disable broken PasswordWeaknessCheck
See https://github.com/the-djmaze/snappymail/issues/51#issuecomment-790582737
2021-03-04 13:51:21 +01:00
djmaze
72988972a7 Bugfix: Undefined variable oAccount
https://github.com/the-djmaze/snappymail/issues/51#issuecomment-790419644
2021-03-04 12:20:06 +01:00
djmaze
ab3313faf6 Updated readme regarding Phar 2021-03-04 12:16:50 +01:00
djmaze
a1ad4a8f27 Improve plugin Description/README functionality 2021-03-04 12:15:11 +01:00
djmaze
1e13725768 Added: support plugins als .phar files 2021-03-04 11:56:26 +01:00
djmaze
46ff83c41d Bugfix: plugin "readme" failed
Removed: plugin PreInit
2021-03-04 11:55:42 +01:00
djmaze
93b1159a50 Replaced RainLoop with SnappyMail 2021-03-03 23:15:34 +01:00
the-djmaze
f859538203 Update issue templates 2021-03-03 23:14:06 +01:00
djmaze
a21147e234 https://github.com/the-djmaze/snappymail/issues/51#issuecomment-790085303 2021-03-03 22:50:13 +01:00
djmaze
514fe02619 v2.3.4 2021-03-03 11:53:11 +01:00
djmaze
8e6f4d20d0 Cleanup gecko mobile drag&drop 2021-03-03 11:16:39 +01:00
djmaze
e770f28949 Added: support for real Fullscreen 2021-03-03 11:16:02 +01:00
djmaze
1a5bc09bb3 Reduce amount of folder timers and improve autoLogout 2021-03-02 17:39:02 +01:00
djmaze
b8fd3df2e6 Issue #51 check if PDO is supported 2021-03-02 14:33:11 +01:00
djmaze
25958cd87a ChangePasswordDriverLDAP, see https://github.com/the-djmaze/snappymail/issues/51#issuecomment-788851329 2021-03-02 14:30:24 +01:00
djmaze
c0e61bb0a2 Issue #51 added getSupportedDrivers() 2021-03-02 14:23:45 +01:00
djmaze
4d80671bf3 Improve Issue #51 2021-03-02 12:35:41 +01:00
djmaze
f741ce7b93 Cleanup plugin manager 2021-03-02 12:24:19 +01:00
djmaze
93f371e0ff Added PDO driver to the change-password plugin 2021-03-02 12:23:50 +01:00
djmaze
0fa0b975ef Bugfix: plugin config failed 2021-03-02 09:51:52 +01:00
djmaze
bba0ac150a Moved the change-password plugin language strings 2021-03-01 12:42:34 +01:00
djmaze
820994e69e Bugfix: plugin master jsonResponse() invalid return value 2021-03-01 00:53:25 +01:00
djmaze
fb03687528 Revamp Issue #51 to make the whole "change password" thing a plugin 2021-03-01 00:52:46 +01:00
djmaze
3426921c9d Improved Fetch error handling 2021-02-25 10:12:48 +01:00
djmaze
1a82dde49b https://github.com/the-djmaze/snappymail/issues/51 2021-02-24 22:03:14 +01:00
djmaze
65b508364a v2.3.3 2021-02-24 11:01:10 +01:00
djmaze
0696e20878 Bugfix: improved firefox mobile draggable solution 2021-02-24 10:41:24 +01:00
djmaze
ae3bab4b35 Improve dark mode for message attachments 2021-02-24 01:54:27 +01:00
djmaze
a1f4daff3a Remove colors from <pre> and <code> to prevent proper working of "dark mode" 2021-02-24 00:51:05 +01:00
djmaze
2982027dd2 Made SquaresDark theme really dark.
Due to that, e-mails with incorrect background/color settings are unreadable.
So a new feature in the settings is there to remove colors from messages.
Not perfect yet, but it works.
2021-02-24 00:17:53 +01:00
djmaze
fac36e828b Cleanup Squire and Knockout with help of Chromium Code Coverage
Bugfix: Squire inlineNodeNames the 'I' tag was missing
Improved: Squire style editing
2021-02-23 22:50:48 +01:00
djmaze
0158a5fe1e Improve Squire toolbar
Cleanup some JS code
2021-02-22 17:28:54 +01:00
djmaze
e52b9abc61 Cleanup more CSS and JS
and merge/cleanup/redesign composer attachments
2021-02-22 15:16:33 +01:00
djmaze
fe45179847 Cleanup some mobile modal screen sizes
And simplify the ko command bindinghandler to use CSS :enabled
2021-02-19 23:31:50 +01:00
djmaze
f673344408 Bugfix: canExecute not a function
Bugfix: _scopes.all is undefined
2021-02-19 19:39:04 +01:00
djmaze
bc64fe6d0d Use custom dropdown icon on <select> 2021-02-19 14:40:13 +01:00
djmaze
158991ed55 Improve Squire UI design 2021-02-19 12:11:20 +01:00
djmaze
540b12ed26 Replace babel command decorators with proper knockout command decorators 2021-02-19 12:09:20 +01:00
djmaze
b6d8fa5b3f Split admin css from app.css
Cleanup normalize and bootstrap css
Removed almost all css float
Removed CKEditor from app.css
2021-02-18 21:06:19 +01:00
djmaze
6dacfb3cf4 v2.3.2 2021-02-17 16:31:29 +01:00
djmaze
2c23955269 Improve font middle arrows
Simplify login spinner
2021-02-17 16:00:51 +01:00
djmaze
db0d03db83 Bugfix: conflicting File object with native JS
Cleanup: Stores and tooltips
2021-02-17 14:40:21 +01:00
djmaze
1df2e00862 Admin panel works in mobile view 2021-02-17 09:33:41 +01:00
djmaze
d7994ddab6 Revamp Mobile/Desktop switcher without completely reloading.
Remove switcher from login page, it became useless.
2021-02-16 20:12:23 +01:00
djmaze
292f3289ac Mobile view based on window width, drop terrible user agent detection
And improved responsive CSS
2021-02-16 14:40:11 +01:00
djmaze
33214c1a33 Improve desktop mode in mobile mode 2021-02-15 23:45:52 +01:00
djmaze
0d6335ed2c messagelist search without float
and remove some usePreviewPane
2021-02-15 20:05:51 +01:00
djmaze
b1c7bd2c50 Improve and cleanup isMobile 2021-02-15 16:05:38 +01:00
djmaze
10f9ce39d9 Revamp mobile including CSS flexbox for messageListItem 2021-02-15 15:20:22 +01:00
djmaze
6238b97f08 Improved messages disabled img design 2021-02-12 15:30:55 +01:00
djmaze
556ce13eac Bugfix: incorrect image glyph for disabled images 2021-02-12 15:20:26 +01:00
djmaze
8c33b17882 Bugfix: mailbox search pagination failed 2021-02-12 14:57:18 +01:00
djmaze
997e0561ad Rename inbox() to mailbox() because we select any mailbox folder 2021-02-12 14:56:16 +01:00
djmaze
65e9deda2a v2.3.1 2021-02-12 12:42:06 +01:00
djmaze
a2727c65fe Bugfix: messages list ArrowUp/ArrowDown broken 2021-02-12 12:00:06 +01:00
djmaze
c47ed18db9 Improved and cleanup CSS 2021-02-12 11:39:02 +01:00
djmaze
60e29fdd66 Improved folder glyph 2021-02-12 01:05:02 +01:00
djmaze
f1a3f54547 Fix menu dropdown icon (rainloop resized the font, not the glyph) 2021-02-11 21:07:40 +01:00
djmaze
e141ee8ea3 remove unused glyph from snappymail font 2021-02-11 20:15:07 +01:00
djmaze
4a8c9f8e18 Improved icon font view 2021-02-11 17:46:29 +01:00
djmaze
93738eac22 Improved snappymail font unicode points 2021-02-11 12:21:04 +01:00
djmaze
0f99147496 Drop unused i18n css class 2021-02-11 10:59:07 +01:00
djmaze
e55dc49e34 Cleanup some bootstrap css 2021-02-11 10:58:33 +01:00
djmaze
ce4ee3ba3f Revamp saveTrigger 2021-02-11 10:08:27 +01:00
djmaze
325f3c8eea Cleanup unused login error animations 2021-02-10 17:16:46 +01:00
djmaze
111455054e Speedup message bodies cache cleanup
Remove ko.bindingHandlers.link
2021-02-10 16:50:58 +01:00
djmaze
15631427b0 Use PharData to create Zip when ZipArchive is not available 2021-02-10 15:47:22 +01:00
djmaze
e3376c244e Bugfix: pagination failed because Crossroads routes with higher priority are added last 2021-02-10 13:12:27 +01:00
djmaze
354337f174 Cleanup messagelist design 2021-02-10 12:13:17 +01:00
djmaze
8c780ad353 Replace deprecated Knockout throttle with new debounce extender
Replace admin general mainAttachmentLimit with input type="number"
2021-02-10 12:12:36 +01:00
djmaze
75b7176ada Remove knockout evaluatorFunctionTarget
Drop deprecated knockout throttle extender
Added knockout debounce extender
2021-02-10 11:33:36 +01:00
djmaze
b9b0a550d6 Release plugins as tar.gz because PharData is more common then ZipArchive 2021-02-10 09:50:20 +01:00
djmaze
756bf86640 v2.3.0 2021-02-08 22:56:18 +01:00
djmaze
6691a3f889 Remove &nbsp; 2021-02-08 22:43:53 +01:00
djmaze
3fa9bc6963 Speedup messagelist hasCheckedOrSelectedLines 2021-02-08 22:04:24 +01:00
djmaze
57158bd55a Less float & less html is mobile view profit 2021-02-08 21:19:58 +01:00
djmaze
004378ed8c Merge and cleanup more CSS rules 2021-02-08 17:37:21 +01:00
djmaze
e3e0474be2 Bugfix and cleanup CSS even more 2021-02-08 14:03:54 +01:00
djmaze
badf422178 Cleanup more CSS 2021-02-07 21:10:05 +01:00
djmaze
48424e213b Allow themes in mobile mode
Cleanup themes and drop the template.less
2021-02-06 23:37:53 +01:00
djmaze
4f1fc5f44b Cleanup more css themes 2021-02-05 20:48:36 +01:00
djmaze
43c4293330 Cleanup some css and remove a float 2021-02-05 15:56:15 +01:00
djmaze
5e9941d58f Also convert template body-background-image to var()
And cleanup more CSS
2021-02-05 15:31:42 +01:00
djmaze
d9bece04b2 Revamp CSS template system using var() feature 2021-02-05 10:42:20 +01:00
djmaze
92bbaadbf3 bugfix: changed css broke spinner querySelector 2021-02-04 22:47:38 +01:00
djmaze
f08dfac99d Cleanup fontastic 2021-02-04 17:52:46 +01:00
djmaze
192f76c08a Drop gulp-autoprefixer and cleanup boot process 2021-02-04 15:03:11 +01:00
djmaze
b26586f2ba Cleanup Crossroads & Hasher and dropped Signals 2021-02-04 12:54:03 +01:00
djmaze
32c3f1f059 Cleanup links 2021-02-04 11:25:00 +01:00
djmaze
6a92912a3d Bugfix: Inputosaurus modifications got broken.
Replaced completely with EmailAddressesComponent
2021-02-03 23:36:36 +01:00
djmaze
b0e3020aab Bugfix: inputosaurus failed due to changes 2021-02-03 12:55:49 +01:00
djmaze
88b0bc1a25 Made some updates for https://github.com/the-djmaze/snappymail/issues/49 2021-02-02 16:36:40 +01:00
djmaze
6c9b7dbe58 v2.2.2
You wanna call me up? Take my number down. It's 222-2222
https://www.youtube.com/watch?v=6-JOVXZePQk&t=1m15s
2021-02-02 14:28:23 +01:00
djmaze
5001dcc4d8 'use strict' already in libs.js 2021-02-02 14:10:48 +01:00
djmaze
8b1a7f39df Found the round npm module to get rollup working in gulp 2021-02-02 13:54:48 +01:00
djmaze
90ee39b114 Improve switching of wysiwyg/plain composer 2021-02-02 12:23:32 +01:00
djmaze
cd2b3ace89 This should not be enabled yet.
https://github.com/the-djmaze/snappymail/issues/49#issuecomment-768606552
2021-02-01 23:08:53 +01:00
djmaze
b015454b02 Cleanup unused CSS 2021-02-01 22:54:19 +01:00
djmaze
ebe2c0536f Bugfix: compose mail select contacts for cc/bcc failed
Cleanup: Inputosaurus and Knockout
Change: Knockout domData now uses WeakMap
Replaced: Knockout domManipulation with a documentFragment
2021-02-01 14:34:24 +01:00
djmaze
fe7c7fede4 Updated npm and yarn 2021-01-27 17:07:07 +01:00
djmaze
aa05f10629 v2.2.1 2021-01-27 12:02:37 +01:00
djmaze
3983932bc0 Bugfix and cleanup rollup based javascript even more 2021-01-27 10:59:15 +01:00
djmaze
7ccc44616d Small code cleanups and fix translations 2021-01-27 00:26:31 +01:00
djmaze
b31bf3d7f5 Improved js minification 2021-01-26 11:46:30 +01:00
djmaze
8884adcb72 Update README about webpack replaced with rollup 2021-01-25 23:50:39 +01:00
djmaze
a1c994e6ab Merge branch 'master' into webpack2rollup 2021-01-25 22:30:23 +01:00
djmaze
d23689dae8 Bugfix: invalid template id's
And cleanup strings
2021-01-25 22:29:55 +01:00
djmaze
ad8fd8879b This version uses Rollup instead of WebPack.
Due to that the code is smaller and has changes to prevent Circular Dependencies
2021-01-25 22:00:13 +01:00
djmaze
5e63ade9dd Bugfix: i made a translation bug in v2.2.0
Cleaned it up
2021-01-24 23:03:06 +01:00
djmaze
f3bfa0e8c1 Cleanup and split Enums 2021-01-24 22:58:06 +01:00
djmaze
864da66b5f Replace viewDecorator and popupDecorator with proper AbstractView classes 2021-01-24 10:25:23 +01:00
djmaze
51958babba v2.2.0 2021-01-22 17:41:46 +01:00
djmaze
c8a85bf67e Bugfix for webpack cleanup 2021-01-22 17:29:01 +01:00
djmaze
23d7fecd22 Improve Sieve Scripts editor layout 2021-01-22 16:45:12 +01:00
djmaze
1535dd00f1 cleanup webpack export references 2021-01-22 16:32:08 +01:00
djmaze
b1e066d4a7 Bugfix: wrong translation change 2021-01-22 14:47:12 +01:00
djmaze
b6f0b634fb Cleanup calls to Knockout observableArray
Improved Knockout observableArray
2021-01-22 12:23:20 +01:00
djmaze
fa5476e486 Added support for 'length' property to Knockout observable 2021-01-22 09:46:04 +01:00
djmaze
d4f8712c1e Updated readme 2021-01-21 17:37:41 +01:00
djmaze
a28b5c2b6c Cleanup and deduplicate languages 2021-01-21 17:21:19 +01:00
djmaze
67db19ec80 Added sieve activate/delete script error notifications 2021-01-21 11:00:42 +01:00
djmaze
ea56397c3b Improved handling of sieve script changes 2021-01-21 10:39:19 +01:00
djmaze
14ba459d46 Always allow raw editing of Sieve scripts 2021-01-21 10:00:12 +01:00
djmaze
3ed7b53f68 Bugfix: don't push existing SieveScript on scripts stack 2021-01-20 15:34:33 +01:00
djmaze
6f36d4b906 Added sample code for sieveparser branch 2021-01-20 14:57:59 +01:00
djmaze
dd9f277ccf Split collectionToFileString() from SieveStorage to Sieve
Converted SieveStorage fileStringToCollection() to JavaScript sieveScriptToFilters()
Drop the old filtersSave()
2021-01-20 14:52:20 +01:00
djmaze
d9118fbf90 Bugfix: saveError undefined, should be serverError
Bugfix: dot should be comma
2021-01-20 12:04:27 +01:00
djmaze
ca91a6e408 drop sieve parser from sievescripts branch 2021-01-20 11:43:03 +01:00
djmaze
2024088ea0 Merge branch 'master' into sieveparser 2021-01-20 11:24:30 +01:00
djmaze
fb2feacfe9 Cleanup languages 2021-01-20 11:24:06 +01:00
djmaze
d4d6d73306 Bugfix: filters toggle failed because it was no observable 2021-01-20 11:00:13 +01:00
djmaze
c7d6426c88 Added: rainloop.user filters to sieve script 2021-01-20 10:10:59 +01:00
djmaze
76bc8aa107 Disable removal of rainloop.user script 2021-01-19 17:42:38 +01:00
djmaze
ee37ad67bb Enable add/delete of Sieve scripts 2021-01-19 16:59:43 +01:00
djmaze
1a07109d80 Bugfix: auto-add missing sieve scripts 2021-01-19 16:12:18 +01:00
djmaze
e3125ebfff Get a working Sieve scripts manager 2021-01-19 16:01:30 +01:00
djmaze
a31834458b More improvements to view Sieve Scripts. 2021-01-18 23:52:15 +01:00
djmaze
d1f9249ac1 Merge branch 'master' into sieveparser 2021-01-18 23:01:40 +01:00
djmaze
141e68f686 updated npm and cleanup gulp tasks 2021-01-18 23:01:21 +01:00
djmaze
e093388016 Merge branch 'master' into sieveparser
# Conflicts:
#	snappymail/v/0.0.0/app/templates/Views/User/SettingsFilters.html
2021-01-18 17:13:43 +01:00
djmaze
a80b17e011 Centralize CSS for confirm delete buttons and grab handles 2021-01-18 17:11:53 +01:00
djmaze
61c3da14b4 Draft of new Filters design 2021-01-18 16:47:10 +01:00
djmaze
cd504ffa4b Merge branch 'master' into sieveparser 2021-01-18 11:21:58 +01:00
djmaze
267b744ef3 Bugfix: wrong naming CHANGES_NEED_TO_BE_SAVED_DESC 2021-01-18 11:21:44 +01:00
djmaze
1101c9cd81 Merge branch 'master' into sieveparser 2021-01-18 10:14:04 +01:00
djmaze
471881820b html entities to utf-8 2021-01-18 10:13:40 +01:00
djmaze
e7da264f4b Merge branch 'master' into sieveparser 2021-01-18 09:36:41 +01:00
djmaze
868d6b93b0 Bugfix: wrong HTML structure 2021-01-18 09:35:44 +01:00
djmaze
95d061d601 Merge branch 'master' of github.com:the-djmaze/snappymail 2021-01-18 09:27:54 +01:00
djmaze
21e5d3733a Found a small word breaking bug in sieve raw filters editor 2021-01-18 09:27:26 +01:00
djmaze
d36b4a4999 Merge remote-tracking branch 'upstream/master' v1.15 2021-01-18 09:25:37 +01:00
RainLoop Team
c519184f3e release 1.15.0 2021-01-16 23:04:12 +03:00
RainLoop Team
5e3bce7778 CI 2021-01-16 22:59:17 +03:00
RainLoop Team
bb328898fe CI 2021-01-16 22:54:10 +03:00
RainLoop Team
8829ce75db CI 2021-01-16 22:51:36 +03:00
RainLoop Team
b5bdbf754d CI 2021-01-16 22:44:23 +03:00
RainLoop Team
7db1498bb9 CI 2021-01-16 22:36:35 +03:00
RainLoop Team
9b362569ff CI 2021-01-16 22:28:58 +03:00
RainLoop Team
bda7921c1d CI 2021-01-16 22:07:35 +03:00
RainLoop Team
8ebaa0aab8 CI 2021-01-16 22:07:24 +03:00
RainLoop Team
45a6671303 CI 2021-01-16 22:02:16 +03:00
RainLoop Team
4f20aacf60 CI 2021-01-16 21:55:54 +03:00
RainLoop Team
6994837567 CI 2021-01-16 21:47:08 +03:00
RainLoop Team
71748040be CI 2021-01-16 21:36:03 +03:00
RainLoop Team
e6901bca4a CI 2021-01-16 21:28:45 +03:00
RainLoop Team
37168c0c7a CI 2021-01-16 21:25:02 +03:00
RainLoop Team
55915e56d8 CI 2021-01-16 21:13:29 +03:00
RainLoop Team
4aa8f9b3aa CI 2021-01-16 21:06:23 +03:00
RainLoop Team
e2927666ee CI 2021-01-16 20:55:27 +03:00
RainLoop Team
6de6c783a2 CI 2021-01-16 20:50:43 +03:00
RainLoop Team
ffe01fb91f CI 2021-01-16 20:44:01 +03:00
RainLoop Team
e735c1bbb7 CI 2021-01-16 20:35:44 +03:00
RainLoop Team
a197e257aa CI 2021-01-16 20:21:25 +03:00
RainLoop Team
310efddcb7 CI 2021-01-16 19:33:31 +03:00
RainLoop Team
cc6648bd9c Update CI 2021-01-16 19:26:17 +03:00
RainLoop Team
18497e0a3a Update CI 2021-01-16 18:58:33 +03:00
RainLoop Team
e941ed34b7 Update CI 2021-01-16 18:31:39 +03:00
RainLoop Team
8e32400740 Update CI 2021-01-16 18:27:07 +03:00
RainLoop Team
3c364a8f38 Update CI 2021-01-16 18:21:58 +03:00
RainLoop Team
c1254c94a9 Update CI 2021-01-16 18:15:57 +03:00
RainLoop Team
fed76e16ac Update CI 2021-01-16 18:10:54 +03:00
RainLoop Team
20e0c1417d Add github action 2021-01-16 17:51:14 +03:00
djmaze
73e26d388a Added: rfc5233
Activate: comparator
Bugfix: StringList must use .toString()
Bugfix: redirect command
Bugfix: MultiLine
2021-01-15 16:09:03 +01:00
djmaze
3566f4a538 Added rfc5183, rfc5229, rfc5260 and rfc5293
Make comparator and match_type available for all Test classes

Signed-off-by: djmaze <djmaze@djmaze.lan>
2021-01-15 14:35:16 +01:00
djmaze
3ce123b536 Added RFC5231 check 2021-01-15 12:12:56 +01:00
djmaze
eb369ca122 Added rfc6609 2021-01-15 12:11:13 +01:00
djmaze
68fc9f21bd Centralize some argument parsing
Improved parser error handling
Fix Sieve Vacation extension
2021-01-15 11:34:16 +01:00
djmaze
55178016a0 Solve some comparators 2021-01-15 00:32:04 +01:00
djmaze
43c669e629 Added draft code for handling "require []" 2021-01-15 00:14:45 +01:00
djmaze
d9865e3a46 Simplify Sieve Parser and added RFC5235 2021-01-14 23:42:46 +01:00
djmaze
22964f1fde More improvements and fixes based on test scripts 2021-01-14 17:50:23 +01:00
djmaze
0aafce4214 More Sieve parser improvements after doing 'if not' test 2021-01-14 16:38:26 +01:00
djmaze
2786d0d959 Not perfect but it can parse the rainloop script to a tree and back to string 2021-01-14 12:45:51 +01:00
djmaze
b2e77f3f67 Draf of Sieve parser/lexer for a new Sieve GUI 2021-01-13 21:23:19 +01:00
djmaze
e023a5d6ab Prepare Sieve Filtering feature for advanced editing/handling 2021-01-06 01:06:16 +01:00
djmaze
4e1722560f Cleanup Logger and bugfix its __phpErrorHandler 2021-01-05 13:59:55 +01:00
djmaze
fa7ea413dc Cleanup AbstractFetch
and added fetchJSON mockup code for error handling regarding issue #49
2021-01-05 13:58:50 +01:00
djmaze
4723e1241e Use ReflectionClass instead of static $aMap 2021-01-04 21:47:28 +01:00
djmaze
0d13484cdc Cleanup and simplify i18n code
There's no need for I18N_NOTIFICATION_DATA and I18N_NOTIFICATION_MAP
Also bugfix: NEW_PASSWORD_FORBIDDENT => NEW_PASSWORD_FORBIDDEN
2021-01-04 12:08:41 +01:00
djmaze
950579c7f5 Rename 'ajax' to 'json' because we don't use XML
We use json as response
2020-12-30 15:50:47 +01:00
djmaze
76cf24f426 Bugfix: Undefined property: MailSo\Log\Drivers\File::$DateTimeZone
Found in issues #49
2020-12-30 15:13:56 +01:00
djmaze
e234a5864c cleanup SieveStorage namespaces 2020-12-30 15:13:12 +01:00
djmaze
2e836062b9 Merge branch 'master' of github.com:the-djmaze/snappymail 2020-12-27 10:14:58 +01:00
the-djmaze
3d5f165040
Merge pull request #48 from wegood9/patch-1
Update translation
2020-12-26 13:39:44 +01:00
pathC
2b8066ce12 Added Chinese translation 2020-12-26 05:14:38 +00:00
pathC
04eb22e4a9 Removed unused strings in language files 2020-12-26 05:13:54 +00:00
djmaze
662eb59d40 Cleanup spl_autoload and use native autoloader (lowercase)
Rename lessphp for default autoloader
2020-12-18 21:03:01 +01:00
djmaze
1cf7344ef5 Prepare \MailSo\Base\HtmlUtils::ClearHtml for improvements 2020-12-18 11:11:54 +01:00
djmaze
9f9685b4eb v2.1.1 2020-12-10 16:11:25 +01:00
djmaze
c358a73766 Bugfix RainLoop#2041 2020-12-10 15:50:24 +01:00
djmaze
b09c5d586c Resolve https://github.com/the-djmaze/snappymail/issues/45 2020-12-10 15:50:05 +01:00
djmaze
324c7121cc Added more comment to displaySpecSetting 2020-12-10 14:22:46 +01:00
djmaze
d34729a1ae Resolve https://github.com/the-djmaze/snappymail/issues/47 2020-12-10 14:19:03 +01:00
djmaze
4321c11622 Some tiny changes 2020-12-09 22:42:04 +01:00
djmaze
21d3a9f401 Resolve https://github.com/the-djmaze/snappymail/issues/46
Issue from https://github.com/the-djmaze/snappymail/pull/40
And my own broken $upload_max_filesize
2020-12-09 22:40:21 +01:00
djmaze
54f3337f01 Changes for https://github.com/the-djmaze/snappymail/issues/47
* don't divide folder.interval time, it has no purpose
* up the limit to 10 folders per request
folder.checkable() is still broken
2020-12-09 22:30:57 +01:00
djmaze
b7f79db21c v2.1.0 2020-12-02 15:19:44 +01:00
djmaze
85b79bce4c Docker fix PHP max upload size because most SMTP servers limit 25MB 2020-12-02 14:58:31 +01:00
djmaze
3c598ef000 Rename NO_PREVIW to NO_PREVIEW
and cleanup Actions.php AppData()
2020-12-02 14:57:27 +01:00
djmaze
1c20cc6d13 Cleanup snappymail glyphs font 2020-12-02 14:31:06 +01:00
djmaze
bad981ea7b Bugfix: undefined sEncryptedString 2020-12-02 14:30:19 +01:00
djmaze
80a72d172e Added: hide login submit button to Admin Login settings screen 2020-12-02 14:30:02 +01:00
djmaze
2b8c259fe3 Bugfix: Config used invalid gettype() values 2020-12-02 11:55:54 +01:00
djmaze
755fcf43b7 Cleanup encryption methods
Removed asymmetric decryption/encryption because it is limited to key size.
openssl_seal/openssl_open would the choice when needed.
2020-12-02 11:25:11 +01:00
djmaze
605f3acbf4 Replaced sTimeOffset with sTimeZone to prevent DST issues 2020-12-02 10:16:46 +01:00
djmaze
849b1b9607 Suhosin is dead for PHP 7.3-8.0, remove it 2020-12-01 21:35:55 +01:00
djmaze
8d578dcec1 SignMeType::DEFAILT_* to SignMeType::DEFAULT_* 2020-12-01 21:20:50 +01:00
djmaze
9679b63b60 Change: Docker PHP 7.4 and drop old mcrypt and use xxtea 2020-11-30 19:13:00 +01:00
djmaze
7921975bd6 Merge branch 'FWest98-fw/docker' 2020-11-30 18:58:55 +01:00
djmaze
4d0276bb09 Added docker option for FWest98
Use as: `release.php --docker`
2020-11-30 18:58:20 +01:00
djmaze
0173d30619 Merge branch 'fw/docker' of git://github.com/FWest98/snappymail into FWest98-fw/docker 2020-11-30 18:52:26 +01:00
djmaze
b34fc5fda7 Merge branch 'master' of github.com:the-djmaze/snappymail 2020-11-30 10:50:49 +01:00
djmaze
13b41b44c0 Change: force CRLF due to hMailserver bug
https://github.com/the-djmaze/snappymail/issues/43
https://github.com/hmailserver/hmailserver/issues/357
2020-11-30 10:50:30 +01:00
the-djmaze
82d77febc3
Merge pull request #42 from FWest98/fw/fixldap
Added constructor to LDAP identities plugin
2020-11-28 19:14:23 +01:00
djmaze
892c1071f1 Resolve https://github.com/RainLoop/rainloop-webmail/pull/2016 2020-11-27 14:34:56 +01:00
djmaze
2a174d9114 Added font-display:swap to glyphs font
Since we use more correct unicode points, we improve performance score from 92% to 93%
2020-11-27 14:30:03 +01:00
djmaze
b57493bf0a Moved some font glyphs to their correct unicode code points
This improves visibility when webfonts are blocked (not downloaded).
2020-11-27 14:16:20 +01:00
Floris Westerman
0f30d33977
Added constructor to LDAP identities plugin
Without the constructor, SnappyMail would crash when using custom language features. This is now resolved.
2020-11-26 23:56:36 +01:00
Floris Westerman
71f4cc631e
Remove default postfix plugin from docker image 2020-11-26 15:18:48 +01:00
Floris Westerman
b301feee2f
Update gitignore 2020-11-26 15:14:51 +01:00
Floris Westerman
fcf2c2468d
Add better Docker development and prod support 2020-11-26 15:14:51 +01:00
Floris Westerman
e0462af9da
Fix release script to better support local development 2020-11-26 15:14:51 +01:00
djmaze
5633998f0f Small Lighthouse speedup from 90% to 92% 2020-11-26 12:35:15 +01:00
djmaze
0ba7374468 Implemented https://github.com/RainLoop/rainloop-webmail/issues/2041
Based on https://tools.ietf.org/html/rfc5173
2020-11-26 12:34:54 +01:00
djmaze
4adc672ccd Cleanup Login and removed the ancient obsolete <center> with small redesign
Also placed the loading description above the login form
2020-11-26 10:41:53 +01:00
djmaze
2047525ce6 Fix filename 2020-11-25 14:39:46 +01:00
djmaze
ebd32d8fad Don't allow plugins to modify login page 2020-11-25 14:38:16 +01:00
djmaze
4f8b07fe85 Remove more RainLoop standard/premium licensed code 2020-11-25 14:31:20 +01:00
djmaze
2a1ccc5d24 Resolve https://github.com/the-djmaze/snappymail/issues/37 2020-11-23 17:13:38 +01:00
djmaze
0474f29272 Bugfix: wrote a buggy fix for safari 2020-11-23 17:05:13 +01:00
djmaze
4986de6b93 Bugfix: Safari doesn’t fire the visibilitychange event as expected when visibilityState transitions to hidden 2020-11-23 16:44:34 +01:00
djmaze
1670ca0db1 Checked merge https://github.com/the-djmaze/snappymail/pull/40
Some small formatting changes for ldap identities
FWest98 accidentally removed `case 'suggestions': $mResult = [];` in fabrica?
2020-11-13 09:56:40 +01:00
djmaze
fb680596a6 Fix naming 2020-11-13 00:04:35 +01:00
the-djmaze
2c6618e793
Merge pull request #40 from FWest98/fw/ldapidentities
Add an LDAP identities provider
2020-11-12 23:29:14 +01:00
the-djmaze
222c51d61a
Merge pull request #39 from FWest98/fw/identities
Add a pluggable identity system
2020-11-12 23:29:00 +01:00
Floris Westerman
e46c3b10ec
Fixing indentation 2020-11-10 11:52:55 +01:00
Floris Westerman
427d909783
Add early exit when no groups are configured 2020-11-10 11:52:55 +01:00
Floris Westerman
abe058943e
Add ldap identities plugin 2020-11-10 11:52:55 +01:00
Floris Westerman
6919a6a34f
Fixing indentation 2020-11-10 11:52:21 +01:00
djmaze
b609c4b0c2 AudioContext undefined in Safari 13
Fix for https://github.com/the-djmaze/snappymail/issues/37
2020-11-10 10:25:02 +01:00
djmaze
cd52d9ae6c More improvements for https://github.com/the-djmaze/snappymail/issues/37 2020-11-10 09:59:56 +01:00
djmaze
b3b8c97b00 Cleanup some unused code 2020-11-10 09:29:00 +01:00
djmaze
f706e14a2f More changes for https://github.com/the-djmaze/snappymail/issues/37
Notifications were hardcoded disabled for mobile.
2020-11-10 09:28:33 +01:00
Floris Westerman
1c63287243
Fixed some bugs 2020-11-09 21:46:22 +01:00
djmaze
542d9c91e9 Changes for https://github.com/the-djmaze/snappymail/issues/37
Testing van be done at https://snappymail.eu/demo/
2020-11-09 20:14:04 +01:00
Floris Westerman
5414ec542d Add pluggable identity system 2020-11-08 20:28:06 +01:00
djmaze
0ec37b7e90 Added: show fancy placeholder for external images 2020-11-05 10:40:02 +01:00
djmaze
2c40475bfa Bugfix: failed to set message data from dom 2020-11-05 10:38:17 +01:00
djmaze
ff2a557f1e v2.0.0 2020-11-05 00:00:13 +01:00
djmaze
cc04e42444 Bugfix: revivePropertiesFromJson always set observables 2020-11-04 23:57:37 +01:00
djmaze
65030bf8d8 Bugfix: Content Security Policy: Directive ‘frame-src’ has been deprecated. 2020-11-04 22:59:32 +01:00
djmaze
21fe3aa25c Added README to /data/ folder 2020-11-03 16:22:26 +01:00
djmaze
948663519e Cleanup js components 2020-11-03 16:11:04 +01:00
djmaze
65e1b58877 Hide Squire toolbar in mobile mode when not focused 2020-11-03 15:54:35 +01:00
djmaze
bdd68d0d8f improved knockout observableArray with all Array.prototype functions 2020-11-03 15:53:50 +01:00
Honza
02fb256456
This works also for CC and BCC 2020-11-02 23:11:15 +01:00
djmaze
6e84334b09 Resolve https://github.com/the-djmaze/snappymail/issues/34 2020-10-31 12:12:39 +01:00
djmaze
075762000b Resolve https://github.com/the-djmaze/snappymail/issues/32
Related https://github.com/the-djmaze/snappymail/issues/28
2020-10-30 16:59:52 +01:00
djmaze
4946feada3 Resolve https://github.com/the-djmaze/snappymail/issues/31 2020-10-30 16:46:18 +01:00
djmaze
4f21cda9cd Resolve https://github.com/the-djmaze/snappymail/issues/33 2020-10-30 16:42:01 +01:00
djmaze
9deb36ba3e Cleanup spl_autoload_register 2020-10-30 11:52:45 +01:00
djmaze
d0bcb5483a Changes for https://github.com/the-djmaze/snappymail/issues/30
And remove some memory cleanup due to issues with the Contacts view
2020-10-30 11:49:05 +01:00
djmaze
4e4ba12770 font/woff2 missing in .htaccess 2020-10-29 11:15:25 +01:00
djmaze
1d57a62ddd Dropped more unused knockoutjs code 2020-10-29 11:15:04 +01:00
djmaze
b79d9de1a0 Bugfix: i broke the user -> settings -> folders screen 2020-10-29 10:59:26 +01:00
djmaze
5a0215987a knockoutjs replaced slow obj.__proto__ with Object.setPrototypeOf() 2020-10-28 20:19:38 +01:00
djmaze
d49916731f replaced ko.utils.array* with native 2020-10-28 20:17:45 +01:00
djmaze
20b1e08c9b v2.0.0-rc3 2020-10-28 17:12:33 +01:00
djmaze
8a8d64a2c1 Resolve https://github.com/the-djmaze/snappymail/issues/28
Issue was incorrect filter param in createTreeWalker
2020-10-28 17:03:03 +01:00
djmaze
48769f0aca Resolve issue https://github.com/the-djmaze/snappymail/issues/27 2020-10-28 14:54:55 +01:00
djmaze
ff6fb41812 Remove more unused knockout code 2020-10-28 13:58:37 +01:00
djmaze
d0f5828751 Cleanup languages 2020-10-28 11:17:50 +01:00
djmaze
d1dfa227ae cleanup fontastic 2020-10-28 10:35:17 +01:00
djmaze
7db7d5545b Improved observables 2020-10-27 11:09:24 +01:00
djmaze
8d7e25fc7c Bugfix: subscribables should be created after computables 2020-10-26 14:44:34 +01:00
djmaze
f25d210f3e Solve menu arrow navigation
https://github.com/the-djmaze/snappymail/issues/22
2020-10-26 14:34:59 +01:00
djmaze
250caab957 Bugfix: create computable should be after property defines 2020-10-26 13:43:56 +01:00
djmaze
3eb6ab1ef7 Improved knockout observables management to prevent memory leaks 2020-10-26 12:54:03 +01:00
djmaze
b165a1de4f Added addComputables() to *Model 2020-10-25 14:14:14 +01:00
djmaze
22f606ea75 Bugfix: revamp MessageModel broke flags cache
And took the liberty to put all MessageFlagsCache functions into a class
2020-10-25 13:50:26 +01:00
djmaze
d7a4639d6b Prevent memory leaks in *Model 2020-10-25 11:46:58 +01:00
djmaze
48a9a03762 Removed fakeSpan from Inputosaurus and cleanup 2020-10-23 15:16:42 +02:00
djmaze
76c4f62186 Improved reviveFromJson() for *Model 2020-10-23 15:15:54 +02:00
djmaze
f4b2fddf5e Use more JsonSerializable 2020-10-21 22:44:32 +02:00
djmaze
500575dc32 Sync is already there
https://github.com/the-djmaze/snappymail/issues/24
2020-10-21 21:53:55 +02:00
djmaze
1c00a455f1 Bugfix: Terser keep_classnames
due to AbstractModel and AbstractCollectionModel
2020-10-20 19:54:10 +02:00
djmaze
188a40b196 Basic JSON object properties revival now handled by AbstractModel
This will be better for future use of JSON.stringify() and JSON.parse()
For now the difference between the PHP JSON being PascalCase and the JS object properties being camelCase is handled by AbstractModel
2020-10-20 17:39:00 +02:00
djmaze
53bf7c1d60 setFromJson was not called at reviveFromJson 2020-10-20 17:29:24 +02:00
djmaze
36fa52307f Added: knockout.js observable toJSON() 2020-10-20 15:39:14 +02:00
djmaze
3a315bc543 Bugfix: Contacts management failed
It had a strange array type structure and buggy
2020-10-20 15:37:06 +02:00
djmaze
0e3275599e More splitting of RainLoop/Actions.php 2020-10-20 12:23:53 +02:00
djmaze
2470f1add6 ContactProperty and FilterCondition use reviveFromJson 2020-10-20 10:27:00 +02:00
djmaze
9844c1882c Split RainLoop/Actions.php and use JsonSerializable 2020-10-19 22:09:25 +02:00
djmaze
8cd2bd46d8 Bugfix: relativetimeformat files should be js
because they have a function
2020-10-18 20:02:46 +02:00
djmaze
15e07a73e9 merge all Model JSON @Object parsers into a reviveFromJson() 2020-10-18 19:46:47 +02:00
djmaze
76648f04ae Cleaner CollectionModel code 2020-10-18 19:36:57 +02:00
djmaze
ddc866735c Drop unused sModelName 2020-10-18 19:19:45 +02:00
djmaze
7d89de2fdb CollectionModels reviveFromJson 2020-10-18 11:46:22 +02:00
djmaze
d747de7649 Revert my Squire node.remove() back to detach(node) and
Cleanup some code
2020-10-17 14:08:27 +02:00
djmaze
807c3696d4 Resolve https://github.com/the-djmaze/snappymail/issues/25 2020-10-17 13:57:47 +02:00
djmaze
b908d7b46f Resolve https://github.com/the-djmaze/snappymail/issues/26 2020-10-17 13:53:04 +02:00
djmaze
d0f686c657 Rename basefolder 'rainloop' to 'snappymail'
this prevents conflicts with original rainloop
2020-10-15 16:21:52 +02:00
djmaze
2655f5ea00 fix shortcuts description 2020-10-15 14:44:51 +02:00
djmaze
4806dc968d onkeypress is obsolete 2020-10-15 14:43:04 +02:00
djmaze
0dc093b35b Change for insecure images over http
See https://github.com/the-djmaze/snappymail/issues/16#issuecomment-707962963
2020-10-15 13:01:14 +02:00
djmaze
0528bcf911 Cleanup language loader 2020-10-15 12:59:56 +02:00
djmaze
b68d04aacd Bugfix: inboxFolderName was incorrect
You could have potentionally deleted INBOX and other issues
2020-10-15 12:23:11 +02:00
djmaze
3bfe2c67d1 Droppped momentjs in favor of Intl
Uses a fallback for Intl.RelativeTimeFormat in Date.prototype.fromNow
2020-10-15 10:45:18 +02:00
djmaze
6f585e1f1d Use Intl.DateTimeFormat instead of momentjs where we can
Need to solve the Intl.RelativeTimeFormat to drop momentjs
2020-10-15 00:26:40 +02:00
djmaze
a177081224 Bugfix: container.remove() is not a function 2020-10-14 19:18:10 +02:00
djmaze
3db8befbba fontastic use woff2 and drop ttf and svg 2020-10-14 19:17:40 +02:00
djmaze
1d6a636433 Split Common/Utils.js
Because admin app doesn't need most of them
2020-10-14 19:16:37 +02:00
djmaze
167e323c72 Bugfix for https://github.com/the-djmaze/snappymail/issues/15#issuecomment-706213859 2020-10-13 15:23:34 +02:00
djmaze
e02deee4f1 Make touchstart/touchmove events passive 2020-10-13 15:16:57 +02:00
djmaze
cc046907ed ko.utils.unwrapObservable => ko.unwrap 2020-10-13 14:56:45 +02:00
djmaze
1e735bf4a9 Drop unused Knockout functionality
Especially dropped memoization for improved speed.
2020-10-13 14:56:23 +02:00
djmaze
e7975d4f82 Bugfix: Knockout 'with:' used on 1 place 2020-10-13 10:15:50 +02:00
djmaze
0eba94f671 Drop AbstractAppStore and
put the properties/observables where they belong
2020-10-12 19:46:41 +02:00
djmaze
917dfa732e Template should also be renamed from Pagenator to Paginator 2020-10-12 18:29:16 +02:00
djmaze
cb9e393fbc Pagenator should be Paginator 2020-10-12 15:11:25 +02:00
djmaze
8bb05b41ce Bugfix: bootstrap dopdown undefined eventTarget.getAttribute 2020-10-12 15:04:11 +02:00
djmaze
527694f361 Replace bootstrap .divider with cleaner .dividerbar which also reduces knockout calls 2020-10-12 15:03:45 +02:00
djmaze
c2a5d0fda5 ko hidden: use html5 hidden attribute
ko visible: rollback to use style.display
2020-10-11 11:59:36 +02:00
the-djmaze
52e6b9b0ed
Knockout visibleHidden to HTML5 2020-10-11 00:27:45 +02:00
djmaze
267426b07d Resolve https://github.com/the-djmaze/snappymail/issues/23 2020-10-09 17:12:56 +02:00
djmaze
4177467f81 Bugfix: '`' backtick shortcut being dead key
* remove 'Insert' key from class Selector and bugfix Selector ' ' space.
* replace 'M' (move) shortcut with 'Insert' (like: insert into)
* '`' backtick being dead key shortcut with 'M' and 'ContextMenu' keys.
2020-10-09 15:00:26 +02:00
djmaze
e0f5849de6 v2.0.0-rc2 2020-10-09 13:00:23 +02:00
djmaze
993d4c31cc Update knockout-latest.debug.js 2020-10-09 12:45:55 +02:00
djmaze
92836117ee Bugfix: put back the knockout bindings if/ifnot as they are in use 2020-10-09 12:44:39 +02:00
djmaze
ba7ed497b2 Cleanup JS and better terser compression 2020-10-09 11:58:15 +02:00
djmaze
058217de02 Resolve https://github.com/the-djmaze/snappymail/issues/21 2020-10-09 11:04:35 +02:00
djmaze
ee23a5553e Resolve https://github.com/the-djmaze/snappymail/issues/22 2020-10-09 10:31:44 +02:00
djmaze
ac535b1d03 Remove more unused Knockout code 2020-10-09 10:20:22 +02:00
djmaze
07857a06a9 Cleanup knockout.js
- Remove AMD
- Manually removed closure-compiler polyfill for Object.entries
2020-10-05 13:46:19 +02:00
djmaze
72ed2b08b2 KnockoutJS to ES2015/ES6
TODO: use the new Proxy for ko.observable
2020-10-04 21:58:13 +02:00
djmaze
a0f8ac0dad Cleanup Date.fromNow() and friendlySize() 2020-10-03 14:02:33 +02:00
djmaze
2bd9528098 Clean message preview/print 2020-10-03 13:04:23 +02:00
djmaze
c3a2da65df Revamp array filtering
Replaced fakeMd5 with new Jua.randomId
Cleanup more code
2020-10-02 23:54:15 +02:00
djmaze
9992b20163 Merge file and mime code into simple Common/File.js 2020-10-02 14:44:29 +02:00
djmaze
cb2048f163 cleanup some code 2020-10-02 12:40:33 +02:00
djmaze
e566494a87 Bugfix: move messages button [Ctrl] copy method 2020-10-01 11:11:14 +02:00
djmaze
6c75dd12f8 Cleanup CSS and JS code 2020-10-01 11:10:40 +02:00
djmaze
0eea2cb5ad Modifications for https://github.com/the-djmaze/snappymail/issues/12 2020-09-30 17:11:06 +02:00
djmaze
cfdbe3251e Removed the DATA_IMAGE_USER_DOT_PIC
Because viewUserPic is always false due to the removed Gravatar feature
2020-09-30 16:10:01 +02:00
djmaze
98c6fa0675 Rename fail2ban syslog 'rainloop' to 'snappymail' 2020-09-30 14:31:12 +02:00
djmaze
0a95e2c6dc Cleanup constants 2020-09-30 14:07:03 +02:00
djmaze
87e214aef7 Drop unused RainLoop/Utils functions 2020-09-30 12:32:21 +02:00
djmaze
efcefbaf78 Cleanup CSS and drop bMobileDevice detection.
Touch devices can be any size and can use (bluetooth/usb-c mouse/keyboard) these days.
It's all about pixels and currently if the mode is mobile/no-mobile (this can be improved later).
2020-09-30 12:31:34 +02:00
djmaze
25b4c899d0 Removed country flags from language selection because country != language 2020-09-29 16:44:27 +02:00
djmaze
17575f19f0 Activated a working HTML5 Drag & Drop polyfill for the Firefox Mobile browser 2020-09-28 20:04:09 +02:00
djmaze
b8357fd739 Slight modification for https://github.com/the-djmaze/snappymail/issues/16
By default we use image proxy for privacy.
This does not solve mailing tracking for hidden "read" images
2020-09-28 19:18:09 +02:00
djmaze
d735893cd6 Added HTML5 Drag & Drop for Gecko/Firefox Mobile
Chrome does support dragstart and was fixed previously.
This is not active yet as i'm testing for touch issues.
2020-09-28 17:23:22 +02:00
djmaze
9b94265844 Resolve https://github.com/the-djmaze/snappymail/issues/17 2020-09-28 11:26:20 +02:00
djmaze
2d429297ad Resolve https://github.com/the-djmaze/snappymail/issues/18 2020-09-28 10:29:58 +02:00
djmaze
a1a413dca2 Modifications for https://github.com/the-djmaze/snappymail/issues/15 2020-09-28 09:51:12 +02:00
djmaze
35b531caac Resolve https://github.com/the-djmaze/snappymail/issues/20 2020-09-28 09:50:31 +02:00
djmaze
5b986b7bb0 Bugfix: Chrome 84 on Android only accepts text/plain in Drag & Drop 2020-09-27 12:04:47 +02:00
djmaze
344c478a45 Release v2.0.0-rc1 2020-09-26 12:25:57 +02:00
djmaze
c7054ff56c Resolve https://github.com/the-djmaze/snappymail/issues/14
There this works
2020-09-26 10:20:24 +02:00
djmaze
3a48cc8b7f Probably resolved issue #14
Could get some better improvements
2020-09-26 09:34:23 +02:00
m hagoort
5e7f531c7f Revamp shortcuts handler (not tested yet) 2020-09-26 00:02:29 +02:00
djmaze
31828b125f cleanup some orphan css 2020-09-25 17:42:40 +02:00
djmaze
e562ed159c Replace rainloop glyphs font with cleaned up snappymail glyph font 2020-09-25 17:42:14 +02:00
djmaze
8e73926725 Enable the packages/plugins 2020-09-24 21:38:55 +02:00
djmaze
4bb85e0926 Added funding file 2020-09-24 20:28:16 +02:00
djmaze
321b11e22d Updated Code of Conduct 2020-09-24 20:04:31 +02:00
djmaze
48971df2ad Partially found a solution for issue #12
But we shouldn't solve it the DIV way.
2020-09-24 16:24:35 +02:00
djmaze
a8ddeecb49 Improved Webkit and Gecko :empty selector.
But the real block level unfocusable bug is still not solved.
2020-09-24 16:11:46 +02:00
djmaze
fca5a0e290 Resolve https://github.com/the-djmaze/snappymail/issues/13 2020-09-24 15:38:49 +02:00
djmaze
0fde531dd3 Issue #12 has something todo with Webkit and Gecko
A DIV has no height, but we solve this with CSS :empty
It's not perfect because we can still not focus when there's no BR.
Will keep digging!
2020-09-24 15:13:33 +02:00
djmaze
4257d9ca78 Resolve https://github.com/the-djmaze/snappymail/issues/10 2020-09-24 15:08:57 +02:00
djmaze
d291716489 Cleanup some old browser support code in Squire 2020-09-24 13:01:07 +02:00
djmaze
62660b2026 Nope i didn't broke issue #4.
I need a coffee break.
2020-09-24 12:00:52 +02:00
djmaze
0a2149c60d Bugfix: i've broken some code from issue #4 2020-09-24 11:59:37 +02:00
djmaze
72780a885e Changed logo (the dots say 'snappy' in braille) 2020-09-24 11:52:24 +02:00
djmaze
f70d2c6884 Solved more problems of issues #4 2020-09-24 10:22:23 +02:00
djmaze
578131e22a Drop unavailable PDO drivers in admin contacts
Based on good feedback in issue #11 by @phsc84
2020-09-24 09:58:35 +02:00
the-djmaze
e174248463
Resolve issue #11
Actually the disabled was reversed
2020-09-23 22:31:19 +02:00
djmaze
0181d9645a Rebranding to SnappyMail because this fork of RainLoop has way too many changes to be compatible. 2020-09-23 17:23:04 +02:00
djmaze
98ba7e61aa Cleanup language files 2020-09-23 17:07:37 +02:00
djmaze
717d9208c7 Fix compressing to gzip and brotli 2020-09-23 15:12:22 +02:00
djmaze
749fe314aa v1.14.0-djmaze8 2020-09-23 14:49:43 +02:00
djmaze
3757324e32 Cleanup hash routing 2020-09-23 14:44:46 +02:00
djmaze
939eb0fd78 Found <nobr> this is obsolete, so drop it! 2020-09-23 13:36:17 +02:00
djmaze
7705b86857 Don't hide messagelist actions on mobile 2020-09-23 13:30:00 +02:00
djmaze
673f1bff79 Bugfix: inputosaurus revamp failed due to missing onChange handling 2020-09-23 13:07:44 +02:00
djmaze
39f39db447 Resolve https://github.com/the-djmaze/rainloop-webmail/issues/7 2020-09-23 12:18:36 +02:00
djmaze
1bb154d6f4 Bugfix: The ability to list more than one selector in :not() is experimental and not yet widely supported. 2020-09-23 11:48:08 +02:00
djmaze
38049e0eb9 Improve data security 2020-09-23 11:40:08 +02:00
djmaze
5457427fc1 prepearMessageAttachments => prepareMessageAttachments 2020-09-23 11:20:18 +02:00
djmaze
65032e3b89 Bugfix: CKEditor failed to load 2020-09-23 11:20:00 +02:00
djmaze
3599c4c745 Resolve https://github.com/the-djmaze/rainloop-webmail/issues/4 2020-09-23 10:28:05 +02:00
djmaze
302f2847b8 Resolve https://github.com/the-djmaze/rainloop-webmail/issues/8 2020-09-23 10:08:34 +02:00
djmaze
add9cb14aa Resolve https://github.com/the-djmaze/rainloop-webmail/issues/9 2020-09-22 21:37:15 +02:00
djmaze
460e2c2ea3 v1.14.0-djmaze7 2020-09-22 15:24:45 +02:00
djmaze
6c6a5dd03b Enable Squire by default and put CKEditor as option 2020-09-22 15:21:23 +02:00
djmaze
996c747e45 Bugfix: Squire setHTML failed with hidden exception 2020-09-22 15:03:14 +02:00
djmaze
843b186354 Use HTMLTemplateElement 2020-09-22 14:23:31 +02:00
djmaze
d2c9e860cb Bugfix: mail?to= should be encodeURIComponent() 2020-09-22 14:17:48 +02:00
djmaze
f559b3c87e Remove images on reply 2020-09-22 11:38:13 +02:00
djmaze
067c502592 Fix SquireUI on mobile 2020-09-22 11:19:52 +02:00
djmaze
81364c6494 Merge Squire into libs.js 2020-09-22 11:04:45 +02:00
djmaze
662e6b3466 cleanup some code 2020-09-22 10:54:00 +02:00
djmaze
df1d0fc8d6 Array.from() to spread syntax 2020-09-22 10:13:32 +02:00
djmaze
07b002a66a cleanup boot.js 2020-09-22 09:50:52 +02:00
the-djmaze
31d9ea53b9
Update Client.js
This change made on mobile as test.
2020-09-21 22:28:12 +02:00
djmaze
88704b5e12 Removed jQuery 2020-09-21 18:54:41 +02:00
djmaze
079d119f8a Removed lightgallery to drop whole jQuery 2020-09-21 17:33:58 +02:00
djmaze
96b946c572 rl-hidden not used anymore 2020-09-21 16:11:35 +02:00
djmaze
1cd07955a2 drop jQuery support completely from knockoutjs 2020-09-21 16:11:06 +02:00
djmaze
06abbf0713 inputosaurus jQuery to native so we can drop jquery-ui 2020-09-21 16:05:04 +02:00
djmaze
ea2e0c09d8 improved html5 d&d 2020-09-21 09:29:00 +02:00
djmaze
4e449b9c66 replace knockout-sortable with html5 native 2020-09-20 23:15:06 +02:00
djmaze
e1d3a143f4 Removed simplestatemanager, use @media queries 2020-09-20 12:33:33 +02:00
djmaze
6bffc452b0 Improve some SquireUI mobile styling 2020-09-20 11:47:18 +02:00
djmaze
b66e68a3b1 Merge some parts of initByJson and initUpdateByMessageJson
Cleanup messageListChecked handling
2020-09-20 11:29:31 +02:00
djmaze
46198861bc cidWithOutTags => cidWithoutTags and don't check foundedCIDs because isLinked is already set 2020-09-20 11:15:00 +02:00
djmaze
6d5317d969 Don't add inline attachments on reply 2020-09-20 11:13:40 +02:00
djmaze
9fc5a3ff6a Cleanup some code 2020-09-19 13:53:14 +02:00
djmaze
3ea2f5f452 Replaced knockout-sortable with a slimmed down version (for now) 2020-09-19 13:46:02 +02:00
djmaze
4da5543c27 Remove more IE9 stuff from Knockoutjs 2020-09-19 13:36:05 +02:00
djmaze
1ec45a9f8e Bugfix: somehow Jua minified was broken. Cleaned it up and it works again 2020-09-19 13:32:50 +02:00
djmaze
a104287aa5 Bugfix: compose window kept resizing 2020-09-19 13:31:59 +02:00
djmaze
5ef3006f4f Cleanup Jua code 2020-09-19 11:21:11 +02:00
djmaze
c282e2c9b5 Replace messages jQuery drag/drop with native HTML5 2020-09-18 14:01:27 +02:00
djmaze
d88c183112 Bugfix: broken message.attachments in compose window 2020-09-18 00:33:43 +02:00
djmaze
970e9d7d7d Bugfix: knockout-sortable was broken due to a knockoutjs change of me 2020-09-17 23:48:18 +02:00
djmaze
118c1613a4 Removed more IE workarounds from knockoutjs 2020-09-17 23:15:16 +02:00
djmaze
9241726ffe Bugfix: Message attachments should be observable or else KnockoutJS is not updating 2020-09-17 22:14:51 +02:00
djmaze
0f56c7d28f knockout appendChild => append
and tested closure-compiler 0.2.12 but still broken for es6 mode
2020-09-17 21:34:38 +02:00
djmaze
7713f459ac Replace $().trigger() and document.createEvent() with element.dispatchEvent(new Event()) 2020-09-17 21:18:39 +02:00
djmaze
7ac8143f34 Cleanup knockout commands and replaced EventKeyCode with native KeyboardEvent.key 2020-09-17 17:47:35 +02:00
djmaze
d06fed09d6 Drop support for old browsers and some jQuery 2020-09-17 16:40:43 +02:00
djmaze
091c4ec811 Clone 3.5.1 from github 2020-09-17 16:27:00 +02:00
djmaze
5d281486d0 Try to fix HtmlEditor isHtml() issue with SquireUI
Real fix should be made with the wrong use of modeToggle()
2020-09-17 16:10:27 +02:00
djmaze
9c18126843 Move some knockoutjs bindings, extenders and functions to Admin and User specific areas 2020-09-17 00:02:35 +02:00
djmaze
95e88af017 Fix the broken route 2020-09-16 23:28:29 +02:00
djmaze
28fb9a4cbd Move hideLoading into AbstractApp 2020-09-16 23:19:34 +02:00
djmaze
467f615713 Move Knoin routOff, routOn, routReload & setHash to rl.route.* 2020-09-16 20:35:29 +02:00
djmaze
03a40f3249 Remove unused AbstractBoot 2020-09-16 20:01:47 +02:00
djmaze
71f6fb25e5 Let all the new CollectionModels use AbstractCollectionModel 2020-09-16 16:33:53 +02:00
djmaze
086a2c1927 Fetch response 'Collection/MessageCollection' to new MessageCollectionModel 2020-09-16 15:44:36 +02:00
djmaze
8f07cf4ac6 foldersReload promises populator to the new FolderCollectionModel 2020-09-16 09:32:36 +02:00
djmaze
d33f9710c2 Improve SquireUI on mobile by placing toolbar fixed at bottom of screen (and top of touch keyboard) 2020-09-15 23:36:42 +02:00
djmaze
385cd9588c Bugfix: i've wrecked rendering of inline images 2020-09-15 20:40:55 +02:00
djmaze
aa3f71d299 Bugfix: MailSo ResponseCollection undefined oLogger
Bugfix: MailSo cache driver file, no need for double mkdir()
2020-09-15 15:27:15 +02:00
djmaze
e99a69a9aa Attachments array to new AttachmentCollectionModel 2020-09-15 15:08:08 +02:00
djmaze
344edaec2a cleanup Fetch API code 2020-09-15 11:51:07 +02:00
djmaze
95f55deaad Attachments filetype was missing opendocument detection 2020-09-15 10:09:39 +02:00
djmaze
062f8d078e Message from, to, cc, bcc, replyTo and deliveredTo to the new EmailCollectionModel 2020-09-15 09:43:53 +02:00
djmaze
b904eca98e Cleanup __APP__/getApp code 2020-09-15 09:29:25 +02:00
djmaze
29cf711a6a Converted *Ajax into *Fetch (because we use the Fetch API, not jQuery.ajax) 2020-09-14 19:40:56 +02:00
djmaze
bb4d66d6d2 Bugfix: i've broken the boot.js 2020-09-14 12:39:30 +02:00
djmaze
ab3ce67376 Centralize window.fetch to rl.fetchJSON() 2020-09-14 12:39:15 +02:00
djmaze
f300ec94ee https://github.com/neilj/Squire/pull/344 2020-09-14 12:33:36 +02:00
djmaze
8b53b189f8 Cleanup CSS and fix SquireUI css 2020-09-13 14:13:16 +02:00
djmaze
39e9ecd4f2 https://github.com/RainLoop/rainloop-webmail/pull/2012 2020-09-12 14:08:18 +02:00
djmaze
99bd895090 Fix some mobile view css issues 2020-09-12 13:57:09 +02:00
djmaze
ce652d96b7 https://github.com/RainLoop/rainloop-webmail/pull/2029 2020-09-12 13:56:25 +02:00
djmaze
89d7a8426f Bugfix: mobile screen not scrollable 2020-09-11 20:47:16 +02:00
djmaze
19f5ea149a Bugfix: squire wysiwyg had no overflow scrollbar 2020-09-11 19:57:29 +02:00
djmaze
4ec4771ffd Improved brotli and gzip compression paths 2020-09-11 19:57:06 +02:00
djmaze
5b227de5c6 Bump minimum supported browser 2020-09-11 19:35:36 +02:00
djmaze
f42faa883d Release v1.14.0-djmaze6 2020-09-11 17:16:11 +02:00
djmaze
bd34f9a9bc Reimplement the BadBrowser page based on feature detection 2020-09-11 16:58:05 +02:00
djmaze
a022139403 Added: browse/upload image button to SquireUI 2020-09-11 14:40:13 +02:00
djmaze
a7cc115bfb Move SquireUI into libs.js 2020-09-11 12:39:56 +02:00
djmaze
ecb9bd8ac1 Added the insertSignature code in SquireUI
Added hints/title (in english) to SquireUI toolbar buttons
2020-09-10 21:44:01 +02:00
djmaze
bdc961dfab Improved Squire with the missing 'plain' mode. 2020-09-10 18:47:28 +02:00
djmaze
3fa55a91d8 Bugfix: HTMLTemplateElement is not the right tool to modify innerHTML 2020-09-10 18:24:03 +02:00
djmaze
fb35a17208 Strip Adobe data from theme images 2020-09-10 13:49:28 +02:00
djmaze
04220bfd4a Updated README with new size info due to Squire. 2020-09-10 13:48:25 +02:00
djmaze
72cbdfa7f2 Split SquireUI from HtmlEditor.js and improved SquireUI with styling 2020-09-10 12:56:45 +02:00
djmaze
acda0e8883 Speedup boot.js: no need to load CKEditor/Squire when not logged in 2020-09-10 10:07:35 +02:00
lub
39f1a72da0 throw 403 on access denied 2020-09-09 20:00:01 +02:00
djmaze
a27c3befa8 Resolve Issue #1 2020-09-09 19:40:09 +02:00
djmaze
dd66824cd1 Added the modified Squire HTML editor 2020-09-09 18:45:33 +02:00
djmaze
5f695cfeb5 Updated readme with info about Squire vs CKEditor 2020-09-09 17:29:14 +02:00
djmaze
540c70ecbf Added Squire HTML editor as lightweight fast alternative solution for the heavy CKEditor
Some features are still missing (as i need to create own UI)
Enable in:
[labs]
use_squire_html_editor = On
2020-09-09 17:03:44 +02:00
djmaze
90acc04750 Cleanup DOM boot 2020-09-09 16:53:36 +02:00
djmaze
e1f1a3aa12 Embed boot.min.js and boot.min.css into index.html for fast response 2020-09-06 11:13:43 +02:00
djmaze
45aaa17219 Better boot response by splitting and embedding boot css/html into index.html 2020-09-05 12:22:46 +02:00
djmaze
f2d194947d Merge Objects prototype extensions 2020-09-04 17:07:35 +02:00
djmaze
0647b5201f Bugfix: i've broken the download() function 2020-09-04 16:11:57 +02:00
djmaze
097fb4896d Bugfix: invalid settingsGet in dev/Stores/Admin/App.js
Cleanup login/logout location reloading
2020-09-04 14:36:24 +02:00
djmaze
aeb5275648 Improved boot.js with existing global window.rl
Put dev/Storage/Settings.js in boots.js global rl.settings
2020-09-04 12:05:17 +02:00
djmaze
f90dbcc84b transitionend not working in Edge 18 2020-09-03 17:14:44 +02:00
djmaze
e858685769 Remove the boot.js webpack require() parts 2020-09-03 16:57:15 +02:00
djmaze
fcaa2fd6de Don't use webpack on boot.js 2020-09-03 16:34:23 +02:00
djmaze
b837013cfb Replaced dev/Common/ClientStorageDriver/* with webstorage polyfill
Cleanup some other code
2020-09-03 12:51:15 +02:00
djmaze
0e8bf13d5d Bugfix: the new endShowHide failed in Edge and mobile browsers
Cleanup bootstrap less files
2020-09-02 21:30:23 +02:00
djmaze
7135cc38fe Remove bootstrap Modal feature for improved transition effects (in future might use <dialog>) 2020-09-02 17:06:35 +02:00
djmaze
0309879d6b Bugfix: e-mail compose modal resizeObserver wrong height 2020-09-02 09:32:28 +02:00
djmaze
eb5fb5342e Cleanup bootstrap 2020-09-01 21:50:17 +02:00
djmaze
1802dda136 Removed jQuery dependencies from Jua.js 2020-09-01 16:57:14 +02:00
djmaze
088945b636 v1.14.0-djmaze5 2020-08-31 16:33:40 +02:00
djmaze
dcdaf70601 Bugfix: compose window resizeObserver 2020-08-31 16:32:27 +02:00
djmaze
645831368d Again replaced some jQuery to native and cleaned up normalize.css without IE 2020-08-31 12:45:43 +02:00
djmaze
4977494f6b Bugfix: Translator append() should be appendChild() 2020-08-31 11:31:35 +02:00
djmaze
5e7b567e88 Put admin actions in trait (should be improved in future with own Class when isset($_GET['admin'])) 2020-08-31 10:33:51 +02:00
djmaze
5009adfb60 Resolve issue #5 2020-08-30 18:04:54 +02:00
djmaze
dc6b7e250e Bugfix: undefined $oAccount and $aAdditionalParams 2020-08-30 17:48:40 +02:00
djmaze
2bf96ab33e Bugfix: typo in querySelectorAll 2020-08-30 17:40:54 +02:00
djmaze
aea3389bf2 Hard to solve issue 4 "Curl error code CURLE_URL_MALFORMAT" so we log the url 2020-08-30 17:34:58 +02:00
djmaze
39ba67de4b Bugfix: bootstrap native dropdown failed for Compose "from" 2020-08-30 16:17:36 +02:00
djmaze
69fcc240e9 More jQuery to native (including bootstrap.js) 2020-08-30 10:30:50 +02:00
djmaze
bdb36ec128 Use less jQuery, more native 2020-08-27 15:45:47 +02:00
djmaze
24cb874c87 iMessageBodyCacheCount only used in Message.js
htmlEditorDefaultConfig & htmlEditorLangsMap only used in HtmlEditor.js
2020-08-25 09:34:29 +02:00
djmaze
496c8f59ae Removed User About Screen, it is unused 2020-08-24 21:05:32 +02:00
djmaze
e3e5929b21 Removed more non-community (aka Prem/Premium/License) code 2020-08-24 20:56:14 +02:00
djmaze
d5665463fe Remove rl-anim feature and use no-mobile 2020-08-24 18:53:47 +02:00
djmaze
1e0586f124 upgraded yarn 2020-08-24 11:26:19 +02:00
djmaze
89395d5ae4 Drop custom_login_link and custom_logout_link 2020-08-24 11:17:42 +02:00
djmaze
31bb7267ec Revamp aBootstrapDropdowns 2020-08-24 11:14:35 +02:00
djmaze
8846c453b1 Added brotli compression 2020-08-24 00:09:54 +02:00
djmaze
0ccfa6a9b1 Bugfix: droppable area (folders) failed to scroll 2020-08-23 21:58:30 +02:00
djmaze
b0942a7ff7 Move popupVisibility to knoin 2020-08-23 21:51:26 +02:00
djmaze
3374a2d2d3 Put createCommandLegacy code in createCommand 2020-08-22 09:35:24 +02:00
djmaze
dc3b76f53a Replaced more knockoutjs hasfocus for autofocus="" 2020-08-22 09:35:03 +02:00
djmaze
e4ddef97d6 Removed createCommandLegacy 2020-08-22 09:33:22 +02:00
djmaze
b8043cdc98 Remove unused bMobileDevice import 2020-08-22 01:09:50 +02:00
djmaze
1b1fc3b9cd Removed unused files 2020-08-22 01:05:59 +02:00
djmaze
b185402ae7 Bugfix: Contacts.js trim() missing
Bugfix: ClearCookie failed
2020-08-22 01:05:43 +02:00
djmaze
d88855ebd9 Remove addHook/runHook system as it is never used 2020-08-22 01:04:15 +02:00
djmaze
996723a486 Removed: KnockoutJS 'hasFocus:' because HTML5 has autofocus=""
Knoin.js now searches for [autofocus] and handles it
2020-08-22 01:03:03 +02:00
djmaze
226f77e392 urlsafeArray the join(0x00) should be join('\x00') 2020-08-20 07:28:08 +02:00
djmaze
5d402f6405 Common/Base64.js not needed, see simple Remote/User/Ajax.js urlsafeArray()
Although unescape() is "deprecated" it is still ECMAScript defined, and TextEncoder not supported by Edge.
2020-08-19 22:23:28 +02:00
djmaze
578925c904 changeTheme() to ES2015
removed ancient String.substr
2020-08-19 16:47:33 +02:00
djmaze
53451a1236 cleanup ko.js unused functions 2020-08-19 16:23:15 +02:00
djmaze
63af2e25ed v1.14.0-djmaze4 2020-08-19 12:39:19 +02:00
djmaze
7a21694396 Drop windowResize/windowResizeCallback in favor of ResizeObservable 2020-08-19 12:34:05 +02:00
djmaze
e192b60d69 Update current js/css size status 2020-08-19 11:49:34 +02:00
djmaze
b634a50e0f Remove triggers rl.tooltips.diactivate and rl.tooltips.activate 2020-08-19 11:31:18 +02:00
djmaze
d1c06a8ece Extend the use of ResizeObserver by dropping all knockoutjs observable this.resizerTrigger in mail composer
As benefit this also drops the CustomEvent('resize.real')
2020-08-19 11:30:31 +02:00
djmaze
35c9f3fff5 Bugfix: setcookie() samesite missing 2020-08-19 10:43:32 +02:00
djmaze
1d4224d733 Drop License code (not used by comunity) 2020-08-18 20:45:43 +02:00
djmaze
97a73c6639 Replace timeOutAction() with debounce
Replace delegateRun()
Revert my throttle/debounce setTimeout() to Function.prototype[throttle/debounce]
2020-08-18 20:24:17 +02:00
djmaze
f6a55898c7 Removed isNormal() because 'null == undefined' so 'null != value' is sufficient 2020-08-17 21:57:56 +02:00
djmaze
1b811428e7 new Date().getTime() to Date.now() 2020-08-17 21:35:03 +02:00
djmaze
7670d2073d Prevent parameter errors in sendMessage()/saveMessage() due to too many parameters.
Instead provide an object.
sendMessage param 'SentFolder' and saveMessage param 'DraftFolder' now both 'SaveFolder'
2020-08-17 21:32:57 +02:00
djmaze
6f49e9b80f Bugfix: new AbstractAjaxRemote failed with recursive values like the Attachments 2020-08-15 22:12:57 +02:00
djmaze
a5a15c8e11 Bugfix: ini_get() expects exactly 1 parameter, 2 given 2020-08-15 21:41:18 +02:00
djmaze
f4319f4319 Resolve issue #2 2020-08-15 20:23:34 +02:00
djmaze
9f73377a88 Bugfix: compose e-mail file upload failed to wrong conversion to ES2015
Must be a 39 degrees workplace failure
2020-08-15 20:11:56 +02:00
djmaze
97443b7c7d v1.14.0-djmaze3 2020-08-14 23:12:49 +02:00
djmaze
29367a0ea7 Use proper HTMLTemplateElement for all knockoutjs templates 2020-08-14 23:09:36 +02:00
djmaze
efc2dd89e1 Momentor.reload to CustomEvent 2020-08-14 21:19:06 +02:00
djmaze
9f1ea1a0fd Bugfix boostrap alerts.less was accidentally removed
Bugfix Date.fromNow('past'/'future') reversed
Replace Events[pub/sub]('interval.*') with setInterval()
Events[pub/sub] to native
Cleanup knockout extensions
Replaced momentToNode with proper HTML5 <time>
Cleanup Momentor
2020-08-14 20:35:39 +02:00
djmaze
6541a1de7c Remove Common/Enums Magics.* 2020-08-13 22:58:41 +02:00
djmaze
382aef7ebb Replaced ifvisible.js with simple drop-in to handle prefetch messages 2020-08-13 21:25:42 +02:00
djmaze
2f48128ff3 Replaced Autolinker with simple https/email detection 2020-08-13 15:22:24 +02:00
djmaze
f5a444aa14 Removed opentip
Cleanup lightgallery
2020-08-13 13:16:08 +02:00
djmaze
a8ef5ec75b Bugfix: Email addressparser
Cleanup vendor scripts
2020-08-12 11:49:40 +02:00
djmaze
aaf4933b0a Embed cleaner node modules 2020-08-12 01:47:24 +02:00
djmaze
e7180a86ce Made eslint using 'browser' environment and added globals, because RainLoop is used in browsers.
This also allowed to remove all webpack 'externals' overhead.
2020-08-12 00:25:36 +02:00
djmaze
c3a213802d Bugfix: jQuery UI classesElementLookup value is Object, not an Array 2020-08-11 23:52:36 +02:00
djmaze
9e167ac981 Also release a tar.gz 2020-08-10 13:47:48 +02:00
djmaze
1d32f26add Added release zip builder in php 2020-08-10 12:43:02 +02:00
djmaze
643c02c40b gzip compress all responses to reduce mobile transfer limits 2020-08-10 12:00:37 +02:00
djmaze
55f74c5d10 Compress boot.js even more 2020-08-10 11:32:05 +02:00
djmaze
b9b9cd736f Replaced ProgressJS with simple native dropin 2020-08-10 10:40:25 +02:00
djmaze
70f31ee4a7 Changed link to install instruction page that @h3artbl33d created. 2020-08-08 22:52:51 +02:00
djmaze
99c86dcf3c Prevent server overload based on 1 minute system load average over 95%
https://www.php.net/sys_getloadavg
2020-08-08 22:33:12 +02:00
djmaze
ba8a566c69 Hardcoded Styles/@Boot.css dropped some webpack KB overhead. We are going more mobile!
Also replaced some charAt() with []
2020-08-08 17:20:35 +02:00
djmaze
0d81b2ce88 Try to log more details, for strange issue #1 2020-08-08 14:49:14 +02:00
djmaze
4383281de6 Removed unused bootstrap code 2020-08-08 14:39:51 +02:00
djmaze
b57b555bed Bugfix: replaced momentjs had timestamp issue 2020-08-07 17:37:14 +02:00
djmaze
ecbe543b15 cleanup webpack 2020-08-07 16:28:30 +02:00
djmaze
6d29acb7eb Bugfix: momentjs shortMonths can be array or function 2020-08-07 15:08:41 +02:00
djmaze
b1678a1566 Replaced moment.js with simple extended Date.prototype 2020-08-07 14:44:33 +02:00
djmaze
a0dcd93fea Removed jQuery UI widgetSlice 2020-08-07 13:27:43 +02:00
djmaze
656fd72319 $.isArray() is deprecated
$.bind() is deprecated
$.parseJSON is deprecated
$.unique is deprecated
jQuery .bind() is deprecated
jQuery .unbind() is deprecated
jQuery .load() is deprecated
removed $.support.transition
2020-08-07 09:40:36 +02:00
djmaze
bbd9f49dcd $.proxy is deprecated
$.trim is deprecated
2020-08-06 18:24:46 +02:00
djmaze
ae1b7610fd Remove use of $.error in jquery-ui 2020-08-06 16:24:19 +02:00
djmaze
e1b274fcb4 Bugfix: scrollTop/scrollLeft never worked because .b-content has overflow:auto not the sub-div .content 2020-08-06 16:14:50 +02:00
djmaze
b3dd0c51b5 Removed lozad. Lazy loading of images. A browser can itself these days. 2020-08-06 15:07:43 +02:00
djmaze
2f67fb2196 Force CSP, X-Frame DENY, no-referrer
Added optional Strict-Transport-Security in _include.php
TODO: put them in ./rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html
2020-08-06 14:33:50 +02:00
djmaze
327e6f65cd searchSubtractFormatDateHelper to native as moment.js not needed 2020-07-31 16:45:43 +02:00
djmaze
45fa12be42 Bugfix: Trying to access array offset on value of type null in /app/libraries/MailSo/Sieve/ManageSieveClient.php on line 223
Bugfix: Return value of RainLoop\UserAgent::getHeader() must be of the type string, null returned in /app/libraries/RainLoop/UserAgent.php on line 156
Bugfix: file_exists() also checks for directory, should use is_file
Bugfix: accidentally removed <div id="rl-check"></div>
2020-07-31 16:13:38 +02:00
djmaze
97bf6f70b8 Remove Prem code 2020-07-30 15:11:58 +02:00
djmaze
857b5a27df Bump supported browserlist to cleanup CSS 2020-07-30 12:23:11 +02:00
djmaze
7584e9003f Cleanup ProgressJS 2020-07-30 12:17:41 +02:00
djmaze
12c88e34b3 Removed pikaday (unused) 2020-07-30 12:05:47 +02:00
djmaze
871139de39 Bugfix: isHttps is removed. Webmail should always be https (unless local) 2020-07-30 12:03:46 +02:00
djmaze
e42c94d471 Bugfix: reloadDomainList() failed due to wrong recode of underscore.js map() to Object.entries() 2020-07-30 12:02:43 +02:00
djmaze
ea48f5060b isArray to native Array.isArray
isUnd(*) to native undefined === *
isFunc to native typeof * === 'function'
isObject to native typeof * === 'object'
microtime() to native Date().getTime();
noop to native ()=>{}
noopFalse to native ()=>false
noopTrue to native ()=>true
boolToAjax to native *?'1':'0'
Underscore.js to native
2020-07-29 21:49:41 +02:00
djmaze
fa39c7ecba Cleanup some PHP namespaces 2020-07-29 12:41:45 +02:00
djmaze
bc79a4f5b1 Added Fail2ban instructions 2020-07-29 11:29:59 +02:00
djmaze
07fd143853 Remove unused code 2020-07-29 00:06:59 +02:00
djmaze
3669fdc752 Bugfix: when iTimeOut = 0 it aborted the AbstractAjaxRemote request 2020-07-29 00:03:40 +02:00
djmaze
a0d30f4a40 Merge remote-tracking branch 'upstream/master' 2020-07-28 23:07:57 +02:00
djmaze
2ba34532c2 JavaScript string compare '' is always a ToBoolean
See https://www.ecma-international.org/ecma-262/5.1/#sec-9.2
2020-07-28 17:20:14 +02:00
djmaze
82bed1ed80 Cleanup array.length checks and for() to forEach() 2020-07-28 12:35:41 +02:00
djmaze
db5751cd00 Cleaner boot.js 2020-07-28 11:23:06 +02:00
djmaze
d28e193556 cleanup Progress.js 2020-07-27 17:40:00 +02:00
djmaze
c9d444250f Strip webpack and iframe support from Jua.js (only use xmlhttprequest) 2020-07-27 16:58:04 +02:00
djmaze
1b331aca32 Removed unused code from JavaScript files 2020-07-27 14:52:18 +02:00
djmaze
dc233bfc90 Bugfix: this.moveCache is an Object not an Array 2020-07-27 12:14:47 +02:00
djmaze
a12a3815f9 deprecated jQuery.delegate() to jQuery.on() 2020-07-25 13:50:46 +02:00
djmaze
281a5df732 Cleanup custom Underscore.js 2020-07-23 20:50:20 +02:00
djmaze
134cb7d52a Replace missed $.ajax with window.fetch 2020-07-23 20:35:37 +02:00
djmaze
dca0ff02ed Use jQuery.slim
Underscore.js _.uniq(_.compact( to native Array.filter((value, index, self) => !!value && self.indexOf(value) == index)
Underscore.js _.compact to native Array.filter(value => !!value)
Underscore.js _.uniq to native Array.filter((value, index, self) => self.indexOf(value) == index)
Underscore.js _.values to native Object.values
Underscore.js _.flatten to native Array.flat
Underscore.js _.union to native Array.concat + unique filter
Underscore.js _.reduce to native Array.reduce
Underscore.js _.escape replaced with advanced htmlspecialchars()
Underscore.js _.memoize replaced
Now Underscore.js is a slim custom version (only _.debounce, _.defer & _.throttle)
2020-07-23 16:06:16 +02:00
djmaze
996a71ad8a missed one _.delay() to setTimeout() 2020-07-22 20:29:48 +02:00
djmaze
43c92a82e6 Underscore.js _.delay() to native setTimeout() 2020-07-22 20:28:25 +02:00
djmaze
a82575a830 Underscore.js _.map() to native Array.map() (optional with Object.entries/values) 2020-07-22 20:09:31 +02:00
djmaze
032fa8c736 http:// to https:// 2020-07-22 14:55:40 +02:00
djmaze
749f372042 https://github.com/RainLoop/rainloop-webmail/issues/1924 2020-07-22 14:54:21 +02:00
djmaze
a5d41edb24 Underscore.js _.each() to native Array.forEach() (optional with Object.entries/values) 2020-07-22 14:49:18 +02:00
RainLoop Team
1979f84dab
Merge pull request #2015 from mervick/patch-1
Fix json typo
2020-07-22 12:05:07 +03:00
RainLoop Team
3203378685
Merge pull request #1993 from Thomas131/master
Fix wrong comma placement in package.json
2020-07-22 12:04:07 +03:00
djmaze
178e5f6ef7 Remove _.isNull 2020-07-22 10:54:28 +02:00
djmaze
9c0072d626 Underscore.js _.find() to native Array.find() 2020-07-22 10:43:19 +02:00
djmaze
2404f6466d Bugfix: incorrect removal of useJsNextBundle 2020-07-22 10:03:37 +02:00
djmaze
828387bec1 Removed .no-css 2020-07-22 08:31:25 +02:00
djmaze
95293aa585 Removed useJsNextBundle 2020-07-22 08:31:10 +02:00
djmaze
90cec2171a Strip .no-css, .csstransitions and .cssanimations 2020-07-22 08:17:02 +02:00
djmaze
e01e484259 Ajax use window.fetch() instead of $.ajax (not perfect yet).
This allows us to use jquery.slim (and cash-dom in the future)
2020-07-21 22:22:58 +02:00
djmaze
756fe81091 Replaced _.has() with native Object.prototype.hasOwnProperty.call() 2020-07-20 22:06:21 +02:00
djmaze
84ac7dc893 Get rid of deprecated $.ui.plugin 2020-07-20 21:40:36 +02:00
djmaze
961fa305c9 -1…*.indexOf() to native .includes() 2020-07-20 21:39:00 +02:00
djmaze
eb15c6e45f Changes _.filter(array) to native array.filter() 2020-07-20 21:29:44 +02:00
djmaze
af136f46c4 _.bind(function, object) to function.bind(object) 2020-07-20 15:47:33 +02:00
djmaze
db2d95d684 JavaScript inArray()/indexOf() to .includes() 2020-07-20 14:33:33 +02:00
djmaze
ec3fd5b7e4 Remove jquery-letterfx, just like https://github.com/RainLoop/rainloop-webmail/pull/1698/commits/cd55e3ccc2a3d5fb7ca06dc111c2ba6640423780 2020-07-20 11:26:40 +02:00
djmaze
f16f604f48 Get the stored resized layout working again 2020-07-17 15:04:50 +02:00
djmaze
3c4b3e3b50 Simplify ResizeObservers 2020-07-17 14:24:55 +02:00
djmaze
1e71698b79 Improved initHorizontalLayoutResizer and initVerticalLayoutResizer with custom resizer 2020-07-17 13:46:49 +02:00
djmaze
e3aaea8035 Get rid of jQuery.wakup
Get rid of jQuery UI resizable (use HTML5 with ResizeObserver/MutationObserver, work-in-progress not as beautiful yet)
Get rid of hidden download() iframe
2020-07-16 19:49:56 +02:00
djmaze
fca0bb5d56 Bugfix broken jQuery UI 2020-07-16 11:07:28 +02:00
djmaze
525a7ab1fd Remove some npm deprecated packages 2020-07-15 15:39:18 +02:00
djmaze
1a6dad8495 https://github.com/RainLoop/rainloop-webmail/pull/2005/commits/2d634a09ee355522837d72710aca92bd88bd2167 2020-07-15 14:50:39 +02:00
Andrey Izman
48d26c7f4c
Fix json typo 2020-07-15 15:47:21 +03:00
djmaze
2af8626514 Removed Sentry completely 2020-07-15 14:45:11 +02:00
djmaze
0b0747b8dc Upgraded some old JavaScript to ECMAScript 1.6
Removed some jQuery references
Added JavaScript Globals.$htmlCL for frequently used window.document.documentElement.classList
2020-07-15 14:25:51 +02:00
djmaze
a6a337e5ce Revert broken RainLoop merge for TemplatesLink 2020-07-15 14:24:32 +02:00
djmaze
a541123034 Disable sentry_dsn 2020-07-15 14:16:29 +02:00
djmaze
854d723927 Upgrade to custom jQuery UI 1.12.1 due to errors with jQuery 3 2020-07-15 14:16:07 +02:00
djmaze
412d69ce75 Removed jquery-backstretch that handled the UserBackground
The UserBackground is now handled with CSS3 on body.thm-body
This allowed me to remove the #rl-bg so that the "video-on-login-screen" plugin will not work indefinitely.
2020-07-13 15:47:19 +02:00
djmaze
213f5d183e Log admin login attempt to syslog 2020-07-13 15:35:06 +02:00
djmaze
b9e8e32579 Remove unused {{BaseTemplates}} and {{BaseAppPolyfillsScriptLink}} 2020-07-13 15:34:46 +02:00
djmaze
85155a9895 Merge remote-tracking branch 'upstream/master' 2020-07-13 11:40:49 +02:00
djmaze
c9285dd3e8 Remove BadBrowser Internet Explorer code 2020-07-13 10:58:03 +02:00
djmaze
eb731a4183 Updated inputosaurus.js to work with jQuery3 2020-07-09 16:01:41 +02:00
djmaze
be6922bd20 Bugfix: RunAdditionalPart() incorrect return type 2020-07-08 16:48:35 +02:00
djmaze
957ccfeb3b Cleanup yaml parsing 2020-07-07 13:47:19 +02:00
djmaze
aa805f9ff9 Added: write 'Auth failed' to syslog 2020-07-07 13:33:38 +02:00
Simon Chuu
286e011050
plugins/postfixadmin-change-password: Add 'argon2i' configuration option 2020-05-18 23:01:44 -04:00
Simon Chuu
3dbb43e188
plugins/postfixadmin-change-password: Add "ARGON2I"
My mail server was set up with `dovecot:ARGON2I` password encryption option.  This allows people who set up argon2i as the encryption method to continue using it when users change their password with the plugin.
2020-05-18 22:59:05 -04:00
djmaze
693e0f4c10 Remove useless NewInstance
Bugfix: BodyStructure->SearchCharset return value
2020-05-08 11:49:18 +02:00
djmaze
82e560bc53 Fix some return types 2020-05-08 10:13:01 +02:00
djmaze
63d9ce9c4b Enumeration classes to be abstract 2020-05-08 10:06:48 +02:00
djmaze
7b03ae5ed8 Remove phpinfo() 2020-05-07 09:24:02 +02:00
Daniel Kesselberg
a3ca42eebe Load image data for all images 2020-04-25 21:52:03 +02:00
Thomas131
950f12d4b2 Fixed package.json 2020-04-16 14:07:15 +02:00
djmaze
3d9b3334ee Bugfix: Return value of RainLoop\Actions::SetIdentities() must be of the type array, bool returned
Cleanup: remove empty __construct()
2020-04-15 20:42:16 +02:00
RainLoop Team
ad9d153d76
Merge pull request #1984 from the-djmaze/gulp-terser
Use gulp-terser instead of gulp-uglify for ES2015
2020-04-07 15:06:52 +03:00
RainLoop Team
b9899df934
Merge pull request #1983 from the-djmaze/pecl-xxtea
Add support for PECL xxtea
2020-04-07 15:06:37 +03:00
RainLoop Team
c14ffdc10b
Merge pull request #1987 from javyer/master
Comply with Owncloud 10.3.2
2020-04-07 15:06:16 +03:00
djmaze
75b4b64118 More functions without type hinting found and fixt
Use PECL yaml (else Spyc)
Upgrade Spyc (with removed dump code)
2020-04-03 11:32:07 +02:00
Javyer
796183d40d Comply with Owncloud 10.3.2 2020-04-03 00:34:03 +02:00
djmaze
cd3d8b94b2 Added: ResponseCollection::getCapabilityResult()
Bugfix: ResponseCollection $oResult => $this
Removed safe_mode detection
Speedup: ImapClient::partialParseResponseBranch() and partialResponseLiteralCallbackCallable()
2020-03-24 14:45:09 +01:00
djmaze
b9c019e05c Move some MailSo\Imap\ImapClient code to the new MailSo\Imap\ResponseCollection 2020-03-21 12:55:39 +01:00
djmaze
0d54a372df Remove more @function error suppressions 2020-03-20 23:43:24 +01:00
the-djmaze
0b9f129864
Merge branch 'master' into gulp-terser 2020-03-20 16:29:10 +01:00
djmaze
a8100d34f8 Use gulp-terser instead of gulp-uglify for ES2015 2020-03-20 16:26:42 +01:00
djmaze
2266affa5b Add support for PECL xxtea 2020-03-20 16:14:36 +01:00
djmaze
a1ce3f0e84 Terser strip comments 2020-03-20 16:01:23 +01:00
djmaze
c3e4a19447 Bugfix: headers already send by FpassthruWithTimeLimitReset 2020-03-20 15:41:19 +01:00
djmaze
5af6e30b8f Resolve Declaration *Collection::append should be compatible with Collection::append 2020-03-20 15:37:55 +01:00
djmaze
559ebe0f28 Don't suppress functions 2020-03-20 15:29:52 +01:00
djmaze
1009398d0c Cleanup MailSo Validator
Cleanup removed features
2020-03-20 14:53:12 +01:00
djmaze
8fe8369b2a Support PECL xxtea 2020-03-19 23:11:04 +01:00
djmaze
3948f73fb1 Replaced: Mobile_Detect with simple version
This is not finished because detection should be based on screen size in inches (retina pixels)
2020-03-19 17:01:49 +01:00
djmaze
10a00f8391 Bugfix: remove JavaScript isFramed() as it requires the removed GoogleSocial 2020-03-19 15:22:07 +01:00
djmaze
ebfde6e360 Cleanup & Speedup *Collection objects 2020-03-19 15:21:00 +01:00
djmaze
f6fdb69c65 Changed: MailSo\*Collection now extends \ArrayObject
Changed: fixed __constructor param type hinting
Replace: &$o with $o as objects don't need & referencing
2020-03-18 23:14:00 +01:00
djmaze
9bb44e7f98 Changed: use hash_hmac() instead of MailSo\Base\Utils::Hmac()
Renamed: PrepearFetchSequence() to PrepareFetchSequence()
Removed: StripSlashesValue() because PHP7 has no magic_quotes_gpc
2020-03-18 01:26:40 +01:00
djmaze
23e9964997 Bugfix: more function return type errors 2020-03-16 16:35:25 +01:00
djmaze
2cf35057a5 Bugfix: mb_convert_encoding(): Unknown encoding CP858 2020-03-16 16:25:58 +01:00
djmaze
6cf544d3e7 Bugfix: mail Message invalid return type 2020-03-16 16:18:29 +01:00
djmaze
b81b36d120 Bugfix: @param/@return documentation was incorrect which caused errors 2020-03-16 15:48:58 +01:00
djmaze
7eb1defa16 Fix PHP 7.4 Deprecate message 2020-03-16 14:27:17 +01:00
djmaze
26c38b3ec9 More params and returns to PHP 7.3+ 2020-03-16 13:08:53 +01:00
RainLoop Team
b303170647
Merge pull request #1894 from Rockuo/patch-1
fi_FI LABEL_THEMES_NAME propose
2020-03-16 00:12:27 +03:00
RainLoop Team
4264a32e2e
Merge pull request #1911 from Shurichan/patch-1
Mispelling in fi_FI translation
2020-03-16 00:11:20 +03:00
RainLoop Team
2b6ca3d5b0
Merge pull request #1943 from Startup-Stack/secure-admin-password
Switch admin password hashing to secure algorithms when available
2020-03-16 00:05:17 +03:00
RainLoop Team
538312ef3e
Merge pull request #1944 from Startup-Stack/secure-app-salt
Use cryptographically secure random number generator for APP_SALT whe…
2020-03-16 00:02:34 +03:00
RainLoop Team
d94cf4e6b0
Merge pull request #1918 from brigriffin/fix-imap-sort
Use DATE instead of ARRIVAL for sorting messages (Fixes #1817)
2020-03-16 00:00:38 +03:00
RainLoop Team
5e409ac638 Update dependencies 2020-03-15 23:56:47 +03:00
RainLoop Team
e744100919 Improve templates 2020-03-15 23:38:46 +03:00
RainLoop Team
151646f990 Improve resource loaders 2020-03-15 23:14:52 +03:00
RainLoop Team
a250d84025 Fix PHP 7.4 Deprecate message 2020-03-15 22:15:36 +03:00
djmaze
3d246ae842 Updated readme 2020-03-13 15:36:48 +01:00
djmaze
aae7883b99 Bugfix: bootstrap jQuery('#') syntax error
Changed: use ES2015
Changed: gulp uglify to terser
Removed: ChangePassword
Removed: nanoscroll
Removed: JS polyfills
2020-03-13 15:30:39 +01:00
djmaze
9aa0cf92a9 Hide X-Mailer header by default
Remove iconv support
Cleanup MailSo
2020-03-11 19:36:43 +01:00
djmaze
234e5a5014 Resolve issue with ->SetLogger() due to function return type issue 2020-03-11 15:46:56 +01:00
djmaze
690190bb26 there's not type hint 'resource' (bug in my converter)
https://wiki.php.net/rfc/scalar_type_hints#type_hint_choices
2020-03-11 15:42:46 +01:00
djmaze
69a33c0c25 Bugfix login issues and function return types 2020-03-11 15:00:09 +01:00
djmaze
ca075de120 Bugfix: callback vs callable 2020-03-11 14:29:30 +01:00
djmaze
6e0d0b3b6e CRLF to LF 2020-03-11 14:17:52 +01:00
djmaze
4468d5bd22 Removed: twitter, google, dropbox, facebook, owncloud, modernizr from JavaScript 2020-03-11 12:55:03 +01:00
djmaze
e8d38a6870 More PHP7 strict typing 2020-03-11 11:49:45 +01:00
djmaze
3a7ec4ecb0 Bugfixes and more conversions to PHP 7 2020-03-10 18:45:00 +01:00
djmaze
2cada68f41 Privacy/GDPR friendly version (removed: Social, Gravatar, Facebook, Google, Twitter, DropBox, OwnCloud)
Also removed: POP3, OAuth2 and update feature
Added: admin password_hash/password_verify
Requires: PHP 7.3+
Replaced: CRLF with LF
Replaced: pclZip with ZipArchive
2020-03-09 17:04:17 +01:00
RainLoop Team
15ceddc202 1.14.0 2020-01-30 22:27:07 +03:00
RainLoop Team
1fb3c9cd7a Update dependencies 2019-12-31 21:20:03 +03:00
RainLoop Team
32ceafa37f Add Gmail XAUTH support 2019-12-31 20:44:41 +03:00
RainLoop Team
08333610ce Update dependencies 2019-12-24 22:05:46 +03:00
Peter Linss
a54d40f2a2
improve error handling for salt generation 2019-11-20 09:20:40 -08:00
Peter Linss
e9892ceec3
adjust braces style to match surrounding code 2019-11-19 16:51:12 -08:00
Peter Linss
a7f03d101c
Use cryptographically secure random number generator for APP_SALT when available 2019-11-19 16:48:40 -08:00
Peter Linss
b77dcb5c12
Switch admin password hashing to secure algorithms when available 2019-11-19 16:24:21 -08:00
RainLoop Team
ba8bf15b4c Update dependencies 2019-10-17 01:43:04 +03:00
Marc
00c58b37d2 Use DATE instead of ARRIVAL for sorting messages (Fixes #1817) 2019-09-20 11:29:04 +02:00
Shurichan
c4698134ae
Mispelling in fi_FI translation
"Empty list" description in empty folders is translated to a verb (empty, tyhjennä) instead of a adjective (empty, tyhjä).
https://fi.glosbe.com/fi/en/tyhjent%C3%A4%C3%A4 (empty, verb)
https://fi.glosbe.com/fi/en/tyhj%C3%A4 (empty, adjective)
2019-09-05 13:37:28 +03:00
Richard Bureš
f38a17c986
fi_FI LABEL_THEMES_NAME propose
```fi_FI.SETTINGS_LABELS.LABEL_THEMES_NAME ``` suppose to be "Teemat",  not emat.
2019-08-05 08:40:32 +02:00
RainLoop Team
1b2306c7b0 Delete JsError action 2019-08-01 03:13:44 +03:00
RainLoop Team
66b23747c7
Merge pull request #1888 from hifihedgehog/master
Added CyberPanel password changing plugin
2019-08-01 00:15:39 +03:00
RainLoop Team
05ba3d352e
Merge pull request #1889 from korukugashi/master
Fix regression
2019-08-01 00:13:30 +03:00
hifihedgehog
4c1a7a41a8
Update VERSION 2019-07-31 15:48:28 -04:00
hifihedgehog
4640e1941b
Increased cost/rounds to 12 for enhanced security 2019-07-31 15:46:44 -04:00
Nicolas B
fdaefab7cb
code review
correction after review: use the temporary variable instead of recalculating the JQuery node
2019-07-31 12:31:36 +02:00
Nicolas B
ec8be09abe
Merge pull request #1 from korukugashi/korukugashi-patch-plugin-contact-group
Updated plugin  contact-group-excel-paste
2019-07-31 12:25:15 +02:00
Nicolas B
b0cf16ace4
Add files via upload
Fixes a regression of plugin contact-group-excel-paste since an update of rainloop that modified CSS classes and JavaScript of autocomplete fields
2019-07-30 23:10:07 +02:00
hifihedgehog
d75641c367
Update ChangePasswordCyberPanel.php 2019-07-26 15:56:43 -04:00
hifihedgehog
d683da256f
Update README.md 2019-07-26 10:06:07 -04:00
hifihedgehog
cf63417374
Update README 2019-07-26 10:04:00 -04:00
hifihedgehog
03e4f4fc9c
Update README.md 2019-07-26 10:02:25 -04:00
hifihedgehog
d4fdac74e6
Tweaked wording and edited grammar 2019-07-26 10:02:15 -04:00
hifihedgehog
e157fb02a5
Update ChangePasswordCyberPanel.php 2019-07-26 09:59:05 -04:00
hifihedgehog
e84c2742e8
Fixed minor typo 2019-07-26 09:34:55 -04:00
hifihedgehog
a6e70256ea
Added escaping of special characters 2019-07-26 09:33:31 -04:00
hifihedgehog
4b00ef72d4
Update index.php 2019-07-25 16:54:15 -04:00
hifihedgehog
81449eb59d
Update ChangePasswordCyberPanel.php 2019-07-25 16:53:09 -04:00
hifihedgehog
36059e960d
Cleaned up code formatting from upload 2019-07-25 16:52:26 -04:00
hifihedgehog
fe197ab440
Added CyberPanel password changing plugin 2019-07-25 12:22:42 -04:00
RainLoop Team
cdfe5fb232 Small fixes 2019-07-12 00:46:17 +03:00
RainLoop Team
0c38f42197 Small improvements 2019-07-11 21:45:47 +03:00
RainLoop Team
19d3b559da Add watch task 2019-07-04 23:35:53 +03:00
RainLoop Team
395ad8e035 Update dependencies 2019-07-04 23:06:07 +03:00
RainLoop Team
40dc22a317 Remove knockout-transformations dependency 2019-07-04 22:58:15 +03:00
RainLoop Team
8a0be3212d prettier --write 2019-07-04 22:19:24 +03:00
RainLoop Team
450528ff00 Add prettier 2019-07-04 22:09:27 +03:00
RainLoop Team
08da3030b0
Merge pull request #1878 from anton-piliugin/patch-1
Fix hide_x_mailer_header config option behaviour
2019-07-02 00:24:30 +03:00
RainLoop Team
8eb4588917 Improved app security 2019-07-02 00:20:49 +03:00
RainLoop Team
b244462fa5 update gulp and gulpfile 2019-06-29 17:16:09 +03:00
RainLoop Team
a1562e7145 Update dependencies and configurations 2019-06-29 03:17:29 +03:00
RainLoop Team
dbbc83e4c8 Synchronize localizations from Transifex 2019-06-28 22:44:24 +03:00
Anton Piliugin
6b8c7043af
Fix hide_x_mailer_header config option behaviour
Remove X-Mailer header if hide_x_mailer_header = Off
2019-05-28 14:32:18 +02:00
RainLoop Team
88439e6e07 Add sentry support 2019-04-18 00:07:22 +03:00
RainLoop Team
23451c032a Remove cmd imterface 2019-03-30 01:54:06 +03:00
RainLoop Team
e449261277 autocomplete attributes 2019-03-30 01:45:12 +03:00
RainLoop Team
18242368be Small fixes 2019-03-29 23:42:49 +03:00
RainLoop Team
e77bafca1e Fix eslint warnings 2019-03-28 02:27:52 +03:00
RainLoop Team
3cea84ff06
Merge pull request #1821 from Simounet/feat/img-max-width
Content image max width size set to 100%
2019-03-28 02:07:35 +03:00
RainLoop Team
ca30359da8 Small fix 2019-03-28 02:06:26 +03:00
RainLoop Team
c2fceebbf9
Merge pull request #1719 from enzingerm/master
use default data directory if not defined in NextCloud config
2019-03-28 02:00:23 +03:00
RainLoop Team
3c059d4434
Merge pull request #1488 from mbarnathan/master
Client certificates (with password authentication)
2019-03-28 01:56:24 +03:00
RainLoop Team
628f8077a3
Merge branch 'master' into master 2019-03-28 01:55:15 +03:00
RainLoop Team
7a227a532d Merge branch 'master' of support_rainloop_net.github.com:RainLoop/rainloop-webmail 2019-03-28 01:52:09 +03:00
RainLoop Team
71ac99f517 Update phpseclib 2019-03-28 01:51:23 +03:00
RainLoop Team
909cd45769 Small fixes 2019-03-28 01:44:29 +03:00
RainLoop Team
2f6a1637f1
Merge pull request #1342 from korukugashi/feat-contact-group-excel
creation of plugin that handle paste multi row mail addresses into a …
2019-03-28 01:29:03 +03:00
RainLoop Team
1bd4cdbd2e
Merge pull request #1648 from albertmatyi/patch-1
Fix localStorage check when embedded in iframe (firefox)
2019-03-28 01:28:20 +03:00
RainLoop Team
860ac47f6c Small improvements 2019-03-28 01:26:34 +03:00
RainLoop Team
4235d95a39
Merge pull request #1690 from grizmin/master
start tls and gecos
2019-03-28 01:24:06 +03:00
RainLoop Team
957e393d3b
Merge pull request #1716 from lindolfomeira/ldap-contacts-suggestions
Added support to additional search field (defaults to "uid")
2019-03-28 01:19:48 +03:00
RainLoop Team
2faf418f27
Merge pull request #1802 from PlanetHoster/auto-grab-mx
auto-domain-grab use MX record for Host
2019-03-28 01:15:57 +03:00
RainLoop Team
62e6fb7317
Merge pull request #1804 from imt-mines-albi/ldap-contacts-suggestions-allow-anonymous-bind
ldap-contacts-suggestions: Allow anonymous ldap_bind()
2019-03-28 01:14:55 +03:00
RainLoop Team
d717b96800
Merge pull request #1833 from TheAssailant/patch-1
Use `random_bytes` if available in postfix plugin
2019-03-28 01:14:02 +03:00
RainLoop Team
b7ad459a16
Merge pull request #1845 from erseco/rest-change-password-plugin
Added generic REST change password plugin
2019-03-28 01:08:25 +03:00
RainLoop Team
8d7136d708 Synchronize localizations from Transifex 2019-03-28 01:06:55 +03:00
RainLoop Team
13065dd926 Update dependencies 2019-03-28 01:01:26 +03:00
Ernesto Serrano
b8ad70a8e3
Update index.php 2019-03-14 14:45:19 +01:00
Ernesto Serrano
e1768a13dc Added generic REST plugin 2019-03-10 17:15:45 +01:00
Paul Borges
4890249b5a
Use random_bytes if available in postfix plugin
The [PHP `str_shuffle()`](http://php.net/manual/en/function.str-shuffle.php) documentation states:

```
This function does not generate cryptographically secure values, and should not be used for cryptographic purposes.
```

This change makes use of [`random_bytes()`](http://php.net/manual/en/function.random-bytes.php) if it's available and falls back to the old (probably ok) `str_shuffle()` implementation.
2019-02-06 15:06:09 -05:00
RainLoop Team
80ad4fdbcc Merge branch 'master' of support_rainloop_net.github.com:RainLoop/rainloop-webmail 2019-02-04 19:04:07 +03:00
RainLoop Team
afef42ba5d eslint fixes 2019-02-01 19:05:44 +03:00
RainLoop Team
41c164add7 Synchronize localizations from Transifex 2019-02-01 19:00:31 +03:00
RainLoop Team
20f53825d9 Update deps 2019-02-01 18:56:12 +03:00
Simounet
595ddb8bbc Content image max width size set to 100% 2019-01-09 22:05:28 +01:00
imt-mines-albi
bb602a52a3 ldap-contacts-suggestions: Allow anonymous ldap_bind() if bind DN is not filled up in plugin config 2018-11-30 12:54:28 +00:00
Gabriel P
134c99624c update comment 2018-11-29 12:26:22 -05:00
Gabriel P
2898ecc5e0 auto-domain-grab use MX record for Host 2018-11-29 12:00:25 -05:00
RainLoop Team
495fb486e1
Merge pull request #1791 from rolfen/sql-password-plugin-fix
Custom SQL password plugin - SQL injection vulnerability fix
2018-10-21 00:33:35 +03:00
rolfen
32ccf8c76f improve description 2018-10-20 15:40:11 +00:00
rolfen
353964e729 working version 2018-10-20 15:13:05 +00:00
rolfen
b17e5dd11d try to plug the hole in the custom sql plugin 2018-10-20 12:35:57 +00:00
RainLoop Team
95eb786a3f Update deps 2018-10-06 02:13:58 +03:00
RainLoop Team
87bfa64af0 Synchronize localizations from Transifex 2018-09-18 23:40:45 +03:00
RainLoop Team
26c507398f babel 6 -> 7 2018-09-18 23:35:41 +03:00
RainLoop Team
379d012b1f 1.12.1 2018-07-31 00:20:06 +03:00
RainLoop Team
6b99a48898 Update devDependencies 2018-07-24 00:09:44 +03:00
RainLoop Team
cc3b742221 Synchronize localizations from Transifex 2018-07-10 00:11:13 +03:00
RainLoop Team
791f0ff6ad Small fixes and improvements 2018-07-10 00:05:02 +03:00
Marinus Enzinger
3d17249b8c use default data directory if not defined in config 2018-06-08 07:39:11 +02:00
Lindolfo Meira
075b841b84 Added support to additional search field (defaults to "uid") 2018-06-06 19:02:43 -03:00
RainLoop Team
f5b92b8b65 Remove GuzzleHttp namespace 2018-05-16 17:37:12 +03:00
RainLoop Team
fc84e81722
Merge pull request #1691 from Techwolfy/upstream
Remove unused GuzzleHttp library.
2018-05-16 17:35:42 +03:00
RainLoop Team
367748d39e Add Object.assign polyfill (#1692) 2018-05-16 17:31:45 +03:00
Techwolf
142272b522 Remove unused GuzzleHttp library. 2018-05-16 01:21:43 -07:00
Konstantin Krastev
04bfe2686f * added start_tls support
* added gecos token for use in user DN in case your user accounts are using cn as rdn.
2018-05-08 23:43:31 +03:00
RainLoop Team
841c4d59e3 Update devDependencies and translations 2018-05-01 19:34:13 +03:00
RainLoop Team
35ef89c2a6 Optimize building process 2018-03-30 00:43:46 +03:00
RainLoop Team
f8a131e3bc Update devDependencies 2018-03-06 22:52:08 +03:00
RainLoop Team
9dc3c97c79 Update translations 2018-03-06 22:26:43 +03:00
RainLoop Team
c7cd537b4d Update devDependencies 2018-02-27 22:10:26 +03:00
RainLoop
866b0ddc6d Add docker support for development. 2018-02-27 02:13:53 +03:00
Matyas Albert Nagy
9f867e7c16
Fix localStorage check when embedded in iframe (firefox) 2018-02-24 14:14:39 +01:00
RainLoop Team
6e20d5fccc
Merge pull request #1375 from pierre-alain-b/master
Fixing #1284, conflict in headers creation when loading images in body message, "Cannot modify header information - headers already sent"
2018-02-21 02:37:31 +03:00
RainLoop Team
c4b7de0ad4
Merge pull request #1534 from cdgco/patch-1
Update Vesta Plugin
2018-02-21 02:28:52 +03:00
RainLoop Team
10c92a862c
Merge pull request #1588 from stenrose/master
Create index for id_contact and prop_type on rainloop_ab_properties
2018-02-21 02:12:30 +03:00
RainLoop Team
c3ff2ab116
Merge pull request #1634 from abbatis/master
Hotfix plugins/auto-domain-grab/index.php
2018-02-21 02:10:29 +03:00
RainLoop Team
11989a4c28
Merge pull request #1584 from mwohlert/ChangePasswordPostfix-PostgresSQL
Add PostgreSQL to postfixadmin-change-password Plugin
2018-02-21 02:08:17 +03:00
RainLoop Team
ef601cb4f2
Merge pull request #1491 from mariogrip/mailinabox-change-password
Add change email account password plugin for Mail-in-a-Box
2018-02-21 02:04:14 +03:00
RainLoop Team
59c19762cb
Merge pull request #1565 from csmk/fix_mime-case
Fix the case for 'Mime-Version'
2018-02-21 02:03:20 +03:00
RainLoop Team
c67cfb1eb4
Merge pull request #1598 from kromonos/master
Add froxlor password change plugin
2018-02-21 02:01:14 +03:00
RainLoop Team
6eda2913ac
Merge pull request #1611 from Techwolfy/upstream
Clean up dependencies in package.json
2018-02-21 02:00:22 +03:00
RainLoop Team
ebbd9fa034
Merge pull request #1636 from arabasso/master
Added MailEnable 'Junk E-mail' and 'Deleted Items' folders support.
2018-02-21 01:59:10 +03:00
Raphael Basso
353029898c Added MailEnable 'Junk E-mail' and 'Deleted Items' folders support. 2018-02-08 10:29:38 -02:00
Abbatis
4ba90c115e
Update index.php 2018-02-03 13:15:55 +01:00
Abbatis
8c90bd9e46
Update index.php 2018-02-03 13:01:50 +01:00
Techwolf
54adc8d075 Use knockout-transformations from NPM instead of knockout-projections.
Remove unused dependency on jquery-lazyload.
2018-01-03 04:00:25 -08:00
kromonos
6d88a93975
Add files via upload 2017-12-19 00:11:13 +01:00
Martin Stenröse
8068ce4ec2 Create index for id_contact and prop_type on rainloop_ab_properties 2017-12-05 08:40:43 +01:00
Michel Wohlert
7186833a26 Fix indentation 2017-12-01 23:33:46 +01:00
Michel Wohlert
0eeb31b7b7 Bump Version to 1.3 2017-12-01 23:29:15 +01:00
Michel Wohlert
9336b5bcb7 Added Exception when trying to use mysql-crypt in PostgreSQL 2017-12-01 23:28:32 +01:00
Michel Wohlert
09cdc285ab Fix bad variable 2017-12-01 23:16:07 +01:00
Michel Wohlert
0d96cd6692 fix scope variable 2017-12-01 22:37:20 +01:00
Michel Wohlert
df07e1b96c fix indentation 2017-12-01 22:07:52 +01:00
Michel Wohlert
7f45312de6 Added option to select PostgreSQL 2017-12-01 22:05:35 +01:00
RainLoop
a8a1efb071 Merge branch '1420-better-smtp-error-messages' 2017-11-11 21:39:49 +03:00
RainLoop
20b373480d Add additional information to the smtp error message. (#1420) 2017-11-11 21:38:41 +03:00
Ian Moone
e1b67a4815
Fix 'Mime-Version' case
As per RFC 2045, the correct way is "MIME-Version". At least one
email filter (Rspamd) is known to penalize the wrong case.
2017-11-10 14:40:09 +09:00
RainLoop Team
840991a63a Merge pull request #1538 from Techwolfy/favicon-light
Add light favicons for use with dark browser themes.
2017-10-17 21:27:49 +03:00
Techwolf
e40cf16fa0 Add light favicons for use with dark browser themes. 2017-10-17 10:39:25 -07:00
CDG
a32383aaf8 Update index.php 2017-10-13 22:55:57 -07:00
RainLoop
e0ba6aba9f Add login.login_lowercase setting (#814) 2017-10-11 22:18:41 +03:00
RainLoop
6f4b7b8156 Improve password encryption (owncloud) by openssl (#1082) 2017-10-11 21:27:07 +03:00
RainLoop
90a3d2b62a Fix incorrect mailto format #1521 2017-10-06 21:52:00 +03:00
RainLoop
71718db8f0 Small fixes 2017-10-01 20:54:50 +03:00
RainLoop
d76fde37df Fix crippled contact names (#1447) 2017-09-27 20:58:15 +03:00
RainLoop
ed5685314e Fix unexpected desktop mode on mobile devices + small fixes (#1514) 2017-09-25 00:08:44 +03:00
RainLoop
677a5f2e35 Add labs.use_mobile_version_for_tablets setting in applicxation.ini (#1507) 2017-09-22 19:41:40 +03:00
RainLoop
c0d2f5f86e Merge branch 'update-htaccess' 2017-09-22 19:23:43 +03:00
RainLoop Team
0ea3f24cd9 Merge pull request #1513 from krmax44/gravatar-fix
Fix Gravatar when e-mail address contains uppercase characters
2017-09-22 19:07:26 +03:00
Max
2cfb85b992 fix gravatar 2017-09-22 16:46:52 +02:00
RainLoop
230624b60c Save showAttachmnetControls status to local storage (#1502) 2017-09-21 23:28:14 +03:00
RainLoop
11a04bbfb5 Update default htaccess file 2017-09-21 22:55:07 +03:00
RainLoop
650b655539 Update MobileDetect (#1507) 2017-09-21 22:25:59 +03:00
RainLoop
f695a1acd2 Disable application.ini autosaving (#1509) 2017-09-21 22:15:27 +03:00
RainLoop
76f28b354b Add element-dataset polyfill for IE9-IE10 2017-09-21 20:05:23 +03:00
RainLoop
4f19d9fd56 Try the lozad lazy loader 2017-09-21 01:18:41 +03:00
RainLoop
16ca116b30 Fix 'Horizontal scroll in message view broken' (close #1494) 2017-09-20 23:47:54 +03:00
RainLoop
4db982cb9b Small fixes 2017-09-20 22:59:08 +03:00
RainLoop
4a19059217 UTF8-Subjects not working (close #1479) 2017-09-20 22:47:08 +03:00
RainLoop
8ce5e86b04 Show 'To Top' and 'Fullscreen' buttons only on mouse-hover (close #1501) 2017-09-20 21:36:56 +03:00
RainLoop
c7aa07506e Change text: Save to ownCloud (close #1503) 2017-09-20 20:28:53 +03:00
RainLoop
39ddb49cd6 Fix Start reply at top of email (close #865) 2017-09-20 20:26:16 +03:00
RainLoop
33a9234d9c 1.11.2 2017-09-19 23:16:22 +03:00
RainLoop
350e065575 Fix package.json 2017-09-15 20:31:36 +03:00
RainLoop Team
6daeb28279 Merge origin/master 2017-09-15 19:51:58 +03:00
RainLoop Team
2285fd4569 Update package.json dependencies 2017-09-15 19:51:01 +03:00
Marius Gripsgard
14e5ebbf7b Add change email account password plugin for Mail-in-a-Box 2017-08-23 03:14:34 +02:00
RainLoop Team
5e340b9db9 Merge pull request #1475 from Oxymoron290/master
Misspellings in error messages
2017-08-18 21:48:35 +03:00
RainLoop Team
f6d73486f4 Merge pull request #1487 from stenrose/master
Allow sieve filter to "fileinto" INBOX
2017-08-18 21:48:11 +03:00
Michael Barnathan
120e0a4401 Merge branch 'client_certs'
# Conflicts:
#	rainloop/v/0.0.0/app/libraries/RainLoop/Model/Account.php
2017-08-17 18:27:08 -04:00
Michael Barnathan
02561e8acf TLS client certs in RainLoop. 2017-08-17 18:13:01 -04:00
Michael Barnathan
4cd86ede0b MailSo changes for TLS certs 2017-08-17 18:11:14 -04:00
Martin Stenröse
070e4ee0fb Allow sieve filter to "fileinto" INBOX 2017-08-14 14:51:10 +02:00
RainLoop Team
425f0ee3f6 Small fixes 2017-08-07 18:09:14 +03:00
Oxymoron
3bc9c54039 Corrected more mispellings of the word <extension> 2017-07-22 16:29:33 -05:00
Oxymoron
4b312a4f35 ƒCorrected mispelling of <extension> 2017-07-22 16:28:52 -05:00
RainLoop Team
0f6b70f63e Add confog for sieve auth plain command 2017-07-11 16:10:19 +03:00
RainLoop Team
c72c6c0946 Merge origin/master 2017-07-11 15:42:35 +03:00
RainLoop Team
52af4dacda Merge pull request #1468 from M66B/master
Fixed managesieve plain login
2017-07-11 15:42:03 +03:00
RainLoop Team
709eeddd09 Small fixes 2017-07-11 15:40:31 +03:00
M66B
dba3c1b715 Fixed managesieve plain login 2017-07-11 14:03:23 +02:00
RainLoop Team
a72b95a868 Fix compose focus/cursor 2017-07-06 02:56:11 +03:00
RainLoop Team
ab374bbb71 Many small fixes. 2017-07-06 01:31:41 +03:00
RainLoop Team
9188228f5d Fix ConvertHtmlToPlain 2017-07-05 23:41:40 +03:00
RainLoop Team
d36b563e4b Fix TFA auth 2017-07-05 22:42:16 +03:00
RainLoop Team
483549660b Add "cc" to "View in separate window"/"Print" 2017-07-05 22:20:24 +03:00
RainLoop Team
e7d280c0a7 Merge origin/master 2017-06-28 21:03:24 +03:00
RainLoop Team
45fe0217f2 Add "Automatically save draft" option 2017-06-28 19:25:53 +03:00
RainLoop Team
fe0b998733 Merge pull request #1456 from kusshaltestelle/patch-1
Translation wrong. User and Domain got mixed up.
2017-06-26 16:51:36 +03:00
kusshaltestelle
c02c08096b Translation wrong. User and Domain got mixed up. 2017-06-25 22:54:24 +02:00
RainLoop Team
8da988fef2 Synchronize localizations from Transifex
Update package.json dependencies
Fix eslint errors
webpack 2 -> webpack 3
2017-06-24 22:26:27 +03:00
RainLoop Team
36dbe0defd Merge pull request #1452 from baphiratz/patch-1
Update langs.yml
2017-06-14 20:20:59 +03:00
baphiratz
3455b29d27 Update langs.yml
Add Thai (ภาษาไทย) Language.
2017-06-14 21:39:04 +07:00
RainLoop Team
673ada299a Fix "Collapse the TO" (#1199) 2017-06-02 21:32:24 +03:00
RainLoop Team
f61a4cc483 1.11.1 2017-05-27 19:36:51 +03:00
RainLoop Team
acbe439456 Add "CC" to message view (#1435) 2017-05-25 21:51:09 +03:00
RainLoop Team
f4fb6d769d Fix "CantSendMessage error" (#1436) 2017-05-25 20:21:21 +03:00
RainLoop Team
2234212201 Fix "message can't be marked seen" (#1427) 2017-05-24 19:06:40 +03:00
RainLoop Team
aa2215bf3d Synchronize localizations from Transifex
Update README.md
2017-05-22 22:16:20 +03:00
RainLoop Team
a44e4b1815 Update package.json dependencies 2017-05-22 21:50:42 +03:00
RainLoop Team
879ffb3e37 Change Message-ID regenerate logic (#1432)
Add additional configuration to hide x-mailer header  (#1426)
2017-05-18 20:40:27 +03:00
RainLoop Team
74700afa6c Update package.json dependencies 2017-04-30 15:49:46 +03:00
RainLoop Team
484927475b Merge pull request #1302 from Techwolfy/master
Create Debian Package
2017-04-30 15:48:17 +03:00
RainLoop Team
72619eeb17 Merge pull request #1414 from tachyons/patch-1
Code of conduct proposal
2017-04-30 15:46:57 +03:00
RainLoop Team
aee9d80b65 Merge pull request #1415 from Techwolfy/fix-permissions
Fix permissions of built files.
2017-04-30 15:18:50 +03:00
Techwolf
ed0a7d4a26 Fix permissions of built files
gulp-chmod expects values in octal, while the previous values were
  in decimal. This resulted in incorrect permissions on build output
  files, which caused the next build step to fail.
2017-04-30 02:55:52 -07:00
Techwolf
0dcbac8820 Allow a custom data path to be set directly in include.php. 2017-04-30 02:41:18 -07:00
Techwolf
df29eb85cd Added basic script for creating a Debian-style package. 2017-04-30 02:41:18 -07:00
Aboobacker MK
0fcfbe649a Create CODE_OF_CONDUCT.md
Code of conduct proposal  to avoid unfortunate experience faced for a potential contributor in #1408 in future

Taken from http://contributor-covenant.org/

Issue related discussion here https://github.com/RainLoop/rainloop-webmail/issues/1412
2017-04-30 14:58:16 +05:30
RainLoop Team
509f81d2c8 Fix recaptcha api request (#891) 2017-04-15 23:55:42 +03:00
RainLoop Team
18b39315e7 Merge pull request #1396 from oneohthree/patch-1
BUTTON_SIGN_AND_ENCRYPT change 'and' for 'y'
2017-04-08 23:58:33 +03:00
oneohthree
0f88cac99a BUTTON_SIGN_AND_ENCRYPT change 'and' for 'y' 2017-04-08 16:41:14 -04:00
RainLoop Team
bf1ee5ace7 Additional configurations and improvements for caching system (#1390) 2017-04-04 01:32:22 +03:00
RainLoop Team
7b3ac82e5a Update package.json dependencies 2017-04-03 00:40:13 +03:00
RainLoop Team
8bc4387aa7 Fix yarn lock 2017-04-03 00:16:17 +03:00
RainLoop Team
317318e1f3 Fix "Removing message that was not marked" (#1388) 2017-04-03 00:15:31 +03:00
Pierre-Alain Bandinelli
d52baf4a8c Fixing #1284, conflict in headers creation when loading images in body message, "Cannot modify header information - headers already sent" 2017-03-19 15:00:32 +01:00
RainLoop Team
cbc1aa2f4c Some fixes (ChangePasswordCustomSql Plugin) 2017-03-18 23:52:01 +03:00
RainLoop Team
c0aa67dc52 Merge pull request #1374 from cz-vilda/master
Change password by custom SQL statement
2017-03-18 23:37:44 +03:00
cz-vilda
442caf4f90 Add files via upload 2017-03-18 20:25:00 +01:00
RainLoop Team
4d6f22c336 Small fixes 2017-03-14 00:33:00 +03:00
RainLoop Team
7d50231d21 Merge pull request #1365 from edeckers/feature/fix-npm-github-package-version-numbers
Fix npm version numbers for Github packages
2017-03-14 00:28:00 +03:00
Ely Deckers
792d3c0ca9 Fix npm version numbers for Github packages 2017-03-13 21:51:20 +01:00
RainLoop Team
c9839be758 1.11.0.203 2017-03-13 00:20:04 +03:00
RainLoop Team
f8b4aa8683 Update package.json dependencies (+ fixes and improvements) 2017-03-12 20:44:42 +03:00
RainLoop Team
59128f285b Synchronize localizations from Transifex (Add da_DK) 2017-03-12 18:22:34 +03:00
RainLoop Team
a45e9ba9c8 Add "move to folder" description 2017-03-01 21:38:18 +03:00
RainLoop Team
4e87568408 1.11.0.201 2017-02-28 23:12:02 +03:00
RainLoop Team
075e184f7d Update PHP Facebook SDK 2017-02-28 23:11:36 +03:00
RainLoop Team
77fb74bc4a Update package.json dependencies 2017-02-28 21:44:13 +03:00
RainLoop Team
f9df374fa7 Small fix 2017-02-27 23:39:07 +03:00
RainLoop Team
b854f936f9 Merge pull request #1348 from WesCossick/patch-3
Improve button wrapping behavior
2017-02-27 23:31:27 +03:00
Wes Cossick
a2e08d4f2d Improve button wrapping behavior 2017-02-25 14:20:50 -06:00
RainLoop Team
6a6f420c76 2016 -> 2017
+ Small fixes
2017-02-25 22:21:41 +03:00
RainLoop Team
39c07bfc13 Merge pull request #1347 from WesCossick/patch-1
Improve composition on small screens
2017-02-25 18:58:00 +03:00
Wes Cossick
b179607593 Improve composition on small screens
Two changes: Minimized width of labels; Caused header overflow to scroll
2017-02-25 08:33:20 -06:00
RainLoop Team
0166506b3a Merge pull request #1341 from tomrittervg/contributing-readme
Tell people how to debug JavaScript
2017-02-21 20:20:37 +03:00
Nicolas Bland
bc6a0be048 creation of plugin that handle paste multi row mail addresses into a single email field 2017-02-19 19:42:12 +01:00
Tom Ritter
0d29f9f708 Tell people how to edit template files 2017-02-19 01:59:10 -06:00
Tom Ritter
f6fd731a76 Tell people how to debug JavaScript 2017-02-18 23:52:30 -06:00
RainLoop Team
263d97ee31 Synchronize localizations from Transifex 2017-02-08 20:56:38 +03:00
RainLoop Team
5706f3cf01 Merge origin/master 2017-02-08 20:51:24 +03:00
RainLoop Team
f0e9d1a6d5 Add new "Move to folder" button 2017-02-08 20:48:53 +03:00
RainLoop Team
b7449fcdbf Merge pull request #1322 from cpt-lamar/patch-1
Fix incorrect handling of multi-line Header
2017-01-23 13:22:06 +03:00
cpt-lamar
0912ad75ed Fix incorrect handling of multi-line Header
In my setup, initial version of RemoveHeaderFromHeaders does not remove properly multi-line Headers (only the first line is removed). As a consequence, when using php mail() option for outgoing e-mail, strange things happen when the "To" field contains more than 3 recipients.
2017-01-22 22:12:11 +01:00
RainLoop Team
2c3881abc6 Update ckeditor 2017-01-19 18:50:00 +03:00
RainLoop Team
075293204e Merge pull request #1315 from valdur55/master
Add other missing {type} before hash
2017-01-14 13:18:52 +03:00
Valdur Kana
9988463e2d Add other missing {type} before hash 2017-01-14 00:03:41 +02:00
RainLoop Team
f383380d59 Update ckeditor 2017-01-13 01:50:30 +03:00
RainLoop Team
80f4d4e5d1 Update package.json dependencies 2017-01-12 23:41:57 +03:00
RainLoop Team
924e846135 Small fixes 2017-01-11 21:18:53 +03:00
RainLoop Team
be26cd248c Fix typo 2017-01-11 21:18:51 +03:00
RainLoop Team
086cf7cadc Merge pull request #1310 from valdur55/master
Add missing {PLAIN-MD5} before md5 hash
2017-01-10 17:54:12 +03:00
Valdur Kana
ccc8147f96 Add missing {PLAIN-MD5} before md5 hash 2017-01-10 16:38:41 +02:00
RainLoop Team
861da1469b Remove php5.3, Add php7.1 (.travis.yml) 2016-12-15 02:21:36 +03:00
RainLoop Team
20eff3a49a npm -> yarn 2016-12-15 02:13:20 +03:00
RainLoop Team
0e9cffd657 Small fixes 2016-12-15 00:56:17 +03:00
RainLoop Team
d3f8fa4308 Small fixes 2016-11-11 22:48:47 +03:00
RainLoop Team
930f6dbb6d 1.10.5.192 2016-11-06 23:12:18 +03:00
RainLoop Team
baa61349b8 Update dependencies 2016-11-06 22:38:44 +03:00
RainLoop Team
022ed24c2a Fix time_offset setting (#1241) 2016-10-27 22:51:38 +03:00
RainLoop Team
7e135b10ac Update dependencies 2016-10-27 00:40:14 +03:00
RainLoop Team
9d60dd0786 Add some signature improvements (#1238) 2016-10-27 00:25:15 +03:00
RainLoop Team
ca4897038a Fix strange quoting behaviour (#1225) 2016-10-26 01:10:36 +03:00
RainLoop Team
aecb0b2500 Fix Email rendering issue (#1233) 2016-10-26 01:09:52 +03:00
RainLoop Team
d79fe8757e Fix opendkim header parser (#1232) 2016-10-25 22:13:16 +03:00
RainLoop Team
149cb62642 Small fixes 2016-10-20 22:55:37 +03:00
RainLoop Team
6b294e428b Merge pull request #1224 from pierre-alain-b/master
Adding info for Nextcloud support
2016-10-20 22:43:21 +03:00
RainLoop Team
1b7c6f76d1 Fix html parser
Add "login.active_backgroud" setting
2016-10-20 22:38:29 +03:00
Pierre-Alain Bandinelli
6aa0f28896 Adding category in info.xml 2016-10-20 07:17:14 +02:00
Pierre-Alain Bandinelli
d9e24b74f7 Fixing info.xml to work with the nextcloud apps store 2016-10-20 07:13:32 +02:00
RainLoop Team
52018b40e8 Add login background animation 2016-10-18 22:49:54 +03:00
RainLoop Team
6f6ded7352 Synchronize localizations from Transifex 2016-10-18 21:35:55 +03:00
RainLoop Team
ae996b75f1 Updated: dependencies
+ small fixes
2016-10-18 21:28:42 +03:00
Pierre-Alain Bandinelli
0d876694ef Fixing typo in licence name 2016-10-14 10:12:37 +02:00
Pierre-Alain Bandinelli
14a163ccbd Adding info for Nextcloud plugin 2016-10-14 10:11:38 +02:00
RainLoop Team
760d9e6243 Fix: Can not view OpenPGP key (#1200) 2016-09-30 16:42:38 +03:00
RainLoop Team
0bbb2f14a4 1.10.4.183
---
Fixes:
New login form style display problem since version 1.10.4 (#1196)
Collapse the TO: field in message view (#1199)
Paste with HTML tags fails (#1193)
2016-09-29 00:40:17 +03:00
RainLoop Team
224362299a 1.10.4.181 2016-09-21 20:12:18 +03:00
RainLoop Team
f70d9e46a0 1.10.4.180 2016-09-21 09:22:57 +03:00
4030 changed files with 320790 additions and 328292 deletions

4
.browserslistrc Normal file
View file

@ -0,0 +1,4 @@
last 1 version
> 30%
not IE 11
not IE_Mob 11

18
.cmds
View file

@ -1,13 +1,19 @@
# yarn
yarn install
yarn upgrade xxx@1.2.3
# transifex
tx pull -a
# dependencies checker
npm-check --skip-unused --save-exact
npm dedupe
# dependencies locker
npm shrinkwrap --dev
# dependencies
yarn outdated
yarn upgrade-interactive --exact --latest
# webpack
webpack --color --watch
#
gpg --import x
gpg --detach-sign --armor --openpgp -u 87DA4591 --passphrase ?? x
for ff in `ls ./build/dist/releases/**/**/*.zip | xargs`; do gpg --detach-sign --no-tty --yes --armor --openpgp -u 87DA4591 --passphrase ?? $ff; done

233
.docker/dev/mail/setup.sh Normal file
View file

@ -0,0 +1,233 @@
#! /bin/sh
##
# Wrapper for various setup scripts included in the docker-mailserver
#
INFO=$(docker ps \
--no-trunc \
--format="{{.Image}}\t{{.Names}}\t{{.Command}}" | \
grep "/bin/sh -c 'supervisord -c /etc/supervisor/supervisord.conf'")
IMAGE_NAME=$(echo $INFO | awk '{print $1}')
CONTAINER_NAME=$(echo $INFO | awk '{print $2}')
CONFIG_PATH="$(pwd)/config"
if [ -z "$IMAGE_NAME" ]; then
IMAGE_NAME=tvial/docker-mailserver:latest
fi
_inspect() {
if _docker_image_exists "$IMAGE_NAME"; then
echo "Image: $IMAGE_NAME"
else
echo "Image: '$IMAGE_NAME' can’t be found."
fi
if [ -n "$CONTAINER_NAME" ]; then
echo "Container: $CONTAINER_NAME"
else
echo "Container: Not running, please start docker-mailserver."
fi
}
_usage() {
echo "Usage: $0 [-i IMAGE_NAME] [-c CONTAINER_NAME] <subcommand> <subcommand> [args]
OPTIONS:
-i IMAGE_NAME The name of the docker-mailserver image, by default
'tvial/docker-mailserver:latest'.
-c CONTAINER_NAME The name of the running container.
-p PATH config folder path (default: $(pwd)/config)
SUBCOMMANDS:
email:
$0 email add <email> [<password>]
$0 email update <email> [<password>]
$0 email del <email>
$0 email restrict <add|del|list> <send|receive> [<email>]
$0 email list
alias:
$0 alias add <email> <recipient>
$0 alias del <email> <recipient>
$0 alias list
config:
$0 config dkim
$0 config ssl
debug:
$0 debug fetchmail
$0 debug fail2ban [<unban> <ip-address>]
$0 debug show-mail-logs
$0 debug inspect
$0 debug login <commands>
"
exit 1
}
_docker_image_exists() {
if docker history -q "$1" >/dev/null 2>&1; then
return 0
else
return 1
fi
}
_docker_image() {
if ! _docker_image_exists "$IMAGE_NAME"; then
echo "Image '$IMAGE_NAME' not found. Pulling ..."
docker pull "$IMAGE_NAME"
fi
docker run \
--rm \
-v "$CONFIG_PATH":/tmp/docker-mailserver \
-ti "$IMAGE_NAME" $@
}
_docker_container() {
if [ -n "$CONTAINER_NAME" ]; then
docker exec -ti "$CONTAINER_NAME" $@
else
echo "The docker-mailserver is not running!"
exit 1
fi
}
while getopts ":c:i:p:" OPT; do
case $OPT in
c)
CONTAINER_NAME="$OPTARG"
;;
i)
IMAGE_NAME="$OPTARG"
;;
p)
case "$OPTARG" in
/*)
CONFIG_PATH="$OPTARG"
;;
*)
CONFIG_PATH="$(pwd)/$OPTARG"
;;
esac
if [ ! -d "$CONFIG_PATH" ]; then
echo "Directory doesn't exist"
_usage
exit 1
fi
;;
\?)
echo "Invalid option: -$OPTARG" >&2
;;
esac
done
shift $((OPTIND-1))
case $1 in
email)
shift
case $1 in
add)
shift
_docker_image addmailuser $@
;;
update)
shift
_docker_image updatemailuser $@
;;
del)
shift
_docker_image delmailuser $@
;;
restrict)
shift
_docker_container restrict-access $@
;;
list)
_docker_image listmailuser
;;
*)
_usage
;;
esac
;;
alias)
shift
case $1 in
add)
shift
_docker_image addalias $@
;;
del)
shift
_docker_image delalias $@
;;
list)
shift
_docker_image listalias $@
;;
*)
_usage
;;
esac
;;
config)
shift
case $1 in
dkim)
_docker_image generate-dkim-config
;;
ssl)
_docker_image generate-ssl-certificate
;;
*)
_usage
;;
esac
;;
debug)
shift
case $1 in
fetchmail)
_docker_image debug-fetchmail
;;
fail2ban)
shift
_docker_container fail2ban $@
;;
show-mail-logs)
_docker_container cat /var/log/mail/mail.log
;;
inspect)
_inspect
;;
login)
shift
if [ -z "$1" ]; then
_docker_container /bin/bash
else
_docker_container /bin/bash -c "$@"
fi
;;
*)
_usage
;;
esac
;;
*)
_usage
;;
esac

View file

@ -0,0 +1,50 @@
server {
listen 80 default;
listen 443 ssl;
server_name localhost _;
root /var/www;
index index.php index.html;
autoindex on;
charset utf-8;
client_max_body_size 500m;
ssl_certificate /etc/nginx/ssl/localhost.cert;
ssl_certificate_key /etc/nginx/ssl/localhost.key;
gzip on;
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
gzip_vary on;
access_log /var/log/nginx/default.access.log;
error_log /var/log/nginx/default.error.log;
location = /favicon.ico { access_log off; log_not_found off; }
location ~* favicon\.(ico|png)$ { access_log off; log_not_found off; }
location = /browserconfig.xml { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
location = /humans.txt { access_log off; log_not_found off; }
location = /apple-touch-icon.png { access_log off; log_not_found off; }
location = /apple-touch-icon-precomposed.png { access_log off; log_not_found off; }
location ~ /\.ht { deny all; return 404; }
location ~ /\.git { deny all; return 404; }
location ~ /\.svn { deny all; return 404; }
location ~* ^.+\.(?:jpe?g|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
access_log off;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location ~ \.php(/|$) {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
fastcgi_pass php:9000;
}
}

41
.docker/dev/nginx/ssl.sh Executable file
View file

@ -0,0 +1,41 @@
#!/usr/bin/env bash
SERVER_NAME=localhost
SUBJECT="/C=RU/ST=RND/L=Taganrog/O=Umbrella Web/CN=${SERVER_NAME}"
mkdir -p ./ssl
if [ -f ./ssl/${SERVER_NAME}.cert ]; then
rm -rf ./ssl/${SERVER_NAME}.cert
fi
if [ -f ./ssl/${SERVER_NAME}.key ]; then
rm -rf ./ssl/${SERVER_NAME}.key
fi
# Generating ROOT pem files
openssl req -x509 -new -nodes -newkey rsa:2048 -keyout ./ssl/server_rootCA.key -sha256 -days 1024 -out ./ssl/server_rootCA.pem -subj "${SUBJECT}" 2> /dev/null
# Generating v3.ext file
cat <<EOF > ./ssl/v3.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = ${SERVER_NAME}
DNS.2 = www.${SERVER_NAME}
EOF
echo " - Generating SSL key file"
openssl req -new -newkey rsa:2048 -sha256 -nodes -newkey rsa:2048 -keyout ./ssl/${SERVER_NAME}.key -subj "${SUBJECT}" -out ./ssl/server_rootCA.csr 2> /dev/null
echo " - Generating SSL certificate file"
openssl x509 -req -in ./ssl/server_rootCA.csr -CA ./ssl/server_rootCA.pem -CAkey ./ssl/server_rootCA.key -CAcreateserial -out ./ssl/${SERVER_NAME}.cert -days 3650 -sha256 -extfile ./ssl/v3.ext 2> /dev/null
# echo " - Adding certificate into local keychain"
# sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" ./ssl/server_rootCA.pem 2> /dev/null
echo " - Runing garbage collector"
rm -rf ./ssl/server_rootCA.csr ./ssl/server_rootCA.key ./ssl/server_rootCA.pem ./ssl/v3.ext ./.srl

View file

@ -0,0 +1,31 @@
FROM php:7.4-fpm
RUN apt-get update
RUN apt-get install -y \
git unzip wget zip curl mlocate \
libicu-dev libpcre3-dev libicu-dev \
build-essential chrpath libssl-dev \
libxft-dev libfreetype6 libfreetype6-dev \
libpng-dev libjpeg62-turbo-dev \
libfontconfig1 libfontconfig1-dev libzip-dev libldap2-dev
RUN pecl install xxtea-1.0.11 && \
docker-php-ext-enable xxtea
RUN docker-php-ext-configure intl && \
docker-php-ext-configure ldap && \
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ && \
docker-php-ext-install opcache pdo_mysql zip intl gd ldap
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN curl --location --output /usr/local/bin/phpunit https://phar.phpunit.de/phpunit.phar && chmod +x /usr/local/bin/phpunit
RUN apt-get -y autoremove && apt-get clean
RUN sed -i '/^;catch_workers_output/ccatch_workers_output = yes' '/usr/local/etc/php-fpm.d/www.conf'
EXPOSE 9000
CMD ["php-fpm"]

View file

@ -0,0 +1,8 @@
date.timezone = UTC
upload_max_filesize = 24M
post_max_size = 25M
# log_errors = On
# display_errors = On
# error_reporting = E_ALL
# error_log = /dev/stderr

192
.docker/release/Dockerfile Normal file
View file

@ -0,0 +1,192 @@
# syntax=docker/dockerfile:1
FROM alpine:3.24.3 AS builder
RUN apk add --no-cache php85 php85-json php-phar php-zip
RUN apk add --no-cache npm
RUN npm install -g gulp yarn
WORKDIR /source
COPY package.json yarn.lock ./
RUN yarn install
COPY . .
# Patch release.php with hotfix from: https://github.com/xgbstar1/snappymail-docker/blob/main/Dockerfile, so that release.php doesn't fail with error
RUN sed -i 's_^if.*rename.*snappymail.v.0.0.0.*$_if (!!system("mv snappymail/v/0.0.0 snappymail/v/{$package->version}")) {_' cli/release.php || true
RUN php release.php
RUN set -eux; \
VERSION=$( ls build/dist/releases/webmail ); \
ls -al build/dist/releases/webmail/$VERSION/snappymail-$VERSION.tar.gz; \
mkdir -p /snappymail; \
tar -zxvf build/dist/releases/webmail/$VERSION/snappymail-$VERSION.tar.gz -C /snappymail; \
find /snappymail -type d -exec chmod 550 {} \; ; \
find /snappymail -type f -exec chmod 440 {} \; ; \
find /snappymail/data -type d -exec chmod 750 {} \; ; \
# Remove unneeded files
rm -v /snappymail/README.md /snappymail/_include.php
# Inspired by the original Rainloop dockerfile from youtous on GitLab
FROM php:8.5-fpm-alpine AS final
LABEL org.label-schema.description="SnappyMail webmail client image using nginx, php-fpm on Alpine"
# Install dependencies such as nginx
RUN apk add --no-cache ca-certificates nginx supervisor bash
# Install PHP extensions
# apcu
RUN set -eux; \
apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; \
pecl install apcu; \
docker-php-ext-enable apcu; \
docker-php-source delete; \
apk del .build-dependencies;
# gd
RUN set -eux; \
apk add --no-cache freetype libjpeg-turbo libpng; \
apk add --no-cache --virtual .deps freetype-dev libjpeg-turbo-dev libpng-dev; \
docker-php-ext-configure gd --with-freetype --with-jpeg; \
docker-php-ext-install gd; \
apk del .deps
# gmagick
# RUN set -eux; \
# apk add --no-cache graphicsmagick libgomp; \
# apk add --no-cache --virtual .deps graphicsmagick-dev libtool; \
# apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; \
# pecl install gmagick-2.0.6RC1; \
# docker-php-ext-enable gmagick; \
# docker-php-source delete; \
# apk del .build-dependencies; \
# apk del .deps
# gnupg
RUN set -eux; \
apk add --no-cache gnupg gpgme; \
apk add --no-cache --virtual .deps gpgme-dev; \
apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; \
pecl install gnupg; \
docker-php-ext-enable gnupg; \
docker-php-source delete; \
apk del .build-dependencies; \
apk del .deps
# imagick
RUN set -eux; \
apk add --no-cache imagemagick libgomp; \
apk add --no-cache --virtual .deps imagemagick-dev; \
apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; \
echo | pecl install imagick; \
docker-php-ext-enable imagick; \
docker-php-source delete; \
apk del .build-dependencies; \
apk del .deps
# intl
RUN set -eux; \
apk add --no-cache icu-libs; \
apk add --no-cache --virtual .deps icu-dev; \
docker-php-ext-configure intl; \
docker-php-ext-install intl; \
apk del .deps
# ldap
RUN set -eux; \
apk add --no-cache libldap; \
apk add --no-cache --virtual .deps openldap-dev; \
docker-php-ext-configure ldap; \
docker-php-ext-install ldap; \
apk del .deps
# mysql
RUN docker-php-ext-install pdo_mysql
# postgres
RUN set -eux; \
apk add --no-cache postgresql-libs; \
apk add --no-cache --virtual .deps postgresql-dev; \
docker-php-ext-install pdo_pgsql; \
apk del .deps
# redis
RUN set -eux; \
apk add --no-cache liblzf zstd-libs; \
apk add --no-cache --virtual .deps zstd-dev; \
apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; \
pecl install igbinary; \
docker-php-ext-enable igbinary; \
pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-lzf="yes" enable-redis-zstd="yes"' redis; \
docker-php-ext-enable redis; \
docker-php-source delete; \
apk del .build-dependencies; \
apk del .deps
# sqlite
RUN set -eux; \
apk add --no-cache sqlite-libs; \
apk add --no-cache --virtual .deps sqlite-dev; \
docker-php-ext-install pdo_sqlite; \
apk del .deps
# tidy
RUN set -eux; \
apk add --no-cache tidyhtml; \
apk add --no-cache --virtual .deps tidyhtml-dev; \
docker-php-ext-install tidy; \
apk del .deps
# uuid
RUN set -eux; \
apk add --no-cache libuuid; \
apk add --no-cache --virtual .deps util-linux-dev; \
apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; \
pecl install uuid; \
docker-php-ext-enable uuid; \
docker-php-source delete; \
apk del .build-dependencies; \
apk del .deps
# xxtea - Manually install php8 compatible version from https://github.com/xxtea/xxtea-pecl master branch
RUN set -eux; \
apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; \
wget -q https://github.com/xxtea/xxtea-pecl/tarball/3f5888a29045e12301254151737c5dab4523a1c1 -O xxtea.tar; \
echo '9cbfd9c27255767deb26ddedf69e738d401d88ac9762d82c8510f9768842ca18 xxtea.tar' | sha256sum -c -; \
tar -C /usr/src -xvf xxtea.tar; \
cd /usr/src/xxtea-xxtea-pecl-3f5888a; \
phpize; \
./configure --with-php-config=/usr/local/bin/php-config --enable-xxtea=yes; \
make install; \
docker-php-ext-enable xxtea; \
cd -; \
rm -fv xxtea.tar; \
rm -rfv /usr/src/xxtea*; \
apk del .build-dependencies;
# zip
RUN set -eux; \
apk add --no-cache libzip; \
apk add --no-cache --virtual .deps libzip-dev; \
docker-php-ext-install zip; \
apk del .deps
# Install snappymail
# The 'www-data' user/group in alpine is 82:82. The 'nginx' user/group in alpine is 101:101, and is part of www-data group
COPY --chown=www-data:www-data --from=builder /snappymail /snappymail
# Use a custom snappymail data folder
RUN mv -v /snappymail/data /var/lib/snappymail;
# Setup configs
COPY --chown=root:root .docker/release/files /
RUN set -eux; \
chown www-data:www-data /snappymail/include.php; \
chmod 440 /snappymail/include.php; \
chmod +x /entrypoint.sh; \
# Disable the built-in php-fpm configs, since we're using our own config
mv -v /usr/local/etc/php-fpm.d/docker.conf /usr/local/etc/php-fpm.d/docker.conf.disabled; \
mv -v /usr/local/etc/php-fpm.d/www.conf /usr/local/etc/php-fpm.d/www.conf.disabled; \
mv -v /usr/local/etc/php-fpm.d/zz-docker.conf /usr/local/etc/php-fpm.d/zz-docker.conf.disabled;
USER root
WORKDIR /snappymail
VOLUME /var/lib/snappymail
EXPOSE 8888
EXPOSE 9000
ENTRYPOINT []
CMD ["/entrypoint.sh"]

View file

@ -0,0 +1,86 @@
#!/bin/sh
set -eu
DEBUG=${DEBUG:-}
if [ "$DEBUG" = 'true' ]; then
set -x
fi
UPLOAD_MAX_SIZE=${UPLOAD_MAX_SIZE:-25M}
MEMORY_LIMIT=${MEMORY_LIMIT:-128M}
SECURE_COOKIES=${SECURE_COOKIES:-true}
# Disable listening on ipv6 for ipv4-only environments, or nginx will fail to start
if ! ip a | grep 'inet6 ' > /dev/null; then
echo "[INFO] ipv6 is disabled. Configuring nginx to not listen on ipv6"
sed -i '/listen \[::\]:/d' /etc/nginx/nginx.conf
fi
# Set attachment size limit
sed -i "s/<UPLOAD_MAX_SIZE>/$UPLOAD_MAX_SIZE/g" /usr/local/etc/php-fpm.d/php-fpm.conf /etc/nginx/nginx.conf
sed -i "s/<MEMORY_LIMIT>/$MEMORY_LIMIT/g" /usr/local/etc/php-fpm.d/php-fpm.conf
# Secure cookies
if [ "${SECURE_COOKIES}" = 'true' ]; then
echo "[INFO] Secure cookies activated"
{
echo 'session.cookie_httponly = On';
echo 'session.cookie_secure = On';
echo 'session.use_only_cookies = On';
} > /usr/local/etc/php/conf.d/cookies.ini;
fi
echo "[INFO] Snappymail version: $( ls /snappymail/snappymail/v )"
# Set permissions on snappymail data
echo "[INFO] Setting permissions on /var/lib/snappymail"
chown -R www-data:www-data /var/lib/snappymail/
chmod 550 /var/lib/snappymail/
find /var/lib/snappymail/ -type d -exec chmod 750 {} \;
# Create snappymail default config if absent
SNAPPYMAIL_CONFIG_FILE=/var/lib/snappymail/_data_/_default_/configs/application.ini
if [ ! -f "$SNAPPYMAIL_CONFIG_FILE" ]; then
echo "[INFO] Creating default Snappymail configuration: $SNAPPYMAIL_CONFIG_FILE"
# Run snappymail and exit. This populates the snappymail data directory and generates the config file
# On error, print php exception and exit
EXITCODE=
su - www-data -s /bin/sh -c 'php /snappymail/index.php' > /tmp/out || EXITCODE=$?
if [ -n "$EXITCODE" ]; then
cat /tmp/out
exit "$EXITCODE"
fi
fi
echo "[INFO] Overriding values in snappymail configuration: $SNAPPYMAIL_CONFIG_FILE"
# Enable output of snappymail logs
sed '/^\; Enable logging/{
N
s/enable = Off/enable = On/
}' -i $SNAPPYMAIL_CONFIG_FILE
# Redirect snappymail logs to stderr /stdout
sed 's/^filename = .*/filename = "stderr"/' -i $SNAPPYMAIL_CONFIG_FILE
sed 's/^write_on_error_only = .*/write_on_error_only = Off/' -i $SNAPPYMAIL_CONFIG_FILE
sed 's/^write_on_php_error_only = .*/write_on_php_error_only = On/' -i $SNAPPYMAIL_CONFIG_FILE
# Always enable snappymail Auth logging
sed 's/^auth_logging = .*/auth_logging = On/' -i $SNAPPYMAIL_CONFIG_FILE
sed 's/^auth_logging_filename = .*/auth_logging_filename = "auth.log"/' -i $SNAPPYMAIL_CONFIG_FILE
sed 's/^auth_logging_format = .*/auth_logging_format = "[{date:Y-m-d H:i:s}] Auth failed: ip={request:ip} user={imap:login} host={imap:host} port={imap:port}"/' -i $SNAPPYMAIL_CONFIG_FILE
sed 's/^auth_syslog = .*/auth_syslog = Off/' -i $SNAPPYMAIL_CONFIG_FILE
(
while ! nc -vz -w 1 127.0.0.1 8888 > /dev/null 2>&1; do echo "[INFO] Checking whether nginx is alive"; sleep 1; done
while ! nc -vz -w 1 127.0.0.1 9000 > /dev/null 2>&1; do echo "[INFO] Checking whether php-fpm is alive"; sleep 1; done
# Create snappymail admin password if absent
SNAPPYMAIL_ADMIN_PASSWORD_FILE=/var/lib/snappymail/_data_/_default_/admin_password.txt
if [ ! -f "$SNAPPYMAIL_ADMIN_PASSWORD_FILE" ]; then
echo "[INFO] Creating Snappymail admin password file: $SNAPPYMAIL_ADMIN_PASSWORD_FILE"
wget -T 1 -qO- 'http://127.0.0.1:8888/?/AdminAppData/0/12345/' > /dev/null
echo "[INFO] Snappymail Admin Panel ready at http://localhost:8888/?admin. Login using password in $SNAPPYMAIL_ADMIN_PASSWORD_FILE"
fi
wget -T 1 -qO- 'http://127.0.0.1:8888/' > /dev/null
echo "[INFO] Snappymail ready at http://localhost:8888/"
) &
# RUN !
exec /usr/bin/supervisord -c /supervisor.conf --pidfile /run/supervisord.pid

View file

@ -0,0 +1,108 @@
worker_processes auto;
pid /tmp/nginx.pid;
events {
worker_connections 1024;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log off;
error_log /dev/stderr error;
sendfile on;
keepalive_timeout 15;
keepalive_disable msie6;
keepalive_requests 100;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
fastcgi_temp_path /tmp/fastcgi 1 2;
client_body_temp_path /tmp/client_body 1 2;
proxy_temp_path /tmp/proxy 1 2;
uwsgi_temp_path /tmp/uwsgi 1 2;
scgi_temp_path /tmp/scgi 1 2;
gzip on;
gzip_comp_level 5;
gzip_min_length 512;
gzip_buffers 4 8k;
gzip_proxied any;
gzip_vary on;
gzip_disable "msie6";
gzip_types
text/css
text/javascript
text/xml
text/plain
text/x-component
application/javascript
application/x-javascript
application/json
application/xml
application/rss+xml
application/vnd.ms-fontobject
font/truetype
font/opentype
image/svg+xml;
server {
listen 8888;
listen [::]:8888;
#listen [::]:8888 ipv6only=off;
root /snappymail;
index index.php;
charset utf-8;
client_max_body_size <UPLOAD_MAX_SIZE>;
location ^~ /data {
deny all;
}
location / {
try_files $uri $uri/ index.php;
}
# Assets cache control
# --------------------------------------
location ~* \.(?:html|xml|json)$ {
expires -1;
}
location ~* \.(?:css|js)$ {
expires 7d;
add_header Pragma public;
add_header Cache-Control "public";
}
location ~* \.(?:gif|jpe?g|png|ico|otf|eot|svg|ttf|woff|woff2)$ {
expires 30d;
log_not_found off;
add_header Pragma public;
add_header Cache-Control "public";
}
# PHP Backend
# --------------------------------------
location ~* \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTP_PROXY "";
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
fastcgi_param REMOTE_ADDR $http_x_real_ip;
}
}
}

View file

@ -0,0 +1,23 @@
<?php
$stdIn = STDIN;
$stdOut = STDOUT;
fwrite($stdOut, "READY\n");
while(true) {
if (false == $line = trim(fgets($stdIn))) {
continue;
}
$match = null;
if (preg_match('/eventname:(.*?) /', $line, $match)) {
if (in_array($match[1], ['PROCESS_STATE_EXITED', 'PROCESS_STATE_STOPPED', 'PROCESS_STATE_FATAL'])) {
exec('kill -15 '.file_get_contents('/run/supervisord.pid'));
}
}
fwrite($stdOut, "RESULT 2\nOK");
sleep(1);
fwrite($stdOut, "READY\n");
}

View file

@ -0,0 +1,3 @@
<?php
define('APP_DATA_FOLDER_PATH', '/var/lib/snappymail/');
?>

View file

@ -0,0 +1,40 @@
[supervisord]
nodaemon=true
user=root
logfile=/dev/null
logfile_maxbytes=0
[program:nginx]
command=nginx -c /etc/nginx/nginx.conf -g 'daemon off;'
process_name=%(program_name)s_%(process_num)02d
user=root
numprocs=1
autostart=true
autorestart=false
startsecs=0
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
[program:php-fpm]
command=php-fpm -F
process_name=%(program_name)s_%(process_num)02d
user=root
numprocs=1
autostart=true
autorestart=false
startsecs=0
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
[eventlistener:subprocess-stopped]
command=php /listener.php
process_name=%(program_name)s_%(process_num)02d
user=root
numprocs=1
events=PROCESS_STATE_EXITED,PROCESS_STATE_STOPPED,PROCESS_STATE_FATAL
autostart=true
autorestart=unexpected

View file

@ -0,0 +1,25 @@
[global]
daemonize = no
error_log = /dev/stderr
log_buffering = no
[default]
listen = 9000
user = www-data
listen.owner = www-data
listen.group = www-data
pm = ondemand
pm.max_children = 30
pm.process_idle_timeout = 10s
pm.max_requests = 500
catch_workers_output = yes
decorate_workers_output = no
chdir = /
pm.status_path = /status
php_admin_value[log_errors] = On
php_admin_value[expose_php] = Off
php_admin_value[display_errors] = Off
php_admin_value[date.timezone] = UTC
php_admin_value[post_max_size] = <UPLOAD_MAX_SIZE>
php_admin_value[upload_max_filesize] = <UPLOAD_MAX_SIZE>
php_admin_value[memory_limit] = <MEMORY_LIMIT>

View file

@ -0,0 +1,7 @@
#!/bin/sh
# This script uses docker buildx to build a docker image, and loads it into the docker daemon. Then it executes ./test.sh to test the docker image
# It is useful for testing release builds in development
set -eu
IMAGE=snappymail/snappymail:test
DOCKER_BUILDX=1 docker build -t "$IMAGE" -f .docker/release/Dockerfile .
.docker/release/test/test.sh "$IMAGE"

View file

@ -0,0 +1,29 @@
# See: https://github.com/GoogleContainerTools/container-structure-test
# See: https://github.com/GoogleContainerTools/container-structure-test/issues/78
schemaVersion: 2.0.0
commandTests:
- name: Integration test
command: /bin/sh
args:
- -c
- |
set -eux
DEBUG=true /entrypoint.sh > /tmp/test 2>&1 &
sleep 5
cat /tmp/test
pidof supervisord
pidof nginx
pidof php-fpm
ls -al /var/lib/snappymail/_data_/_default_/configs/application.ini
ls -al /var/lib/snappymail/_data_/_default_/admin_password.txt
nc -vz 127.0.0.1 8888
nc -vz 127.0.0.1 9000
wget -S -T 3 -O /dev/null http://127.0.0.1:8888
kill `pidof supervisord`
metadataTest:
exposedPorts: ["8888", "9000"]
volumes: ["/var/lib/snappymail"]
entrypoint: []
cmd: ["/entrypoint.sh"]
workdir: /snappymail
user: root

10
.docker/release/test/test.sh Executable file
View file

@ -0,0 +1,10 @@
#!/bin/sh
# This script tests a given docker image using https://github.com/GoogleContainerTools/container-structure-test
set -eu
SCRIPT_DIR=$( cd "$(dirname "$0")" && pwd )
IMAGE=${1:-}
echo "Testing image: $IMAGE"
docker run --rm -i \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v "$SCRIPT_DIR/config.yaml:/config.yaml:ro" \
gcr.io/gcp-runtimes/container-structure-test:latest test --image "$IMAGE" --config config.yaml

2
.dockerignore Normal file
View file

@ -0,0 +1,2 @@
/.git
/node_modules

2
.editorconfig Normal file
View file

@ -0,0 +1,2 @@
[*.php]
indent_style = tab

4
.eslintignore Normal file
View file

@ -0,0 +1,4 @@
*.*
!/dev/**/*.js
!/tasks/**/*.js
!/*.js

View file

@ -1,282 +1,64 @@
module.exports = {
'extends': 'eslint:recommended',
'ecmaFeatures': {
'modules': true
},
"parser": "babel-eslint",
'parserOptions': {
'ecmaVersion': 6,
'sourceType': 'module'
},
'env': {
'node': true,
'commonjs': true,
'es6': true
},
'globals': {
'RL_COMMUNITY': true,
'RL_ES6': true
},
// http://eslint.org/docs/rules/
'rules': {
// errors
'no-cond-assign': [2, 'always'],
'no-console': 2,
'no-constant-condition': 2,
'no-control-regex': 2,
'no-debugger': 2,
'no-dupe-args': 2,
'no-dupe-keys': 2,
'no-duplicate-case': 2,
'no-empty': 2,
'no-empty-character-class': 2,
'no-ex-assign': 2,
'no-extra-boolean-cast': 2,
// 'no-extra-parens': 2,
'no-extra-semi': 2,
'no-func-assign': 2,
'no-inner-declarations': 2,
'no-invalid-regexp': 2,
'no-irregular-whitespace': 2,
'no-negated-in-lhs': 2,
'no-obj-calls': 2,
'no-prototype-builtins': 2,
'no-regex-spaces': 2,
'no-sparse-arrays': 2,
'no-unexpected-multiline': 2,
'no-unreachable': 2,
'no-unsafe-finally': 2,
'use-isnan': 2,
// 'valid-jsdoc': [2, {
// 'requireParamDescription': false,
// 'requireReturnDescription': false
// }],
'valid-typeof': 2,
// best practices
'accessor-pairs': 2,
'array-callback-return': 2,
'block-scoped-var': 2,
// 'complexity': 2,
'consistent-return': 2,
'curly': 2,
'default-case': 2,
'dot-location': [2, 'property'],
'dot-notation': 2,
'eqeqeq': 2,
'guard-for-in': 2,
'no-alert': 2,
'no-caller': 2,
'no-case-declarations': 2,
'no-div-regex': 2,
'no-else-return': 2,
'no-empty-function': 2,
'no-empty-pattern': 2,
'no-eq-null': 2,
'no-eval': 2,
'no-extend-native': 2,
'no-extra-bind': 2,
'no-extra-label': 2,
'no-fallthrough': 2,
'no-floating-decimal': 2,
'no-implicit-coercion': [2, {'allow': ['!!', '+']}],
'no-implicit-globals': 2,
'no-implied-eval': 2,
'no-invalid-this': 2,
'no-iterator': 2,
'no-labels': 2,
'no-lone-blocks': 2,
'no-loop-func': 2,
// 'no-magic-numbers': [2, {
// 'ignore': [-1, 0, 1, 2, 10, 100],
// 'ignoreArrayIndexes': true
// }],
'no-multi-spaces': 2,
'no-multi-str': 2,
'no-native-reassign': 2,
'no-new': 2,
'no-new-func': 2,
'no-new-wrappers': 2,
'no-octal': 2,
'no-octal-escape': 2,
// 'no-param-reassign': 2,
'no-proto': 2,
'no-redeclare': 2,
'no-return-assign': 2,
'no-script-url': 2,
'no-self-assign': 2,
'no-self-compare': 2,
'no-sequences': 2,
'no-throw-literal': 2,
'no-unmodified-loop-condition': 2,
'no-unused-expressions': 2,
'no-unused-labels': 2,
'no-useless-call': 2,
'no-useless-concat': 2,
'no-useless-escape': 2,
'no-void': 2,
'no-warning-comments': 2,
'no-with': 2,
'radix': 2,
// 'vars-on-top': 2,
'wrap-iife': 2,
'yoda': [2, 'always'],
// strict mode
'strict': 2,
// variables
'init-declarations': 2,
'no-catch-shadow': 2,
'no-delete-var': 2,
'no-label-var': 2,
'no-restricted-globals': 2,
'no-shadow': 2,
'no-shadow-restricted-names': 2,
'no-undef': 2,
'no-undef-init': 2,
'no-undefined': 2,
'no-unused-vars': 2,
'no-use-before-define': 2,
// node.js and commonjs
'callback-return': 2,
// 'global-require': 2,
'handle-callback-err': 2,
// 'no-mixed-requires': 2,
'no-new-require': 2,
'no-path-concat': 2,
'no-process-env': 2,
'no-process-exit': 2,
'no-restricted-modules': 2,
// 'no-sync': 2,
// stylistic issues
'array-bracket-spacing': 2,
'block-spacing': [2, 'never'],
// 'brace-style': [2, 'allman'],
'camelcase': 2,
'comma-dangle': [2, 'never'],
'comma-spacing': 2,
'comma-style': 2,
'computed-property-spacing': 2,
'consistent-this': [2, 'self'],
'eol-last': 2,
'func-names': [2, 'never'],
// 'func-style': 2,
'id-blacklist': [2, 'x'],
'id-length': [2, {'min': 1, 'max': 50}],
'id-match': 2,
'indent': [2, 'tab', {
'SwitchCase': 1,
'VariableDeclarator': {
'var': 1,
'let': 1,
'const': 1
}
}],
'jsx-quotes': 2,
'key-spacing': 2,
'keyword-spacing': 2,
'linebreak-style': [2, 'unix'],
// 'lines-around-comment': 2,
'max-depth': [2, 10],
'max-len': [2, 200],
// 'max-lines': 2,
'max-nested-callbacks': [2, 5],
// 'max-params': 2,
// 'max-statements': [2, {'max': 10}, {'ignoreTopLevelFunctions': true}],
'max-statements-per-line': 2,
'new-cap': 2,
'new-parens': 2,
// 'newline-after-var': 2,
// 'newline-before-return': 2,
// 'newline-per-chained-call': 2,
'no-array-constructor': 2,
'no-bitwise': 2,
'no-continue': 2,
// 'no-inline-comments': 2,
// 'no-lonely-if': 2,
// 'no-mixed-operators': 2,
'no-mixed-spaces-and-tabs': 2,
'no-multiple-empty-lines': [2, {
"max": 1,
"maxEOF": 1,
"maxBOF": 1
}],
// 'no-negated-condition': 2,
// 'no-nested-ternary': 2,
'no-new-object': 2,
'no-plusplus': [2, {
'allowForLoopAfterthoughts': true
}],
'no-restricted-syntax': 2,
'no-spaced-func': 2,
'no-ternary': 0,
'no-trailing-spaces': 2, // disallow trailing whitespace at the end of lines
// 'no-underscore-dangle': 2, // disallow dangling underscores in identifiers
'no-unneeded-ternary': 2, // disallow ternary operators when simpler alternatives exist
'no-whitespace-before-property': 2,
// 'object-curly-newline': 2,
'object-curly-spacing': [2, 'never'],
'object-property-newline': [2, {'allowMultiplePropertiesPerLine': true}],
// 'one-var': [2, {
// 'var': 'always',
// 'let': 'always',
// 'const': 'always'
// }],
'one-var-declaration-per-line': [2, 'always'],
'operator-assignment': 2,
'operator-linebreak': [2, 'after'],
// 'padded-blocks': [2, 'never'],
// 'quote-props': [2, 'as-needed'],
'quotes': [2, 'single'],
'require-jsdoc': 2,
'semi': [2, 'always'],
'semi-spacing': 2,
// 'sort-vars': 2,
'space-before-blocks': 2,
'space-before-function-paren': [2, 'never'],
'space-in-parens': 2,
'space-infix-ops': 2,
'space-unary-ops': 2,
'spaced-comment': 2,
'unicode-bom': [2, 'never'],
'wrap-regex': 2,
// es6
'arrow-body-style': [2, 'as-needed'],
'arrow-parens': 2,
'arrow-spacing': 2,
'constructor-super': 2,
'generator-star-spacing': 2,
'no-class-assign': 2,
'no-confusing-arrow': [2, {'allowParens': true}],
'no-const-assign': 2,
'no-dupe-class-members': 2,
'no-duplicate-imports': 2,
'no-new-symbol': 2,
'no-restricted-imports': 2,
'no-this-before-super': 2,
'no-useless-computed-key': 2,
'no-useless-constructor': 2,
'no-useless-rename': 2,
'no-var': 2,
// 'object-shorthand': 2,
'prefer-arrow-callback': 2,
'prefer-const': 2,
// 'prefer-reflect': 2,
'prefer-rest-params': 2,
'prefer-spread': 2,
// 'prefer-template': 2,
'require-yield': 2,
'rest-spread-spacing': 2,
'sort-imports': 0, // off
'template-curly-spacing': 2,
'yield-star-spacing': 2
}
};
module.exports = {
parser: 'babel-eslint',
// extends: ['eslint:recommended', 'plugin:prettier/recommended'],
extends: ['eslint:recommended'],
parserOptions: {
ecmaVersion: 11,
sourceType: 'module'
},
env: {
node: true,
browser: true,
es2020: true
},
globals: {
// SnappyMail
'rainloopI18N': "readonly",
'rainloopTEMPLATES': "readonly",
'rl': "readonly",
'shortcuts': "readonly",
// '__APP_BOOT': "readonly",
// deb/boot.js
'progressJs': "readonly",
// others
'openpgp': "readonly",
'CKEDITOR': "readonly",
'Squire': "readonly",
'SquireUI': "readonly",
// node_modules/knockout but dev/External/ko.js is used
'ko': "readonly",
// vendors/routes/
'hasher': "readonly",
'Crossroads': "readonly",
// vendors/jua
'Jua': "readonly",
// vendors/bootstrap/bootstrap.native.js
'BSN': "readonly",
// Mailvelope
'mailvelope': "readonly",
// Punycode
'IDN': "readonly",
// Turndown
'TurndownService': "readonly",
// Marked
'marked': "readonly"
},
// http://eslint.org/docs/rules/
rules: {
'no-cond-assign': 0,
// plugins
'no-mixed-spaces-and-tabs': 'off',
'max-len': [
'error',
120,
2,
{
ignoreComments: true,
ignoreUrls: true,
ignoreTrailingComments: true,
ignorePattern: '(^\\s*(const|let|var)\\s.+=\\s*require\\s*\\(|^import\\s.+\\sfrom\\s.+;$)'
}
],
'no-constant-condition': ["error", { "checkLoops": false }]
}
};

View file

@ -1,25 +0,0 @@
[ignore]
.*/node_modules/.*
.*/vendors/.*
.*/rainloop/.*
.*/plugins/.*
.*/build/.*
.*/asserts/.*
[include]
[libs]
./dev/
[options]
strip_root=true
module.system=haste
esproposal.class_static_fields=enable
esproposal.class_instance_fields=enable
esproposal.decorators=ignore
experimental.strict_type_args=true
unsafe.enable_getters_and_setters=true

2
.github/FUNDING.yml vendored Normal file
View file

@ -0,0 +1,2 @@
github: the-djmaze
custom: ["https://www.paypal.me/thedjmaze", "https://snappymail.eu"]

8
.github/ISSUE_TEMPLATE.md vendored Normal file
View file

@ -0,0 +1,8 @@
**SnappyMail version, browser, browser version:**
**Expected behavior and actual behavior:**
**Steps to reproduce the problem:**
**Logs or screenshots:**

38
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View file

@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Please complete the following information:**
- Browser: [e.g. chromium 100, firefox 100, safari 14, mobile]
- IMAP daemon: [e.g. courier, dovecot]
- PHP version:
- SnappyMail Version:
- Mode: [e.g. standalone, nextcloud, cyberpanel, docker]
**Debug/logging information**
[Read here how to log](https://github.com/the-djmaze/snappymail/wiki/FAQ#how-do-i-enable-logging)
- [ ] I've placed them here (few lines) or as attachments (many lines)
**Additional context**
Add any other context about the problem here.

View file

@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

93
.github/workflows/docker-pr.yml vendored Normal file
View file

@ -0,0 +1,93 @@
name: docker-pr
on:
pull_request:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
# This step generates the docker tags
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
env:
# This env var ensures {{sha}} is a real commit SHA for type=ref,event=pr
DOCKER_METADATA_PR_HEAD_SHA: 'true'
with:
images: |
djmaze/snappymail
ghcr.io/${{ github.repository }}
# type=ref,event=pr generates tag(s) on PRs only. E.g. 'pr-123', 'pr-123-abc0123'
tags: |
type=ref,event=pr
type=ref,suffix=-{{sha}},event=pr
# The rest of the org.opencontainers.image.xxx labels are dynamically generated
labels: |
org.opencontainers.image.description=SnappyMail
org.opencontainers.image.licenses=AGPLv3
# See: https://github.com/docker/build-push-action/blob/v2.6.1/docs/advanced/cache.md#github-cache
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
# See: https://github.com/docker/buildx/issues/59
- name: Build
id: build
uses: docker/build-push-action@v3
with:
context: '.'
file: ./.docker/release/Dockerfile
platforms: linux/amd64
push: false
load: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
- name: Docker images
run: |
docker images
- name: Test
run: |
TAG=$( echo "${{ steps.meta.outputs.tags }}" | head -n1 )
.docker/release/test/test.sh "$TAG"
- name: Build all archs
uses: docker/build-push-action@v3
with:
context: '.'
file: ./.docker/release/Dockerfile
platforms: linux/386,linux/amd64,linux/arm64
push: false
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
# Temp fix
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

117
.github/workflows/docker.yml vendored Normal file
View file

@ -0,0 +1,117 @@
name: docker
on:
push:
tags:
- 'v2.*'
# This is needed to push to GitHub Container Registry. See https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry
permissions:
contents: read
packages: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
# This step generates the docker tags
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
env:
# This env var ensures {{sha}} is a real commit SHA for type=ref,event=pr
DOCKER_METADATA_PR_HEAD_SHA: 'true'
with:
images: |
djmaze/snappymail
ghcr.io/${{ github.repository }}
# type=ref,event=branch generates tag(s) on branch only. E.g. 'master', 'master-abc0123'
# type=ref,event=tag generates tag(s) on tags only. E.g. 'v0.0.0', 'v0.0.0-abc0123', and 'latest'
tags: |
type=ref,event=branch
type=ref,event=tag
# The rest of the org.opencontainers.image.xxx labels are dynamically generated
labels: |
org.opencontainers.image.description=SnappyMail
org.opencontainers.image.licenses=AGPLv3
# See: https://github.com/docker/build-push-action/blob/v2.6.1/docs/advanced/cache.md#github-cache
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to Docker Hub registry
if: startsWith(github.ref, 'refs/tags/') # Login only on tags
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
if: startsWith(github.ref, 'refs/tags/') # Login only on tags
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# See: https://github.com/docker/buildx/issues/59
- name: Build
id: build
uses: docker/build-push-action@v3
with:
context: '.'
file: ./.docker/release/Dockerfile
platforms: linux/amd64
push: false
load: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
- name: Docker images
run: |
docker images
- name: Test
run: |
TAG=$( echo "${{ steps.meta.outputs.tags }}" | head -n1 )
.docker/release/test/test.sh "$TAG"
- name: Build and push
id: build-and-push
uses: docker/build-push-action@v3
with:
context: '.'
file: ./.docker/release/Dockerfile
# TODO: Add more arches?
# platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64,linux/s390x
platforms: linux/386,linux/amd64,linux/arm64
push: ${{ startsWith(github.ref, 'refs/tags/') }} # Push only on tags
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
# Temp fix
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache

42
.gitignore vendored
View file

@ -1,24 +1,32 @@
/.idea
/.vscode
*.bak
*.old
/api.php
/error.log
/nbproject
/npm-debug.log
/rainloop.sublime-project
/rainloop.sublime-workspace
/rainloop/v/0.0.0/static/*
/rainloop/v/0.0.0/app/localization/moment/*
!/rainloop/v/0.0.0/app/localization/moment/.gitempty
/tests/e2e/configuration.js
/tests/e2e/output/*
!/tests/e2e/output/.gitempty
/vendors/.*
/*.log
/snappymail/v/0.0.0/static/*
/node_modules
/build/local
/build/dist
/build/tmp
/build/docker
/.docker/dev/.cache
/.docker/dev/mail/config
/.docker/dev/nginx/ssl/*
!/.docker/dev/nginx/ssl/.gitempty
/.docker/release/snappymail-*.zip
/dist
/data
.DS_Store
/tests/fix.php
/MULTIPLY
/include.php
/include.php
/issues
.idea/
.env
/test
/public_html
/vendors/knockout/spec
/vendors/openpgp-5
!/vendors/openpgp-5/dist
/vendors/squire2
!/vendors/squire2/dist
/vendors/vanillaqr.js/
/integrations/nextcloud/rainloop
/integrations/owncloud/rainloop

7
.gitmodules vendored Normal file
View file

@ -0,0 +1,7 @@
[submodule "vendors/openpgp-5"]
path = vendors/openpgp-5
url = git@github.com:the-djmaze/openpgpjs.git
[submodule "vendors/squire2"]
path = vendors/squire2
url = git@github.com:the-djmaze/Squire.git
branch = snappymail

51
.htaccess Normal file
View file

@ -0,0 +1,51 @@
<FilesMatch "index\.php">
AcceptPathInfo On
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine On
# Redirect cPanel
RewriteRule cpsess.* https://%{HTTP_HOST}/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php/$1 [L,QSA]
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css A15768000
ExpiresByType text/html A15768000
ExpiresByType application/javascript A15768000
ExpiresByType image/gif A15768000
ExpiresByType image/jpeg A15768000
ExpiresByType image/png A15768000
ExpiresByType image/svg+xml A15768000
ExpiresByType image/webp A15768000
ExpiresByType image/vnd.microsoft.icon A15768000
ExpiresByType font/woff A15768000
ExpiresByType font/woff2 A15768000
</IfModule>
<IfModule mod_headers.c>
# Header set Cache-Control "public, max-age=31536000"
# Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; style-src 'self' 'unsafe-inline'"
# Header set Referrer-Policy "no-referrer"
# Header set Strict-Transport-Security "max-age=31536000"
Header set imagetoolbar "no"
# Header set X-Content-Type-Options "nosniff"
# Header set X-XSS-Protection "1; mode=block"
Header set Service-Worker-Allowed "/"
# Google FLoC
# Header set Permissions-Policy "interest-cohort=()"
</IfModule>
#<IfModule mod_brotli.c>
# AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript
#</IfModule>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css text/html text/plain text/xml application/xml text/javascript application/javascript
AddOutputFilterByType DEFLATE font/opentype font/otf font/ttf font/woff
</IfModule>

4
.prettierignore Normal file
View file

@ -0,0 +1,4 @@
*.*
!/dev/**/*.js
!/tasks/**/*.js
!/*.js

26
.prettierrc Normal file
View file

@ -0,0 +1,26 @@
{
"printWidth": 120,
"semi": true,
"singleQuote": true,
"useTabs": true,
"bracketSpacing": true,
"trailingComma": "none",
"arrowParens": "always",
"endOfLine": "lf",
"quoteProps": "preserve",
"overrides": [
{
"files": "*.js",
"options": {
"parser": "babel"
}
},
{
"files": "*.jsx",
"options": {
"parser": "babel"
}
}
]
}

View file

@ -1,16 +0,0 @@
filter:
path:
- 'rainloop-webmail/rainloop/v/0.0.0/app/libraries/MailSo/*'
- 'rainloop-webmail/rainloop/v/0.0.0/app/libraries/RainLoop/*'
- 'dev/*'
- '/*.js'
excluded_paths:
- '*.min.js'
- '*/min/*'
- '*.min.css'
- 'vendors/*'
- 'build/*'
- 'data/*'
checks:
javascript: true
php: true

View file

@ -1,13 +0,0 @@
language: php
php:
- '5.3'
- '5.4'
- '5.5'
- '5.6'
- '7.0'
#before_script:
# - sudo apt-get install -y build-essential libssl-dev
# - curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.1/install.sh | bash
# - nvm install 4.4.5
# - nvm use 4.4.5
# - npm install -g eslint babel-eslint

View file

@ -1,14 +0,0 @@
[main]
host = https://www.transifex.com
type = YAML
minimum_perc = 60
[rainloop-webmail.rainloop-webmail]
file_filter = rainloop/v/0.0.0/app/localization/webmail/<lang>.yml
source_file = rainloop/v/0.0.0/app/localization/webmail/_source.en.yml
source_lang = en
[rainloop-webmail.rainloop-admin]
file_filter = rainloop/v/0.0.0/app/localization/admin/<lang>.yml
source_file = rainloop/v/0.0.0/app/localization/admin/_source.en.yml
source_lang = en

2422
CHANGELOG.md Normal file

File diff suppressed because it is too large Load diff

130
CODE_OF_CONDUCT.md Normal file
View file

@ -0,0 +1,130 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
[support@snappymail.eu](support@snappymail.eu).
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

View file

@ -1,21 +1,47 @@
**Thanks for contributing to RainLoop Webmail!**
1. Sign the CLA (individual or corporate) at <http://www.rainloop.net/contribute/>.
2. Fork the repo, do work in a feature branch.
3. Issue a pull request.
---
**Getting started**
1. Install node.js - `https://nodejs.org/download/`
2. Install gulp - `npm install gulp -g`
3. Fork rainloop - `https://github.com/RainLoop/rainloop-webmail/issues/new#fork-destination-box`
4. Clone rainloop - `git clone git@github.com:USERNAME/rainloop-webmail.git rainloop`
5. `cd rainloop`
6. Install gulp add gulp plugins into project directory - `npm install`
7. Run gulp - `gulp`
---
If you have any questions, open an issue or email support@rainloop.net.
**Thanks for contributing to SnappyMail Webmail!**
1. Fork the repo, do work in a feature branch.
2. Issue a pull request.
---
**Getting started**
1. Install PHP
2. Install node.js - `https://nodejs.org/download/`
3. Install yarn - `https://yarnpkg.com/en/docs/install`
4. Install gulp - `npm install gulp -g`
5. Fork snappymail from https://github.com/the-djmaze/snappymail
6. Clone snappymail - `git clone git@github.com:USERNAME/snappymail.git snappymail`
7. `cd snappymail`
8. Install all dependencies - `yarn install`
9. Run gulp - `gulp`
---
**Debugging JavaScript**
1. Edit data/\_data_/\_default_/configs/application.ini
2. Set 'use_app_debug_js' (and optionally 'use_app_debug_css') to 'On'
---
**Editing HTML Template Files**
1. Edit data/\_data_/\_default_/configs/application.ini
2. Set `[cache] system_data` to Off
**Release**
1. Install gzip
2. Install brotli
3. php release.php
Options:
* `php release.php --aur` = Build Arch Linux package
* `php release.php --docker` = Build Docker instance
* `php release.php --plugins` = Build plugins
---
If you have any questions, open an issue or email support@snappymail.eu.

View file

@ -658,4 +658,4 @@ specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU AGPL, see
<http://www.gnu.org/licenses/>.
<http://www.gnu.org/licenses/>.

76
Makefile Normal file
View file

@ -0,0 +1,76 @@
#!make
rebuild: _down
docker compose build --no-cache
up: _up status
_up:
docker compose up -d
stop: _stop status
_stop:
docker compose stop
down: _down status
_down:
docker compose down
restart: _stop _up status
status:
@docker compose ps
tx:
@docker compose run --no-deps --rm tx tx pull -a -s -f -d
console-node:
@docker compose run --no-deps --rm node sh
console-tx:
@docker compose run --no-deps --rm tx sh
console-php:
@docker compose exec php sh
console: console-node
logs:
@docker compose logs --tail=100 -f
logs-db:
@docker compose logs --tail=100 -f db
logs-php:
@docker compose logs --tail=100 -f php
logs-node:
@docker compose logs --tail=100 -f node
logs-nginx:
@docker compose logs --tail=100 -f nginx
logs-mail:
@docker compose logs --tail=100 -f mail
logs-tx:
@docker compose logs --tail=100 -f tx
rl-lint:
@docker compose run --no-deps --rm node gulp lint
rl-dev:
@docker compose run --no-deps --rm node npm run watch-js
rl-compile:
@docker compose run --no-deps --rm node gulp build
rl-compile-with-source:
@docker compose run --no-deps --rm node gulp build --source
rl-watch-css:
@docker compose run --no-deps --rm node npm run watch-css
rl-watch-js:
@docker compose run --no-deps --rm node npm run watch-js
rl-build:
@docker compose run --no-deps --rm node gulp all
yarn-install:
@docker compose run --no-deps --rm node yarn install
yarn-outdated:
@docker compose run --no-deps --rm node yarn outdated
yarn-upgrade:
@docker compose run --no-deps --rm node yarn upgrade-interactive --exact --latest
gpg:
docker run -it --rm -w=/var/www \
-v $(shell pwd)/.docker/.cache/.gnupg:/root/.gnupg \
-v $(shell pwd):/var/www \
ubuntu:16.04 bash

227
README.md
View file

@ -1,23 +1,226 @@
RainLoop Webmail [![Build Status](https://travis-ci.org/RainLoop/rainloop-webmail.svg?branch=master)](https://travis-ci.org/RainLoop/rainloop-webmail) [![devDependency Status](https://david-dm.org/RainLoop/rainloop-webmail/dev-status.svg)](https://david-dm.org/RainLoop/rainloop-webmail?type=dev)
==================
<div align="center">
<a href="https://github.com/the-djmaze/snappymail">
<img src="https://snappymail.eu/static/img/logo-256x256-white.png">
</a>
<br>
<h1>SnappyMail</h1>
<br>
Simple, modern &amp; fast web-based email client.
[![github-actions](https://github.com/the-djmaze/snappymail/actions/workflows/docker.yml/badge.svg)](https://github.com/the-djmaze/snappymail/actions/workflows/docker.yml)
[![docker-image-size](https://img.shields.io/docker/image-size/djmaze/snappymail/latest)](https://hub.docker.com/r/djmaze/snappymail/tags)
Modest system requirements, decent performance, simple installation and upgrade, no database required - all these make RainLoop Webmail a perfect choice for your email solution.
<p>
Simple, modern, lightweight &amp; fast web-based email client.
</p>
<p>
The drastically upgraded &amp; secured fork of <a href="https://github.com/RainLoop/rainloop-webmail">RainLoop Webmail Community edition</a>.
</p>
<p>
We thank the RainLoop Team for making a great PHP 5 product that was good in the past.
</p>
<p>
Up to date system requirements, snappy performance, simple installation and upgrade, no database required
- all these make SnappyMail a good choice.
</p>
<h2></h2>
<br>
</div>
For more information about the product, check [rainloop.net](http://www.rainloop.net/).
For more information about the product, check [snappymail.eu](https://snappymail.eu/).
Information about installing the product, check the [documentation page](http://www.rainloop.net/docs/installation/).
Information about installing the product, check the [wiki page](https://github.com/the-djmaze/snappymail/wiki/Installation-instructions).
## Attention
This is **NOT** a stable version of RainLoop Webmail.
It's not recommended to use in production environment.
And don't forget to read the whole [Wiki](https://github.com/the-djmaze/snappymail/wiki).
## License
**RainLoop Webmail (Community edition)** is released under
**SnappyMail** is released under
**GNU AFFERO GENERAL PUBLIC LICENSE Version 3 (AGPL)**.
http://www.gnu.org/licenses/agpl-3.0.html
Copyright (c) 2016 Rainloop Team
Copyright (c) 2020 - 2024 SnappyMail
Copyright (c) 2013 - 2022 RainLoop
## Modifications
This fork of RainLoop has the following changes:
* Privacy/GDPR friendly (no: Social, Gravatar, Facebook, Google, Twitter, DropBox, X-Mailer)
* Admin uses password_hash/password_verify
* Auth failed attempts written to syslog
* Added Fail2ban instructions
* ES2020
* PHP 7.4+ required
* PHP mbstring extension required
* PHP replaced pclZip with PharData and ZipArchive
* Dark mode
* Added option to remove background/font colors from messages for real "dark mode"
* Removed BackwardCapability (class \RainLoop\Account)
* Removed ChangePassword (re-implemented as plugin)
* Removed POP3 support
* Removed background video support
* Removed Sentry (Application Monitoring and Error Tracking Software)
* Removed Spyc yaml
* Removed OwnCloud
* Replaced gulp-uglify with gulp-terser
* CRLF => LF line endings
* Embed boot.js and boot.css into index.html
* Removal of old JavaScript code (things are native these days)
* Added modified [Squire](https://github.com/the-djmaze/Squire/tree/snappymail) HTML editor as replacement for CKEditor
* Updated [Sabre/VObject](https://github.com/sabre-io/vobject)
* Split Admin specific JavaScript code from User code
* Split Sieve specific JavaScript code from User code
* JSON reviver
* Better memory garbage collection management
* Added serviceworker for Notifications
* Added advanced Sieve scripts editor
* Slimmed down language files
* Replaced webpack with rollup
* No user-agent detection (use device width)
* Added support to load plugins as .phar
* Replaced old Sabre library
* AddressBook Contacts support MySQL/MariaDB utf8mb4
* Added [Fetch Metadata Request Headers](https://www.w3.org/TR/fetch-metadata/) checks
* Reduced excessive DOM size
* Support [Kolab groupware](https://kolab.org/)
* Support many more [IMAP RFC's](https://snappymail.eu/comparison#IMAP)
* Support Sodium and OpenSSL for encryption
* Much better PGP support
### Supported browsers
This fork uses downsized/simplified versions of scripts and has no support for Internet Explorer nor Edge Legacy.
Supported are:
* Chrome 80+
* Edge 80+
* Firefox 78+
* Opera 67+
* Safari 13.1+
### Removal of old JavaScript
The result is faster and smaller download code (good for mobile networks).
* Added dev/prototype.js for some additional features
* Modified Jua.js to be without jQuery
* Replaced Autolinker with simple https/email detection
* Replaced momentToNode with proper HTML5 `<time>`
* Replaced resize listeners with ResizeObserver
* Replaced bootstrap.js with native drop-in replacement
* Replaced dev/Common/ClientStorageDriver/* with Web Storage Objects polyfill
* Replaced *Ajax with *Fetch classes because we use the Fetch API, not jQuery.ajax
* Replaced [knockoutjs](https://github.com/knockout/knockout) 3.4 with a modified 3.5.1
* Replaced knockout-sortable with native HTML5 drag&drop
* Replaced simplestatemanager with CSS @media
* Replaced inputosaurus with own code
* Replaced keymaster with own shortcuts handler
* Replaced OpenPGP.js v2 with OpenPGP.js v5
* Removed ifvisible.js
* Removed pikaday
* Removed underscore
* Removed polyfills
* Removed Modernizr
* Removed nanoscroll
* Removed lightgallery
* Removed jQuery
* Removed jquery-ui
* Removed jquery-scrollstop
* Removed jquery-mousewheel
* Removed matchmedia-polyfill
* Removed momentjs (use Intl)
* Removed opentip (use CSS)
* Removed non-community (aka Prem/Premium/License) code
* Removed ProgressJS
RainLoop 1.17 vs SnappyMail
|js/* |RainLoop |Snappy |
|--------------- |--------: |--------: |
|admin.js |2.170.153 | 84.925 |
|app.js |4.207.787 | 447.263 |
|boot.js | 868.735 | 4.343 |
|libs.js | 658.812 | 233.728 |
|sieve.js | 0 | 91.418 |
|polyfills.js | 334.608 | 0 |
|serviceworker.js | 0 | 285 |
|TOTAL |8.240.095 | 861.962 |
|js/min/* |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|--------------- |--------: |--------: |------: |------: |--------: |--------: |
|admin.min.js | 256.831 | 41.719 | 73.606 | 14.022 | 60.877 | 12.567 |
|app.min.js | 515.367 | 202.101 |139.456 | 68.505 |110.485 | 58.481 |
|boot.min.js | 84.659 | 2.231 | 26.998 | 1.271 | 23.643 | 1.067 |
|libs.min.js | 584.772 | 110.646 |180.901 | 39.518 |155.182 | 35.207 |
|sieve.min.js | 0 | 45.504 | 0 | 11.131 | 0 | 9.917 |
|polyfills.min.js | 32.837 | 0 | 11.406 | 0 | 10.175 | 0 |
|TOTAL user |1.217.635 | 314.978 |358.761 |109.294 |299.485 | 94.755 |
|TOTAL user+sieve |1.217.635 | 360.482 |358.761 |120.425 |299.485 |104.672 |
|TOTAL admin | 959.099 | 154.596 |292.911 | 54.811 |249.877 | 48.841 |
For a user it is around 66% smaller and faster than traditional RainLoop.
### CSS changes
* Solve jQuery removed "features" with native css code
* Themes work in mobile mode
* Bugfix invalid/conflicting css rules
* Use flexbox
* Use border-box
* Split app.css to have separate admin.css
* Remove oldschool 'float'
* Remove unused css
* Removed html.no-css
* Removed dev/Styles/Cmd.less
* Removed dev/Styles/Scroll.less
* Removed Internet Explorer from normalize.css
* Removed node_modules/opentip/css/opentip.css
* Removed node_modules/pikaday/css/pikaday.css
* Removed unused vendors/bootstrap/less/*
* Removed vendors/jquery-nanoscroller/nanoscroller.css
* Removed vendors/jquery-letterfx/jquery-letterfx.min.css
* Removed vendors/Progress.js/minified/progressjs.min.css
* Removed gulp-autoprefixer
|css/* |RainLoop |Snappy |RL gzip |SM gzip |SM brotli |
|------------ |-------: |------: |------: |------: |--------: |
|app.css | 340.331 | 85.073 | 46.946 | 17.792 | 15.210 |
|app.min.css | 274.947 | 68.272 | 39.647 | 15.615 | 13.636 |
|boot.css | | 1.326 | | 664 | 545 |
|boot.min.css | | 1.071 | | 590 | 474 |
|admin.css | | 30.880 | | 7.045 | 6.127 |
|admin.min.css | | 24.959 | | 6.368 | 5.615 |
### PGP
RainLoop uses the old OpenPGP.js v2
SnappyMail v2.12 uses OpenPGP.js v5, GnuPG and Mailvelope.
SnappyMail is able to use and generate ECDSA and EDDSA keys, where RainLoop does not.
Since SnappyMail tries to achieve the best mobile experience, it forked OpenPGP.js to strip it down.
* remove all unused Node.js
* remove all old browsers support
See https://github.com/the-djmaze/openpgpjs for development
|OpenPGP |RainLoop |Snappy |RL gzip |SM gzip |RL brotli |SM brotli |
|--------------- |--------: |--------: |------: |-------: |--------: |--------: |
|openpgp.min.js | 330.742 | 546.165 |102.388 | 169.207 | 84.241 | 138.688 |
|openpgp.worker | 1.499 | | 824 | | 695 | |
### Squire vs CKEditor
The [Squire](https://github.com/neilj/Squire) implementation is not 100% compatible yet, but it shows the massive overhead of CKEditor.
Still TODO:
* support for tables (really needed?!?)
| | normal | min | gzip | min gzip |
|-------- |-------: |-------: |------: |--------: |
|squire | 122.321 | 41.906 | 31.867 | 14.330 |
|ckeditor | ? | 520.035 | ? | 155.916 |
CKEditor including the 7 asset requests (css,language,plugins,icons) is 633.46 KB / 180.47 KB (gzip).

40
SECURITY.md Normal file
View file

@ -0,0 +1,40 @@
# Security Policy
## Supported Versions
Currently due to the fast development only the latest version receives security updates.
| Version | Supported |
| -------- | --------- |
| 2.34.x | ✔ |
| < 2.34.0 | ❌ |
## Reporting a Vulnerability
Please report security issues or vulnerabilities as an encrypted email to [security@snappymail.eu](mailto:security@snappymail.eu).
Your report should be detailed enough with clear steps to reproduce and classify the found vulnerability.
You can find the PGP public key below and on the major public keyservers like [keys.openpgp.org](https://keys.openpgp.org).
```
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: Type: 255-bit EdDSA
Comment: Fingerprint: 445D265124E6072671E64D0733F868A7E35E8277
mDMEYiE2QRYJKwYBBAHaRw8BAQdAqMrQUm6DddWcQNo0VEjNIu3Q6CfP3nokVv2Y
rNQ1avq0LFNuYXBweU1haWwgU2VjdXJpdHkgPHNlY3VyaXR5QHNuYXBweW1haWwu
ZXU+iJQEExYKADwWIQREXSZRJOYHJnHmTQcz+Gin416CdwUCYiE2QQIbAwULCQgH
AgMiAgEGFQoJCAsCBBYCAwECHgcCF4AACgkQM/hop+NegnfSGgD9GEHpOrvWpBGY
dYfvVd/+Lv5d+dFBcPyki9zu9zHfhwkBAL343EF6ZR0XwMlOQu9wu0hT9KBz4g55
6D41i0PrEaoBuDgEYiE2QRIKKwYBBAGXVQEFAQEHQMMr9gcVcJ3aiup/tpl8ZXxy
aJiJRGkPyNwGI5vxHMpZAwEIB4h4BBgWCgAgFiEERF0mUSTmByZx5k0HM/hop+Ne
gncFAmIhNkECGwwACgkQM/hop+NegndVhgD/SVGSKbF4G2W024VpW2tm3zCT+ue+
YMXQVq4SJt7UpWABAORudfJxsBqCRKtPlZMgGTJLjcOkyFJ9C2Fx7DeN0J4I
=nSOi
-----END PGP PUBLIC KEY BLOCK-----
```
## Publishing and Credits
I will analyze and fix the reported issue as fast as possible.
Together with the reporter, I plan the disclosure of the found and fixed vulnerability.
Credits to the reporter are granted and can be included in all public communication if desired.

View file

@ -1 +0,0 @@
Rename this file to "MULTIPLY" to enable multiple domain installation

View file

@ -1,21 +1,31 @@
<?php
// Rename this file to "include.php" to enable it.
// Name this file as "include.php" to enable it.
//header('Strict-Transport-Security: max-age=31536000');
/**
* @return string
* Uncomment to enable multiple domain installation.
*/
function __get_custom_data_full_path()
{
return '';
return '/var/external-rainloop-data-folder/'; // custom data folder path
}
//define('MULTIDOMAIN', 1);
/**
* @return string
* Uncomment to disable APCU.
*/
function __get_additional_configuration_name()
{
return '';
return defined('APP_SITE') && 0 < strlen(APP_SITE) ? APP_SITE.'.ini' : ''; // additional configuration file name
}
//define('APP_USE_APCU_CACHE', false);
/**
* Custom 'data' folder path
*/
//define('APP_DATA_FOLDER_PATH', dirname(__DIR__) . '/snappymail-data/');
//define('APP_DATA_FOLDER_PATH', '/var/external-snappymail-data-folder/');
/**
* Additional configuration file name
*/
//define('APP_CONFIGURATION_NAME', $_SERVER['HTTP_HOST'].'.ini');
/**
* Also update extensions on upgrade
*/
//define('SNAPPYMAIL_UPDATE_PLUGINS', 1);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -1,38 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="264px" height="88px" viewBox="0 0 264 88" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
<!-- Generator: Sketch 3.0 (7574) - http://www.bohemiancoding.com/sketch -->
<title>default-skin 2</title>
<description>Created with Sketch.</description>
<defs></defs>
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
<g id="default-skin" sketch:type="MSLayerGroup">
<path d="M67.0018835,59.5 L67.0018835,63.268331 C60.6953142,64.1065038 57.8175182,69.0186795 57,73 C59.2189781,70.171167 62.5639273,67.9024591 67.0018835,67.9024591 L67.0018835,71.5 L73,65.5853951 L67.0018835,59.5 Z" id="Shape" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<g id="Group" transform="translate(13.000000, 15.000000)" fill="#FFFFFF" sketch:type="MSShapeGroup">
<path d="M0,14 L0,9 L2,9 L2,12 L5,12 L5,14 L0,14 Z" id="Shape"></path>
<path d="M0,0 L5,0 L5,2 L2,2 L2,5 L0,5 L0,0 Z" id="Shape"></path>
<path d="M18,0 L18,5 L16,5 L16,2 L15.2629743,2 L13,2 L13,0 L18,0 Z" id="Shape"></path>
<path d="M18,14 L13,14 L13,12 L16,12 L16,9 L18,9 L18,14 Z" id="Shape"></path>
</g>
<g id="Group-4" transform="translate(57.000000, 15.000000)" fill="#FFFFFF" sketch:type="MSShapeGroup">
<path d="M0,14 L0,9 L2,9 L2,12 L5,12 L5,14 L0,14 Z" id="Shape" transform="translate(2.500000, 11.500000) rotate(-180.000000) translate(-2.500000, -11.500000) "></path>
<path d="M0,0 L5,0 L5,2 L2,2 L2,5 L0,5 L0,0 Z" id="Shape" transform="translate(2.500000, 2.500000) rotate(-180.000000) translate(-2.500000, -2.500000) "></path>
<path d="M18,0 L18,5 L16,5 L16,2 L15.2629743,2 L13,2 L13,0 L18,0 Z" id="Shape" transform="translate(15.500000, 2.500000) rotate(-180.000000) translate(-15.500000, -2.500000) "></path>
<path d="M18,14 L13,14 L13,12 L16,12 L16,9 L18,9 L18,14 Z" id="Shape" transform="translate(15.500000, 11.500000) rotate(-180.000000) translate(-15.500000, -11.500000) "></path>
</g>
<path d="M21,65 L21,57 L23,57 L23,65 L31,65 L31,67 L23,67 L23,75 L21,75 L21,67 L13,67 L13,65 L21,65 Z" id="Rectangle-13" fill="#FFFFFF" sketch:type="MSShapeGroup" transform="translate(22.000000, 66.000000) rotate(-45.000000) translate(-22.000000, -66.000000) "></path>
<path d="M111.784738,65.0291574 L110,63.5 L113,60 L103,60 L103,58 L113,58 L110,54.5 L111.784738,53.0320871 L117,59 L111.784738,65.0291574 Z" id="Shape-3" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>
<path d="M155.784738,65.0291574 L154,63.5 L157,60 L147,60 L147,58 L157,58 L154,54.5 L155.784738,53.0320871 L161,59 L155.784738,65.0291574 Z" id="Shape-4" fill="#FFFFFF" sketch:type="MSShapeGroup" transform="translate(154.000000, 59.000000) scale(-1, 1) translate(-154.000000, -59.000000) "></path>
<g id="Group-2" transform="translate(147.000000, 16.000000)" sketch:type="MSShapeGroup">
<rect id="Rectangle-11" fill="#FFFFFF" transform="translate(11.767767, 11.767767) scale(-1, 1) rotate(-45.000000) translate(-11.767767, -11.767767) " x="9.67157286" y="10.767767" width="4.59619409" height="2"></rect>
<path d="M5.5,11 C8.53756612,11 11,8.53756612 11,5.5 C11,2.46243388 8.53756612,0 5.5,0 C2.46243388,0 0,2.46243388 0,5.5 C0,8.53756612 2.46243388,11 5.5,11 Z" id="Oval-1" stroke="#FFFFFF" stroke-width="1.5"></path>
<rect id="Rectangle-12" fill="#FFFFFF" x="3" y="5" width="5" height="1"></rect>
</g>
<g id="Group-3" transform="translate(103.000000, 16.000000)" sketch:type="MSShapeGroup">
<path d="M13.9571068,12.5428932 L12.5428932,13.9571068 L9.29289322,10.7071068 L10.7071068,9.29289322 L13.9571068,12.5428932 Z" id="Rectangle-11" fill="#FFFFFF"></path>
<path d="M5.5,11 C8.53756612,11 11,8.53756612 11,5.5 C11,2.46243388 8.53756612,0 5.5,0 C2.46243388,0 0,2.46243388 0,5.5 C0,8.53756612 2.46243388,11 5.5,11 Z" id="Oval-1" stroke="#FFFFFF" stroke-width="1.5"></path>
<rect id="Rectangle-17" fill="#FFFFFF" x="3" y="5" width="5" height="1"></rect>
<rect id="Rectangle-16" fill="#FFFFFF" transform="translate(5.500000, 5.500000) rotate(-269.000000) translate(-5.500000, -5.500000) " x="3" y="5" width="5" height="1"></rect>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 869 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 847 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 869 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 869 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 869 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 832 B

View file

@ -1,16 +0,0 @@
{
"name": "RainLoop Webmail",
"short_name": "RainLoop",
"description": "Simple, modern & fast web-based email client",
"display": "standalone",
"icons": [{
"src": "apple-touch-icon.png",
"sizes": "64x64",
"type": "image/png"
}, {
"src": "android-icon.png",
"sizes": "192x192",
"type": "image/png"
}],
"start_url": "../../../../"
}

Binary file not shown.

Binary file not shown.

9
build/SnappyMail.asc Normal file
View file

@ -0,0 +1,9 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEYg0atBYJKwYBBAHaRw8BAQdA2S2tvGavChACjtBastsKRThD3rsBW1LUZLmN
Zbs4uaG0I1NuYXBweU1haWwgPHJlbGVhc2VzQHNuYXBweW1haWwuZXU+iJQEExYK
ADwWIQQQFuRweRRVQvi6EzVIIIuhMpDz6wUCYg0atAIbAwULCQgHAgMiAgEGFQoJ
CAsCBBYCAwECHgcCF4AACgkQSCCLoTKQ8+u9SAD/Q/IoAwjUkKDJBPq0RGwCFnl6
FG/VHB97CvBSpGOxtIsBAMCwMhWlsaBHAEqbzxiN+cdlMYwV23+SWLUJ/XMFgukE
=5ZwF
-----END PGP PUBLIC KEY BLOCK-----

57
build/arch/PKGBUILD Normal file
View file

@ -0,0 +1,57 @@
# Maintainer: George Rawlinson <george@rawlinson.net.nz>
pkgname=snappymail
pkgver=2.7.2
pkgrel=1
pkgdesc="modern PHP webmail client"
arch=('any')
license=('AGPL3')
url="https://github.com/the-djmaze/snappymail"
depends=('php-fpm')
makedepends=('php', 'nodejs' 'yarn' 'gulp', 'rollup')
optdepends=('mariadb: storage backend for contacts'
'php-pgsql: storage backend for contacts'
'php-sqlite: storage backend for contacts')
source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
"$pkgname.sysusers"
"$pkgname.tmpfiles")
b2sums=('a877041eaa74ca9824323b0ba80b3515205628825ed76fccff1511b2547c27419bae4733d24f8f36e6860c671cb609c4c5f31fa19529a92c628cb714570ff8ae'
'e020b2d4bc694ca056f5c15b148c69553ab610b5e1789f52543aa65e098f8097a41709b5b0fc22a6a01088a9d3f14d623b1b6e9ae2570acd4f380f429301c003'
'2536e11622895322cc752c6b651811b2122d3ae60099fe609609d7b45ba1ed00ea729c23f344405078698d161dbf9bcaffabf8eff14b740acdce3c681c513318')
prepare() {
sed -i "s/\$sCustomDataPath = '';/\$sCustomDataPath = '\/var\/lib\/$pkgname';/" "$pkgname-$pkgver/$pkgname/v/0.0.0/include.php"
# create folder for build output
mkdir -p build
}
build() {
cd "$pkgname-$pkgver"
yarn install
# build snappymail
php release.php --aur
bsdtar -x \
-C "$srcdir/build" \
-f "build/dist/releases/webmail/$pkgver/$pkgname-$pkgver.zip"
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
}
package() {
# directories
install -dm755 "$pkgdir/usr/share/snappymail" \
"$pkgdir/var/lib/snappymail"
# application files
cp -r "$srcdir/build/snappymail" "$pkgdir/usr/share/snappymail"
install -Dm644 -t "$pkgdir/usr/share/snappymail" "$srcdir/build/index.php"
# data files
cp -r "$srcdir/build/data" "$pkgdir/var/lib/snappymail"
# sysusers
install -Dm644 "$srcdir/$pkgname.sysusers" "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
install -Dm644 "$srcdir/$pkgname.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
}

View file

@ -0,0 +1 @@
u snappymail - "Snappymail User" /var/lib/snappymail

View file

@ -0,0 +1 @@
Z /var/lib/snappymail - snappymail snappymail

38
build/cpanel.php Executable file
View file

@ -0,0 +1,38 @@
<?php
echo "\x1b[33;1m === cPanel === \x1b[0m\n";
$cpanel_destination = "{$destPath}snappymail-{$package->version}-cpanel.tar";
@unlink($cpanel_destination);
@unlink("{$cpanel_destination}.gz");
$cpanel_tar = new PharData($cpanel_destination);
$cpanel_tar->buildFromDirectory('./integrations/cpanel', "@integrations/cpanel/@");
$cpanel_path = '/usr/local/cpanel/base/3rdparty/snappymail/';
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('snappymail/v'), RecursiveIteratorIterator::SELF_FIRST);
foreach ($files as $file) {
if (is_file($file)) {
$newFile = str_replace('\\', '/', $file);
$cpanel_tar->addFile($file, "{$cpanel_path}{$newFile}");
}
}
$cpanel_tar->addFile('.htaccess', "{$cpanel_path}.htaccess");
$cpanel_tar->addFile('README.md', "{$cpanel_path}README.md");
$cpanel_tar->addFromString("{$cpanel_path}VERSION", $package->version);
$index = file_get_contents('index.php');
$index = str_replace('0.0.0', $package->version, $index);
$cpanel_tar->addFromString("{$cpanel_path}index.php", $index);
$data = file_get_contents('dev/serviceworker.js');
$cpanel_tar->addFromString("{$cpanel_path}serviceworker.js", $data);
$cpanel_tar->compress(Phar::GZ);
unlink($cpanel_destination);
$cpanel_destination .= '.gz';
echo "{$cpanel_destination} created\n";

83
build/deb.php Executable file
View file

@ -0,0 +1,83 @@
<?php
echo "\x1b[33;1m === Debian === \x1b[0m\n";
// Debian Repository
define('DEB_SOURCE_DIR', __DIR__ . '/deb');
define('DEB_DEST_DIR', DEB_SOURCE_DIR . "/snappymail_{$package->version}-1_all");
is_dir(DEB_DEST_DIR) && passthru('rm -dfr '.escapeshellarg(DEB_DEST_DIR));
$dir = DEB_DEST_DIR . '/DEBIAN';
$data = file_get_contents(DEB_SOURCE_DIR . '/DEBIAN/control');
$data = str_replace('0.0.0', $package->version, $data);
mkdir($dir, 0755, true);
file_put_contents("{$dir}/control", $data);
copy(DEB_SOURCE_DIR . '/DEBIAN/postinst', $dir . '/postinst');
chmod($dir . '/postinst', 0755);
$dir = DEB_DEST_DIR . '/var/lib/snappymail';
mkdir($dir, 0755, true);
file_put_contents($dir . '/VERSION', $package->version);
copy('data/README.md', "{$dir}/README.md");
$dir = DEB_DEST_DIR . '/usr/share/doc/snappymail';
mkdir($dir, 0755, true);
copy('CODE_OF_CONDUCT.md', "{$dir}/CODE_OF_CONDUCT.md");
copy('CONTRIBUTING.md', "{$dir}/CONTRIBUTING.md");
copy('README.md', "{$dir}/README.md");
//copy('CODE_OF_CONDUCT.md', "{$dir}/CODE_OF_CONDUCT.md");
//usr/share/doc/snappymail/README.Debian
//usr/share/doc/snappymail/changelog.Debian.gz
//usr/share/doc/snappymail/copyright
// Move files into package directory
$dir = DEB_DEST_DIR . '/usr/share/snappymail';
mkdir($dir, 0755, true);
passthru('cp -r "' . dirname(__DIR__) . '/snappymail" "' . $dir . '"');
rename("{$dir}/snappymail/v/0.0.0", "{$dir}/snappymail/v/{$package->version}");
$data = file_get_contents('index.php');
file_put_contents("{$dir}/index.php", str_replace('0.0.0', $package->version, $data));
$data = file_get_contents('_include.php');
file_put_contents("{$dir}/include.php", preg_replace('@(external-snappymail-data-folder/\'\);)@', "\$1\ndefine('APP_DATA_FOLDER_PATH', '/var/lib/snappymail/');", $data));
passthru('dpkg --build ' . escapeshellarg(DEB_DEST_DIR));
$TARGET_DIR = __DIR__ . "/dist/releases/webmail/{$package->version}/";
passthru('mv '
. escapeshellarg(DEB_DEST_DIR.'.deb') . ' '
. escapeshellarg($TARGET_DIR . basename(DEB_DEST_DIR.'.deb'))
);
passthru('rm -dfr '.escapeshellarg(DEB_DEST_DIR));
// https://github.com/the-djmaze/snappymail/issues/185#issuecomment-1059420588
$cwd = getcwd();
chdir($TARGET_DIR);
passthru('dpkg-scanpackages . /dev/null > '.escapeshellarg($TARGET_DIR . 'Packages'));
passthru('dpkg-scanpackages . /dev/null | gzip -9c > '.escapeshellarg($TARGET_DIR . 'Packages.gz'));
$size = filesize($TARGET_DIR . 'Packages');
$gz_size = filesize($TARGET_DIR . 'Packages.gz');
$Release = 'Origin: SnappyMail Repository
Label: SnappyMail
Suite: stable
Codename: stable
Version: 1.0
Architectures: all
Components: main
Description: SnappyMail repository
Date: ' . gmdate('r') . '
MD5Sum:
' . hash_file('md5', $TARGET_DIR . 'Packages') . ' ' . $size . ' Packages
' . hash_file('md5', $TARGET_DIR . 'Packages.gz') . ' ' . $gz_size . ' Packages.gz
SHA1:
' . hash_file('sha1', $TARGET_DIR . 'Packages') . ' ' . $size . ' Packages
' . hash_file('sha1', $TARGET_DIR . 'Packages.gz') . ' ' . $gz_size . ' Packages.gz
SHA256:
' . hash_file('sha256', $TARGET_DIR . 'Packages') . ' ' . $size . ' Packages
' . hash_file('sha256', $TARGET_DIR . 'Packages.gz') . ' ' . $gz_size . ' Packages.gz
';
file_put_contents($TARGET_DIR . 'Release', $Release);
chdir($cwd);

14
build/deb/DEBIAN/control Normal file
View file

@ -0,0 +1,14 @@
Package: snappymail
Version: 0.0.0
Maintainer: SnappyMail <debian@snappymail.eu>
Depends: nginx | apache2 | httpd, php-fpm | libapache2-mod-php, php-json, php-mbstring
Recommends: php-intl, php-sodium, php-uuid
Suggests: php-sqlite3 | php-mysql | php-pgsql, php-curl, php-exif, php-gnupg, php-gd | php-gmagick | php-imagick, php-openssl, php-zip
Architecture: all
Homepage: https://snappymail.eu
Vcs-Browser: https://github.com/the-djmaze/snappymail
Vcs-Git: https://github.com/the-djmaze/snappymail.git
Description: SnappyMail is a PHP-based simple, modern, lightweight & fast web-based email client with no database requirements.
It supports IMAP, SMTP and Sieve protocols, multiple accounts and identities, an admin panel for configuration.
Plugins can be installed to further extend functionality.
Emails are not stored locally, but are accessed through IMAP.

3
build/deb/DEBIAN/postinst Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
chown -R www-data:www-data /var/lib/snappymail
chown -R root:root /usr/share/snappymail/

92
build/nextcloud.php Executable file
View file

@ -0,0 +1,92 @@
<?php
echo "\x1b[33;1m === Nextcloud === \x1b[0m\n";
$cert_dir = $_SERVER['HOME'].'/.nextcloud/certificates';
$nc_destination = "{$destPath}snappymail-{$package->version}-nextcloud.tar";
@unlink($nc_destination);
@unlink("{$nc_destination}.gz");
$nc_tar = new PharData($nc_destination);
$hashes = [];
file_put_contents(ROOT_DIR . '/integrations/nextcloud/snappymail/VERSION', $package->version);
$file = ROOT_DIR . '/integrations/nextcloud/snappymail/appinfo/info.xml';
file_put_contents($file, preg_replace('/<version>[^<]*</', "<version>{$package->version}<", file_get_contents($file)));
$nc_tar->buildFromDirectory('./integrations/nextcloud', "@integrations/nextcloud/snappymail/@");
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('integrations/nextcloud/snappymail'));
foreach ($files as $file) {
if (is_file($file)) {
$name = str_replace('\\', '/', $file);
$name = str_replace('integrations/nextcloud/snappymail/', '', $name);
$hashes[$name] = hash_file('sha512', $file);
}
}
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('snappymail/v'), RecursiveIteratorIterator::SELF_FIRST);
foreach ($files as $file) {
if (is_file($file)) {
$newFile = str_replace('\\', '/', $file);
$newName = str_replace('/.htaccess', '/_htaccess', $newFile);
$nc_tar->addFile($file, "snappymail/app/{$newName}");
$hashes["app/{$newFile}"] = hash_file('sha512', $file);
}
}
/*
$nc_tar->addFile('data/.htaccess');
$nc_tar->addFromString('data/VERSION', $package->version);
$nc_tar->addFile('data/README.md');
$nc_tar->addFile('_include.php', 'snappymail/app/_include.php');
*/
$nc_tar->addFile('.htaccess', 'snappymail/app/_htaccess');
$hashes['app/.htaccess'] = hash_file('sha512', '.htaccess');
$index = file_get_contents('index.php');
$index = str_replace('0.0.0', $package->version, $index);
//$index = str_replace('snappymail/v/', '', $index);
$nc_tar->addFromString('snappymail/app/index.php', $index);
$hashes['app/index.php'] = hash('sha512', $index);
$nc_tar->addFile('README.md', 'snappymail/app/README.md');
$hashes['app/README.md'] = hash_file('sha512', 'README.md');
$nc_tar->addFile('CHANGELOG.md', 'snappymail/CHANGELOG.md');
$hashes['CHANGELOG.md'] = hash_file('sha512', 'CHANGELOG.md');
$data = file_get_contents('dev/serviceworker.js');
$nc_tar->addFromString('snappymail/app/serviceworker.js', $data);
$hashes['app/serviceworker.js'] = hash('sha512', $data);
spl_autoload_register(function($name){
$file = __DIR__ . '/' . str_replace('\\', '/', $name) . '.php';
require $file;
});
ksort($hashes);
$cert = file_get_contents($cert_dir.'/snappymail.crt');
$rsa = new \phpseclib\Crypt\RSA();
$rsa->loadKey(file_get_contents($cert_dir.'/snappymail.key'));
$x509 = new \phpseclib\File\X509();
$x509->loadX509($cert);
$x509->setPrivateKey($rsa);
$rsa->setSignatureMode(\phpseclib\Crypt\RSA::SIGNATURE_PSS);
$rsa->setMGFHash('sha512');
$rsa->setSaltLength(0);
$signature = $rsa->sign(json_encode($hashes));
$nc_tar->addFromString('snappymail/appinfo/signature.json', json_encode([
'hashes' => $hashes,
'signature' => base64_encode($signature),
'certificate' => $cert
], JSON_PRETTY_PRINT));
$nc_tar->compress(Phar::GZ);
unlink($nc_destination);
$nc_destination .= '.gz';
$signature = shell_exec("openssl dgst -sha512 -sign {$cert_dir}/snappymail.key {$nc_destination} | openssl base64");
file_put_contents($nc_destination.'.sig', $signature);
echo "{$nc_destination} created\n";

100
build/owncloud.php Executable file
View file

@ -0,0 +1,100 @@
<?php
echo "\x1b[33;1m === ownCloud === \x1b[0m\n";
$cert_dir = false; // $_SERVER['HOME'].'/.owncloud/certificates';
$nc_destination = "{$destPath}snappymail-{$package->version}-owncloud.tar";
@unlink($nc_destination);
@unlink("{$nc_destination}.gz");
$nc_tar = new PharData($nc_destination);
$hashes = [];
file_put_contents(ROOT_DIR . '/integrations/owncloud/snappymail/VERSION', $package->version);
$file = ROOT_DIR . '/integrations/owncloud/snappymail/appinfo/info.xml';
file_put_contents($file, preg_replace('/<version>[^<]*</', "<version>{$package->version}<", file_get_contents($file)));
$nc_tar->buildFromDirectory('./integrations/owncloud', "@integrations/owncloud/snappymail/@");
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('integrations/owncloud/snappymail'));
foreach ($files as $file) {
if (is_file($file)) {
$name = str_replace('\\', '/', $file);
$name = str_replace('integrations/owncloud/snappymail/', '', $name);
$hashes[$name] = hash_file('sha512', $file);
}
}
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('snappymail/v'), RecursiveIteratorIterator::SELF_FIRST);
foreach ($files as $file) {
if (is_file($file)) {
$newFile = str_replace('\\', '/', $file);
// $newFile = str_replace("'snappymail/v/'.", '', $newFile);
$nc_tar->addFile($file, "snappymail/app/{$newFile}");
$hashes["app/{$newFile}"] = hash_file('sha512', $file);
}
}
$nc_tar->delete("snappymail/app/snappymail/v/{$package->version}/app/.htaccess");
$nc_tar->addFile("snappymail/v/{$package->version}/app/.htaccess", "snappymail/app/snappymail/v/{$package->version}/app/_htaccess");
$nc_tar->delete("snappymail/app/snappymail/v/{$package->version}/static/.htaccess");
$nc_tar->addFile("snappymail/v/{$package->version}/static/.htaccess", "snappymail/app/snappymail/v/{$package->version}/static/_htaccess");
/*
$nc_tar->addFile('data/.htaccess');
$nc_tar->addFromString('data/VERSION', $package->version);
$nc_tar->addFile('data/README.md');
$nc_tar->addFile('_include.php', 'snappymail/app/_include.php');
*/
$nc_tar->addFile('.htaccess', 'snappymail/app/_htaccess');
$hashes['app/.htaccess'] = hash_file('sha512', '.htaccess');
$index = file_get_contents('index.php');
$index = str_replace('0.0.0', $package->version, $index);
//$index = str_replace('snappymail/v/', '', $index);
$nc_tar->addFromString('snappymail/app/index.php', $index);
$hashes['app/index.php'] = hash('sha512', $index);
$nc_tar->addFile('README.md', 'snappymail/app/README.md');
$hashes['app/README.md'] = hash_file('sha512', 'README.md');
$nc_tar->addFile('CHANGELOG.md', 'snappymail/CHANGELOG.md');
$hashes['CHANGELOG.md'] = hash_file('sha512', 'CHANGELOG.md');
$data = file_get_contents('dev/serviceworker.js');
$nc_tar->addFromString('snappymail/app/serviceworker.js', $data);
$hashes['app/serviceworker.js'] = hash('sha512', $data);
if ($cert_dir) {
spl_autoload_register(function($name){
$file = __DIR__ . '/' . str_replace('\\', '/', $name) . '.php';
require $file;
});
ksort($hashes);
$cert = file_get_contents($cert_dir.'/snappymail.crt');
$rsa = new \phpseclib\Crypt\RSA();
$rsa->loadKey(file_get_contents($cert_dir.'/snappymail.key'));
$x509 = new \phpseclib\File\X509();
$x509->loadX509($cert);
$x509->setPrivateKey($rsa);
$rsa->setSignatureMode(\phpseclib\Crypt\RSA::SIGNATURE_PSS);
$rsa->setMGFHash('sha512');
$rsa->setSaltLength(0);
$signature = $rsa->sign(json_encode($hashes));
$nc_tar->addFromString('snappymail/appinfo/signature.json', json_encode([
'hashes' => $hashes,
'signature' => base64_encode($signature),
'certificate' => $cert
], JSON_PRETTY_PRINT));
}
$nc_tar->compress(Phar::GZ);
unlink($nc_destination);
$nc_destination .= '.gz';
if ($cert_dir) {
$signature = shell_exec("openssl dgst -sha512 -sign {$cert_dir}/snappymail.key {$nc_destination} | openssl base64");
file_put_contents($nc_destination.'.sig', $signature);
}
echo "{$nc_destination} created\n";

View file

@ -1,23 +0,0 @@
************************************************************************
*
* ownCloud - RainLoop Webmail package
*
* @author RainLoop Team
* @copyright 2016 RainLoop Team
*
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
*
************************************************************************
REQUIREMENTS:
- ownCloud version 6 or higher
INSTALL:
- Unpack the RainLoop Webmail application package in the apps directory of your OwnCloud instance
CONFIGURATION:
- ownCloud:
1) In the Apps > Enable 'RainLoop' plugin
2) In the Settings > Personal > Type your mail server email (login) and password

View file

@ -1 +0,0 @@
0.0

View file

@ -1,19 +0,0 @@
<?php
/**
* ownCloud - RainLoop mail plugin
*
* @author RainLoop Team
* @copyright 2016 RainLoop Team
*
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
*/
OCP\User::checkAdminUser();
OCP\Util::addScript('rainloop', 'admin');
$oTemplate = new OCP\Template('rainloop', 'admin-local');
$oTemplate->assign('rainloop-admin-panel-link', OC_RainLoop_Helper::getAppUrl().'?admin');
$oTemplate->assign('rainloop-autologin', OCP\Config::getAppValue('rainloop', 'rainloop-autologin', false));
return $oTemplate->fetchPage();

View file

@ -1,36 +0,0 @@
<?php
/**
* ownCloud - RainLoop mail plugin
*
* @author RainLoop Team
* @copyright 2016 RainLoop Team
*
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
*/
OCP\JSON::checkAdminUser();
OCP\JSON::checkAppEnabled('rainloop');
OCP\JSON::callCheck();
$sUrl = '';
$sPath = '';
$bAutologin = false;
if (isset($_POST['appname']) && 'rainloop' === $_POST['appname'])
{
OCP\Config::setAppValue('rainloop', 'rainloop-autologin', isset($_POST['rainloop-autologin']) ?
'1' === $_POST['rainloop-autologin'] : false);
$bAutologin = OCP\Config::getAppValue('rainloop', 'rainloop-autologin', false);
}
else
{
sleep(1);
OC_JSON::error(array('Message' => 'Invalid Argument(s)'));
return false;
}
sleep(1);
OCP\JSON::success(array('Message' => 'Saved successfully'));
return true;

View file

@ -1,47 +0,0 @@
<?php
/**
* ownCloud - RainLoop mail plugin
*
* @author RainLoop Team
* @copyright 2016 RainLoop Team
*
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
*/
OCP\JSON::checkLoggedIn();
OCP\JSON::checkAppEnabled('rainloop');
OCP\JSON::callCheck();
$sEmail = '';
$sLogin = '';
if (isset($_POST['appname'], $_POST['rainloop-password'], $_POST['rainloop-email']) && 'rainloop' === $_POST['appname'])
{
$sUser = OCP\User::getUser();
$sPostEmail = $_POST['rainloop-email'];
OCP\Config::setUserValue($sUser, 'rainloop', 'rainloop-email', $sPostEmail);
$sPass = $_POST['rainloop-password'];
if ('******' !== $sPass && '' !== $sPass)
{
include_once OC_App::getAppPath('rainloop').'/lib/RainLoopHelper.php';
OCP\Config::setUserValue($sUser, 'rainloop', 'rainloop-password',
OC_RainLoop_Helper::encodePassword($sPass, md5($sPostEmail)));
}
$sEmail = OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-email', '');
}
else
{
sleep(1);
OC_JSON::error(array('Message' => 'Invalid argument(s)', 'Email' => $sEmail));
return false;
}
sleep(1);
OCP\JSON::success(array('Message' => 'Saved successfully', 'Email' => $sEmail));
return true;

View file

@ -1,36 +0,0 @@
<?php
OCP\User::checkLoggedIn();
if (@file_exists(__DIR__.'/app/index.php'))
{
include_once OC_App::getAppPath('rainloop').'/lib/RainLoopHelper.php';
OC_RainLoop_Helper::regRainLoopDataFunction();
if (isset($_GET['OwnCloudAuth']))
{
$sEmail = '';
$sEncodedPassword = '';
$sUser = OCP\User::getUser();
if (OCP\Config::getAppValue('rainloop', 'rainloop-autologin', false))
{
$sEmail = $sUser;
$sEncodedPassword = OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-autologin-password', '');
}
else
{
$sEmail = OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-email', '');
$sEncodedPassword = OCP\Config::getUserValue($sUser, 'rainloop', 'rainloop-password', '');
}
$sDecodedPassword = OC_RainLoop_Helper::decodePassword($sEncodedPassword, md5($sEmail));
$_ENV['___rainloop_owncloud_email'] = $sEmail;
$_ENV['___rainloop_owncloud_password'] = $sDecodedPassword;
}
include __DIR__.'/app/index.php';
}

View file

@ -1,34 +0,0 @@
<?php
/**
* ownCloud - RainLoop mail plugin
*
* @author RainLoop Team
* @copyright 2016 RainLoop Team
*
* https://github.com/RainLoop/owncloud
*/
OC::$CLASSPATH['OC_RainLoop_Helper'] = OC_App::getAppPath('rainloop') . '/lib/RainLoopHelper.php';
OCP\App::registerAdmin('rainloop', 'admin');
OCP\App::registerPersonal('rainloop', 'personal');
if (OCP\Config::getAppValue('rainloop', 'rainloop-autologin', false))
{
OCP\Util::connectHook('OC_User', 'post_login', 'OC_RainLoop_Helper', 'login');
OCP\Util::connectHook('OC_User', 'post_setPassword', 'OC_RainLoop_Helper', 'changePassword');
}
OCP\Util::connectHook('OC_User', 'logout', 'OC_RainLoop_Helper', 'logout');
OCP\Util::addScript('rainloop', 'rainloop');
OCP\App::addNavigationEntry(array(
'id' => 'rainloop_index',
'order' => 10,
'href' => OCP\Util::linkToRoute('rainloop_index'),
'icon' => OCP\Util::imagePath('rainloop', 'mail.png'),
'name' => 'Email'
));

View file

@ -1,18 +0,0 @@
<?xml version="1.0"?>
<info>
<id>rainloop</id>
<name>RainLoop</name>
<description>Simple, modern and fast web-based email client.</description>
<version>0.0</version>
<licence></licence>
<author>RainLoop Team</author>
<require>6.0</require>
<ocsid>165254</ocsid>
<dependencies>
<php min-version="5.4" />
<owncloud min-version="6" max-version="9.2" />
</dependencies>
<category>productivity</category>
<website>http://www.rainloop.net/</website>
<bugs>https://github.com/RainLoop/rainloop-webmail/issues</bugs>
</info>

View file

@ -1,13 +0,0 @@
<?php
$this->create('rainloop_index', '/')
->actionInclude('rainloop/index.php');
$this->create('rainloop_app', '/app/')
->actionInclude('rainloop/app.php');
$this->create('rainloop_ajax_personal', 'ajax/personal.php')
->actionInclude('rainloop/ajax/personal.php');
$this->create('rainloop_ajax_admin', 'ajax/admin.php')
->actionInclude('rainloop/ajax/admin.php');

View file

@ -1,6 +0,0 @@
/*
Empty style sheet!
Only needed to give you the opportunity to theme the owncloud part
of the rainloop app with the theming system integrated in ownCoud
if the rainloop app is activated.
*/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 B

View file

@ -1,27 +0,0 @@
<?php
/**
* ownCloud - RainLoop mail plugin
*
* @author RainLoop Team
* @copyright 2016 RainLoop Team
*
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
*/
OCP\User::checkLoggedIn();
OCP\App::checkAppEnabled('rainloop');
OCP\App::setActiveNavigationEntry('rainloop_index');
// Load the empty file ../css/style.css, that's needed to allow theming of
// the ownCloud header and navigation if rainloop is the active app.
OCP\Util::addStyle('rainloop', 'style');
include_once OC_App::getAppPath('rainloop').'/lib/RainLoopHelper.php';
$sUrl = OC_RainLoop_Helper::normalizeUrl(OC_RainLoop_Helper::getAppUrl());
$oTemplate = new OCP\Template('rainloop', 'index', 'user');
$oTemplate->assign('rainloop-iframe-url', OC_RainLoop_Helper::normalizeUrl($sUrl).'?OwnCloudAuth');
$oTemplate->printpage();

View file

@ -1,13 +0,0 @@
/**
* ownCloud - RainLoop mail plugin
*
* @author RainLoop Team
* @copyright 2016 RainLoop Team
*
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
*/
$(function() {
RainLoopFormHelper('#mail-rainloop-admin-form', 'admin.php');
});

View file

@ -1,13 +0,0 @@
/**
* ownCloud - RainLoop mail plugin
*
* @author RainLoop Team
* @copyright 2016 RainLoop Team
*
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
*/
$(function() {
RainLoopFormHelper('#mail-rainloop-personal-form', 'personal.php');
});

View file

@ -1,76 +0,0 @@
function RainLoopFormHelper(sID, sAjaxFile, fCallback)
{
try
{
var
oForm = $(sID),
oSubmit = $('#rainloop-save-button', oForm),
sSubmitValue = oSubmit.val(),
oDesc = oForm.find('.rainloop-result-desc')
;
oSubmit.click(function (oEvent) {
var oDefAjax = null;
oEvent.preventDefault();
oForm
.addClass('rainloop-ajax')
.removeClass('rainloop-error')
.removeClass('rainloop-success')
;
oDesc.text('');
oSubmit.val('...');
oDefAjax = $.ajax({
'type': 'POST',
'async': true,
'url': OC.filePath('rainloop', 'ajax', sAjaxFile),
'data': oForm.serialize(),
'dataType': 'json',
'global': true
});
oDefAjax.always(function (oData) {
var bResult = false;
oForm.removeClass('rainloop-ajax');
oSubmit.val(sSubmitValue);
if (oData)
{
bResult = 'success' === oData['status'];
if (oData['Message'])
{
oDesc.text(oData['Message']);
}
}
if (bResult)
{
oForm.addClass('rainloop-success');
}
else
{
oForm.addClass('rainloop-error');
if ('' === oDesc.text())
{
oDesc.text('Error');
}
}
if (fCallback)
{
fCallback(bResult, oData);
}
});
return false;
});
}
catch(e) {}
}

View file

@ -1,26 +0,0 @@
$(function (window, document) {
var
buffer = 5,
ifr = document.getElementById('rliframe')
;
function pageY(elem) {
return elem.offsetParent ? (elem.offsetTop + pageY(elem.offsetParent)) : elem.offsetTop;
}
function resizeIframe() {
var height = document.documentElement.clientHeight;
height -= pageY(ifr) + buffer;
height = (height < 0) ? 0 : height;
ifr.style.height = height + 'px';
}
if (ifr)
{
ifr.onload = resizeIframe;
window.onresize = resizeIframe;
}
}(window, document));

View file

@ -1,257 +0,0 @@
<?php
class OC_RainLoop_Helper
{
/**
* @return string
*/
public static function getAppUrl()
{
if (class_exists('\\OCP\\Util'))
{
return OCP\Util::linkToRoute('rainloop_app');
}
$sRequestUri = empty($_SERVER['REQUEST_URI']) ? '': trim($_SERVER['REQUEST_URI']);
$sRequestUri = preg_replace('/index.php\/.+$/', 'index.php/', $sRequestUri);
$sRequestUri = $sRequestUri.'apps/rainloop/app/';
return '/'.ltrim($sRequestUri, '/\\');
}
/**
* @param string $sPath
* @param string $sEmail
* @param string $sPassword
*
* @return string
*/
public static function getSsoHash($sPath, $sEmail, $sPassword)
{
$SsoHash = '';
$sPath = rtrim(trim($sPath), '\\/').'/index.php';
if (file_exists($sPath))
{
self::regRainLoopDataFunction();
$_ENV['RAINLOOP_INCLUDE_AS_API'] = true;
include $sPath;
if (class_exists('\\RainLoop\\Api'))
{
$SsoHash = \RainLoop\Api::GetUserSsoHash($sEmail, $sPassword);
}
}
return $SsoHash;
}
/**
* @param string $sUrl
*
* @return string
*/
public static function normalizeUrl($sUrl)
{
$sUrl = rtrim(trim($sUrl), '/\\');
if ('.php' !== strtolower(substr($sUrl, -4)))
{
$sUrl .= '/';
}
return $sUrl;
}
public static function encodePassword($sPassword, $sSalt)
{
if (function_exists('mcrypt_encrypt') && function_exists('mcrypt_create_iv') && function_exists('mcrypt_get_iv_size') &&
defined('MCRYPT_RIJNDAEL_256') && defined('MCRYPT_MODE_ECB') && defined('MCRYPT_RAND'))
{
return @trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($sSalt), base64_encode($sPassword),
MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
}
return @trim(base64_encode($sPassword));
}
public static function decodePassword($sPassword, $sSalt)
{
if (function_exists('mcrypt_encrypt') && function_exists('mcrypt_create_iv') && function_exists('mcrypt_get_iv_size') &&
defined('MCRYPT_RIJNDAEL_256') && defined('MCRYPT_MODE_ECB') && defined('MCRYPT_RAND'))
{
return @base64_decode(trim(@mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($sSalt), base64_decode(trim($sPassword)),
MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
}
return @base64_decode(trim($sPassword));
}
/**
* @param array $aParams
*
* @return boolean
*/
public static function login($aParams)
{
if (isset($aParams['uid'], $aParams['password']))
{
$sUser = $aParams['uid'];
$sEmail = $sUser;
$sPassword = $aParams['password'];
return OCP\Config::setUserValue($sUser, 'rainloop', 'rainloop-autologin-password',
self::encodePassword($sPassword, md5($sEmail)));
}
return false;
}
public static function logout()
{
OCP\Config::setUserValue(
OCP\User::getUser(), 'rainloop', 'rainloop-autologin-password', '');
$sApiPath = __DIR__.'/../app/index.php';
if (file_exists($sApiPath))
{
self::regRainLoopDataFunction();
$_ENV['RAINLOOP_INCLUDE_AS_API'] = true;
include $sApiPath;
if (class_exists('\\RainLoop\\Api'))
{
\RainLoop\Api::LogoutCurrentLogginedUser();
}
}
return true;
}
public static function changePassword($aParams)
{
if (isset($aParams['uid'], $aParams['password']))
{
$sUser = $aParams['uid'];
$sEmail = $sUser;
$sPassword = $aParams['password'];
OCP\Util::writeLog('rainloop', 'rainloop|login: Setting new RainLoop password for '.$sEmail, OCP\Util::DEBUG);
OCP\Config::setUserValue($sUser, 'rainloop', 'rainloop-autologin-password',
self::encodePassword($sPassword, md5($sEmail)));
OCP\Config::setUserValue($sUser, 'rainloop', 'rainloop-password',
self::encodePassword($sPassword, md5($sEmail)));
return true;
}
return false;
}
public static function regRainLoopDataFunction()
{
if (!@function_exists('__get_custom_data_full_path'))
{
$_ENV['RAINLOOP_OWNCLOUD'] = true;
function __get_custom_data_full_path()
{
$sData = __DIR__.'/../../data/';
if (class_exists('OC_Config'))
{
$sData = rtrim(trim(OC_Config::getValue('datadirectory', '')), '\\/').'/';
}
else if (class_exists('OC'))
{
$sData = rtrim(trim(OC::$server->getSystemConfig()->getValue('datadirectory', '')), '\\/').'/';
}
return @is_dir($sData) ? $sData.'rainloop-storage' : '';
}
}
}
public static function mimeContentType($filename) {
$mime_types = array(
'woff' => 'application/font-woff',
'txt' => 'text/plain',
'htm' => 'text/html',
'html' => 'text/html',
'php' => 'text/html',
'css' => 'text/css',
'js' => 'application/javascript',
'json' => 'application/json',
'xml' => 'application/xml',
'swf' => 'application/x-shockwave-flash',
'flv' => 'video/x-flv',
// images
'png' => 'image/png',
'jpe' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'gif' => 'image/gif',
'bmp' => 'image/bmp',
'ico' => 'image/vnd.microsoft.icon',
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'svg' => 'image/svg+xml',
'svgz' => 'image/svg+xml',
// archives
'zip' => 'application/zip',
'rar' => 'application/x-rar-compressed',
'exe' => 'application/x-msdownload',
'msi' => 'application/x-msdownload',
'cab' => 'application/vnd.ms-cab-compressed',
// audio/video
'mp3' => 'audio/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
// adobe
'pdf' => 'application/pdf',
'psd' => 'image/vnd.adobe.photoshop',
'ai' => 'application/postscript',
'eps' => 'application/postscript',
'ps' => 'application/postscript',
// ms office
'doc' => 'application/msword',
'rtf' => 'application/rtf',
'xls' => 'application/vnd.ms-excel',
'ppt' => 'application/vnd.ms-powerpoint',
// open office
'odt' => 'application/vnd.oasis.opendocument.text',
'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
);
if (0 < strpos($filename, '.'))
{
$ext = strtolower(array_pop(explode('.',$filename)));
if (array_key_exists($ext, $mime_types))
{
return $mime_types[$ext];
}
else if (function_exists('finfo_open'))
{
$finfo = finfo_open(FILEINFO_MIME);
$mimetype = finfo_file($finfo, $filename);
finfo_close($finfo);
return $mimetype;
}
}
return 'application/octet-stream';
}
}

Some files were not shown because too many files have changed in this diff Show more