Commit Graph

41352 Commits

Author SHA1 Message Date
3157d5ee1b DEV: ensures stylesheet watcher isn't crashing with gems plugins (#12733)
* DEV: ensures stylesheet watcher isn't crashing with gems plugins

This bug has been exhibited since discourse_dev is now including an auth plugin which was loaded as a relative path instead of an absolute path, eg:

`Users/bob/.gem/ruby/2.6.6/gems/discourse_dev-0.1.0/auth/plugin.rb`

Instead of

`/Users/bob/.gem/ruby/2.6.6/gems/discourse_dev-0.1.0/auth/plugin.rb`
2021-04-16 15:25:20 +02:00
eb7145d5a4 Build(deps): Bump oj from 3.11.3 to 3.11.5 (#12732)
Bumps [oj](https://github.com/ohler55/oj) from 3.11.3 to 3.11.5.
- [Release notes](https://github.com/ohler55/oj/releases)
- [Changelog](https://github.com/ohler55/oj/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/ohler55/oj/compare/v3.11.3...v3.11.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-16 14:41:39 +02:00
3436fef5e3 FIX: Update database_restorer to avoid shell use (#12731)
Follow-up to 0ec5fd5262647633399e856b0fba93735f6d6c11
2021-04-16 13:39:45 +01:00
965843f3e5 Build(deps): Bump excon from 0.79.0 to 0.80.1 (#12724)
Bumps [excon](https://github.com/excon/excon) from 0.79.0 to 0.80.1.
- [Release notes](https://github.com/excon/excon/releases)
- [Changelog](https://github.com/excon/excon/blob/master/changelog.txt)
- [Commits](https://github.com/excon/excon/compare/v0.79.0...v0.80.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-16 13:53:03 +02:00
fd8441d6d5 DEV: Pass a list of tag group names when using the search endpoint. (#12721)
Accepting a list of names instead of ids is more convenient when searching for tag groups using data from the `category.allowed_tag_groups` method.
2021-04-16 08:41:10 -03:00
2aed82e646 FIX: whitespaces when copying code blocks (#12730)
This ensures the copied text always has proper white space characters.
2021-04-16 10:28:47 +02:00
c43a7bb23b FIX: ensure plugin's gems are in the gem path (#12727)
Let's say you want to use a gem in a plugin that has a dependencie.

You would write something like this:

```ruby
gem 'dependency-gem', '1.2.3'
gem 'amazing-gem', '4.5.6'
```

However, since when we install a plugin gem we install it in the `gems`
directory created inside the plugins directory, when it comes the time
to install the `amazing-gem`, it won't be able to find the `dependency-gem`.

This fixes that issue by adding the `gems` plugins directory to the global gem path.

Also fixed a frozen string error when specifying a source.
2021-04-16 10:21:39 +02:00
96a16123d8 FIX: Generate unique HTML heading names (#12705)
Headings with the exact same name generated exactly the same heading
names, which was invalid. This replaces the old code for generating
names for non-English headings which were using URI encode and resulted
in unreadable headings.
2021-04-16 10:54:19 +03:00
42f6c9b6b9 FIX: Docking mixin was not cleaning up timers (#12638)
I noticed this while trying to debug slow performing ember tests.
Our docking mixin sometimes sets timers but never cancels them when
removed. I'm not sure of any errors this causes but we should be tidying
up whenever the component is removed.
2021-04-16 11:33:19 +10:00
e08432ddde DEV: Bump discourse_dev to 0.1.0 (#12722)
And add the "discourse-development-auth" plugin and client locale files.
2021-04-16 06:42:34 +05:30
d89e9fcfa3 FIX: remove old usercard styles, fix bg img class (#12712) 2021-04-15 16:34:47 -04:00
0ec5fd5262 DEV: Raise exception when execute_command will spawn a shell (#12716) 2021-04-15 16:29:37 +01:00
eb99ecf1d2 FEATURE: In the slow mode dialog make "Enabled Until" mandatory (#12701) 2021-04-15 19:16:01 +04:00
c54609bfcd UX: Full height composer on mobile Android (#12709) 2021-04-15 09:02:24 -04:00
bfa301bd7b FIX: Show invite validation errors to users (#12717)
The server used to respond with a generic 'error, contact admin' message
which did not offer any hint what the error was. This happened even when
the error could be easily corrected by the user (for example, if they
chose a very common password).
2021-04-15 15:23:49 +03:00
4d87360f84 UX: Minor styling improvements to invites (#12715)
Reduce the width of the modal to make it consistent with other modals
and use the full width for inputs with a button on the right side.
2021-04-15 14:46:49 +03:00
85d4b60a45 FIX: Improve error messages for invites (#12714)
The error messages used to include an unnecessary 'Validation failed:
Email' prefix which was removed.
2021-04-15 14:46:32 +03:00
c60668a052 FIX: Ensure the top 6 categories are shown in the user summary (#12691)
Previously it would pluck 6 categories which the user had posted in, **then** order them. To select the **top 6** categories, we need to perform the ordering in the SQL query before the LIMIT
2021-04-15 11:05:03 +01:00
3326d1ff73 FEATURE: Tweak slow mode messages and intervals (#12704) 2021-04-15 13:56:10 +04:00
81498bd131 DEV: updates to onebox 2.2.14 (#12713)
This commit also updates github’s body onebox styles in Discourse core:
- full width
- prevents show-more btn to trigger vertical scrolling
- makes text standout less and slightly bigger
2021-04-15 10:58:39 +02:00
56331275dc Build(deps): Bump connection_pool from 2.2.4 to 2.2.5 (#12710)
Bumps [connection_pool](https://github.com/mperham/connection_pool) from 2.2.4 to 2.2.5.
- [Release notes](https://github.com/mperham/connection_pool/releases)
- [Changelog](https://github.com/mperham/connection_pool/blob/master/Changes.md)
- [Commits](https://github.com/mperham/connection_pool/compare/v2.2.4...v2.2.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-15 10:15:49 +02:00
ae27717b61 UX: moves from summary/details to a button to expand github body (#12698) 2021-04-15 08:52:04 +02:00
b5fba751a0 DEV: Do not install service workers in development (#12708) 2021-04-14 18:21:28 -03:00
32689573fa FIX: Already sent headers error in Ember CLI (#12706)
If we are sending a custom template, we shouldn't do a `next()`,
we should halt middleware.
2021-04-14 15:25:49 -04:00
e459937ffa FIX: this.loading is undefined, it should be state.loading (#12707)
This might prevent issues with double requests on the user notifications panel.
2021-04-14 15:21:54 -04:00
c1fc2a1e9b FIX: handle permalinks with query parameters (#12700) 2021-04-14 20:03:25 +02:00
6a7a8f32f1 FIX: ember build was not adding digests to additional bundles (#12703)
* FIX: `ember build` was not adding digests to additional bundles

* Update app/assets/javascripts/discourse/ember-cli-build.js

Co-authored-by: Jarek Radosz <jradosz@gmail.com>

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
2021-04-14 13:37:22 -04:00
1d85574d52 FIX: Don't show the get a room composer message in private categories (#12702) 2021-04-14 12:34:13 -05:00
dda1cd6a38 FEATURE: allow setting postgres connection variables via environment 2021-04-14 13:31:32 -04:00
99dadb2129 PERF: Async notify users after inviting group (#12697)
Inviting a group generates a notification for each member. If this
happens synchronously it may take a while, leading to a poor user
experience.
2021-04-14 19:30:51 +03:00
8c24a848e0 FEATURE: Reduce invite key length (#12692)
We used to generate invite keys that were 32-characters long which were
not very friendly and lead to very long links. This commit changes the
generation method to use almost all alphanumeric characters to produce
a 10-character long invite key.

This commit also introduces a rate limit for redeeming invites because
the probability of guessing an invite key has increased.
2021-04-14 19:22:16 +03:00
21d1ee1065 FIX: Use Nokogiri and Loofah consistently (#12693)
CookedPostProcessor used Loofah to parse the cooked content of a post
and Nokogiri to parse cooked Oneboxes. Even though Loofah is built on
top of Nokogiri, replacing an element from the cooked post (a Nokogiri
node) with a parsed onebox (a Loofah node) produced a strange result
which included XML namespaces. Removing the mix and using Loofah
to parse Oneboxes fixed the problem.
2021-04-14 18:09:55 +03:00
07ca35670a Version bump to v2.7.0.beta7 (#12696) v2.7.0.beta7 2021-04-14 10:54:08 -04:00
9430185493 SECURITY: Improve theme git import (#12694) 2021-04-14 15:32:47 +01:00
0afcf9e12e DEV: Support Node 15 with Ember CLI (#12679)
* DEV: Support Node 15 with Ember CLI

* FIX: Broken tests that needed to be updated in newer Ember CLI
2021-04-14 10:16:39 -04:00
528cfea079 FEATURE: Auto-activate users invited by email (#12675)
When invited by email, users will receive an invite URL which contains
a token. If that token is present when the invite is redeemed, their
account will be automatically activated.
2021-04-14 12:15:56 +03:00
e4e2c7c66f FIX: Improve anchor links (#12683)
* FIX: Use theme color for anchor icon

* FIX: Do not count anchor links

* FIX: Do not count hashtags links either

* DEV: Add tests for link_count

* FIX: Disable anchors in quotes and preview

* FIX: Try building some anchor slugs for unicode

* DEV: Fix tests
2021-04-14 10:27:07 +03:00
eeaecd4fd2 FEATURE: Category setting to allow unlimited first post edits by the owner of the topic (#12690)
This PR adds a new category setting which is a column in the `categories` table, `allow_unlimited_owner_edits_on_first_post`.

What this does is:

* Inside the `can_edit_post?` method of `PostGuardian`, if the current user editing a post is the owner of the post, it is the first post, and the topic's category has `allow_unlimited_owner_edits_on_first_post`, then we bypass the check for `LimitedEdit#edit_time_limit_expired?` on that post.
* Also, similar to wiki topics, in `PostActionNotifier#after_create_post_revision` we send a notification to all users watching a topic when the OP is edited in a topic with the category setting `allow_unlimited_owner_edits_on_first_post` enabled.

This is useful for forums where there is a Marketplace or similar category, where topics are created and then updated indefinitely by the OP rather than the OP making new topics or additional replies. In a way this acts similar to a wiki that only one person can edit.
2021-04-14 15:54:09 +10:00
Sam
d56da72fe9 DEV: remove musl support from Gemfile (#12689)
We do not really support Discourse on Alpine linux / musl based distros.

We depend heavily on libc.

Besides this it looks like rubygems/bundler tends to handle this nuance incorrectly.

Remove it for now.
2021-04-13 20:55:40 -06:00
c07a6eeb6d FIX: Software update prompt fixes and improvements (#12648)
* Fixes the z-index of the prompt so it is behind the quick access panels
* Adds a dismiss `X` button (made sure the click target of this was quite big)
* Change structure of HTML to address template lint issues
* Fix aria-hidden not returning true/false
* Reload current page instead of navigating to / when clicking on the prompt message
2021-04-14 10:26:23 +10:00
66d17fdd6b FIX: Topic user bookmarked column is out of sync after post moves (#12612)
When posts are moved from one topic to another, the `topic_user.bookmarked` column for all users in the new and the old topic needs to be resynced, for example because a user bookmarks post 12 in topic 1, then it is moved to topic 2, the topic_user record for topic 1 should no longer be bookmarked. A background job has been added to sync the column for a specified topic, or for no topic at all, which does it for all topics like the migration.

Also includes a migration that we have run in the past to fix bad data.

----

This has been addressed in other places in the past:

https://github.com/discourse/discourse/pull/10211
https://github.com/discourse/discourse/pull/10188
2021-04-14 09:10:53 +10:00
Sam
71475a1a01 DEV: update mini_racer for ARM support (#12682)
New version of mini_racer support M1 and ARM builds of Ruby

This should make developing on Discourse easier

Co-authored-by: Robin Ward <robin.ward@gmail.com>
2021-04-13 13:01:54 -04:00
d87e8683cd Build(deps): Bump mini_racer from 0.3.1 to 0.4.0 (#12681)
Bumps [mini_racer](https://github.com/discourse/mini_racer) from 0.3.1 to 0.4.0.
- [Release notes](https://github.com/discourse/mini_racer/releases)
- [Changelog](https://github.com/rubyjs/mini_racer/blob/master/CHANGELOG)
- [Commits](https://github.com/discourse/mini_racer/compare/v0.3.1...v0.4.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-13 12:25:34 -04:00
da6edc117c FIX: Allow raw-view classes to be resolved from themes/plugins (#12685)
Since cd24eff5d98e74db4afe0257e4d9de1ad2556c5d, theme modules are now prefixed with the theme id. Therefore themes which defined raw-view classes will be broken

This commit updates the `raw` helper to use the resolver for looking up the view class. This automatically takes care of trying theme/plugin paths in addition to core paths.
2021-04-13 15:05:46 +01:00
27eff709c4 Update translations (#12684) 2021-04-13 16:02:08 +02:00
2aaceaca36 Build(deps): Bump connection_pool from 2.2.3 to 2.2.4 (#12680)
Bumps [connection_pool](https://github.com/mperham/connection_pool) from 2.2.3 to 2.2.4.
- [Release notes](https://github.com/mperham/connection_pool/releases)
- [Changelog](https://github.com/mperham/connection_pool/blob/master/Changes.md)
- [Commits](https://github.com/mperham/connection_pool/compare/v2.2.3...v2.2.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-13 11:32:26 +02:00
c45dbe4159 enable eol-last for eslint and ember-template-lint (#12678)
enable eol-last for eslint and ember-template-lint

Fixed a handlful of .hbs files where newlines weren't present
2021-04-12 17:22:00 -07:00
abe588c2c8 Update caniuse-lite to the latest version (#12677) 2021-04-12 14:06:17 -04:00
d837ad8386 DEV: user suspension use .present? (#12676)
As suggested by eviltrout in

https://github.com/discourse/discourse/pull/12666
2021-04-12 12:53:40 -04:00
2081b6e5c9 UX: Improve poll builder UI (#12549)
* Improve poll validation

* Redesign poll builder

* Group all advanced settings under a new section
2021-04-12 19:48:01 +03:00