<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/gitlab/gitlab-ce.git/app/uploaders, branch doc-serverless-lambda</title>
<subtitle>gitlab.com: gitlab-org/gitlab-ce.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/'/>
<entry>
<title>Merge branch 'security-60551-fix-upload-scope' into 'master'</title>
<updated>2019-07-26T13:40:54+00:00</updated>
<author>
<name>GitLab Release Tools Bot</name>
<email>robert+release-tools@gitlab.com</email>
</author>
<published>2019-07-26T13:40:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=461101c3b50ef2215a3be9a099bf2581473d7d2d'/>
<id>461101c3b50ef2215a3be9a099bf2581473d7d2d</id>
<content type='text'>
Queries for Upload should be scoped by model

See merge request gitlab/gitlabhq!3229</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Queries for Upload should be scoped by model

See merge request gitlab/gitlabhq!3229</pre>
</div>
</content>
</entry>
<entry>
<title>Remove dead MySQL code</title>
<updated>2019-07-23T15:53:03+00:00</updated>
<author>
<name>Nick Thomas</name>
<email>nick@gitlab.com</email>
</author>
<published>2019-06-13T13:12:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=4aa76dddecc048cef24963323afe59f1c120cb72'/>
<id>4aa76dddecc048cef24963323afe59f1c120cb72</id>
<content type='text'>
None of this code can be reached any more, so it can all be removed
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
None of this code can be reached any more, so it can all be removed
</pre>
</div>
</content>
</entry>
<entry>
<title>Queries for Upload should be scoped by model</title>
<updated>2019-07-11T13:52:55+00:00</updated>
<author>
<name>Adam Hegyi</name>
<email>ahegyi@gitlab.com</email>
</author>
<published>2019-07-11T04:48:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=dfe906209e2238b82c84c9fb435498cae2f3d43e'/>
<id>dfe906209e2238b82c84c9fb435498cae2f3d43e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a rubocop for Rails.logger</title>
<updated>2019-07-10T19:26:47+00:00</updated>
<author>
<name>Mayra Cabrera</name>
<email>mcabrera@gitlab.com</email>
</author>
<published>2019-07-10T19:26:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=0ab89d8e36ba58a95244b4c6dd49d53fac7a699f'/>
<id>0ab89d8e36ba58a95244b4c6dd49d53fac7a699f</id>
<content type='text'>
Suggests to use a JSON structured log instead

Related to https://gitlab.com/gitlab-org/gitlab-ce/issues/54102
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Suggests to use a JSON structured log instead

Related to https://gitlab.com/gitlab-org/gitlab-ce/issues/54102
</pre>
</div>
</content>
</entry>
<entry>
<title>Use #filename when generating upload URLs</title>
<updated>2019-07-03T19:46:26+00:00</updated>
<author>
<name>Heinrich Lee Yu</name>
<email>heinrich@gitlab.com</email>
</author>
<published>2019-06-20T21:01:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=76b0518f334090294d4ad7db7be64846f6018e80'/>
<id>76b0518f334090294d4ad7db7be64846f6018e80</id>
<content type='text'>
We don't need to find the filename from the remote URL
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't need to find the filename from the remote URL
</pre>
</div>
</content>
</entry>
<entry>
<title>Support object storage at FileMover class</title>
<updated>2019-06-30T21:00:00+00:00</updated>
<author>
<name>Oswaldo Ferreira</name>
<email>oswaldo@gitlab.com</email>
</author>
<published>2019-06-28T21:28:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=114dd976426a26c19d5e2a350a2c41bda35ddf54'/>
<id>114dd976426a26c19d5e2a350a2c41bda35ddf54</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Persist tmp snippet uploads</title>
<updated>2019-06-17T14:25:40+00:00</updated>
<author>
<name>Oswaldo Ferreira</name>
<email>oswaldo@gitlab.com</email>
</author>
<published>2019-06-04T23:50:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=44e1915d4f0e20cf445196ccc7e1d279c75ef0ce'/>
<id>44e1915d4f0e20cf445196ccc7e1d279c75ef0ce</id>
<content type='text'>
It persist temporary personal snippets under
user/:id namespaces temporarily while creating
a upload record to track it. If an user gets removed
while it's still a tmp upload, it also gets removed.
If the tmp upload is sent, the upload gets moved to
personal_snippets/:id as before. The upload record
also gets updated to the new model type as well.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It persist temporary personal snippets under
user/:id namespaces temporarily while creating
a upload record to track it. If an user gets removed
while it's still a tmp upload, it also gets removed.
If the tmp upload is sent, the upload gets moved to
personal_snippets/:id as before. The upload record
also gets updated to the new model type as well.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove legacy artifact related code</title>
<updated>2019-05-31T03:49:17+00:00</updated>
<author>
<name>Shinya Maeda</name>
<email>shinya@gitlab.com</email>
</author>
<published>2019-03-22T12:38:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=387a4f4b2cc9cffe2a21ef1060fe35c60d1ac769'/>
<id>387a4f4b2cc9cffe2a21ef1060fe35c60d1ac769</id>
<content type='text'>
We've already migrated all the legacy artifacts to the new realm,
which is ci_job_artifacts table.
It's time to remove the old code base that is no longer used.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We've already migrated all the legacy artifacts to the new realm,
which is ci_job_artifacts table.
It's time to remove the old code base that is no longer used.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix incorrect prefix used in new uploads for personal snippets</title>
<updated>2019-05-17T06:36:55+00:00</updated>
<author>
<name>Stan Hu</name>
<email>stanhu@gmail.com</email>
</author>
<published>2019-05-15T16:26:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=a1f44c1b4969847fa80d6c53d6bd70813d273d6c'/>
<id>a1f44c1b4969847fa80d6c53d6bd70813d273d6c</id>
<content type='text'>
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24550 fixed the
case where the wrong path on disk was being searched, but it
inadvertently ommitted the `/uploads/-/system` prefix when rendering the
Markdown for personal snippet uploads when they were stored directly in
object storage.

