- 12 Aug, 2016 2 commits
-
-
Rémy Coutable authored
Some important things to note: - commands are removed from noteable.description / note.note - commands are translated to params so that they are treated as normal params in noteable Creation services - the logic is not in the models but in the Creation services, which is the right place for advanced logic that has nothing to do with what models should be responsible of! - UI/JS needs to be updated to handle notes which consist of commands only - the `/merge` command is not handled yet Other improvements: - Don't process commands in commit notes and display a flash is note is only commands - Add autocomplete for slash commands - Add description and params to slash command DSL methods - Ensure replying by email with a commands-only note works - Use :subscription_event instead of calling noteable.subscribe - Support :todo_event in IssuableBaseService Signed-off-by:
Rémy Coutable <remy@rymai.me>
-
Yorick Peterse authored
Because this method is a Rails scope we have to instrument it manually as regular the instrumentation methods only instrument methods defined directly on a Class or Module.
-
- 11 Aug, 2016 14 commits
-
-
Stan Hu authored
There is a race condition in DestroyGroupService now that projects are deleted asynchronously: 1. User attempts to delete group 2. DestroyGroupService iterates through all projects and schedules a Sidekiq job to delete each Project 3. DestroyGroupService destroys the Group, leaving all its projects without a namespace 4. Projects::DestroyService runs later but the can?(current_user, :remove_project) is `false` because the user no longer has permission to destroy projects with no namespace. 5. This leaves the project in pending_delete state with no namespace/group. Projects without a namespace or group also adds another problem: it's not possible to destroy the container registry tags, since container_registry_path_with_namespace is the wrong value. The fix is to destroy the group asynchronously and to run execute directly on Projects::DestroyService. Closes #17893
-
ula budziszewska authored
-
ubudzisz authored
update CHANGELOG add auto-completion into pipeline add auto-completion into pipeline add auto-completion into pipeline update changelog modify tests remove empty lines add auto-completion into pipeline update changelog modify tests switch text_field_tag into text_field add test to new field switch context into describe Update CHANGELOG render only commit title update CHANGELOG add auto-completion into pipeline add auto-completion into pipeline add auto-completion into pipeline update changelog modify tests remove empty lines add auto-completion into pipeline update changelog modify tests update changelog Update CHANGELOG add indetation add tests to pipeline ref change file name for tests change file name for spec tests remove empty line rename test it rename test name removing unexpected changes removing unexpected changes2 update changelog
-
Z.J. van de Weg authored
-
Connor Shea authored
-
Scott Le authored
DRY code + fix rubocop Add more test cases Append to changelog DRY changes list find_url service for merge_requests use GET for getting merge request links remove files rename to get_url_service reduce loop add test case for cross project refactor tiny thing update changelog
-
Douwe Maan authored
-
Christopher Bartz authored
-
Kamil Trzcinski authored
This change simplifies a Pipeline processing by introducing a special new status: created. This status is used for all builds that are created for a pipeline. We are then processing next stages and queueing some of the builds (created -> pending) or skipping them (created -> skipped). This makes it possible to simplify and solve a few ordering problems with how previously builds were scheduled. This also allows us to visualise a full pipeline (with created builds). This also removes an after_touch used for updating a pipeline state parameters. Right now in various places we explicitly call a reload_status! on pipeline to force it to be updated and saved.
-
Elliot authored
Signed-off-by:
Rémy Coutable <remy@rymai.me>
-
Yorick Peterse authored
One can see which indexes are used in PostgreSQL by running the following query: SELECT relname as table_name, indexrelname as index_name, idx_scan, idx_tup_read, idx_tup_fetch, pg_size_pretty(pg_relation_size(indexrelname::regclass)) FROM pg_stat_all_indexes WHERE schemaname = 'public' AND "idx_scan" = 0 ORDER BY pg_relation_size(indexrelname::regclass) desc; Using this query I built a list of indexes that could be potentially removed. After checking every single one by hand to make sure they really aren't used I only found 1 index that _would_ be used. This was a GitLab GEO index (EE) specific that's currently not used simply because the table is empty. Apart from this one index all indexes could be removed. The migration also takes care of 6 composite indexes that can be replaced with a single column index, which in most cases was already present. For more information see gitlab-org/gitlab-ce#20767.
-
bogdanvlviv authored
Since version ruby-2.2.0, method `File::exists?` is deprecated.
-
Thomas Balthazar authored
-
Keith Pope authored
-
- 10 Aug, 2016 7 commits
-
-
Clement Ho authored
-
Clement Ho authored
-
Rémy Coutable authored
Also, mutualize AccessRequests and Members endpoints for Group & Project. New API documentation for the AccessRequests endpoints. Signed-off-by:
Rémy Coutable <remy@rymai.me>
-
Rémy Coutable authored
Signed-off-by:
Rémy Coutable <remy@rymai.me>
-
Paco Guzman authored
-
Yorick Peterse authored
These indexes are only used when you search for runners in the admin interface. This operation is so rarely used that it does not make sense to slow down every update in order to update the GIN trigram indexes. Removing these indexes should speed up queries such as those used for updating the last contact time of CI runners. Locally the timings of this query were reduced from ~50 ms to ~25 ms: UPDATE ci_runners SET updated_at = now(), contacted_at = now();
-
Rémy Coutable authored
Signed-off-by:
Rémy Coutable <remy@rymai.me>
-
- 09 Aug, 2016 3 commits
-
-
Connor Shea authored
-
Adam Buckland authored
Currently trees are sorted in the fashion: - folders - files - submodules with each section sorted alphabetically This changes to this system: - folders and submodules (sorted together) - files
-
James Lopez authored
-
- 08 Aug, 2016 7 commits
-
-
winniehell authored
-
Douglas Barbosa Alexandre authored
-
Alejandro Rodríguez authored
-
Carlos Ribeiro authored
-
James Lopez authored
-
Yorick Peterse authored
This concern provides an optimized/simplified version of the "cache_key" method. This method is about 9 times faster than the default "cache_key" method. The produced cache keys _are_ different from the previous ones but this is worth the performance improvement. To showcase this I set up a benchmark (using benchmark-ips) that compares FasterCacheKeys#cache_key with the regular cache_key. The output of this benchmark was: Calculating ------------------------------------- cache_key 4.825k i/100ms cache_key_fast 21.723k i/100ms ------------------------------------------------- cache_key 59.422k (± 7.2%) i/s - 299.150k cache_key_fast 543.243k (± 9.2%) i/s - 2.694M Comparison: cache_key_fast: 543243.4 i/s cache_key: 59422.0 i/s - 9.14x slower To see the impact on real code I applied these changes and benchmarked Issue#referenced_merge_requests. For an issue referencing 10 merge requests these changes shaved off between 40 and 60 milliseconds.
-
Jeffrey Lin authored
-
- 05 Aug, 2016 4 commits
-
-
Steve Halasz authored
Hope to avoid CHANGELOG conflicts. Credit myself for the MR.
-
Tom Bell authored
Add the devise initializer config setting to enable the sending of notification emails when a user changes their password.
-
Phil Hughes authored
-
Paco Guzman authored
-
- 04 Aug, 2016 3 commits
-
-
winniehell authored
-
Annabel Dunstone authored
-
Clement Ho authored
-