Commit Graph

390 Commits

Author SHA1 Message Date
Douwe Maan b74c643c66 Only copy old/new code when selecting left/right side of parallel diff 2017-10-02 18:39:25 +02:00
Vitaliy @blackst0ne Klachkov 0d236638b6 Improve list of sorting options 2017-09-23 11:46:53 +11:00
Mike Greiling 03b14b48a0 Resolve "Make project and features visibility settings less confusing" 2017-09-07 18:07:40 +00:00
Phil Hughes e58750dd08 fixed spinach specs 2017-09-06 16:59:57 +01:00
Phil Hughes 4720d0394a spec fixes 2017-09-06 15:10:53 +01:00
Phil Hughes c56100b3ec Add top level items to fly-out navigation
This only appears when in the collapsed sidebar. If the sidebar is expanded, then these items are hidden & no fly-out navigation is displayed.

Closes #36294
2017-09-06 14:54:17 +01:00
Jose Ivan Vargas b623807682 Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce 2017-09-03 16:09:59 -05:00
Jacob Schatz 8100274518 Merge branch 'issue-discussions-refactor' into 'master'
Issue discussions Vue refactor

See merge request !12069
2017-09-02 11:55:18 +00:00
Douwe Maan eacda4cc98 Merge branch '36743-existing-repo-master' into 'master'
[master] Prevent project creation (blank, import or fork) when repository already exists on disk

See merge request gitlab/gitlabhq!2169
2017-08-31 07:03:12 +00:00
Phil Hughes aab5d55090 more spinach fixes 2017-08-30 12:36:04 +01:00
Phil Hughes 903e1a305c spinach test updates 2017-08-30 12:33:06 +01:00
Douwe Maan b181d3124e Merge branch 'master' into issue-discussions-refactor
# Conflicts:
#	app/models/issue.rb
2017-08-30 10:14:56 +02:00
Phil Hughes d0d918c765 layout-nav test check fix 2017-08-29 15:35:49 +01:00
Gabriel Mazetto 8f178c4222 Prevent new / renamed project from using a repository path that already exists on disk
There are some redundancies in the validation steps, and that is to
preserve current error messages behavior

Also few specs have to be changed in order to fix madness in validation
logic.
2017-08-25 20:06:06 +02:00
blackst0ne ec1ec9b67a Replace 'source/search_code.feature' spinach test with an rspec analog 2017-08-25 08:54:50 +11:00
Douwe Maan 834f1b30d5 Merge branch 'master' into issue-discussions-refactor
# Conflicts:
#	package.json
#	spec/support/features/reportable_note_shared_examples.rb
2017-08-17 14:01:31 +02:00
Clement Ho cf55fb9b96 Merge branch '34527-make-edit-comment-button-always-available-outside-of-dropdown' into 'master'
Resolve "Make edit comment button always available outside of dropdown"

Closes #34527

See merge request !12931
2017-08-14 17:08:28 +00:00
Filipa Lacerda e93214bce6 Merge branch 'master' into issue-discussions-refactor
* master: (66 commits)
  fix confidential border issue as well as confidential styles leaking on new MR
  Migrate force push check to Gitaly
  Add option to disable project export on instance
  Better categorize test coverage results
  Add option to disable project export on instance - db changes
  Better caching and indexing of broadcast messages
  Include the `is_admin` field in the `GET /users/:id` API when current user is an admin
  Document rspec-retry and rspec-flaky
  Fix cop description
  Retrieve and sync flaky specs report from and to S3
  Use a new RspecFlakyListener to detect flaky specs
  Fix formatting of patch_versions.md [skip ci]
  Enable Timecop safe mode
  Show error message for API 500 error in tests, and
  Fix merge request diff deserialisation when too_large was absent
  Delete correct key from `session` after authenticating using U2F
  Bumps omniauth-ldap gem version to 2.0.4
  Pending delete projects no longer return 500 error in Admins projects view
  Do not run the `ee_compat_check` job for stableish branches
  Update gitlab.po: Missing 'r' in "Fouché" that comes from "Fourcher" verb.
  ...