A personal snippet path is stored using FileUploader#upload_path.
The format for the path:

Local storage: :random_hex/:filename.
Object storage: personal_snippet/:id/:random_hex/:filename.

upload_paths represent the possible paths for a given identifier,
which will vary depending on whether the file is stored in local or
object storage. upload_path should match an element in upload_paths.

base_dir represents the path seen by the user in Markdown, and it
should always be prefixed with uploads/-/system.

store_dirs represent the paths that are actually used on disk. For
object storage, this should omit the prefix /uploads/-/system.

For example, consider the requested path
/uploads/-/system/personal_snippet/172/ff4ad5c2/file.png.

For local storage:

base_dir: uploads/-/system/personal_snippet/172
upload_path: ff4ad5c2/file.png
upload_paths: ["ff4ad5c2/file.png", "personal_snippet/172/ff4ad5c2/file.png"].
store_dirs: {1=&gt;"uploads/-/system/personal_snippet/172/ff4ad5c2",
             2=&gt;"personal_snippet/172/ff4ad5c2"}

For object storage:

upload_path: personal_snippet/172/ff4ad5c2/file.png

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/61671
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/24550 fixed the
case where the wrong path on disk was being searched, but it
inadvertently ommitted the `/uploads/-/system` prefix when rendering the
Markdown for personal snippet uploads when they were stored directly in
object storage.

A personal snippet path is stored using FileUploader#upload_path.
The format for the path:

Local storage: :random_hex/:filename.
Object storage: personal_snippet/:id/:random_hex/:filename.

upload_paths represent the possible paths for a given identifier,
which will vary depending on whether the file is stored in local or
object storage. upload_path should match an element in upload_paths.

base_dir represents the path seen by the user in Markdown, and it
should always be prefixed with uploads/-/system.

store_dirs represent the paths that are actually used on disk. For
object storage, this should omit the prefix /uploads/-/system.

For example, consider the requested path
/uploads/-/system/personal_snippet/172/ff4ad5c2/file.png.

For local storage:

base_dir: uploads/-/system/personal_snippet/172
upload_path: ff4ad5c2/file.png
upload_paths: ["ff4ad5c2/file.png", "personal_snippet/172/ff4ad5c2/file.png"].
store_dirs: {1=&gt;"uploads/-/system/personal_snippet/172/ff4ad5c2",
             2=&gt;"personal_snippet/172/ff4ad5c2"}

For object storage:

upload_path: personal_snippet/172/ff4ad5c2/file.png

Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/61671
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimise upload path calls</title>
<updated>2019-05-14T16:01:48+00:00</updated>
<author>
<name>Sean McGivern</name>
<email>sean@gitlab.com</email>
</author>
<published>2019-05-11T12:06:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/gitlab/gitlab-ce.git/commit/?id=79dd92c8189600f24a29fe2da8d391cdb021f8fd'/>
<id>79dd92c8189600f24a29fe2da8d391cdb021f8fd</id>
<content type='text'>
String#underscore isn't particularly slow, but it's possible for us to
call it many times in a users autocomplete request, with mostly-static
values ('User', 'Group', etc.). We can memoise this and save a
surprising amount of time (around 10% of the total request time in some
cases).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
String#underscore isn't particularly slow, but it's possible for us to
call it many times in a users autocomplete request, with mostly-static
values ('User', 'Group', etc.). We can memoise this and save a
surprising amount of time (around 10% of the total request time in some
cases).
</pre>
</div>
</content>
</entry>
</feed>
