Commit Graph

4320 Commits

Author SHA1 Message Date
Nextcloud bot 0d90c5ebc4
[tx-robot] updated from transifex 2018-05-22 00:13:31 +00:00
Nextcloud bot ca089b9412
[tx-robot] updated from transifex 2018-05-20 00:13:24 +00:00
Blaok 21b9ad3978
feat: allow files:scan --shallow
Signed-off-by: Yuze Chi <i@blaok.me>
2018-05-18 14:50:32 -07:00
Nextcloud bot 514b374923
[tx-robot] updated from transifex 2018-05-18 00:13:45 +00:00
Nextcloud bot ef665fde42
[tx-robot] updated from transifex 2018-05-17 00:13:46 +00:00
Nextcloud bot 5fcb3dd1dc
[tx-robot] updated from transifex 2018-05-12 00:13:00 +00:00
Nextcloud bot 01c21601e8
[tx-robot] updated from transifex 2018-05-10 00:13:09 +00:00
Morris Jobke d161d4473e
Merge pull request #9029 from nextcloud/settings-restructure
Restructure server settings
2018-05-07 12:29:53 +02:00
Julius Härtl 951ac518e1
Fix jsunit tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-05-07 11:19:50 +02:00
Julius Härtl 94528ad2be
Move quota icon to core
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-05-03 10:32:16 +02:00
Julius Härtl 35cb529df3
Fix settings tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-05-03 08:58:25 +02:00
Julius Härtl cea4c9d000
Move files settings to main server settings
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-05-03 08:58:23 +02:00
Roeland Jago Douma 0dc019370d
Merge pull request #9248 from nextcloud/fix-files-ellipsis
Fix ellipsis in filename column
2018-04-24 20:36:41 +02:00
Julius Härtl cbdaa8b7ce
Add min-width to trick the table width calculation in safari
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-04-22 23:09:15 +02:00
Daniel Calviño Sánchez 375a55b0ad
Fix race condition when preparing upload folder
Before any upload is submitted the upload is registered in a list of
known uploads; this is needed to retrieve the upload object at several
points of the upload process. When a chunked upload is submitted first a
directory to upload all the chunks is created and, once that is done,
the chunks are sent; in order to send a chunk the upload object needs to
be retrieved from the list of known uploads.

When all the active uploads were finished the list of known uploads was
cleared. However, an upload is not active until it actually starts
sending the data, so while waiting for the upload directory to be
created the upload is already in the list of known uploads yet not
active. Due to all this, if the active uploads finished while another
pending upload was waiting for the upload directory to be created that
pending upload would be removed from the list of known uploads too, and
once the directory was created and thus the chunks were sent a field of
a null upload object would be accessed thus causing a failure.

Instead of removing all the known uploads at once when the active
uploads finish now each upload is explicitly removed when it finishes.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-04-22 20:38:11 +02:00
Nextcloud bot 74b5ab8d39
[tx-robot] updated from transifex 2018-04-22 00:11:51 +00:00
Nextcloud bot 6b5132502e
[tx-robot] updated from transifex 2018-04-21 00:11:39 +00:00
Julius Härtl fb7d73708b
Use flex based layout inside the filename table cell
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-04-19 20:13:26 +02:00
Jan-Christoph Borchardt 0d675eca56
Ensure proper color contrast according to WCAG AA
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-04-18 15:38:30 +02:00
Nextcloud bot 85d4d9c592
[tx-robot] updated from transifex 2018-04-16 00:11:49 +00:00
Morris Jobke 9260474ab6
Merge pull request #8452 from sagorika1996/folder
Descend into newly created folder by clicking enter again
2018-04-11 17:58:42 +02:00
Nextcloud bot ecc3bc64aa
[tx-robot] updated from transifex 2018-04-11 00:21:34 +00:00
Nextcloud bot 5bbe6bb44e
[tx-robot] updated from transifex 2018-04-09 00:11:59 +00:00
Nextcloud bot 72e8ab14ac
[tx-robot] updated from transifex 2018-04-08 00:12:00 +00:00
Nextcloud bot 9f194bc682
[tx-robot] updated from transifex 2018-04-07 00:11:49 +00:00
Roeland Jago Douma 6ea444b243
Merge pull request #9082 from nextcloud/feature/8795/new_webdav_url_in_web
Show the new dav url in the web UI
2018-04-05 14:51:52 +02:00
Morris Jobke 6b39186e4f
Merge pull request #9085 from nextcloud/fix-progress-bar-hidden-before-the-upload-ends
Fix progress bar hidden before the upload ends
2018-04-05 14:11:36 +02:00
Roeland Jago Douma 9b05413bcb
Show the new dav url in the web UI
Fixes #8795

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-05 13:59:45 +02:00
Daniel Calviño Sánchez bcfe8431b4 Fix progress bar hidden before the upload ends
The jQuery File Upload plugin triggers the "stop" event once there are
no more files being uploaded (even if some of them were added when
another upload was already in progress). Therefore, the progress bar
should be hidden in the "fileuploadstop" callback.

