Commit Graph
100 Commits
Author SHA1 Message Date
Rafael dos Santos Silva 39c31a3d76 FEATURE: Protect against replay attacks when using TLS 1.3 0-RTT (#8020) 2019-08-23 11:52:47 -03:00
Rafael dos Santos Silva 72c2818655 FIX: Limit PWA install banner to Android for now 2019-08-20 14:47:17 -03:00
0a5b332b8c FEATURE: Incorporate PWA install prompt into Discourse UI (#8013)
* FEATURE: Incorporate PWA install prompt into Discourse UI

This is mainly done so Discourse forums stop nagging people to install
on the very first visits to a website.

We will prevent the native install "mini-info" bar from ever appearing,
capture the event that pops with it, and delay it until the user meets
our criteria, which currently is trust_level 1.

If the event happens and the user meets our criteria we show a Discourse
alert banner proposing the install to the user. Dismissal of the banner
is recorded so the user ins't bothered anymore on the same device.


Co-Authored-By: Gerhard Schlager <mail@gerhard-schlager.at>
Co-Authored-By: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2019-08-19 14:09:21 -03:00
Rafael dos Santos Silva 606c0ed14d FIX: S3 uploads were missing a cache-control header (#7902)
Admins still need to run the rake task to fix the files who where uploaded previously.
2019-08-06 14:55:17 -03:00
Rafael dos Santos Silva 6dfb2165ae FIX: Syntax error in b1f5949 2019-08-05 16:07:49 -03:00
Rafael dos Santos Silva b1f5949868 FIX: Make the workbox path compatible with multisite
Closes
https://meta.discourse.org/t/full-url-in-assets-erb-file-multisite-issues/124393?u=falco
2019-08-05 15:00:41 -03:00
Rafael dos Santos Silva 272b38a573 FIX: Better detection of Apple browsers (#7961)
Introduces isIpadOS to our capabilities sniffer, which is currently
compatible with latest iPad beta OS. Older iPad versions will match our
isIOS detection.

Using this new feature, fixes the service worker being blocked in Google
Chrome, Firefox and other browsers while running on Mac OS, where they
work just fine. This enables Desktop PWA install in Mac OS.
2019-08-02 12:43:25 -03:00
Rafael dos Santos Silva 1922d4bf78 PERF: Add more constraint on the Cache Storage usage
Only restricting cache per age wasn't enough for instances with lots of
multimedia usage and high number of posts.

MaxEntries is also more effective on cleanup, and purgeOnQuotaError
advertise that Discourse cache can be purged if necessary.

https://developers.google.com/web/tools/workbox/guides/storage-quota
2019-07-27 11:52:21 -03:00
Rafael dos Santos Silva 2a0cd066a7 FIX: Remove all service workers from Apple devices *again*
There is a bug that when Safari starts up, and reloads the tabs from
the previous session **and** there is a service worker registered for
the scope of the document, all cookies marked as `SameSite=Lax` won't be
sent in the request.

This puts Discourse in a **very** broken state, where:

- You appear as a anon user
- Subsequent xhr requests will come with logged in data
- Refreshing doesn't log you in (cookies are still not sent)
- Clicking on the address bar and hitting enter, will log you in (as it
will finally send those damn `SameSite=Lax` cookies.

Looks a lot like a corner case missed by the fix at
https://trac.webkit.org/changeset/241918/webkit
2019-07-16 19:30:38 -03:00
Rafael dos Santos Silva b505d1d700 DEV: Force workboxjs debug to false on dev env too 2019-07-15 16:07:49 -03:00
Rafael dos Santos Silva 1221d34284 FEATURE: Make Discourse work offline with WorkboxJS (#7870) 2019-07-15 13:05:55 -03:00
Rafael dos Santos Silva c422520b4a FEATURE: Add CSS classes to associated accounts rows 2019-07-02 16:56:15 -03:00
Rafael dos Santos Silva 725588f835 FIX: migrate_to_s3 wasn't IAM profile aware 2019-06-01 12:09:46 -03:00
Rafael dos Santos Silva 315a38e0e3 FEATURE: Allow running message_bus in a different redis instance (#7616)
Adds `DISCOURSE_MESSAGE_BUS_REDIS_ENABLED` env var, that when set
to true, will allow Discourse to connect to a different redis
instance for MessageBus needs.

When enabled you can configure the same env vars user for redis,
but prefixed by `MESSAGE_BUS`, eg:

`DISCOURSE_MESSAGE_BUS_REDIS_HOST`
2019-05-28 15:52:43 +10:00
Rafael dos Santos Silva 1fdeec564b PERF: Move where clause up to speed up CalculateAvgTime daily job (#7462)
Cuts down affected posts earlier in the query, so the generated plan
deals with less rows, and runs faster.

https://meta.discourse.org/t/post-calculate-avg-time-taking-up-a-long-time/49750/13?u=falco
2019-04-30 13:34:46 +10:00
Rafael dos Santos Silva 526e76ced2 FIX: Use PostgreSQL 'ON CONFLICT' to deal with race condition
On busy sites, concurrent requests to insert into post_timings can
occur, which was dealt with using Ruby exceptions.

This moves the handling to PostgreSQL which makes it a bit faster,
and prevents a spam of ERROR in the database logs.
2019-04-29 16:34:42 -03:00
Rafael dos Santos Silva 51a6acb2af FEATURE: Implements a Well-Know URL for Changing Passwords
Read https://github.com/WICG/change-password-url/blob/gh-pages/explainer.md for details on the spec.
2019-03-25 23:46:27 -03:00
Rafael dos Santos Silva 4c23083c57 FIX: Set text for titles in custom push notifications
This will fix a broken translation on the push notification
you receive when someone assigns you a topic.
2019-03-22 15:19:04 -03:00
Rafael dos Santos Silva 8ce20090f7 FEATURE: Allow users to fetch a customized manifest on PWA install
This will allow users installing a Discourse PWA to use their active
theme colors on the generated app. Thanks for @mgiuca for the tip.

Also makes the share_target config explicit to silence Chrome warnings
2019-03-15 17:10:05 -03:00
Rafael dos Santos Silva fb8bcd7469 FEATURE: Enable experimental Badging API (#7173) 2019-03-14 18:16:16 -03:00
Rafael dos Santos Silva f73fe36772 FEATURE: PWA compatibility checks in the Dashboard (#6850) 2019-01-09 08:46:11 +08:00
Rafael dos Santos Silva efec2db859 FEATURE: Web Share Target Support
This adds a **very basic** support for share to Discourse.

Currently, this is only supported in Android + Chrome 71+.

After installing a Discourse site to the Home Screen, you will be
able to share from anywhere in the OS to the Discourse site.

Discourse will use the title and text from the share event.
2018-12-07 13:48:09 -02:00
Rafael dos Santos Silva 84f858fc23 FIX: Remove orientation from the webmanifest
We don't really care about orientation, so let the user OS handle it.
2018-10-26 13:48:14 -03:00
Rafael dos Santos Silva 2450f178ca FEATURE: Allow admins to control PWA display mode per user agent 2018-10-26 13:47:22 -03:00
Rafael dos Santos Silva db26fe1527 FIX: Proper naming for the GNU/Linux OS 2018-10-22 13:34:01 -03:00
Rafael dos Santos Silva b8d3fbd08b FEATURE: Enable the notification prompt by default 2018-10-03 19:58:24 -03:00
Rafael dos Santos Silva c8b5e6baae FEATURE: Use display: browser in webmanifest for iOS devices
Since iOS doesn't have a back button and can have issues on log in.

See https://twitter.com/firt/status/1021477243909033984
2018-08-15 23:36:08 -03:00
Rafael dos Santos Silva 51cb38783e FIX: start_url was wrong in non-subfolder 2018-06-15 14:29:33 -03:00
Rafael dos Santos Silva 8fc08aad09 FEATURE: Update the webmanifest
- Remove share target because the spec is changing
- Allow any orientation again because natural is too restrictive
- Use correct file and mime types for the manifest
2018-06-14 00:13:28 -03:00
Rafael dos Santos Silva 74c33a5316 Merge pull request #5915 from jjaffeux/sharing-macos-chrome
FIX: sharing popup not showing on macos/chrome
2018-06-04 20:38:10 -03:00
Rafael dos Santos Silva 9014ca4624 FEATURE: Enable the Web Share Target API
This will allow a Discourse instance that was installed[1] to receive share events.

See https://wicg.github.io/web-share-target/ for the spec.

1: https://developers.google.com/web/fundamentals/app-install-banners/
2018-04-19 17:00:05 -03:00
Rafael dos Santos Silva 2097f5330c FIX: Login redirect path was broken in subfolder installs 2018-03-15 11:49:35 +08:00
Rafael dos Santos Silva 218c8e8623 Merge pull request #5595 from discourse/new-gfycat-onebox
New gfycat onebox
2018-02-14 19:03:28 -02:00
Rafael dos Santos Silva c3606fdef6 Update onebox 2018-02-14 17:43:13 -02:00
Rafael dos Santos Silva 4644757785 FEATURE: Style new gfycat onebox 2018-02-12 13:39:52 -02:00
Rafael dos Santos Silva 70c5f6ae17 Merge pull request #5489 from discourse/fix-shared-s3-cdn
FIX: Allow shared CDN for s3 and assets
2018-01-17 16:32:11 -02:00
Rafael dos Santos Silva b9a343afe7 FIX: Allow shared CDN for s3 and assets 2018-01-12 01:08:15 -02:00
Rafael dos Santos Silva bf82b34f10 FIX: Remove scope in SW register, avoid duplicated SWs 2017-11-07 01:05:30 -02:00
Rafael dos Santos Silva 3c8b376e4a FIX: Coalesce properly logos for the mobile manifest 2017-11-01 02:28:09 -02:00
Rafael dos Santos Silva 32b3847d52 FIX: Update mobile logo resolution
This makes Discourse compliant with latest Google PWA requirements,
so we get the App Install banner back.

Should bump our Lighthouse PWA Audit score to 11/11.
2017-11-01 01:51:51 -02:00
Rafael dos Santos Silva a173511681 Merge pull request #5259 from discourse/groups_in_sso_provider
Add groups to the SSO provider payload
2017-10-25 23:02:53 -02:00
Rafael dos Santos Silva 5d5268a82b Feature: Group handling 2017-10-25 22:49:17 -02:00
Rafael dos Santos Silva 796e1d4c17 FEATURE: Use new WebShare API on supported platforms 2017-09-25 19:15:28 -03:00
Rafael dos Santos Silva 5324c9817f FIX: Title prettify shoundn't downcase all non-ascii titles 2017-08-08 14:03:24 -03:00
Rafael dos Santos Silva 57a214e920 FIX: First load of embed comments would always fail on WebKit 2017-08-02 17:43:31 -03:00
Rafael dos Santos Silva 89ef5d36a9 FIX: Explicit error when category description post is bad 2017-07-21 16:07:29 -03:00
Rafael dos Santos Silva 97b6d8664b FIX: Move Referrer Policy header to right location 2017-06-28 14:39:54 -03:00
Rafael dos Santos Silva 095a131163 FEATURE: Add default Referrer Policy header 2017-06-28 02:25:41 -03:00
Rafael dos Santos Silva 43ecbc86d4 FEATURE: Use current table styles for markdown-it tables 2017-06-26 16:56:46 -03:00
Rafael dos Santos Silva f02bf8e4c3 FIX: Make .eslintrc file compatible with eslint 4 take 2 2017-06-22 17:22:42 -03:00
Rafael dos Santos Silva 2e9ab29817 FIX: Make .eslintrc file compatible with eslint 4 2017-06-22 17:09:16 -03:00
Rafael dos Santos Silva 2e152f4d39 FIX: Use latest docker image for dev 2017-05-16 12:05:11 -03:00
Rafael dos Santos Silva 31a44a7c93 Update screenshots on Readme
We had some broken images
2017-04-25 14:19:43 -03:00
Rafael dos Santos Silva e922623da8 FIX: User Admin screen on mobile style was off 2017-04-20 23:18:01 -03:00
Rafael dos Santos Silva d9ba168420 FIX: Show solved status on category with featured topics view too 2017-04-19 00:54:13 -03:00
Rafael dos Santos Silva 8d3ebfd2ac FIX: Show topic status on category view 2017-04-19 00:41:07 -03:00
Rafael dos Santos Silva 4289dbe3e5 FIX: User website allows new TLDs 2017-04-18 00:30:37 -03:00
Rafael dos Santos Silva 3eb125c39b FIX: Fix poll builder qunit tests 2017-04-05 18:07:50 -03:00
Rafael dos Santos Silva d7d7ab7968 Merge pull request #4792 from discourse/poll-fixes
FIX: Poll builder validation was incorrect
2017-04-05 00:38:47 -03:00
Rafael dos Santos Silva 8b383bb26a FIX: Poll builder validation was incorrect 2017-04-05 00:15:39 -03:00
Rafael dos Santos Silva c3477cd40d Merge pull request #4716 from discourse/bounced_emails_details
FEATURE: Allow checking the raw response of a bounced email
2017-03-06 13:30:19 -03:00
Rafael dos Santos Silva aac4a4ed94 Handle invalid parameters and missing bounced emails 2017-03-02 20:37:28 -03:00
Rafael dos Santos Silva f68540b022 Increase QUnit timeouts to allow on slower envs 2017-02-23 19:21:06 -03:00
Rafael dos Santos Silva 5296f00c28 FEATURE: Allow checking the raw response of a bounced email 2017-02-22 14:51:33 -03:00
Rafael dos Santos Silva 6a271a7695 Increase Qunit tests timeout on Docker tests 2017-02-14 16:09:14 -02:00
Rafael dos Santos Silva 87a2aa18ee Merge pull request #4703 from ndossougbete/ndossougbete-patch-1
Use `natural` orientation for web app manifest.
2017-02-13 13:28:38 -02:00
Rafael dos Santos Silva c34520d384 FIX: eslint was broken 2017-02-02 01:12:49 -02:00
Rafael dos Santos Silva 60f30aa6ad UX: Remove 'no thanks' from remind tomorrow CTA 2017-01-26 17:47:52 -02:00
Rafael dos Santos Silva 116e74325a FIX: Topic Status should display on categories and topic view 2017-01-16 15:04:33 -02:00
Rafael dos Santos Silva 3a3a464a32 Merge pull request #4642 from miromichalicka/master
Add support for import from Drupal 6
2017-01-11 12:56:52 -02:00
Rafael dos Santos Silva d3fb724578 Merge pull request #4632 from xfalcox/native-app-banner
FEATURE: Opt-in native Discourse app install banner
2017-01-03 16:32:24 -02:00
Rafael dos Santos Silva d7c8c2d5e3 FEATURE: Opt-in native Discourse app install banner on Android/iOS 2017-01-03 15:50:45 -02:00
Rafael dos Santos Silva 9ee67ad89c FIX: Use full path for emoji resize job 2017-01-02 13:34:32 -02:00
Rafael dos Santos Silva e9fa936389 Uses CSS animation for highlight on mobile too 2016-12-16 19:26:49 -02:00
Rafael dos Santos Silva 46b3c2e9c5 Use CSS animations for post and topic highlights 2016-12-05 20:20:52 -02:00
Rafael dos Santos Silva fe94c5f9a5 FIX: Login was broken on mobile 2016-11-19 21:13:52 -02:00
Rafael dos Santos Silva 54061f2580 FIX: Images should have a max-width on crawler view 2016-11-15 18:18:38 -02:00
Rafael dos Santos Silva baa340db7f Merge pull request #4549 from LeoMcA/1-tl-badge
FIX: display only 1 trust level badge on user card
2016-11-14 19:40:00 -02:00
Rafael dos Santos Silva 24227af9e8 Adds some styling for crawler view 2016-11-14 18:32:59 -02:00
Rafael dos Santos Silva 150cb6659f FEATURE: Clinking on stats in user summary take you to the respective activity page 2016-11-09 16:38:07 -02:00
Rafael dos Santos Silva bd77f5cb72 FIX: Last Visit line shouldn't appear on /top 2016-11-08 19:56:13 -02:00
Rafael dos Santos Silva 5d91c8ca69 Merge pull request #4530 from pfaffman/mylittleforum-importer
new importer: my little forum
2016-11-02 12:40:58 -02:00
Rafael dos Santos Silva 6aa2e49be9 Merge pull request #4503 from oblakeerickson/patch-3
Update DEVELOPER-ADVANCED.md
2016-10-15 19:12:20 -03:00
Rafael dos Santos Silva 41d2620d06 Add some styling to print redux version 2016-10-12 14:00:05 -03:00
Rafael dos Santos Silva 48fa1f141f Add specs for localized notifications on backfilled badges 2016-10-11 19:15:36 -03:00
Rafael dos Santos Silva c5b94878ac We need this variable later 2016-10-11 19:14:32 -03:00
Rafael dos Santos Silva 9a502c73c9 FIX: Properly localize badge notification on batch grant 2016-09-29 18:55:41 -03:00
Rafael dos Santos Silva 5476dee52d FIX: Last visit must keep working when changing categories 2016-09-29 17:40:28 -03:00
Rafael dos Santos Silva 5bdaaca848 Make it square! 2016-09-28 12:49:22 -03:00
Rafael dos Santos Silva f5746f490f Uses higher resolution pictures when importing avatars from Facebook 2016-09-28 01:38:41 -03:00
Rafael dos Santos Silva 2ce8845c89 Enable last visit line on mobile 2016-09-27 16:24:23 -03:00
Rafael dos Santos Silva a0f50ddaa7 Tone down text 2016-09-27 15:43:23 -03:00
Rafael dos Santos Silva 16aad189fb UX: Add text to new messages line 2016-09-27 14:52:03 +08:00
Rafael dos Santos Silva 03ec480c65 Removes UI for print, adds CTRL+P shortcut 2016-09-26 20:46:55 -03:00
Rafael dos Santos Silva 0229df4c73 Second review fixes 2016-09-26 20:46:55 -03:00
Rafael dos Santos Silva f96fffeb34 Add tests 2016-09-26 20:46:55 -03:00
Rafael dos Santos Silva 2a5a0bebb3 Adjusts from review 2016-09-26 20:46:55 -03:00
Rafael dos Santos Silva acc70cc3de SiteSetting, admin passtrough, CSS, hide on mobile 2016-09-26 20:46:55 -03:00
Rafael dos Santos Silva 804019647e Makes it possible to paginate on print page 2016-09-26 20:46:55 -03:00
Rafael dos Santos Silva 9a46af59ad FIX: TopicView were using Topic.relative_url instead of TopicView.relative_url on all methods. 2016-09-26 20:46:55 -03:00