Alexander Ebert [Wed, 4 May 2022 14:52:06 +0000 (16:52 +0200)]
Simplified API for notifications based on promises
The old API permitted arbitrary CSS class name that aren't guaranteed to work. Typical usage includes the default class names only therefore we can clamp the value to those.
Using promises cleans up the code flow when a “callback” is used.
Tim Düsterhus [Wed, 4 May 2022 13:27:22 +0000 (15:27 +0200)]
Remove validation attributes from __sourceCodeFormField.tpl
These are not supported with CodeMirror, because it only syncs the entered data
upon `submit()` which notably runs *after* validation.
see codemirror/CodeMirror#5092
Fixes #4732
Tim Düsterhus [Tue, 3 May 2022 21:36:15 +0000 (23:36 +0200)]
Fix typo in function name in AbstractFileDeletePackageInstallationPlugin
This must be `strtr` not `strstr`.
see #4714
Alexander Ebert [Wed, 4 May 2022 12:34:15 +0000 (14:34 +0200)]
Load the page logo using the `eager` policy
Using `loading="lazy"` for the page logo causes the image to flicker noticeably in Safari on both macOS and iOS.
See https://www.woltlab.com/community/thread/295403-logo-auf-der-startseite-beim-aktualisieren-ein-rechteck/
Tim Düsterhus [Tue, 3 May 2022 13:26:36 +0000 (15:26 +0200)]
Merge branch '5.4'
Tim Düsterhus [Tue, 3 May 2022 13:07:53 +0000 (15:07 +0200)]
Merge pull request #4768 from WoltLab/sitemap-page
Fix handling of CMS pages in sitemap
Tim Düsterhus [Tue, 3 May 2022 11:57:49 +0000 (13:57 +0200)]
Fix handling of CMS pages in sitemap
Delegate the visibility control and access control to the appropriate methods
in \wcf\data\page\Page instead of reimplementing it from scratch. Most notably
the inversion of the page ACL was not implemented correctly within the sitemap.
see
92fba0538afc1d88f411db1a80553af2d17c09b4
Closes #4767
Co-authored-by: mutec <mysterycode@mysterycode.de>
Alexander Ebert [Mon, 2 May 2022 15:27:06 +0000 (17:27 +0200)]
Release 5.5.0 Alpha 6
WoltLab [Mon, 2 May 2022 15:25:33 +0000 (15:25 +0000)]
Updating minified JavaScript files
Alexander Ebert [Mon, 2 May 2022 13:21:13 +0000 (15:21 +0200)]
Merge pull request #4764 from WoltLab/content-interaction-button-icons
Use icons in content interaction buttons
Marcel Werk [Mon, 2 May 2022 10:53:35 +0000 (12:53 +0200)]
Adapt icon dynamically to the actual sort order
Alexander Ebert [Mon, 2 May 2022 08:37:07 +0000 (10:37 +0200)]
Removed a superfluous data attribute
This was a temporary part of the development process.
Fixes #4765
Tim Düsterhus [Mon, 2 May 2022 07:25:38 +0000 (09:25 +0200)]
Merge pull request #4766 from mutec/appmanmudose
fix application management in multi domain setups
mutec [Sun, 1 May 2022 20:53:53 +0000 (22:53 +0200)]
fix application management in multi domain setups
Changing the landing pages of apps was failing since the domain name for single-domain-setups was validated for any case, but is not set when using a multi-domain-setup.
This lead to an un-meaningful error-message saying something is incorrect.
Marcel Werk [Sun, 1 May 2022 17:54:36 +0000 (19:54 +0200)]
Page change in search results scrolls to top automatically
Marcel Werk [Sun, 1 May 2022 17:54:24 +0000 (19:54 +0200)]
Added parameter to configure the scroll behavior
Marcel Werk [Sun, 1 May 2022 17:29:01 +0000 (19:29 +0200)]
Incorrect pronoun in article comment notifications
Marcel Werk [Sun, 1 May 2022 12:42:14 +0000 (14:42 +0200)]
Reduced size of form submit buttons (on mobile)
Alexander Ebert [Sun, 1 May 2022 09:18:03 +0000 (11:18 +0200)]
Swapped the position of the user and page menu
See https://www.woltlab.com/community/thread/295422-position-des-hamburger-men%C3%BCs/
Marcel Werk [Fri, 29 Apr 2022 16:22:52 +0000 (18:22 +0200)]
Use icons in content interaction buttons
Marcel Werk [Fri, 29 Apr 2022 16:22:40 +0000 (18:22 +0200)]
Stop hiding icons in content interaction buttons
Marcel Werk [Fri, 29 Apr 2022 15:10:13 +0000 (17:10 +0200)]
Merge pull request #4753 from WoltLab/article-timestamp
Ensures that the date of a published article is not in the future.
Marcel Werk [Fri, 29 Apr 2022 14:38:15 +0000 (16:38 +0200)]
Show error message if article date is in the future
Alexander Ebert [Fri, 29 Apr 2022 11:31:26 +0000 (13:31 +0200)]
Release 5.5.0 Alpha 5
WoltLab [Fri, 29 Apr 2022 11:30:00 +0000 (11:30 +0000)]
Updating minified JavaScript files
Alexander Ebert [Fri, 29 Apr 2022 11:18:14 +0000 (13:18 +0200)]
Merge pull request #4763 from WoltLab/user-profile-buttons
Overhauled user profile buttons
Alexander Ebert [Thu, 28 Apr 2022 17:45:12 +0000 (19:45 +0200)]
Ignore connection errors caused by page navigation
See WoltLab/com.woltlab.wbb#539
Alexander Ebert [Thu, 28 Apr 2022 16:30:02 +0000 (18:30 +0200)]
Delay menu interaction until the page is loaded
User menu providers are registered asynchronously and the UI does not know once they are all ready.
See https://www.woltlab.com/community/thread/295264-userpanel-l%C3%A4dt-unvollst%C3%A4ndig/
Alexander Ebert [Thu, 28 Apr 2022 14:58:46 +0000 (16:58 +0200)]
Simplified the code logic
Alexander Ebert [Thu, 28 Apr 2022 14:09:12 +0000 (16:09 +0200)]
Use icons to represent the moderation queue types
Fixes #4742
Marcel Werk [Thu, 28 Apr 2022 14:03:21 +0000 (16:03 +0200)]
Added standalone button for "edit profile"
Marcel Werk [Thu, 28 Apr 2022 13:53:12 +0000 (15:53 +0200)]
Removed duplicate link to avatar form
The avatar itself is already linked to the avatar form.
Marcel Werk [Thu, 28 Apr 2022 13:47:22 +0000 (15:47 +0200)]
Use content interactions button in user profiles (management menu)
Marcel Werk [Thu, 28 Apr 2022 13:43:00 +0000 (15:43 +0200)]
Use content interactions button in user profiles (search menu)
Marcel Werk [Thu, 28 Apr 2022 13:28:22 +0000 (15:28 +0200)]
Made use of content interaction dropdown in user profiles
Alexander Ebert [Thu, 28 Apr 2022 13:18:11 +0000 (15:18 +0200)]
Merge pull request #4704 from WoltLab/string-validation
Use is_string to validate strings
Tim Düsterhus [Thu, 28 Apr 2022 12:29:15 +0000 (14:29 +0200)]
Merge pull request #4762 from WoltLab/password-cleanup
Cleanup PHPASS password implementations
Alexander Ebert [Thu, 28 Apr 2022 12:28:23 +0000 (14:28 +0200)]
Remove the Google Plus profile field
Fixes #4741
Tim Düsterhus [Thu, 28 Apr 2022 12:20:47 +0000 (14:20 +0200)]
Deprecate TPhpass::hash() and TPhpass::needsRehash()
Tim Düsterhus [Thu, 28 Apr 2022 12:16:41 +0000 (14:16 +0200)]
Explicitly implement `Phpass::hash()` and `Phpass::needsRehash()`
They don't really belong into the `TPhpass` trait.
Tim Düsterhus [Thu, 28 Apr 2022 12:14:03 +0000 (14:14 +0200)]
Implement Drupal8::needsRehash()
Tim Düsterhus [Thu, 28 Apr 2022 12:08:12 +0000 (14:08 +0200)]
Move the Drupal8 costs into a class constant
Tim Düsterhus [Thu, 28 Apr 2022 12:04:02 +0000 (14:04 +0200)]
Delegate to TPhpass in Drupal8
Tim Düsterhus [Thu, 28 Apr 2022 11:52:48 +0000 (13:52 +0200)]
Use `\hash('md5', …)` instead of `\md5()` in TPhpass
This makes it easier to parameterize the implementation.
Tim Düsterhus [Thu, 28 Apr 2022 11:54:50 +0000 (13:54 +0200)]
Delegate base64 encoding for Drupal8 to TPhpass
Tim Düsterhus [Thu, 28 Apr 2022 11:50:43 +0000 (13:50 +0200)]
Add TPhpass::encode64()
Tim Düsterhus [Thu, 28 Apr 2022 10:38:03 +0000 (12:38 +0200)]
Merge branch '5.4'
Tim Düsterhus [Thu, 28 Apr 2022 10:36:23 +0000 (12:36 +0200)]
Add the Drupal8 hashing algorithm
Tim Düsterhus [Thu, 28 Apr 2022 10:21:19 +0000 (12:21 +0200)]
Fix the TPhpass algorithm
The salt extraction used `mb_strpos` where `mb_substr` needs to be used.
see
c586e46e62dd1d714b7c7db7911eb6cf5d96cc7e
Tim Düsterhus [Wed, 27 Apr 2022 13:58:31 +0000 (15:58 +0200)]
Merge pull request #4758 from WoltLab/mailbox-filterAddress
Unify the email validation of UserUtil::isValidEmail() and Mailbox::__construct() - Take 2
Marcel Werk [Wed, 27 Apr 2022 13:51:52 +0000 (15:51 +0200)]
Merge pull request #4760 from WoltLab/unified-mark-as-read-language-variables
Unified language variables for "mark as read" buttons
Marcel Werk [Wed, 27 Apr 2022 13:41:32 +0000 (15:41 +0200)]
Unified language variables for "mark as read" buttons
Marcel Werk [Wed, 27 Apr 2022 13:25:07 +0000 (15:25 +0200)]
Merge pull request #4759 from WoltLab/content-interaction-margins
Avoid empty content interaction elements to avoid obsolete margin
Marcel Werk [Wed, 27 Apr 2022 13:19:06 +0000 (15:19 +0200)]
Avoid empty content interaction elements to avoid obsolete margin
Tim Düsterhus [Wed, 27 Apr 2022 13:08:19 +0000 (15:08 +0200)]
Delegate to Mailbox::filterAddress() in UserUtil::isValidEmail()
see
1723b426d25ecaad5034a6f74e3b29db25dc1b29
Tim Düsterhus [Wed, 27 Apr 2022 13:07:02 +0000 (15:07 +0200)]
joshuaruesweg [Wed, 27 Apr 2022 13:01:28 +0000 (15:01 +0200)]
Add explicit support for `*` in excludedPackages in `PackageUpdateAction`
Fixes #4736
Tim Düsterhus [Wed, 27 Apr 2022 12:56:56 +0000 (14:56 +0200)]
Revert "Unify the email validation of UserUtil::isValidEmail() and Mailbox::__construct()"
This change broke WCFSetup, because Mailboxes implicitly carry a language which
is not readily available in WCFSetup.
The validation of the email address should likely be moved into a dedicated
method in Mailbox and then UserUtil::isValidEmail() deprecated.
This reverts commit
395f9a6affffdd5381134d3f9d39b70de453b668.
Marcel Werk [Wed, 27 Apr 2022 11:33:46 +0000 (13:33 +0200)]
Added standalone button for "mark as read"
Marcel Werk [Wed, 27 Apr 2022 11:23:57 +0000 (13:23 +0200)]
Removed useless RSS feed dialog for notifications
The option for an anonymous RSS feed does not make sense at this point, as guests do not have access to notifications.
Tim Düsterhus [Wed, 27 Apr 2022 07:20:17 +0000 (09:20 +0200)]
Match stop words case insensitively in MysqlSearchEngine
Tim Düsterhus [Wed, 27 Apr 2022 07:18:47 +0000 (09:18 +0200)]
Replace MysqlSearchEngine::getStopWords() by ::isStopWord()
Alexander Ebert [Tue, 26 Apr 2022 13:53:10 +0000 (15:53 +0200)]
Release 5.5.0 Alpha 4
WoltLab [Tue, 26 Apr 2022 13:42:57 +0000 (13:42 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Tue, 26 Apr 2022 13:25:55 +0000 (15:25 +0200)]
Merge pull request #4757 from WoltLab/visit-tracker
Improve VisitTracker behavior
Tim Düsterhus [Tue, 26 Apr 2022 13:21:10 +0000 (15:21 +0200)]
Remove support for object specific lifetimes in VisitTracker
Tim Düsterhus [Tue, 26 Apr 2022 12:44:27 +0000 (14:44 +0200)]
Fix cleaning of tracked visits in DailyCleanUpCronjob
This part of the cronjob never was functional, because stored visitTime was
compared to the lifetime which could only ever match near the start of the unix
epoch.
Fix this by correctly subtracting the lifetime from the current timestamp. I've
opted to use 120 days as the cleanup lifetime, as this allows one to adjust the
DEFAULT_LIFETIME gracefully.
Tim Düsterhus [Tue, 26 Apr 2022 12:30:33 +0000 (14:30 +0200)]
Simplify VisitTracker::getVisitTime()
Tim Düsterhus [Tue, 26 Apr 2022 12:23:17 +0000 (14:23 +0200)]
Remove the intransparent doubling of the visit tracker lifetime if existing data exists
In case of com.woltlab.wbb this only triggers if and only if a user *ever*
marked all boards as read. With the increase of the default lifetime in the
previous commit it becomes obsolete.
Tim Düsterhus [Tue, 26 Apr 2022 12:22:24 +0000 (14:22 +0200)]
Increase VisitTracker::DEFAULT_LIFETIME to 31 days
see
0fb222af73eab6621c62c5bd4403bdf7330bfad8
Tim Düsterhus [Tue, 26 Apr 2022 12:22:05 +0000 (14:22 +0200)]
Use constant expression for VisitTracker::DEFAULT_LIFETIME
Alexander Ebert [Tue, 26 Apr 2022 11:19:52 +0000 (13:19 +0200)]
Enforce equal heights of all buttons
See https://www.woltlab.com/community/thread/295373-buttons-unterschiedlich-gro%C3%9F-wenn-pagination-aktiv/
Alexander Ebert [Tue, 26 Apr 2022 11:15:54 +0000 (13:15 +0200)]
Rephrased the button to set up notifications
See https://www.woltlab.com/community/thread/295368-desktop-benachrichtigungen-aktivieren-pr%C3%A4ferenzen-festlegen-falsch/
Tim Düsterhus [Tue, 26 Apr 2022 08:51:02 +0000 (10:51 +0200)]
Merge pull request #4756 from WoltLab/user-util-is-valid-email
Unify the email validation of UserUtil::isValidEmail() and Mailbox::__construct()
Tim Düsterhus [Tue, 26 Apr 2022 07:08:09 +0000 (09:08 +0200)]
Unify the email validation of UserUtil::isValidEmail() and Mailbox::__construct()
Alexander Ebert [Mon, 25 Apr 2022 17:24:37 +0000 (19:24 +0200)]
Pasting code into a code box caused duplicates
Alexander Ebert [Mon, 25 Apr 2022 16:24:01 +0000 (18:24 +0200)]
Superfluous CSS for dialog alignment
This was supposed to be removed by
8fb8e05c07732280ff5fea3b926b71f35db9b0ff
Alexander Ebert [Mon, 25 Apr 2022 16:15:22 +0000 (18:15 +0200)]
Disable the focus trap before hiding the dialog
See https://www.woltlab.com/community/thread/295337-mobil-thema-bearbeiten-bug/
Alexander Ebert [Mon, 25 Apr 2022 16:12:27 +0000 (18:12 +0200)]
Disable hiding of the user menu on Redactor focus
This change was missing from
106207823daf1b1105afc918fa66718ae70707e2
Alexander Ebert [Mon, 25 Apr 2022 15:35:16 +0000 (17:35 +0200)]
Disable hiding of the user menu on Redactor focus
The behavior was intended to increase the available screen space when the editor is active. However, the height of smartphones has constantly increased, reducing the impact of a couple extra pixels.
The major downside was the focus behavior which is somewhat unintuitive on mobile and has repeatedly caused confusion among users, because the menu was seemingly “lost”.
Alexander Ebert [Mon, 25 Apr 2022 15:16:33 +0000 (17:16 +0200)]
Keep the scrollbar visible while scrolling
See https://www.woltlab.com/community/thread/295349-scrollbar-ohne-hover-nicht-sichtbar-selbst-beim-scrollen/
Alexander Ebert [Mon, 25 Apr 2022 15:12:54 +0000 (17:12 +0200)]
Synchronize the unread indicator on menu close
See https://www.woltlab.com/community/thread/295340-mobiler-hinweis-verschwindet-nicht-direkt-nach-benachrichtigungen-als-gelesen-ma/
Alexander Ebert [Mon, 25 Apr 2022 15:10:46 +0000 (17:10 +0200)]
Use the DOM attribute as notification counter
Alexander Ebert [Mon, 25 Apr 2022 14:49:53 +0000 (16:49 +0200)]
User-friendly messages for network errors
See https://www.woltlab.com/community/thread/295356-load-failed-wenn-keine-netzwerkverbindung-beim-klick-auf-die-benachrichtigungen/
Tim Düsterhus [Mon, 25 Apr 2022 10:52:55 +0000 (12:52 +0200)]
Merge branch '5.4'
Sascha Greuel [Mon, 25 Apr 2022 10:32:11 +0000 (12:32 +0200)]
Set explicit `referrerpolicy` for Vimeo embeds
see
936c0f6d5d3f5a811110f7add4fa688a3e9a8377
see https://www.woltlab.com/community/thread/295351/?postID=
1891462#post1891462
Resolves #4755
Tim Düsterhus [Mon, 25 Apr 2022 10:49:48 +0000 (12:49 +0200)]
Set explicit `referrerpolicy` for YouTube embeds
YouTube requires the `Referer` header to be set for (some) embeds to work. By
using the attribute any `referrer-policy` header set on the top level document
is overridden (e.g. `same-origin`).
Co-authored-by: Sascha Greuel <github@1-2.dev>
Marcel Werk [Mon, 25 Apr 2022 08:40:53 +0000 (10:40 +0200)]
Fixed incorrect status check
Tim Düsterhus [Mon, 25 Apr 2022 08:33:34 +0000 (10:33 +0200)]
Fix assertion in TMultiRecipientModerationQueueCommentUserNotificationObjectType
Alexander Ebert [Sun, 24 Apr 2022 13:15:47 +0000 (15:15 +0200)]
Release 5.5.0 Alpha 3
WoltLab [Sun, 24 Apr 2022 13:04:47 +0000 (13:04 +0000)]
Updating minified JavaScript files
Marcel Werk [Sun, 24 Apr 2022 13:02:04 +0000 (15:02 +0200)]
Added standalone button for "mark as read"
Marcel Werk [Sun, 24 Apr 2022 13:01:32 +0000 (15:01 +0200)]
Show notification after "mark as read" is done
Alexander Ebert [Sun, 24 Apr 2022 12:45:58 +0000 (14:45 +0200)]
Skip the notification tab when in maintenance mode
See https://www.woltlab.com/community/thread/295237-leeres-benutzermen%C3%BC-im-wartungsmodus/
Alexander Ebert [Sun, 24 Apr 2022 12:17:43 +0000 (14:17 +0200)]
Improves visuals when marking user menu items read
See https://www.woltlab.com/community/thread/295256-mobiles-als-gelesen-markieren-von-benachrichtigungen-schlecht-erkenntlich-und-nu/
Alexander Ebert [Sun, 24 Apr 2022 12:12:19 +0000 (14:12 +0200)]
Incorrect selector target
Alexander Ebert [Sat, 23 Apr 2022 18:20:46 +0000 (20:20 +0200)]
Moved the page menu item counter to the text
Alexander Ebert [Sat, 23 Apr 2022 18:15:28 +0000 (20:15 +0200)]
Additional indicator for the active page menu
Marcel Werk [Sat, 23 Apr 2022 17:01:01 +0000 (19:01 +0200)]
Fixed code style
Alexander Ebert [Sat, 23 Apr 2022 16:08:39 +0000 (18:08 +0200)]
Unused import