2017-08-12 00:17:48 +01:00
Filipa Lacerda b96a3d4d60 Fix open discussions
Put back deleted tests
2017-08-11 15:54:56 +01:00
Filipa Lacerda ea448039c8 Fix broken tests 2017-08-10 18:36:39 +01:00
Filipa Lacerda 2faf28fe1c Remove forgotten fdescribe 2017-08-10 17:30:59 +01:00
Yorick Peterse 0395c47193
Migrate events into a new format
This commit migrates events data in such a way that push events are
stored much more efficiently. This is done by creating a shadow table
called "events_for_migration", and a table called "push_event_payloads"
which is used for storing push data of push events. The background
migration in this commit will copy events from the "events" table into
the "events_for_migration" table, push events in will also have a row
created in "push_event_payloads".

This approach allows us to reclaim space in the next release by simply
swapping the "events" and "events_for_migration" tables, then dropping
the old events (now "events_for_migration") table.

The new table structure is also optimised for storage space, and does
not include the unused "title" column nor the "data" column (since this
data is moved to "push_event_payloads").

== Newly Created Events

Newly created events are inserted into both "events" and
"events_for_migration", both using the exact same primary key value. The
table "push_event_payloads" in turn has a foreign key to the _shadow_
table. This removes the need for recreating and validating the foreign
key after swapping the tables. Since the shadow table also has a foreign
key to "projects.id" we also don't have to worry about orphaned rows.

This approach however does require some additional storage as we're
duplicating a portion of the events data for at least 1 release. The
exact amount is hard to estimate, but for GitLab.com this is expected to
be between 10 and 20 GB at most. The background migration in this commit
deliberately does _not_ update the "events" table as doing so would put
a lot of pressure on PostgreSQL's auto vacuuming system.

== Supporting Both Old And New Events

Application code has also been adjusted to support push events using
both the old and new data formats. This is done by creating a PushEvent
class which extends the regular Event class. Using Rails' Single Table
Inheritance system we can ensure the right class is used for the right
data, which in this case is based on the value of `events.action`. To
support displaying old and new data at the same time the PushEvent class
re-defines a few methods of the Event class, falling back to their
original implementations for push events in the old format.

Once all existing events have been migrated the various push event
related methods can be removed from the Event model, and the calls to
`super` can be removed from the methods in the PushEvent model.

The UI and event atom feed have also been slightly changed to better
handle this new setup, fortunately only a few changes were necessary to
make this work.

== API Changes

The API only displays push data of events in the new format. Supporting
both formats in the API is a bit more difficult compared to the UI.
Since the old push data was not really well documented (apart from one
example that used an incorrect "action" nmae) I decided that supporting
both was not worth the effort, especially since events will be migrated
in a few days _and_ new events are created in the correct format.
2017-08-10 17:45:44 +02:00
Simon Knox 8858ddaf83 take edit note button out of dropdown 2017-08-10 09:37:25 +10:00
Mike Greiling 17342953dd Merge branch '34060-simplified-general-project-settings' into 'master'
34060 Simply general project settings to use expanded panels

Closes #34060

See merge request !12620
2017-08-04 18:56:49 +00:00
Robert Speicher 72a7b30c9f Change all `:empty_project` to `:project` 2017-08-02 17:47:31 -04:00
Robert Speicher cf39d282a3 Use `:empty_project` where possible in features/steps 2017-08-02 15:25:52 -04:00
Phil Hughes 6ec561a2f7 fixed up specs 2017-07-28 15:29:13 +01:00
Alexander Randa 1c84f668bc Replaces dashboard/dashboard.feature spinach with rspec 2017-07-17 11:16:41 +03:00
Tim Zallmann 64e589c581 Resolve "Inconsistent location of members page between groups and projects" 2017-07-07 14:40:41 +00:00
Douwe Maan fe13f11041 Create and use project path helpers that only need a project, no namespace 2017-07-05 11:11:59 -05:00
Rémy Coutable d9a5d92140 Merge branch '23036-replace-snippets-spinach' into 'master'
Replace 'snippets/snippets.feature' spinach with rspec

See merge request !12385
2017-07-05 15:04:05 +00:00
Alexander Randa 9651521ea7 Replace 'snippets/snippets.feature' spinach with rspec 2017-07-05 15:29:01 +03:00
Bryce Johnson 81e9c28425 Render add-diff-note button with server.
This commit moves the rendering of the button back to the server, and
shows/hides it using opacity rather than display. It also removes the
transform applied to the button on hover (scale). Previously, both of these
factors automatically triggered a reflow, which creates a performance
bottleneck on pages with larger DOM size.