In some cases the "stop" event is not triggered and thus the progress
bar is not hidden once no more files are being uploaded. This is caused
by a race condition and it will be fixed in another commit; except in
buggy cases like that one (that need to be fixed anyway) it is safe to
hide the progress bar in the "fileuploadstop" callback.

In any case, note that the callbacks in "fileuploaddone" may be called
after the "stop" event was triggered and handled when using chunked
uploads. In that case once all the chunks are uploaded the assembled
file is moved to its final destination, so its promise could be resolved
after the "stop" event was triggered. Therefore a different approach
would be needed to keep the progress bar visible until the chunked
upload is truly finished, but for the time being the current one is good
enough.

Before this commit the progress bar was being hidden when the first
upload finished, either successfully or with an error, no matter if
there were other files being uploaded too.

The progress bar was being explicitly hidden also when the upload was
cancelled. When an upload is cancelled all the single uploads are
aborted, which triggers a "fail" event for each of them. However, the
"stop" event is always triggered when no more files are being uploaded,
so it is triggered too once all the single uploads were aborted. As all
the single uploads are immediately aborted in a loop when the general
upload is cancelled it makes no difference to hide the progress bar when
the first single upload is aborted or when all the single uploads were
aborted, so the progress bar is no longer explicitly hidden in the
former case.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-04-05 11:12:33 +02:00
Nextcloud bot 0c12c06325
[tx-robot] updated from transifex 2018-04-05 00:11:47 +00:00
Nextcloud bot b90b73df6f
[tx-robot] updated from transifex 2018-04-04 00:13:26 +00:00
Morris Jobke 56fa44b71d
Merge pull request #8945 from nextcloud/fix-files-copy-in-recent-favorites
Fixed files copy/move when in favorites or recent section
2018-04-03 10:30:08 +02:00
Nextcloud bot 25c479c0c5
[tx-robot] updated from transifex 2018-04-02 00:11:49 +00:00
Nextcloud bot 21b7611457
[tx-robot] updated from transifex 2018-04-01 00:11:48 +00:00
Nextcloud bot 0f398e7611
[tx-robot] updated from transifex 2018-03-31 00:13:51 +00:00
Nextcloud bot 9dad5ac59b
[tx-robot] updated from transifex 2018-03-28 00:21:16 +00:00
John Molakvoæ (skjnldsv) 24ecf3f4c9
Fixed files copy/move when in favorites or recent section
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-03-22 18:09:30 +01:00
Roeland Jago Douma 3dac15a891
Move calls to \OCP\JSON to private \OC_JSON
They should be properly fixed at some point.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-22 13:19:29 +01:00
Nextcloud bot af3ab1de10
[tx-robot] updated from transifex 2018-03-21 01:11:55 +00:00
Nextcloud bot 615258ba26
[tx-robot] updated from transifex 2018-03-20 01:11:33 +00:00
Roeland Jago Douma 1d6a2a7019
Remove unused download.php
There were two routes apps/files/ajax/download.php but apparently also
apps/files/download.php I could not find any use of it.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-19 11:45:48 +01:00
Roeland Jago Douma 2d5febd0b9
Merge pull request #8811 from nextcloud/remove_dep_util_link
Remove deprecated URL functions for OCP\Util
2018-03-14 09:49:51 +01:00
Nextcloud bot 7f00de841b
[tx-robot] updated from transifex 2018-03-14 01:11:29 +00:00
Roeland Jago Douma 83873e3da1
Remove deprecated URL functions for OCP\Util
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 22:04:08 +01:00
Roeland Jago Douma f52ba44edb
Move storagestats endpoint to proper controller
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-13 12:44:48 +01:00
Morris Jobke 044d01d0e1
Use proper method to log exceptions
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-03-12 18:10:59 +01:00
Nextcloud bot 4e56a02450
[tx-robot] updated from transifex 2018-03-12 01:12:21 +00:00
Nextcloud bot a20e9d7891
[tx-robot] updated from transifex 2018-03-09 01:12:12 +00:00
John Molakvoæ (skjnldsv) cee5be6ff2
Fixed jsunit
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-03-08 10:31:33 +01:00
John Molakvoæ (skjnldsv) 3ef4131533
Fixed event propagation on safari
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-03-07 17:10:46 +01:00
John Molakvoæ (skjnldsv) 446a3a9d5a
Fixed ext share style and use varable for popover height
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-03-07 15:12:06 +01:00
John Molakvoæ (skjnldsv) 4e6043fd6b
Fixed tooltip positionning & error display
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-03-07 13:17:37 +01:00
John Molakvoæ (skjnldsv) 955c2ee1a7
PoC inline icon-confirm with inputs
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-03-07 13:17:37 +01:00
John Molakvoæ (skjnldsv) 3964616a9e
Updated popover rules to allow form inputs and added input submit for new File
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-03-07 13:17:36 +01:00
Nextcloud bot 3867a74f0d
[tx-robot] updated from transifex 2018-03-06 01:12:16 +00:00
Nextcloud bot 6c49cc0294
[tx-robot] updated from transifex 2018-03-05 01:12:12 +00:00
Nextcloud bot 6975cef00b
[tx-robot] updated from transifex 2018-03-04 01:12:42 +00:00
Nextcloud bot 3b000d4f91
[tx-robot] updated from transifex 2018-03-03 01:12:14 +00:00
Nextcloud bot 777313db42
[tx-robot] updated from transifex 2018-03-02 01:12:16 +00:00
Roeland Jago Douma 6b931eb64b
Merge pull request #8588 from nextcloud/fix-breadcrumbs-width-calculation
Fix breadcrumbs width calculation
2018-03-01 20:13:26 +01:00
Sagorika Das 5d9d0b00e0 updated js
Signed-off-by: Sagorika Das <sagorika1996@gmail.com>
2018-03-01 18:20:37 +05:30
Sagorika Das d78e314d51 New folder creation flow
Descend into newly created folder by clicking enter again.
Signed-off-by: Sagorika Das <sagorika1996@gmail.com>
2018-03-01 17:19:07 +05:30
Joas Schilling 0f3ba9444e
Merge pull request #8298 from nextcloud/bugfix/e2e-45/fix-activities-for-end2end-encryption
Fix activities for e2e encryption
2018-03-01 10:51:27 +01:00
Morris Jobke 6b4a2d01c3
Merge pull request #8574 from nextcloud/breadcrumb-flash-fix
Fixed breadcrumb menu flashing
2018-03-01 09:39:29 +01:00
Nextcloud bot a7fb9ff8da
[tx-robot] updated from transifex 2018-03-01 01:12:11 +00:00
Daniel Calviño Sánchez 542dc2b335 Fix upload button visible on read-only folders
The div that contains the elements related to the creation of new files,
and thus the upload button, is always present in the DOM; it is hidden
or shown based on the folder permissions by adding or removing the
"hidden" CSS class. However, as the other CSS classes for the div are
"actions" and "creatable" and a "display: flex" rule was defined for
".actions.creatable" below the "display: none" rule for
".actions.hidden" the last one took precedence and the div ended being
always visible, even if the "hidden" CSS class was set. Now the rules
for the ".actions.hidden" selector are defined below the rules for the
".actions.creatable" selector and thus the "display: none" rule is
applied as expected.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 17:26:36 +01:00
Joas Schilling 8b73560cac
Fix unit test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-28 16:04:45 +01:00
Joas Schilling 0b883ab9d9
Catch exception when the parent is deleted as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-28 15:40:01 +01:00
Joas Schilling 825c276e84
Do a recursion instead of an endless loop
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-28 15:16:18 +01:00
Joas Schilling 62e982a91f
Fix problem with deleted files
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-28 15:06:06 +01:00
Joas Schilling d202bae3b5
Fix path handling for activities
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-28 15:06:06 +01:00
Joas Schilling f8c27cb57d
Add special handling for e2e encryption
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-28 15:06:06 +01:00
Joas Schilling 03a25410f1
Extract duplicated logic into a method
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-28 15:06:05 +01:00
Daniel Calviño Sánchez ad71abca6f Update comments in tests
Menu and home are not always visible; home is always visible, but menu
is shown only when needed.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez 292476911f Improve documentation of "getTotalWidth"
"getTotalWidth" is not more accurate; it is simply not clamped.
Moreover, "width/outerWidth" could be used in tests too, and also even
if "getTotalWidth" could be used in tests while others not that would
not be something to be stated in the API documentation, but in a
comment.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez d122d054d3 Do not show the crumbs again after hiding them
After the changes in the previous commit "_showCrumb" no longer shows
the menu, only the same crumb that was hidden by the last call to
"_hideCrumb". Therefore, if the crumb was hidden because it did not fit
there is no need to try to show it again, as it will still not fit.

