Commit Graph

356 Commits

Author SHA1 Message Date
Joffrey JAFFEUX
ad4d01233b
DEV: attempts to make d-editor tests more resilient (#7556) 2019-05-16 14:42:01 +02:00
Joffrey JAFFEUX
d47bf8b6c4
SECURITY: updates lodash from 1.3.0 to 4.17.5 (#7546) 2019-05-16 10:34:19 +02:00
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
Joffrey JAFFEUX
82dcc5cbfa
FEATURE: makes reports loadable in bulk (#6309) 2018-08-24 15:28:01 +02:00
Joffrey JAFFEUX
599cebf8ad
FIX: better message if request for report is rate limited (#6298) 2018-08-22 11:25:12 +02:00
Joffrey JAFFEUX
37d4f27c44
FIX: quality/bugfix dashboard/reports pass (#6283) 2018-08-17 16:19:25 +02:00
Joffrey JAFFEUX
c301111461
FIX: display select kit body if no choices (#6237) 2018-08-06 11:22:48 -04:00
Joffrey JAFFEUX
066010db7d
FEATURE: introduces list/compact_list components 2018-08-03 16:41:37 -04:00
Joffrey JAFFEUX
2b2a506a7b
FIX: makes dashboard more resilient to errors (#6217)
This commit is an attempt to limit cases where the dashboard will generate a full exception page and also make it easier to track the error.
2018-07-31 21:23:28 -04:00
Joffrey JAFFEUX
37252c1a5e
UI: improves dashboard table reports
- support for avatars
- support for topic/post/user type in reports
- improved totals row UI
- minor css tweaks
2018-07-31 17:35:13 -04:00
Maja Komel
04baddf731 DEV: migrate tests to async/await 2018-07-30 12:21:05 +02:00
Joffrey JAFFEUX
ad95c24307
FEATURE: displays a notice if report has no data (#6178) 2018-07-25 14:28:41 -04:00
Dan Ungureanu
44a5c29d42 Clear old text and URL when showing up the "Insert Hyperink" modal. (#6138) 2018-07-25 17:12:49 +10:00
Maja Komel
d16a2c776a DEV: migrate components tests to async/await 2018-07-24 22:41:14 +02:00
Joffrey JAFFEUX
1a78e12f4e
FEATURE: part 2 of dashboard improvements
- moderation tab
- sorting/pagination
- improved third party reports support
- trending charts
- better perf
- many fixes
- refactoring
- new reports

Co-Authored-By: Simon Cossar <scossar@users.noreply.github.com>
2018-07-19 14:33:11 -04:00
Jeff Atwood
7dce8290ed copyedit on category drop down 2018-06-26 12:43:45 -07:00
OsamaSayegh
d81f8ea378
fix prettier 2018-06-26 15:31:43 +03:00
OsamaSayegh
bfe0178270 FIX: use the correct notification levels titles for PMs 2018-06-26 14:01:52 +02:00
Joffrey JAFFEUX
eb9b99e519
FIX: makes select-kit match searches with accents (filter and content) 2018-06-26 12:19:14 +02:00
Joffrey JAFFEUX
60ff0e9b8c
missing prettified files 2018-06-15 18:42:20 +02:00
Joffrey JAFFEUX
03a7d532cf
DEV: introduces prettier for es6 files 2018-06-15 17:03:24 +02:00
OsamaSayegh
629a2fbc2b add JS tests 2018-06-15 14:04:14 +10:00
Joffrey JAFFEUX
1be76d066c
FIX: forces boolean when content is only "true" && "false" 2018-05-24 23:41:39 +02:00
Joffrey JAFFEUX
db91d71bf1
fix category chooser spec 2018-05-23 21:07:39 +02:00
Claas Augner
ba905b24ca FIX: differentiate one/other select-kit maximumLabel/minimumLabel 2018-04-09 09:12:01 +02:00
Joffrey JAFFEUX
f0fe16d824
FEATURE: implements minimum selection for select-kit 2018-04-05 16:45:19 +02:00
Joffrey JAFFEUX
3287ac77e0
FIX: reverts combobox placeholder and introduces noneLabel
noneLabels works almost like none but instead of actually adding a row in the list, it will only change the text displayed in the header, when there's no selection.
2018-03-29 13:42:00 +02:00
Joffrey JAFFEUX
15aa712227
fix category-row regressions 2018-03-27 14:11:05 +02:00
Joffrey JAFFEUX
d48542796e
FIX: select-kit refactoring
- improve mini-tag-chooser keyboard behavior
- all multil select now respond to select all and left/right arrows
- improve events handling
- many minor tweaks
2018-03-22 11:29:55 +01:00
Guo Xiang Tan
2b7fb43d84 Fix the build. 2018-03-19 18:47:17 +08:00
Joffrey JAFFEUX
97ddaeeae8
FIX: use css instead of js to fix select-kit-collection max-height 2018-02-01 16:56:07 +01:00
scossar
41f1e7430c Refactor code; add tests 2018-01-29 17:42:19 -08:00
Vinoth Kannan
86e142b39f UX: Copy selected text to the link building modal 2018-01-24 02:02:12 +05:30
Joffrey JAFFEUX
3ee7b18886
FIX: disable by default limitMatches 2018-01-11 09:54:39 +01:00
Joffrey JAFFEUX
3ec2024466
select-kit refactoring
* improve events naming/handling
* do not explicitly check for true/Fasle
* make sure header is re-computed on toggle
2018-01-11 09:39:51 +01:00
Joffrey JAFFEUX
c9921869f1
FIX: adds select-kit api to modify header computed content (#5476)
This api would allow to simply modify header text or icons, eg:

```
      api.modifySelectKit("select-kit")
        .modifyHeaderComputedContent((context, computedContent) => {
          computedContent.title = "Not so evil";
          return computedContent;
        });
```
2018-01-09 10:52:32 +01:00
Joffrey JAFFEUX
315b9d796d
select-kit refactoring
* better test helper
* more reliable tests
* more consistent use of data-value/data-name/title/aria-label everywhere: header and rows
2017-12-22 13:08:12 +01:00
Joffrey JAFFEUX
c1c31b99ce
Replaces toolbar popup-menu with select-kit 2017-12-13 10:49:32 +01:00
Joffrey JAFFEUX
dbadebacd1
FIX: allows select-kit to search by null value 2017-12-01 20:02:00 +01:00
Joffrey JAFFEUX
96cdc4e66e
FIX: makes allowInitialValueMutation more restrictive 2017-11-24 13:15:02 +01:00
Joffrey JAFFEUX
9208909b26 tweak icon-library generation 2017-11-23 18:24:26 +01:00
Joffrey JAFFEUX
b14d9529b8
FIX: adds support for name changes tracking 2017-11-22 13:49:45 +01:00
Joffrey JAFFEUX
b2b565c2fb
select-kit initial plugin api implementation (0.8.13)
```
api.modifySelectKit("identifier-of-the-select-targeted")
  .modifyContent((context, existingContent) => {})
  .appendContent(() => {})
  .prependContent(() => {})
  .onSelect((context, val) => {});
```
2017-11-22 10:34:12 +01:00
Joffrey JAFFEUX
39f3dbd945
Introduces select-kit
* renames `select-box-kit` into `select-kit`
* introduces `single-select` and `multi-select` as base components
* introduces {{search-advanced-category-chooser}} as a better component for selecting category in advanced search
* improves events handling in select-kit
* recreates color selection inputs using {{multi-select}} and a custom {{selected-color}} component
* replaces category-selector by a component using select-kit and based on multi-select
* improves positioning of wrapper
* removes the need for offscreen, and instead use `select-kit-header` as a base focus point for all select-kit based components
* introduces a formal plugin api for select-kit based components
* introduces a formal pattern for loading and updating select-kit based components:

```
computeValue()
computeContent()
mutateValue()
```
2017-11-21 11:53:09 +01:00
Robin Ward
b9595966d4 FIX: Error applying quotes with blank lines in front 2017-11-20 13:46:19 -05:00
Joffrey JAFFEUX
6d3ed966cd
FEATURE: replace admin flags modal by a select-box 2017-11-09 12:33:36 -08:00
Joffrey JAFFEUX
0da529010a
FEATURE: support for multi-combo-box 2017-11-09 10:57:53 -08:00
OsamaSayegh
55095bc44e FEATURE: Use ACE for badge queries (#5269)
* FEATURE: Use ACE for badge queries

* Forgot disabled

* When disabled, cursor should be `not-allowed`

* Tests + prefix custom attribute with `data-`
2017-10-30 18:07:49 +11:00
Joffrey JAFFEUX
ae1e4de286 [FIX] better control on value mutation 2017-10-20 13:40:56 -07:00
Régis Hanol
62156885ec UX: remove 🔥heading and ruler button from composer toolbar 2017-10-20 10:59:31 +02:00
Joffrey JAFFEUX
4d041d5b87 [FIX] Fix wizard spec
This commit introduces a mutation on input value given to select-box-kit when value is empty. The refactoring required to avoid this would be too heavy atm, but ultimately we would want to avoid this.
2017-10-19 17:34:56 -07:00