MR: !12103
2017-06-29 12:50:45 -04:00
Alexander Randa f1b5d2c788 Replaces 'dashboard/todos' spinach with rspec 2017-06-26 14:24:19 +00:00
Luke "Jared" Bennett 32cac59727 Added more actions and report as abuse to all notes 2017-06-07 18:33:50 +00:00
Kamil Trzciński f06daa26ef Merge branch 'rename-builds-controller' into 'master'
Rename BuildsController to JobsController

Closes #30699

See merge request !11407
2017-05-31 19:11:48 +00:00
Lin Jen-Shin 70eb0c6a88 Merge remote-tracking branch 'upstream/master' into rename-builds-controller
* upstream/master: (307 commits)
  Address feedback
  Add small update for the i18n guide.
  update webpack to v2.6.1 patch release to fix "Can't find variable: Promise" error
  update webpack-bundle-analyzer past v2.4.1 to support NamedChunksPlugin
  name all webpack chunks to improve long term cacheability
  add NameAllModulesPlugin to cover shortcomings of NamedModulesPlugin
  upgrade to latest webpack version
  Only use DROP INDEX CONCURRENTLY on postgreql 9.2+
  Provide default for calculating label text color (!11681)
  Add failing test for #32728
  Bugfix: Always use the default language when generating emails.
  Remove unecessary commit pattern check
  Add regexp_for_value helper method
  Remove shared example and improve sub_group_issuables_spec.rb
  Remove 'should' from scenario in has_subgroup_title_spec.rb
  Cartfile git and binary methods cannot take a GitHub repo
  Fix terminals support for Kubernetes service
  Add review comments to compare_spec.rb
  Fix transient error clicking dropdown items in compare_spec.rb
  Use non-global jQuery reference within raven bundle
  ...
2017-05-26 18:25:32 +08:00
Phil Hughes f452cb7733 Merge branch 'master' into issue-edit-inline 2017-05-25 11:17:31 +01:00
Phil Hughes 2ef6172db0 fixed spinach tests 2017-05-25 11:11:30 +01:00
Oswaldo Ferreira 2338785ec9 Use wait_for_requests to wait all JS request 2017-05-22 20:39:49 -03:00
Lin Jen-Shin 54a8cbddb1 Merge remote-tracking branch 'upstream/master' into rename-builds-controller
* upstream/master: (31 commits)
  Remove 'no changes' entries from changelog
  Check if OLD is set when migrating issue assignees
  Fix data migration from trigger schedules
  Replace EFS section in AWS guide
  Add warning about AWS EFS and performance
  Consolidate opening text from about.gitlab.com and add active/passive note
  Fix invalid object reference in ee_compat_check script
  Fix Ordered Task List Items
  Add auxiliary viewer for README
  Update fe_guide testing.md
  Add auxiliary blob viewer for CHANGELOG
  Add spec for last commit info when browsing repository files
  Show last commit for current tree on tree page
  Use same last commit widget on project homepage and tree view
  Fix unassigned checkmark
  Add missing changelog for iPython notebook rendering feature
  Convert fa-history to svg; tweak alignment
  Get rid of pluck in app/services/members/authorized_destroy_service.rb
  Removes duplicate environment variable in documentation
  Fixed spacing issues in issue sidebar
  ...
2017-05-18 15:33:52 +08:00
Douwe Maan c5a13781fa Use same last commit widget on project homepage and tree view 2017-05-17 10:57:40 -05:00
Lin Jen-Shin 71777a4a18 Rename BuildsController to JobsController
Rename other URL generators

admin_builds_path -> admin_jobs_path

Fix tests and more renaming

Fix more tests

Also change build_id to job_id in the controller
2017-05-17 20:17:30 +08:00
Tim Zallmann adc34e1cfe Rename Personal Audit Log 2017-05-16 12:54:57 +00:00
Fatih Acet 0151325dac Merge request widget redesign 2017-05-09 04:15:34 +00:00
Kushal Pandya 645593e5af Add instant comments support 2017-05-05 10:57:29 +00:00
Douwe Maan 0cfb38194c Fix feature specs 2017-04-27 12:23:26 -05:00
Rémy Coutable ccaf6ea59a
Wait for AJAX after steps defined in SharedActiveTab
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-04-26 11:19:20 +02:00
Robert Speicher 40ba2f7d20 Except where necessary, use `sign_in` over `login_as` in features 2017-04-19 18:55:36 -04:00
Annabel Dunstone Gray 667fa9afa2 Put back usernames in activity and profile feed 2017-04-07 15:59:39 -05:00