Moreover, the calculated width for a hidden element is not always
accurate; in some cases the calculated width is lower than the actual
width (it happens, for example, when using a background image like the
"Share" icon), which causea the crumb to be shown even if there is not
enough room, which in the end causes the siblings to overflow the
contents.

No unit tests for this one, though; you will have to trust me on this,
sorry ;-)

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez 10e9eeec45 Fix menu visibility
The crumb for the menu was shown like any other crumb when calling
"_showCrumb", but it was also shown when other crumbs were hidden
without taking into account the available width. This caused several
related problems, like the breadcrumbs taking too much space when the
menu was sometimes shown after the rest of the crumbs were adjusted to
the available width, or the menu being shown instead of the last crumb
even if there was room for it when the available width was increased.

Now the menu is always hidden before starting the resizing of the crumbs
to ensure that whether it was previously shown or not does not affect
the result. In a similar way, the menu will no longer be shown by
"_showCrumb", as it is not a regular crumb that has to be shown simply
if there is enough room. The menu is now shown as soon as any other
crumb is hidden; this ensures that the menu width will be taken into
account in further width checks. As when _updateMenu" is called it no
longer needs to take care of showing the menu this fixes the issue
revealed when fixing the test setup in the previous commit.

Finally, this implicitly fixes the failure in the breadcrumbs tests when
run on Firefox, as it was caused by the menu interfering in the
calculations of the other crumbs when increasing the width.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez 1bcba56d8f Fix setup to test the breadcrumbs menu
The "Shows only items not in the breadcrumb" test was failing when run
on Firefox, but not on PhantomJS. This was caused by the differences in
the starting width between both browsers and an incorrect setup of the
test (the width set for the crumbs was overriden when the breadcrumbs
were rendered again, and the breadcrumb was resized to 300 from an
indeterminate initial width).

