Age | Commit message (Collapse) | Author |
|
- While deleting a user, some of the user's associated records are moved to the
ghost user so they aren't deleted. The user is blocked before these records
are moved, to prevent the user from creating new records while the migration
is happening, and so preventing a data race.
- Previously, if the migration failed, the user would _remain_ blocked, which is
not the expected behavior. On the other hand, we can't just stick the block +
migration into a transaction, because we want the block to be committed before
the migration starts (for the data race reason mentioned above).
- One solution (implemented in this commit) is to block the user in a parent
transaction, migrate the associated records in a nested sub-transaction, and
then unblock the user in the parent transaction if the sub-transaction fails.
|
|
Unassign all Issues and Merge Requests when member leaves a team
Closes #30768 and #24117
See merge request !10755
|
|
|
|
|
|
Don't delete a branch involved in an open merge request in "Delete all merged branches" service
Closes #29427
See merge request !10727
|
|
merged branches" service
Customers were surprised by the previous behavior, which destroyed branches
even though an open merge request existed for it.
Closes #29427
|
|
Usage ping port
Closes #27750
See merge request !10481
|
|
Fix orphaned notification settings
Closes #29688
See merge request !10763
|
|
|
|
|
|
|
|
|
|
|
|
In the case of spammers, we really want a hard delete to avoid retaining spam.
Closes #31021
|
|
|
|
|
|
|
|
1. Extract out into several methods.
2. Add more comments describing the data and the shape of the data.
|
|
This table shows the percentage of users who registered in the last
twelve months, who last signed in during or later than each of those
twelve months, by month.
It is only enabled when the usage ping is enabled, and the page also
shows pretty-printed usage ping data.
The cohorts table is generated in Ruby from some basic SQL queries,
because performing the gap-filling and running sums needed in both MySQL
and Postgres is painful.
|
|
This new class uses a Redis Hash instead of a Sorted Set.
Signed-off-by: Rémy Coutable <remy@rymai.me>
|
|
activities
Refactored specs and added a post deployment migration to remove the activity users table.
|
|
migration
It uses a user activity table instead of a column in users.
Tested with mySQL and postgreSQL
|
|
Implement Users::BuildService
Closes #30349
See merge request !10675
|
|
|
|
|
|
|
|
|
|
|
|
Fix invalidating Project build status cache to often
See merge request !10313
|
|
Protected Tags
Closes #18471
See merge request !10356
|
|
|
|
|
|
Add auto-cancel for pending pipelines on branch, if they are not HEAD
See merge request !9362
|
|
8998_skip_pending_commits_if_not_head
* upstream/master: (58 commits)
Fix icon name error
Rewrite system note helper
Change edit icon
Leave icon area blank if legacy note; remove diamond icon
Fix positioning of note icons
Fix newline errors
Add remaining system note icons
Add system notes icon helper; add icons
Fixed specs Updated JS that was causing the hints to appear & then disappear
Update tests
Fix broken spinach test
Reuse code
Improve shortcuts code
Adds ShortcutsDashboardNavigation to globals comment since its a global variable
Fix shortcut specs
Reorganize shortcut help menu
Change todos shortcut to shift
Change shortcuts
Switch global shortcuts to shift; reuse key styles from help menu
Map bindings to lowercase letters; only show key bindings when using keyboard shortcut
...
|
|
Also poll for pipeline changes on:
- Pipeline table on commit page
- Pipeline table on merge request page
- Pipeline table on new merge request page
|
|
Enable caching in the Etag::Middleware and when a pipeline changes
status, expire the cache for the project pipelines path.
|
|
# Conflicts:
# spec/lib/gitlab/import_export/all_models.yml
|
|
|
|
|
|
# Conflicts:
# app/assets/javascripts/filtered_search/dropdown_hint.js
# app/views/shared/issuable/_search_bar.html.haml
|
|
|
|
8998_skip_pending_commits_if_not_head
* upstream/master: (197 commits)
Add text to break up diagrams
Implement review comments from @DouweM for !10467.
Fix rubocop offence
Linking to edit file directly
Optimise trace handling code to use streaming instead of full read
Use config.toml to configure Gitaly
Fix indexes in container repositories table
Recent search history for issues
Fix rubocop
Use change direction in spec
Use be_pending
Improve trigger_schedule.rb
Implement a offset calculation on cron_parser_spec
Clean up trigger_schedule_worker_spec.rb
Improve instantiate recursion in cron_parser.rb
Fix unnecessary changes in schema.rb
Add empty line in cron_parser.rb
Use parenthesis for respond_to :ref
Define next_time as let in trigger_schedule_spec
Remove next_run_at: nil from trigger_schedule_spec
...
|
|
Resolve "Deleting a user shouldn't delete associated records"
Closes #28695 and #30514
See merge request !10467
|
|
|
|
|
|
1. Have `MigrateToGhostUser` be a service rather than a mixed-in module, to keep
things explicit. Specs testing the behavior of this class are moved into a
separate service spec file.
2. Add a `user.reported_abuse_reports` association to make the
`migrate_abuse_reports` method more consistent with the other `migrate_`
methods.
|
|
feature/multi-level-container-registry-images
* commit '46e4ed6bd0c8c256bce6d35b4bb992d77fd09971': (28 commits)
Award emoji button smiley animation
Introduced empty/error UX states to environments monitoring.
Github import rake task
Remove individual modal width styles
Fix RuboCop for removing index
Link to docs site for file in doc/
Disable invalid service templates (again)
Show CI status as Favicon on Pipelines, Job and MR pages
STL file viewer
Wait for the PDF to be loaded before doing anything
remove unnecessary lease as cron job
Search for opened MRs - include reopened MRs
ProjectsFinder should handle more options
Clearly show who triggered the pipeline in email
Make it possible to preview pipeline success/failed emails
Add remove_concurrent_index to database helper
Add more tests for subgroups feature
Large features by the 1st, small ones by the 3rd
Ask people to create EE MRs on the 7th
fix project authorizations migration issue
...
|
|
... when the user is destroyed.
1. Normally, for a given awardable and award emoji name, a user is only allowed
to create a single award emoji.
2. This validation needs to be removed for ghost users, since:
- User A and User B have created award emoji - with the same name and against
the same awardable
- User A is deleted. Their award emoji is moved to the ghost user
- User B is deleted. Their award emoji needs to be moved to the ghost user.
However, this breaks the uniqueness validation, since the ghost user is
only allowed to have one award emoji of a given name for a given awardable
|
|
... when the user is destroyed.
To clarify, this regards abuse reports that the to-be-deleted user has _reported_.
|
|
... when the user is destroyed.
|