Commit Graph

304 Commits

Author SHA1 Message Date
romanrizzi
7c0cb59741 DEV: Skip new JS flaky tests 2019-05-08 18:17:49 -03:00
David Taylor
0e303c7f5d
FEATURE: Automatically generate optimized site metadata icons (#7372)
This change automatically resizes icons for various purposes. Admins can now upload `logo` and `logo_small`, and everything else will be auto-generated. Specific icons can still be uploaded separately if required.

## Core

- Adds an SiteIconManager module which manages automatic resizing and fallback

- Icons are looked up in the OptimizedImage table at runtime, and then cached in Redis. If the resized version is missing for some reason, then most icons will fall back to the original files. Some icons (e.g. PWA Manifest) will return `nil` (because an incorrectly sized icon is worse than a missing icon). 

- `SiteSetting.site_large_icon_url` will return the optimized version, including any fallback. `SiteSetting.large_icon` continues to return the upload object. This means that (almost) no changes are required in core/plugins to support this new system.

- Icons are resized whenever a relevant site setting is changed, and during post-deploy migrations

## Wizard

- Allows `requiresRefresh` wizard steps to reload data via AJAX instead of a full page reload

- Add placeholders to the **icons** step of the wizard, which automatically update from the "Square Logo"

- Various copy updates to support the changes

- Remove the "upload-time" resizing for `large_icon`. This is no longer required.

## Site Settings UX

- Move logo/icon settings under a new "Branding" tab

- Various copy changes to support the changes

- Adds placeholder support to the `image-uploader` component

- Automatically reloads site settings after saving. This allows setting placeholders to change based on changes to other settings

- Upload site settings will be assigned a placeholder if SiteIconManager `responds_to?` an icon of the same name

## Dashboard Warnings

- Remove PWA icon and PWA title warnings. Both are now handled automatically.

## Bonus

- Updated the sketch logos to use @awesomerobot's new high-res designs
2019-05-01 14:44:45 +01:00
romanrizzi
84a3459af6 DEV: Mark flaky tests as pending 2019-04-30 15:01:21 -03:00
Joffrey JAFFEUX
c99faa6b25
FIX: improves locale support in tag-drop (#7418) 2019-04-23 17:53:59 +02:00
Roman Rizzi
d2ea602bdd
DEV: Mark flaky tests as pending until we fix them. (#7386) 2019-04-16 13:35:54 -03:00
Joffrey JAFFEUX
e57138354d
fix emoji tests (#7181) 2019-03-15 17:15:36 +01:00
Erick Guan
e1d1073273 FIX: use * when apply italics in the editor instead of _ (#7063) 2019-02-27 10:36:14 +01:00
Joffrey JAFFEUX
d04c4bf8e7
UX: puts back share-panel as floating pane on post actions (#7066) 2019-02-26 14:15:25 +01:00
Joffrey JAFFEUX
5952a6c0ad
DEV: uses find() helper instead of this.$() in js tests (#7062) 2019-02-25 16:04:55 +01:00
Joffrey JAFFEUX
919839fd97
FIX: allows {{d-button}} to set a form attribute (#7056)
This attribute is used when a submit button is out of a form. It makes it explicit which form this button is submitting.

It's currently used in our login modal form.
2019-02-25 09:49:49 +01:00
Guo Xiang Tan
58b0e945bd
UX: Lightbox support for image uploader. (#7034) 2019-02-21 10:13:37 +08:00
Joffrey JAFFEUX
04a63cfaaa
[WIP] FEATURE: merge share and invite actions together (#7021)
This commit also:
- removes [+ New Topic] behaviour from share, this feature has been duplicated in composer actions, months ago
- introduces our new experimental spacing standard for css: eg: `s(2)`
- introduces a new panel UI for modals
2019-02-20 15:42:44 +01:00
Guo Xiang Tan
31ffa5f64e
UX: Allow users to see filename in image-uploader component. (#7022)
https://meta.discourse.org/t/downsides-of-the-new-logo-ui-in-site-settings/102247/23?u=tgxworld
2019-02-20 13:55:55 +08:00
Joffrey JAFFEUX
6c195640b9
FEATURE: adds an API to register topic footer buttons 2019-02-07 14:43:33 +01:00
Penar Musaraj
9886934ef5 DEV: fix some deprecated SVG icon refs 2019-01-22 14:42:00 -05:00
Joffrey JAFFEUX
80d42b4ea2
icons deprecations fixes (#6920) 2019-01-22 12:02:02 +01:00
Vinoth Kannan
a8ff4a8a78 UX: search all categories even if category-chooser is scoped to particular category 2019-01-10 21:19:53 +05:30
Joffrey JAFFEUX
f9648de897
DEV: upgrades from Ember 2.13 to Ember 3.5.1 (#6808)
Co-Authored-By: Bianca Nenciu <nbianca@users.noreply.github.com>
Co-Authored-By: David Taylor <david@taylorhq.com>
2019-01-10 11:06:01 +01:00
Vinoth Kannan
b3df4bee9c FIX: Hide group membership request button for existing members 2018-12-24 13:49:05 +05:30
Joffrey JAFFEUX
e06a8980fb
FIX: category-drop initial state was incorrect (#6743) 2018-12-10 14:05:00 +01:00
Maja Komel
142361d6da FIX: don't steal focus when text in editor is replaced (#6712) 2018-12-03 09:49:17 +01:00
Joffrey JAFFEUX
8da8f5d0f7
FIX: call onSelect plugin callbacks for noop rows (#6682) 2018-11-29 15:56:19 +01:00
Joffrey JAFFEUX
4c7dfed32e
FIX: error with tags enabled and no tags created (#6701) 2018-11-29 10:39:09 +01:00
Penar Musaraj
03deda2147
Upgrade to FontAwesome 5 (take two) (#6673)
* Add missing icons to set

* Revert FA5 revert

 This reverts commit 42572ff

* use new SVG syntax in locales

* Noscript page changes (remove login button, center "powered by" footer text)

* Cast wider net for SVG icons in settings

- include any _icon setting for SVG registry (offers better support for plugin settings)

- let themes store multiple pipe-delimited icons in a setting

- also replaces broken onebox image icon with SVG reference in cooked post processor

* interpolate icons in locales

* Fix composer whisper icon alignment

* Add support for stacked icons

* SECURITY: enforce hostname to match discourse hostname

This ensures that the hostname rails uses for various helpers always matches
the Discourse hostname

* load SVG sprite with pre-initializers

* FIX: enable caching on SVG sprites

* PERF: use JSONP for SVG sprites so they are served from CDN

This avoids needing to deal with CORS for loading of the SVG

Note, added the svg- prefix to the filename so we can quickly tell in
dev tools what the file is

* Add missing SVG sprite JSONP script to CSP

* Upgrade to FA 5.5.0

* Add support for all FA4.7 icons

- adds complete frontend and backend for renamed FA4.7 icons

- improves performance of SvgSprite.bundle and SvgSprite.all_icons

* Fix group avatar flair preview

- adds an endpoint at /svg-sprites/search/:keyword

- adds frontend ajax call that pulls icon in avatar flair preview even when it is not in subset

* Remove FA 4.7 font files
2018-11-26 16:49:57 -05:00
Joffrey JAFFEUX
9672c92045
DEV: removes _.each from codebase (#6629) 2018-11-20 14:46:58 +01:00
Joffrey JAFFEUX
9911a41f4c
FIX: improves category/tag drops header shortcuts (#6610)
- wont appear when filtering
- can now be selected with keyboard
- fix bugs on click with safari/firefox
2018-11-15 15:21:40 +01:00
Joffrey JAFFEUX
9c616e0679
FIX: handles not found reports in bulk loading (#6582) 2018-11-12 13:47:24 +01:00
Guo Xiang Tan
c7377e2f2d UX: Trash icon displaying when there is no upload take 2. 2018-11-12 16:19:17 +08:00
Guo Xiang Tan
10c6211cdf UX: Trash icon displaying when there is no upload. 2018-11-12 16:06:32 +08:00
Sam
42572ff138 Revert font awesome 5 changes
We are still pushing ahead on this 100% just need a bit longer to prepare
all plugins
2018-11-08 16:12:18 +11:00
Penar Musaraj
005e1ecb9b
FEATURE: Update Font Awesome to v5.4.1 and SVGs (#6557)
* First take on subsetting svg icons

* FontAwesome 5 svg subset WIP

* Include icons from plugins/badges into svg sprite subset

* add svg icon support to themes

* Add spec for SvgSprite

* Misc. SVG icon fixes

* Use FA5 svgs in local-dates plugin

* CSS adjustments, fix SVG icons in group flair

* Use SVG icons in poll plugin

* Add SVG icons to /wizard
2018-11-07 13:05:43 -05:00
Maja Komel
ae9eddb002 FIX: don't allow adding a value containing vertical bar char to the secret list 2018-11-05 12:14:56 +01:00
David Taylor
37b7afa522 FIX: Sanitize tags before creation 2018-10-22 10:53:42 +01:00
David Taylor
0dd717e641 Revert "FIX: Sanitize tags before creation"
This reverts commit 18ae8de9e5.
2018-10-19 15:49:05 +01:00
David Taylor
18ae8de9e5 FIX: Sanitize tags before creation 2018-10-19 15:43:31 +01:00
Maja Komel
27e732a58d FEATURE: allow multiple secrets for Discourse SSO provider
This splits off the logic between SSO keys used incoming vs outgoing, it allows to far better restrict who is allowed to log in using a site.

This allows for better auditing of the SSO provider feature
2018-10-15 16:03:53 +11:00
Guo Xiang Tan
43512e9865
Merge pull request #6457 from pmusaraj/yarn-manage-test-vendor-dependencies
DEV: Use Yarn managed test vendor dependencies
2018-10-08 09:26:26 +08:00
David Taylor
9bf522f227
FEATURE: Mixed case tagging (#6454)
- By default, behaviour is not changed: tags are made lowercase upon creation and edit.

- If force_lowercase_tags is disabled, then mixed case tags are allowed.

- Tags must remain case-insensitively unique. This is enforced by ActiveRecord and Postgres.

- A migration is added to provide a `UNIQUE` index on `lower(name)`. Migration includes a safety to correct any current tags that do not meet the criteria.

- A `where_name` scope is added to `models/tag.rb`, to allow easy case-insensitive lookups. This is used instead of `Tag.where(name: "blah")`.

- URLs remain lowercase. Mixed case URLs are functional, but have the lowercase equivalent as the canonical.
2018-10-05 10:23:52 +01:00
Penar Musaraj
cd82107976 use yarn to manage test vendor dependencies, upgrade sinon to v6.3.5 2018-10-04 11:06:14 -04:00
Kris
cb519a3bec Fix test 2018-10-02 15:20:11 -04:00
Bianca Nenciu
719a433c03 FIX: Sync client & server rules regarding tag names. (#6400) 2018-10-01 21:45:44 -07:00
Joffrey JAFFEUX
a713c0d366
FIX: ensures onSelect/onDeselect are called
This commit also add a FIX and a test for toolbar-popup-menu-options which had a behavior slightly specific.
2018-09-18 11:31:23 +02:00
Joffrey JAFFEUX
2ff2c49908 Revert "FIX: ensures onSelect/onDeselect are called"
This reverts commit 52eed73294.
2018-09-17 22:14:41 +02:00
Joffrey JAFFEUX
52eed73294
FIX: ensures onSelect/onDeselect are called 2018-09-17 10:36:14 +02:00
Sam
e15a1e7c38 lint code 2018-09-17 11:10:09 +10:00
pmusaraj
03edb31a4d add tag-drop component test 2018-09-17 10:40:47 +10:00
Joffrey JAFFEUX
754d5b62a8
makes mini-tag-chooser test use can_create_tag (#6402) 2018-09-14 13:30:55 +02:00
Joffrey JAFFEUX
d2ea618af1
adds a test for mini-tag-chooser 2018-09-14 12:13:00 +02:00
Joffrey JAFFEUX
38668818a5
FIX: allows forcing unsafe string in select-kit (#6386)
forceEscape will be defaulted to true before next release.
2018-09-12 12:19:04 +02:00
Joffrey JAFFEUX
17087eff2a
FIX: Reset tags on category change (#6363) 2018-09-05 17:18:52 +02:00