Now the crumbs are rendered and then its width, padding and margin are
set to a known value. Then it is resized to 1000px, which ensures that
there will be enough room for all the crumbs and thus the menu will be
hidden, and finally it is resized to 300, which causes the middle crumb
to be hidden and the menu to be shown.

Note, however, that the test now always fails, no matter if it is run on
PhantomJS or on Firefox; if the menu crumb is hidden when "_updateMenu"
is called it will show it, but it will also wrongly try to add the menu
itself to the menu. As the "crumb-id" of the menu crumb is "-1" this
causes the last regular crumb to be added to the menu. This will be
fixed with other related issues in the next commit.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez 92345f2c38 Take padding and margins of crumbs into account
When calculating the total width of the crumbs only its padding was
taken into account; now the margin is too. In a similar way, before
showing a crumb only its width was taken into account; now its padding
and margin are taken into account too.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez 29c924f74b Use hard-coded values for paddings and margins
This ensures that the resize tests do not depend on the values set in
the CSS files.

Note that this change causes a test to fail with Firefox, but not with
PhantomJS. This is due to a difference in the starting width used by
Firefox and by PhantomJS, and it will be fixed in a following commit.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez acdf091f84 Compress siblings before calculating the available width for crumbs
When the parent element of the breadcrumbs was resized to a larger width
and the siblings of the breadcrumbs expanded to fill all the available
width some crumbs could be hidden even if there was enough room for
them. The reason was that the width of the siblings being used to
calculate the available width for the breadcrumbs was the expanded width
of the siblings. Now as many crumbs as possible (that is, fitting in the
parent, no matter the siblings) are first shown so the expanding
siblings are compressed before calculating the available width.

