Alexander Ebert [Wed, 17 Aug 2022 17:33:36 +0000 (19:33 +0200)]
Fix the icon validation, better JSON data structure
The previous data structure was a plain string array with 1.8k elements. Using an associative array with a useless value allows a much faster lookup using `isset()` rather than `\in_array()`.
Alexander Ebert [Wed, 17 Aug 2022 16:58:16 +0000 (18:58 +0200)]
Convert the Font Awesome helper
Alexander Ebert [Wed, 17 Aug 2022 11:26:48 +0000 (13:26 +0200)]
Replace legacy icons
Alexander Ebert [Tue, 16 Aug 2022 15:19:07 +0000 (17:19 +0200)]
Use the non-solid style for `users`
Alexander Ebert [Tue, 16 Aug 2022 15:18:18 +0000 (17:18 +0200)]
Use `solid` style if it is requested and there is a non-solid version
This change will only force the `solid` style when it is requested and there is a non-solid variant.
Alexander Ebert [Tue, 16 Aug 2022 15:07:58 +0000 (17:07 +0200)]
Replace icon aliases with their primary name
Alexander Ebert [Tue, 16 Aug 2022 14:48:56 +0000 (16:48 +0200)]
Remove the `solid` flag when not required
Alexander Ebert [Tue, 16 Aug 2022 14:21:59 +0000 (16:21 +0200)]
Remove the explicit `solid` flag for icons that don‘t require it
Alexander Ebert [Tue, 16 Aug 2022 14:10:06 +0000 (16:10 +0200)]
Make solid an opt-in flag, disallow writing to `name` and `solid`
Force the usage of `setIcon()` to set the desired icon.
Alexander Ebert [Mon, 15 Aug 2022 18:17:20 +0000 (20:17 +0200)]
Replace legacy icons
Alexander Ebert [Mon, 15 Aug 2022 17:25:20 +0000 (19:25 +0200)]
Allow toggle actions to contain an icon
Alexander Ebert [Mon, 15 Aug 2022 17:20:02 +0000 (19:20 +0200)]
Use Font Awesome 6 in file uploads
Alexander Ebert [Mon, 15 Aug 2022 14:13:45 +0000 (16:13 +0200)]
Remove the legacy icon class
Alexander Ebert [Mon, 15 Aug 2022 13:44:46 +0000 (15:44 +0200)]
Add a custom spinner icon
Alexander Ebert [Sat, 13 Aug 2022 19:32:22 +0000 (21:32 +0200)]
Overhaul the message share providers and buttons
Alexander Ebert [Sat, 13 Aug 2022 18:31:41 +0000 (20:31 +0200)]
Replace legacy icons
Alexander Ebert [Fri, 12 Aug 2022 19:32:10 +0000 (21:32 +0200)]
Use a native button element instead
Alexander Ebert [Fri, 12 Aug 2022 16:06:08 +0000 (18:06 +0200)]
Replace legacy icons
Alexander Ebert [Fri, 12 Aug 2022 15:40:34 +0000 (17:40 +0200)]
Replace legacy icon usage
Alexander Ebert [Fri, 12 Aug 2022 15:02:09 +0000 (17:02 +0200)]
Replace legacy icons in TypeScript
Alexander Ebert [Fri, 12 Aug 2022 14:38:26 +0000 (16:38 +0200)]
Replace legacy icons in JS files
Alexander Ebert [Fri, 12 Aug 2022 14:37:49 +0000 (16:37 +0200)]
Replace legacy icons in JS files
Alexander Ebert [Fri, 12 Aug 2022 14:36:28 +0000 (16:36 +0200)]
Replace legacy icons in ACP templates
Alexander Ebert [Fri, 12 Aug 2022 14:36:14 +0000 (16:36 +0200)]
Replace legacy icons in templates
Alexander Ebert [Fri, 12 Aug 2022 14:47:05 +0000 (16:47 +0200)]
Add typing support for the icon elements
Alexander Ebert [Thu, 11 Aug 2022 14:37:26 +0000 (16:37 +0200)]
Improve the code clarity
Co-authored-by: Tim Düsterhus <duesterhus@woltlab.com>
Alexander Ebert [Thu, 11 Aug 2022 13:58:56 +0000 (15:58 +0200)]
Enable the CLI functionality of the migration script
Alexander Ebert [Thu, 11 Aug 2022 13:36:58 +0000 (15:36 +0200)]
Enable the migration of templates again
Alexander Ebert [Thu, 11 Aug 2022 12:25:59 +0000 (14:25 +0200)]
Add support for icon migrations in JS/TS files
The JSON blob was moved back into the code flow, because the IDE broke when using `__halt_compiler()`.
Alexander Ebert [Wed, 10 Aug 2022 20:08:28 +0000 (22:08 +0200)]
Incorrect use of the `{icon}` helper for the `regular` style
Alexander Ebert [Wed, 10 Aug 2022 18:11:21 +0000 (20:11 +0200)]
Add prototype for a migration script
Alexander Ebert [Wed, 10 Aug 2022 20:08:46 +0000 (22:08 +0200)]
Add support for icon aliases
Alexander Ebert [Wed, 10 Aug 2022 16:27:30 +0000 (18:27 +0200)]
Restore the original user panel template
The extra icons were introduced for development purposes only.
Alexander Ebert [Wed, 10 Aug 2022 16:26:16 +0000 (18:26 +0200)]
Optimize the metadata JS
All free fonts have a `solid` variant, therefore we only need a flag to indicate if an icon _also_ has a free `regular` variant.
Alexander Ebert [Wed, 10 Aug 2022 15:06:40 +0000 (17:06 +0200)]
Clean up the old icon implementation
- Removed the TTF font files
- Removed the “brands” font (served using individual SVGs)
- Removed the shims for Font Awesome v4
- Remove the variables
- Render legacy `.icon` elements using a white question mark inside a purple box to make those easy to spot
- Define all icon variable names using an empty string to prevent compiler errors from unresolved variables.
Alexander Ebert [Wed, 10 Aug 2022 11:03:01 +0000 (13:03 +0200)]
Mark the icons as decorative only
Alexander Ebert [Wed, 10 Aug 2022 10:58:35 +0000 (12:58 +0200)]
Improve the behavior of the `<fa-icon>` name attribute
Alexander Ebert [Wed, 10 Aug 2022 10:53:37 +0000 (12:53 +0200)]
Handle changes to the requested size of an icon
Alexander Ebert [Tue, 9 Aug 2022 15:55:40 +0000 (17:55 +0200)]
Add the `setIcon()` method for `<fa-icon>`
Alexander Ebert [Tue, 9 Aug 2022 15:44:20 +0000 (17:44 +0200)]
Add the typings for the icon web components
Alexander Ebert [Tue, 9 Aug 2022 15:33:26 +0000 (17:33 +0200)]
Add support for changes to the icon name and FA6 Pro
Alexander Ebert [Tue, 9 Aug 2022 14:29:00 +0000 (16:29 +0200)]
Remove the `regular` flag of `<fa-icon>`
Tim Düsterhus [Tue, 9 Aug 2022 14:12:48 +0000 (16:12 +0200)]
Fix tsconfig.json for WebComponents
Alexander Ebert [Tue, 9 Aug 2022 13:55:48 +0000 (15:55 +0200)]
Fix the workflow for TypeScript checks
Alexander Ebert [Tue, 9 Aug 2022 13:03:56 +0000 (15:03 +0200)]
Split the TypeScript proejcts
Alexander Ebert [Tue, 9 Aug 2022 13:00:13 +0000 (15:00 +0200)]
Move the brand icons into a separate `<fa-brand>` element
Alexander Ebert [Mon, 8 Aug 2022 16:22:37 +0000 (18:22 +0200)]
Add the `--build` flag for the nested `tsconfig.json`
Alexander Ebert [Mon, 8 Aug 2022 16:15:38 +0000 (18:15 +0200)]
Register the extra `tsconfig.json` with ESLint
Alexander Ebert [Mon, 8 Aug 2022 16:13:22 +0000 (18:13 +0200)]
Rename the global helper function for the icon metadata
Alexander Ebert [Mon, 8 Aug 2022 16:06:49 +0000 (18:06 +0200)]
Add method `setIcon` to change the icon on runtime
Alexander Ebert [Mon, 8 Aug 2022 15:14:39 +0000 (17:14 +0200)]
Expose the Font Awesome codepoints to JavaScript
Alexander Ebert [Mon, 8 Aug 2022 12:37:39 +0000 (14:37 +0200)]
Add experimental support for `<fa-icon>`
Tim Düsterhus [Mon, 8 Aug 2022 10:37:36 +0000 (12:37 +0200)]
Mark Font Awesome SVGs as linguist-generated
Alexander Ebert [Mon, 8 Aug 2022 10:00:29 +0000 (12:00 +0200)]
Add the '{icon}' template helper to embed Font Awesome icons
Alexander Ebert [Mon, 8 Aug 2022 09:59:51 +0000 (11:59 +0200)]
Add Font Awesome 6.1.2 brand icons as SVG
Alexander Ebert [Fri, 5 Aug 2022 16:21:35 +0000 (18:21 +0200)]
Reduce the icon font size to match FA4
Alexander Ebert [Fri, 5 Aug 2022 15:58:58 +0000 (17:58 +0200)]
Remove the dynamic scaling of the ACP menu icon
It was always a bit of a gimmick, but introduces some noise to the page and the icons generally become blurry when scaled.
Alexander Ebert [Fri, 5 Aug 2022 15:56:29 +0000 (17:56 +0200)]
Reduce the size of the admin panel menu icons
Tim Düsterhus [Fri, 5 Aug 2022 13:44:22 +0000 (15:44 +0200)]
Add Font Awesome 6.1.2 assets
Tim Düsterhus [Tue, 7 Dec 2021 09:07:06 +0000 (10:07 +0100)]
Add Font Awesome 6.0.0-beta3 assets
Alexander Ebert [Sat, 13 Nov 2021 13:04:59 +0000 (14:04 +0100)]
Extract the icon names from the changed file path
Alexander Ebert [Fri, 12 Nov 2021 15:44:17 +0000 (16:44 +0100)]
Re-introduced icon helpers and the animated spinner
Alexander Ebert [Fri, 12 Nov 2021 12:16:47 +0000 (13:16 +0100)]
Applied the code style for SCSS files
Alexander Ebert [Fri, 12 Nov 2021 12:16:17 +0000 (13:16 +0100)]
Default icon color
Alexander Ebert [Fri, 12 Nov 2021 12:05:11 +0000 (13:05 +0100)]
Consistent icon width equal to 1.25 times the height
Tim Düsterhus [Fri, 1 Oct 2021 14:37:34 +0000 (16:37 +0200)]
Use icon sizes that are multiples of 16px
Tim Düsterhus [Fri, 1 Oct 2021 14:06:59 +0000 (16:06 +0200)]
Use FA 4 CSS for icon sizes
Tim Düsterhus [Fri, 1 Oct 2021 14:06:26 +0000 (16:06 +0200)]
Overwrite fa-size-scale-base
Tim Düsterhus [Fri, 1 Oct 2021 12:43:57 +0000 (14:43 +0200)]
Fix `.icon` compatibility by extending `.fas`
Some CSS rules were missing before.
Tim Düsterhus [Fri, 1 Oct 2021 10:15:17 +0000 (12:15 +0200)]
Add .prettierignore for font-awesome SCSS
Tim Düsterhus [Fri, 1 Oct 2021 10:10:49 +0000 (12:10 +0200)]
Add custom Font Awesome compatibility layer
Tim Düsterhus [Fri, 1 Oct 2021 10:10:22 +0000 (12:10 +0200)]
Remove Font Awesome 4
Tim Düsterhus [Fri, 1 Oct 2021 08:56:13 +0000 (10:56 +0200)]
Add Font Awesome 6.0.0-beta2 assets
Alexander Ebert [Fri, 12 Aug 2022 19:25:45 +0000 (21:25 +0200)]
Set the `pointer` cursor for buttons
Alexander Ebert [Fri, 12 Aug 2022 19:15:05 +0000 (21:15 +0200)]
Merge pull request #4955 from WoltLab/button-explicit-styling
Permit the use of the native `<button>` element
Alexander Ebert [Fri, 12 Aug 2022 16:16:14 +0000 (18:16 +0200)]
Update the compiled JS files
Tim Düsterhus [Fri, 12 Aug 2022 13:08:54 +0000 (15:08 +0200)]
Merge branch '5.5'
Alexander Ebert [Fri, 12 Aug 2022 12:52:07 +0000 (14:52 +0200)]
Merge pull request #4953 from WoltLab/group-permission-check
Remove broken check for UserGroupPermissionCache consistency
Tim Düsterhus [Fri, 12 Aug 2022 12:22:37 +0000 (14:22 +0200)]
Remove broken check for UserGroupPermissionCache consistency
The purpose of this check is not entirely clear, as it exists since the very
first commit in git. Back then it was not yet broken, it got broken when the
caching system was refactored to reorder parameters, probably in order to
improve the cache hit rates:
When running the `worker`s using the CLI interface, for some reason, the cache
for guests gets rebuilt with the `$parameters` array (and thus by extension the
`groupIDs` value) being equal to `[2, 1]`, whereas everywhere else the
`$parameters` are consistently `[1, 2]`.
Now when rebuilding the data via the CLI, the cache will have the `[2, 1]`
order and when reloading the cache in a regular HTTP session this check will
fail, as `[2, 1] != [1, 2]`, thus completely disregarding the cache contents
and using an empty permissions array instead. This in turn leads to guests not
being able to access anything.
Fix this by removing the safety check:
- It's exceedingly unlikely for two unrelated `$parameters` to collide in the
cache filename, thus applying incorrect permissions.
- If the CacheBuilder itself is buggy, then all bets are off anyway.
Marcel Werk [Fri, 12 Aug 2022 11:38:46 +0000 (13:38 +0200)]
Remove obsolete code
WoltLab [Fri, 12 Aug 2022 11:38:24 +0000 (11:38 +0000)]
Updating minified JavaScript files
Tim Düsterhus [Fri, 12 Aug 2022 09:24:21 +0000 (11:24 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Fri, 12 Aug 2022 09:23:54 +0000 (11:23 +0200)]
Unify “Datenbanktabelle” in de.xml
Tim Düsterhus [Fri, 12 Aug 2022 09:23:11 +0000 (11:23 +0200)]
Fix typo in de.xml
see #4952
Tim Düsterhus [Thu, 11 Aug 2022 12:46:55 +0000 (14:46 +0200)]
Merge branch '5.5'
Tim Düsterhus [Thu, 11 Aug 2022 12:46:41 +0000 (14:46 +0200)]
Merge branch '5.4' into 5.5
Tim Düsterhus [Thu, 11 Aug 2022 12:45:33 +0000 (14:45 +0200)]
Improve character class definition in explanation for PIP identifiers
see #4952
Tim Düsterhus [Thu, 11 Aug 2022 12:43:58 +0000 (14:43 +0200)]
Unify phrasing for PIP identifier explanations
see #4952
Tim Düsterhus [Thu, 11 Aug 2022 12:40:52 +0000 (14:40 +0200)]
Improve phrasing in PIP identifier description
see #4952
Tim Düsterhus [Thu, 11 Aug 2022 12:38:50 +0000 (14:38 +0200)]
Fix grammar in de.xml
Resolves #4952
Reported-by: Dennis Kraffczyk <github@dennis-kraffczyk.de>
Tim Düsterhus [Thu, 11 Aug 2022 12:37:14 +0000 (14:37 +0200)]
Replace “Example” by “Beispiel” in de.xml
see #4952
Alexander Ebert [Wed, 10 Aug 2022 16:51:14 +0000 (18:51 +0200)]
Fix the check for the provided element
The implementation expects an input element, but an additional guard is in place to only accept DOM elements. The intention was to reject other values such as strings which were common with the previous jQuery implementation.
Tim Düsterhus [Wed, 10 Aug 2022 13:43:09 +0000 (15:43 +0200)]
Merge pull request #4950 from WoltLab/oauth-return-types
Add proper types to OAuth controllers
Tim Düsterhus [Wed, 10 Aug 2022 13:39:23 +0000 (15:39 +0200)]
Use typed property for AbstractOauth2Action::$httpClient
Tim Düsterhus [Wed, 10 Aug 2022 13:38:14 +0000 (15:38 +0200)]
Add proper types to the `*AuthAction` controllers
Tim Düsterhus [Wed, 10 Aug 2022 13:36:05 +0000 (15:36 +0200)]
Mark TwitterAuthAction as final
Tim Düsterhus [Wed, 10 Aug 2022 10:03:40 +0000 (12:03 +0200)]
Use `Hex::encode()` in PackageInstallationDispatcher
This must be safe at this point, because WCFSetup relies on composer's
autoloader to work.
Tim Düsterhus [Wed, 10 Aug 2022 10:33:48 +0000 (12:33 +0200)]
Merge pull request #4949 from WoltLab/package-php-requirements-remove
Remove remnants of PHP requirement checking logic in package installation
Tim Düsterhus [Wed, 10 Aug 2022 10:29:44 +0000 (12:29 +0200)]
Merge pull request #4948 from WoltLab/clear-cache-command
Add ClearCache command
Tim Düsterhus [Wed, 10 Aug 2022 09:05:57 +0000 (11:05 +0200)]
Remove PackageInstallationDispatcher::convertShorthandByteValue()
This method existed for use with compareSetting().