Commit Graph

33 Commits

Author SHA1 Message Date
04ba5baec0 DEV: ensure rebaking works even when some users have inconsistent data (#30261)
* DEV: add db consistency check for UserEmail

* DEV: add db consistency check for UserAvatar

* DEV: ignore inconsistent data related to user avatars when deciding whether to rebake old posts


Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>

---------

Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>
2024-12-16 19:48:25 +08:00
fd39753e58 DEV: Ignore normalize_emails when using SSO (#29890)
We recently tried to default the normalize_emails site setting to true to avoid spam. What this does is it considers e-mails the same regardless of plus addressing, e.g. bob+1@mail.com == bob+2@mail.com. This caused some problems for SSO users.

This PR makes it so that DiscourseConnect never normalizes e-mails.
2024-11-25 11:55:27 +08:00
69205cb1e5 DEV: Catch missing translations during test runs (#26258)
This configuration makes it so that a missing translation will raise an error during test execution. Better discover there than after deploy.
2024-05-24 22:15:53 +08:00
5a003715d3 DEV: Apply syntax_tree formatting to app/* 2023-01-09 14:14:59 +00:00
83944213b2 SECURITY: Delete email tokens when a user's email is changed or deleted (#19735)
Co-authored-by: OsamaSayegh <asooomaasoooma90@gmail.com>
2023-01-05 06:08:55 +08:00
3ea8937157 FEATURE: Add email normalization rules setting (#14593)
When this setting is turned on, it will check that normalized emails
are unique. Normalized emails are emails without any dots or plus
aliases.

This setting can be used to block use of aliases of the same email
address.
2021-11-24 11:30:06 +02:00
ef19431e44 DEV: Improve User#email= behavior (#11338)
- Only apply the change after `save` is called on the record
- Automatically remove matching secondary emails
2021-02-22 11:42:37 +00:00
0e4d966a74 DEV: Remove stale ignored_columns. (#11160) 2020-11-09 15:57:59 +11:00
3252cb847c FIX: : trigger user_updated event only if email changed after user creation.
Follow-up to 1460d7957c5d9b9300034e5e36675cf44cc3bc0f
2020-07-16 18:21:30 +05:30
1460d7957c FEATURE: trigger user_updated event if email changed.
It will trigger `user_updated` Discourse event if a user_email record is created or updated or destroyed.
2020-07-16 14:20:41 +05:30
062db10c52 FIX: EmailValidator needs to validate format of email. 2020-06-03 10:34:37 +08:00
1059557ce1 DEV: Standardize ignored_columns removal comments (#9771) 2020-05-13 13:08:15 -07:00
6a18c9aa0b Revert "FEATURE: enforce_canonical_emails site setting"
This reverts commit 6f9177e2ed273ebebb8306299425cbfabbf57101.

We decided on a completely different approach to the problem.

Instead we will let blocked emails be treated as canonical.
2020-04-24 13:52:06 +10:00
6f9177e2ed FEATURE: enforce_canonical_emails site setting
The new `enforce_canonical_emails` site setting ensures that emails in the
canonical form are unique.

This mean that if `s.a.m+1@gmail.com` is registered `sam@gmail.com` will
not be allowed.

The commit contains a blanket "tag strip" (stripping everything after +)
it also contains special handling of a "dot strip" for googlemail and gmail.

The setting only impacts new registrations after `enforce_canonical_emails`

The setting is default false so it will not impact any existing installs.
2020-04-14 14:16:30 +10:00
427d54b2b0 DEV: Upgrading Discourse to Zeitwerk (#8098)
Zeitwerk simplifies working with dependencies in dev and makes it easier reloading class chains. 

We no longer need to use Rails "require_dependency" anywhere and instead can just use standard 
Ruby patterns to require files.

This is a far reaching change and we expect some followups here.
2019-10-02 14:01:53 +10:00
30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00
95f263995d FIX: Previous annotations were broken 2019-01-11 14:30:19 -05:00
a3839495e0 Update annotations 2019-01-11 12:19:43 -05:00
214dac05de Update annotations. 2018-07-16 14:19:07 +08:00
21ebb1cd54 FEATURE: Secondary emails support. 2018-07-16 11:09:49 +08:00
c3129444ea FIX: allow multiple secondary emails 2018-07-03 18:21:35 +08:00
69a53210d3 Improve UserEmail#email validation to use the index. 2018-03-20 10:22:06 +08:00
226ace1643 Update annotations. 2018-02-20 14:28:58 +08:00
8a3bbcb19a FIX: Add guard to prevent a primary UserEmail from being reassigned. 2018-01-04 19:40:50 +08:00
daeb7694bc update annotations 2017-12-05 21:03:20 +05:30
9abeaa4719 Revert "Validates presence of UserEmail#user_id in AR."
This reverts commit 0dec3269d84c2233d4fabe6001166d5615e4987a.
2017-11-08 11:54:18 +08:00
0dec3269d8 Validates presence of UserEmail#user_id in AR. 2017-11-08 11:43:41 +08:00
defea6245c REFACTOR: Always validate email by default. 2017-10-25 13:48:34 +08:00
d67f0b39ae Update annotations. 2017-10-06 11:13:01 +08:00
Sam
c68999e128 annotate models
WARNING annotators out there, be to run bin/annotate on RAILS_ENV=test on a clean db
2017-08-16 10:38:11 -04:00
0bc690ed11 FIX: Staged users are still missing primary email. 2017-08-09 12:03:49 +09:00
5012d46cbd Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
d0b027d88d FEATURE: phase 1 of supporting multiple email addresses 2017-07-20 11:22:27 +09:00