Due to the lack of support for flexboxes in PhantomJS the related unit
test is skipped; it has to be run in other browser, like Firefox.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez a37007f872 Take all visible siblings into account
Other apps could add elements to the controls outside the creatable
actions div (for example, the button to switch to the gallery), so the
widths of all the visible siblings of the breadcrumbs have to be taken
into account in the size calculations.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez e37c4fd7f3 Take padding and margin of the creatable actions div into account
There are some differences in width handling between the browsers used
to run the tests, most likely due to their support (or lack of) of
certain CSS features: PhantomJS requires "width" to be set (probably
because it does not handle flex displays and treats it like a block, so
"min-width" does not matter in this case), while Firefox requires
"min-width" to be set (otherwise the children of "#controls" could be
compressed due to its use of flex display and the elements would end
with a different width than the one needed for the tests). Due to all
that the width of the breadcrumb siblings must be specified in the tests
using both "width" and "min-width".

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez 3850221ae1 Do not render the breadcrumbs again in resize tests
There is no need to call "setDirectory" again in resize tests; it is
enough to simply resize them (and isolates them better to just test the
resizing behaviour).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez a828e7b12a Replace attribute with local variable
The "usedWidth" attribute was not used elsewhere outside the "_resize"
method, so it was replaced with a local variable. Moreover, it was also
renamed to a more suitable name ("availableWidth").

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
Daniel Calviño Sánchez a9552de089 Set the width of the parent element in breadcrumb tests
Setting the width of the parent element of the breadcrumbs and then
explicitly calling "_resize" is enough to test the resizing behaviour.
This makes possible to remove the "setMaxWidth" method and its related
code, which was used only for testing purposes.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-02-28 15:03:26 +01:00
John Molakvoæ (skjnldsv) d78026c3b4
Fixed breadcrumb menu flashing
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-02-28 11:04:27 +01:00
Nextcloud bot 533e8351ad
[tx-robot] updated from transifex 2018-02-28 01:12:31 +00:00
Nextcloud bot ad2eefe896
[tx-robot] updated from transifex 2018-02-27 01:14:26 +00:00
Roeland Jago Douma 350b66b73d
Merge pull request #8485 from sagorika1996/rename
Rename dialog closed when not active
2018-02-26 21:36:39 +01:00
Morris Jobke a3c09f51c6
Merge pull request #8203 from Cybso/split-move-copy
Split move and copy operations
2018-02-26 16:06:20 +01:00
Nextcloud bot a210247559
[tx-robot] updated from transifex 2018-02-24 01:12:16 +00:00
Marin Treselj dc6ae9e622 Add some whitespace around change.svg icon
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2018-02-22 15:46:21 +01:00
Nextcloud bot 4b352a345b
[tx-robot] updated from transifex 2018-02-22 01:12:26 +00:00
Sagorika Das dca75448d0 rename dialog closed when not active
Signed-off-by: Sagorika Das <sagorika1996@gmail.com>
2018-02-21 23:16:27 +05:30
Nextcloud bot 6591a3bc36
[tx-robot] updated from transifex 2018-02-21 01:12:10 +00:00
Morris Jobke 70b1f510f2
Use normal header() calls instead of private method calls
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-19 09:40:25 +01:00
Nextcloud bot b3ca73dc27
[tx-robot] updated from transifex 2018-02-19 01:11:54 +00:00
Nextcloud bot d953db8683
[tx-robot] updated from transifex 2018-02-17 01:12:04 +00:00
Joas Schilling f095001e4b
Fix info.xml files of shipped apps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-16 10:24:03 +01:00