1. 19 Mar, 2020 30 commits
  2. 18 Mar, 2020 10 commits
    • Evan Read's avatar
      Merge branch 'docs-10526-smartcard_support_different_hostname' into 'master' · 8c7b06ce
      Evan Read authored
      Doc for making hostname configurable for smartcard authentication
      
      See merge request gitlab-org/gitlab!27000
      8c7b06ce
    • Peter Leitzen's avatar
      Merge branch 'sy-fix-global-org-check' into 'master' · 36c6c71f
      Peter Leitzen authored
      Handle errors with repos api
      
      See merge request gitlab-org/gitlab!27426
      36c6c71f
    • Russell Dickenson's avatar
      Merge branch 'msj-issuable-desc-limit-docs' into 'master' · 59885a79
      Russell Dickenson authored
      Docs: descriptions and comments 1m-char limit
      
      Closes #31148
      
      See merge request gitlab-org/gitlab!27339
      59885a79
    • Marcin Sedlak-Jakubowski's avatar
      f45d2742
    • Alex Kalderimis's avatar
      Remove WikiPage#meta method · 82a0cc88
      Alex Kalderimis authored
      this was only ever needed in tests, and having it on the actual
      wiki-page model is just incurring technical debt and installing a
      permanent footgun. It is removed and replaced with factories.
      
      This also refactors the event spec to be much more declarative for
      visibility tests.
      82a0cc88
    • Alex Kalderimis's avatar
      Remove DB timestamp defaults · c4fbaa06
      Alex Kalderimis authored
      This removes the DB timestamp column defaults, and manages those values
      in the model domain object instead.
      c4fbaa06
    • Alex Kalderimis's avatar
      Add timestamps for wiki page metadata · c158cba6
      Alex Kalderimis authored
      c158cba6
    • Alex Kalderimis's avatar
      Avoid canonical slug conflict in the same project · 56b298f5
      Alex Kalderimis authored
      This adds validations that ensure that wiki pages cannot have the same
      canonical slug in the same project. We cannot easily move this check to
      the DB, so this is handled in logic - we check in `.find_or_create` if
      either of the known slugs matches a record, and we raise errors on
      conflict.
      
      This also introduces some optimisations that eliminate unnecessary
      queries.
      
      Minor updates from review comments
      
      Includes:
      
      - Use Class#name instead of constant
      - Wrap mutable state in an outer transaction
      
        The one subtle thing here is that the first query (to find the record)
        must be within the transaction, even though it does not mutate the state
        of the DB. This is because we learn important facts from that query
        (namely whether there are any conflicting canonical slugs) that could be
        invalidated outside a transaction.
      
      - Use standard uniqueness validator
      
        This is more declarative than our hand-rolled implementation
      
      - Move page construction into factory
      
        This requires a new trait for the wiki page factory to create pages that
        are in the wiki repo.
      
      - Changes to some test descriptions
      
      - Reduce DB queries in specs
      
      we don't strictly need multiple slugs here - one will do.
      
      - Avoid running validation if there is no project_id
      
      - Raise error if there are no slugs at all
      56b298f5
    • Alex Kalderimis's avatar
      7d278de4
    • Alex Kalderimis's avatar
      Wiki page event support · 0a0428d6
      Alex Kalderimis authored
      Add support for wiki page events
      
      * Update visibility test
      * Update action name for wiki page events
      * Update event specs to use wiki metadata models
      * Add specific factories
      
      This adds a `Policy` for WikiPage::Meta, which is required for
      interoperation with `Event#visible_to`. The policy is very simple
      - just delegating to the project.
      0a0428d6