Skip to content
Snippets Groups Projects
  1. Mar 13, 2019
  2. Feb 05, 2019
  3. Jan 28, 2019
  4. Nov 29, 2018
  5. Nov 23, 2018
  6. Sep 19, 2018
    • gfyoung's avatar
      Enable frozen string in app/controllers/**/*.rb · 73322a0e
      gfyoung authored
      Enables frozen string for the following:
      
      * app/controllers/*.rb
      * app/controllers/admin/**/*.rb
      * app/controllers/boards/**/*.rb
      * app/controllers/ci/**/*.rb
      * app/controllers/concerns/**/*.rb
      
      Partially addresses #47424.
      73322a0e
  7. Sep 11, 2018
  8. Sep 07, 2018
  9. Sep 03, 2018
  10. Aug 08, 2018
  11. Apr 11, 2018
    • Yorick Peterse's avatar
      Support Markdown rendering using multiple projects · daad7144
      Yorick Peterse authored
      This refactors the Markdown pipeline so it supports the rendering of
      multiple documents that may belong to different projects. An example of
      where this happens is when displaying the event feed of a group. In this
      case we retrieve events for all projects in the group. Previously we
      would group events per project and render these chunks separately, but
      this would result in many SQL queries being executed. By extending the
      Markdown pipeline to support this out of the box we can drastically
      reduce the number of SQL queries.
      
      To achieve this we introduce a new object to the pipeline:
      Banzai::RenderContext. This object simply wraps two other objects: an
      optional Project instance, and an optional User instance. On its own
      this wouldn't be very helpful, but a RenderContext can also be used to
      associate HTML documents with specific Project instances. This work is
      done in Banzai::ObjectRenderer and allows us to reuse as many queries
      (and results) as possible.
      Unverified
      daad7144
  12. Apr 08, 2018
  13. Feb 27, 2018
  14. Feb 22, 2018
  15. Feb 06, 2018
  16. Jan 31, 2018
  17. Nov 06, 2017
  18. Oct 20, 2017
  19. Oct 12, 2017
  20. Oct 11, 2017
  21. Oct 10, 2017
  22. Oct 04, 2017
  23. Sep 07, 2017
  24. Aug 21, 2017
  25. Aug 10, 2017
    • Yorick Peterse's avatar
      Use a specialized class for querying events · aac1de46
      Yorick Peterse authored
      This changes various controllers to use the new EventCollection class
      for retrieving events. This class uses a JOIN LATERAL query on
      PostgreSQL to retrieve queries in a more efficient way, while falling
      back to a simpler / less efficient query for MySQL.
      
      The EventCollection class also includes a limit on the number of events
      to display to prevent malicious users from cycling through all events,
      as doing so could put a lot of pressure on the database.
      
      JOIN LATERAL is only supported on PostgreSQL starting with version 9.3.0
      and as such this optimisation is only used when using PostgreSQL 9.3 or
      newer.
      Verified
      aac1de46
  26. Jun 12, 2017
  27. Jun 06, 2017
  28. May 25, 2017
  29. May 19, 2017
    • Michael Kozono's avatar
      Refactor to more robust implementation · 49697bc8
      Michael Kozono authored
      In order to avoid string manipulation or modify route params (to make them unambiguous for `url_for`), we are accepting a behavior change:
      
      When being redirected to the canonical path for a group, if you requested a group show path starting with `/groups/…` then you’ll now be redirected to the group at root `/…`.
      49697bc8
Loading