Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
159 commits
Select commit Hold shift + click to select a range
89ba849
ionos: add test easycloud build action
printminion-co Feb 27, 2024
c33961a
ionos: add version.json to package
printminion-co Apr 15, 2024
2e370c8
ionos: enable artifact build for ionos-dev branch
printminion-co Apr 15, 2024
3afbf09
IONOS: add submodule IONOS-Productivity/easystorage-config.git -> IONOS/
tholewebgods Apr 23, 2024
8c56f35
IONOS: Update submodule pointer for /IONOS
tholewebgods Apr 23, 2024
68186bd
IONOS: .github/workflows: change custom-apps/ -> apps-custom/
tholewebgods May 10, 2024
ca0cb85
IONOS: .github/workflows: add the IONOS/ submodule to the package/image
tholewebgods May 10, 2024
ee17c23
IONOS: .github/workflows: exclude .git and .editorconfig files
printminion-co May 15, 2024
b0654b8
IONOS: .git-un-ignore /apps-{custom,external}
tholewebgods May 22, 2024
b82e21e
IONOS: add .gitkeep to /apps-{custom,external}
tholewebgods May 22, 2024
b7a8387
IONOS: add nextcloud/viewer as submodule to /apps-external
tholewebgods May 22, 2024
f6e2a3a
IONOS .git-un-ignore /apps-extenal/viewer only
tholewebgods May 23, 2024
fe0c9f9
IONOS: Update submodule pointer for /IONOS
tholewebgods May 22, 2024
b297a10
IONOS: add our "simplesettings" as submodule to /apps-custom
thlehmann-ionos Jul 5, 2024
60d69a6
IONOS: feat(base): add "redirect" config
thlehmann-ionos Jul 5, 2024
5854155
IONOS: config/redirects.config.php: add redirect /settings =>
thlehmann-ionos Jul 5, 2024
a4d5b05
IONOS: Update submodule pointer for simplesettings
fracado Jul 8, 2024
6e14acc
IONOS: Update submodule pointer for simplesettings
thlehmann-ionos Jul 9, 2024
7bd524e
IONOS: Update submodule pointer for /IONOS
thlehmann-ionos Jul 9, 2024
d51f608
IONOS: packages: set engines to Node ^20.15.0 and npm ^10.7.0
thlehmann-ionos Jul 8, 2024
72d8bc6
IONOS: Add user_oidc v5.0.3 as submodule under apps-external
thlehmann-ionos Jul 9, 2024
e360d72
IONOS: un.gitignore apps-external/user_oidc
thlehmann-ionos Jul 9, 2024
a192a06
IONOS: workflow: don't package generated dirs in apps-*
thlehmann-ionos Jul 9, 2024
16c7edc
IONOS: workflow: add build steps to build parts of apps-custom/ and a…
thlehmann-ionos Jul 8, 2024
e29e2fa
IONOS: Update submodule pointer for /IONOS
thlehmann-ionos Jul 9, 2024
6421bda
IONOS: Update submodule pointer for simplesettings
thlehmann-ionos Jul 11, 2024
0ae921e
IONOS: add our googleanalytics addon as submodule to /apps-custom
thlehmann-ionos Jul 11, 2024
f23f108
IONOS: Update submodule pointer for /IONOS
thlehmann-ionos Jul 11, 2024
df73f0f
IONOS: workflow: copy config partials over from the IONOS/ folder
thlehmann-ionos Jul 11, 2024
4026883
IONOS: Update submodule pointer for /IONOS
thlehmann-ionos Jul 11, 2024
3df5e82
IONOS: workflow: run composer install for user_oidc
thlehmann-ionos Jul 12, 2024
3a966b8
IONOS: update submodule pointer for /IONOS
bromiesTM Jul 19, 2024
dbd87d6
IONOS: Update submodule pointer for simplesettings
tanyaka Jul 23, 2024
452e8e4
IONOS(theme): add theme & header as submodule
bromiesTM Jul 24, 2024
6000d3a
IONOS(config): update submodule to enable custom theme
bromiesTM Jul 25, 2024
57faec6
IONOS(ci/build): switch to checkout v4
bromiesTM Jul 24, 2024
cea49c7
IONOS(ci/build): adds build step for ionos theme elements
bromiesTM Jul 24, 2024
d72cc23
IONOS: Update submodule pointer for external "viewer" app to v29.0.3
thlehmann-ionos Jul 30, 2024
30eec75
IONOS: Update submodule pointer for external "user_oidc" app to v6.0.1
thlehmann-ionos Jul 30, 2024
04c1d0b
IONOS(config): update submodule
bromiesTM Jul 31, 2024
a52b7b6
IONOS(theme): update submodule
bromiesTM Aug 2, 2024
8884f7f
IONOS(theme): update submodule (link to mail)
bromiesTM Aug 5, 2024
6443224
IONOS(config): update submodule (link to mail)
bromiesTM Aug 5, 2024
187f78f
IONOS(config): update submodule
bromiesTM Jul 31, 2024
51898f9
IONOS(ci): build via makefile
bromiesTM Aug 1, 2024
1d6ef36
IONOS: feat(files_sharing): confirm share deletion
printminion-co Aug 2, 2024
a744f15
IONOS(theme): update submodule (doc links)
bromiesTM Aug 9, 2024
0adc48e
IONOS(config): update submodule (doc links)
bromiesTM Aug 12, 2024
08c7833
IONOS(simplesettings): update submodule (webdav info)
bromiesTM Aug 9, 2024
515f634
IONOS(theme): update submodule (public page header)
bromiesTM Aug 14, 2024
d036064
IONOS(simplesettings): update submodule (responsive session layout)
bromiesTM Aug 14, 2024
27a6d98
IONOS(simplesettings): update submodule (app layout)
bromiesTM Aug 15, 2024
6978d3b
IONOS(theme): update submodule (guest header)
bromiesTM Aug 15, 2024
9b0d5c5
IONOS(simplesettings): update submodule (session spacing)
bromiesTM Aug 16, 2024
4fb4fce
IONOS(theme): update submodule (user-menu)
bromiesTM Aug 20, 2024
57e3033
IONOS(config): update submodule (custom-clients)
bromiesTM Aug 21, 2024
0d8b00b
IONOS(simplesettings): update submodule (custom-clients)
bromiesTM Aug 21, 2024
bbec8a3
IONOS(theme): update submodule (custom-clients)
bromiesTM Aug 21, 2024
41c2209
IONOS(config): update submodule (refactor, oidc/object-storage config…
thlehmann-ionos Aug 21, 2024
793646c
IONOS(config): switch submodule (viewer) to ionos nc-viewer
printminion-co Aug 26, 2024
3ae60f1
IONOS(config): update submodule (viewer) to v29.0.5
printminion-co Aug 26, 2024
6a6cf98
IONOS(theme): update submodule (hide file settings button)
fracado Aug 28, 2024
0fae13c
IONOS(theme): update submodule (remove link to webmail)
bromiesTM Aug 28, 2024
bf4cf81
IONOS(theme): update submodule (header darkmode)
bromiesTM Aug 29, 2024
f37f710
IONOS(viewer): update submodule (default view)
fracado Sep 3, 2024
f187098
IONOS(config): activate viewer build
printminion-co Sep 3, 2024
da5f24c
IONOS(ci/build): adds build step to build custom viewer app
printminion-co Sep 3, 2024
816d289
IONOS(build): first-time-configure configs apps - viewer
printminion-co Sep 6, 2024
3d5ddf6
IONOS(theme): update submodule (add color variable)
fracado Sep 9, 2024
9d891ea
IONOS(Viewer): update submodule (several bugfixes)
thlehmann-ionos Sep 13, 2024
7b31f02
IONOS(Viewer): update submodule (several bugfixes)
fracado Sep 17, 2024
efdad44
IONOS(simplesettings): update submodule (add quota)
bromiesTM Sep 18, 2024
5c1715c
IONOS(theme): update submodule (header search)
bromiesTM Sep 19, 2024
61f61a4
IONOS: feat(files): add SidebarQuota component
fracado Sep 16, 2024
28ddc4d
IONOS: feat(files): replace NavigationQuota with SidebarQuota
fracado Sep 16, 2024
08ec7c5
IONOS: ci(github): run build for apps changes
bromiesTM Sep 19, 2024
0e7627f
IONOS: ci(github): build nextcloud apps
bromiesTM Sep 19, 2024
a237325
IONOS(config): update submodule (nc build step)
bromiesTM Sep 20, 2024
fafedcd
IONOS(theming): add nc-theming as submodule
printminion-co Sep 16, 2024
07801a8
IONOS(ci-build): build easycloud on apps-custom changes
printminion-co Sep 19, 2024
0ab8302
IONOS(theming): update submodule (lightmode)
bromiesTM Sep 24, 2024
6407bb7
IONOS(nc-vue-icons): add nc-vue-material-design-icons as submodule
printminion-co Sep 10, 2024
c8f5e31
IONOS(nc-vue-icons): adjust folder-{open}-icon size
printminion-co Sep 10, 2024
90cb880
IONOS(nc-vue-icons): add vue icons build step to github workflow
printminion-co Sep 10, 2024
f89ff2c
IONOS(theme): update submodule (header search, npm update)
tanyaka Sep 25, 2024
3e25d42
IONOS(config): update submodule (nc build step, build nextcloud locally)
tanyaka Sep 27, 2024
0de3593
IONOS(simplesettings): update submodule (settings navigation)
bromiesTM Sep 30, 2024
370fd5b
IONOS(ci-build): build easycloud for ionos-dev30 branch
printminion-co Oct 2, 2024
0a1b6ae
IONOS(chore): add license headers
printminion-co Oct 2, 2024
3dbeefb
IONOS(chore): Update googleanalytics, nc_theming to v30
printminion-co Oct 2, 2024
b3c8dec
IONOS(chore): Update apps-external/viewer to v30.0.0
printminion-co Oct 8, 2024
8aaef66
IONOS(ci): build custom css during build process
bromiesTM Sep 27, 2024
24a52b6
IONOS(theming): update submodule (button styles)
bromiesTM Oct 18, 2024
3fcffe2
IONOS(config): update submodule (button styles)
bromiesTM Oct 18, 2024
465952a
IONOS(theming): update submodule (button styles)
tanyaka Oct 24, 2024
9def837
IONOS(search): reduce search providers via core config unified_search…
printminion-co Sep 9, 2024
13667ab
IONOS(search): set person search to be disableable
printminion-co Sep 11, 2024
5bdc875
IONOS(search): disable person search component
printminion-co Oct 22, 2024
5eb958f
IONOS(search): override translations via nc-ionos-theme theme
printminion-co Oct 22, 2024
0979ff4
IONOS(search): config allowed search providers
printminion-co Oct 22, 2024
9598c52
IONOS(theming): update submodule (button styles)
tanyaka Oct 29, 2024
05342f6
IONOS(config): update submodule pointer
thlehmann-ionos Nov 7, 2024
5a83853
IONOS(ci): build themes on pull_request
printminion-co Nov 11, 2024
a74c2ca
IONOS(theme): update submodule (change product name)
bromiesTM Nov 8, 2024
000f98e
IONOS(nc-mdi-svg): add nc-MaterialDesign-SVG as submodule
fracado Nov 5, 2024
686a819
IONOS(config): update submodule (nc-mdi-svg)
fracado Nov 5, 2024
efe4844
IONOS(nc-mdi-svg): use custom nc-MaterialDesign-SVG dist
printminion-co Nov 12, 2024
8d38a8f
IONOS(nc-mdi-js): add nc-MaterialDesign-JS as submodule
printminion-co Nov 11, 2024
49147ce
IONOS(build): switch to custom mdi icons
printminion-co Nov 11, 2024
ef5c337
IONOS(theming): update submodule (mapping for color-primary)
tanyaka Nov 21, 2024
85566a7
feat(Mailer): implement caching
thlehmann-ionos Nov 7, 2024
d7d9c7c
chore(Mailer): remove no-op local variable initilization
thlehmann-ionos Nov 7, 2024
e14f5e5
feat(Mailer): add "null" SMTP transport mode
thlehmann-ionos Oct 29, 2024
b6defc5
feat(Mailer): hide admin settings for "null" transport
thlehmann-ionos Nov 14, 2024
83815b6
IONOS(nc-nextcloud-vue): add nc-nextcloud-vue as submodule
fracado Nov 22, 2024
23fce24
IONOS(build): switch to custom nextcloud vue
fracado Nov 22, 2024
e93ac34
IONOS(build): remove original "@mdi/js", "@mdi/svg", vue-material-des…
tanyaka Dec 3, 2024
43b31a8
IONOS(config, theming, simplesettings, viewer, nc-mdi-svg) update sub…
tanyaka Dec 3, 2024
21cde23
IONOS(simplesettings): update submodule (update translations)
fracado Dec 9, 2024
34f4dcd
IONOS(nc-ionos-theme): update submodule (update translations)
fracado Dec 9, 2024
aa3edb2
IONOS(config): update submodule
bromiesTM Dec 9, 2024
0331681
IONOS(nc-mdi-svg): update submodule (additional icon mappings)
fracado Dec 9, 2024
e91aac1
IONOS(theming, simplesettings): update submodule (adjust icon size an…
fracado Dec 10, 2024
5a7d6bb
IONOS(ci): rename easycloud-build.yml to hidrive-next-build.yml
printminion-co Nov 22, 2024
3445105
IONOS(ci): use HiDrive Next in hidrive-next-build.yml
printminion-co Nov 22, 2024
825de5e
IONOS(ci): split action to build and push to ghcr.io
printminion-co Nov 26, 2024
e77877a
IONOS(feat): add ionos_processes custom app
thlehmann-ionos Oct 18, 2024
4b033b6
IONOS(config) update submodule (enable share_mail)
printminion-co Dec 12, 2024
666b32d
IONOS(viewer) update submodule pointer with remapped nextcloud-vue li…
tanyaka Dec 12, 2024
df4946a
test(files): add test for UserConfig service
printminion-co Dec 3, 2024
f99189e
fix(files): strict check of default values
printminion-co Dec 3, 2024
d8aab84
feat(files/user-config): make configs admin-configurable
bromiesTM Dec 2, 2024
41b0ef4
IONOS(theming): update submodule (hide file filters and search in nav…
tanyaka Dec 17, 2024
b982548
IONOS(files): get sidebar quota translations from 'core'
fracado Dec 16, 2024
db457d9
IONOS(theme): update submodule (provide translations)
bromiesTM Dec 17, 2024
0d95d94
IONOS(simplesettings) update submodule (provide translations)
bromiesTM Dec 17, 2024
a74dee4
IONOS(config): update submodule (swedish language)
bromiesTM Dec 17, 2024
b155000
IONOS(ci): use self-hosted runner
printminion-co Nov 20, 2024
811a01f
IONOS(theming, nc-ionos-theme): update submodules (adjust login flow …
fracado Jan 5, 2025
79d9ad6
IONOS(googleanalytics): update googleanalytics (add consent check)
printminion-co Jan 6, 2025
d8e6124
IONOS(nc-theming): update submodule (improved color structure)
bromiesTM Jan 6, 2025
8b2a602
IONOS(nc_theming, nc-mdi-svg): update submodule (adjust layout for de…
tanyaka Jan 9, 2025
b305979
IONOS(nc_ionos_processes): update submodule (add user agent with vers…
printminion-co Jan 9, 2025
e5bb4ab
IONOS(nc_theming): update submodule (adjust close navigation on mobile)
tanyaka Jan 10, 2025
eaf1c74
IONOS(serverinfo): add external app
printminion-co Jan 10, 2025
49d1992
IONOS(serverinfo): set to v30.0.4
printminion-co Jan 13, 2025
bd52b0e
IONOS(fix): files_mount: fix internal server error
printminion-co Jan 14, 2025
83fd539
IONOS(config): update submodule (macos client link)
bromiesTM Jan 16, 2025
2d4f69d
IONOS(legacy-theme): update submodule (header for external share)
bromiesTM Jan 17, 2025
431f130
IONOS(theming): update submodule (layout of external share)
bromiesTM Jan 17, 2025
f815d05
IONOS(theming&legacy theme): update submodule (external share breadcr…
bromiesTM Jan 23, 2025
bc103dc
IONOS(chore): Remap icons for external-share to custom svg icons (leg…
tanyaka Jan 14, 2025
614c28a
IONOS(nc-mdi-svg): update-submodule (update iconsmapping for external…
tanyaka Jan 16, 2025
0405387
IONOS(nc-ionos-theme): update-submodule (update icons in header of ex…
tanyaka Jan 23, 2025
7de626b
IONOS(nc_theming): update submodule(icon styles for external share)
tanyaka Jan 23, 2025
83b2c49
IONOS(nc-vue-material-design-icons): update submodule pointer to cust…
printminion-co Jan 28, 2025
4195e83
IONOS(nc-nextcloud-vue): update submodule pointer to custom v8.22.0
printminion-co Jan 28, 2025
ee3a789
IONOS(viewer): update submodule pointer to custom v30.0.5
printminion-co Jan 28, 2025
288a30e
IONOS(serverinfo): update submodule pointer to original v30.0.5
printminion-co Jan 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
186 changes: 186 additions & 0 deletions .github/workflows/hidrive-next-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
name: HiDrive Next Build

# SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
# SPDX-FileCopyrightText: 2024 STRATO AG
# SPDX-License-Identifier: AGPL-3.0-or-later

# The HiDrive Next source is packaged as a container image.
# This is a workaround because releases can not be created without tags
# and we want to be able to create snapshots from branches.

on:
pull_request:
paths:
- '.github/workflows/**'
- 'src/**'
- 'custom-npms/**'
- 'apps/**'
- 'apps/**/appinfo/info.xml'
- 'apps-custom/**'
- 'package.json'
- 'package-lock.json'
- 'themes/**'
- 'tsconfig.json'
- '**.js'
- '**.ts'
- '**.vue'
push:
branches:
- main
- master
- stable*
- ionos-dev
- ionos-dev30

env:
TARGET_PACKAGE_NAME: hidrive-next.zip
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

permissions:
contents: read

jobs:
hidrive-next-build:
runs-on: self-hosted

permissions:
contents: read
packages: write

name: hidrive-next-build
steps:
- name: Checkout server
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #v4.1.7
with:
submodules: true

- name: Set up node with version from package.json's engines
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
node-version-file: "package.json"

- name: Install Dependencies
run: sudo apt-get update && sudo apt-get install -y make zip unzip

- name: Print dependencies versions
run: make --version && node --version && npm --version

- name: Setup PHP with PECL extension
uses: shivammathur/setup-php@c541c155eee45413f5b09a52248675b1a2575231 #v2.31.1
with:
tools: composer:v2
extensions: gd, zip, curl, xml, xmlrpc, mbstring, sqlite, xdebug, pgsql, intl, imagick, gmp, apcu, bcmath, redis, soap, imap, opcache
env:
runner: self-hosted

- name: Print PHP install
run: php -i && php -m

- name: Build Nextcloud
run: make -f IONOS/Makefile build_nextcloud FONTAWESOME_PACKAGE_TOKEN=${{ secrets.FONTAWESOME_PACKAGE_TOKEN }}

- name: Install dependencies & build simplesettings app
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: make -f IONOS/Makefile build_dep_simplesettings_app

- name: Install dependencies & build viewer app
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: make -f IONOS/Makefile build_dep_viewer_app

- name: Install dependencies & build user_oidc app
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: make -f IONOS/Makefile build_dep_user_oidc_app

- name: Install dependencies for external apps nc_ionos_processes
run: make -f IONOS/Makefile build_dep_nc_ionos_processes_app

- name: Build Custom CSS
run: make -f IONOS/Makefile build_dep_theming_app

- name: Install dependencies & build IONOS theme custom elements
env:
CYPRESS_INSTALL_BINARY: 0
PUPPETEER_SKIP_DOWNLOAD: true
run: make -f IONOS/Makefile build_dep_ionos_theme

- name: Add config partials
run: make -f IONOS/Makefile add_config_partials

- name: Zip dependencies
run: make -f IONOS/Makefile zip_dependencies TARGET_PACKAGE_NAME=${{ env.TARGET_PACKAGE_NAME }}

- name: Upload artifact result for job hidrive-next-build
uses: actions/upload-artifact@v4
with:
name: hidrive_next_build_zip
path: ${{ env.TARGET_PACKAGE_NAME }}

- name: Show changes on failure
if: failure()
run: |
git status
git --no-pager diff
exit 1 # make it red to grab attention

hidirve-next-artifact-to-ghcr_io:
runs-on: ubuntu-latest

permissions:
contents: read
packages: write

name: Push artifact to ghcr.io
needs: hidrive-next-build

steps:
- name: Download artifact zip
uses: actions/download-artifact@v4
with:
name: hidrive_next_build_zip

- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: "${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}"

- name: Create Dockerfile
run: |
cat >Dockerfile << EOF
FROM busybox as builder
COPY ./${{ env.TARGET_PACKAGE_NAME }} /
WORKDIR /builder
RUN unzip /${{ env.TARGET_PACKAGE_NAME }} -d /builder

FROM scratch
WORKDIR /app
VOLUME /app
COPY --from=builder /builder /app
EOF

- name: Build and push Docker image
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

- name: Show changes on failure
if: failure()
run: |
exit 1 # make it red to grab attention
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@
/apps/files_external/3rdparty/irodsphp/prods/tutorials
/apps/files_external/3rdparty/irodsphp/prods/test*
/apps/files_external/tests/config.*.php
# IONOS: this should not be upsteamed!
!/apps-external/viewer
!/apps-external/user_oidc
!/apps-external/serverinfo
!/apps-custom/*

# apps modules
/apps/*/node_modules
Expand Down
42 changes: 42 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,45 @@
[submodule "3rdparty"]
path = 3rdparty
url = https://github.com/nextcloud/3rdparty.git
[submodule "IONOS"]
path = IONOS
url = [email protected]:IONOS-Productivity/easystorage-config.git
[submodule "apps-external/extract"]
path = apps-external/extract
url = https://github.com/PaulLereverend/NextcloudExtract
[submodule "apps-external/viewer"]
path = apps-external/viewer
url = [email protected]:IONOS-Productivity/nc-viewer.git
[submodule "apps-custom/simplesettings"]
path = apps-custom/simplesettings
url = [email protected]:IONOS-Productivity/nc-simplesettings.git
[submodule "apps-external/user_oidc"]
path = apps-external/user_oidc
url = https://github.com/nextcloud/user_oidc.git
[submodule "apps-custom/googleanalytics"]
path = apps-custom/googleanalytics
url = [email protected]:IONOS-Productivity/nc-googleanalytics.git
[submodule "themes/nc-ionos-theme"]
path = themes/nc-ionos-theme
url = [email protected]:IONOS-Productivity/nc-ionos-theme.git
[submodule "apps-custom/nc_theming"]
path = apps-custom/nc_theming
url = [email protected]:IONOS-Productivity/nc-theming.git
[submodule "custom-npms/nc-vue-material-design-icons"]
path = custom-npms/nc-vue-material-design-icons
url = [email protected]:IONOS-Productivity/nc-vue-material-design-icons.git
[submodule "custom-npms/nc-mdi-svg"]
path = custom-npms/nc-mdi-svg
url = [email protected]:IONOS-Productivity/nc-MaterialDesign-SVG.git
[submodule "custom-npms/nc-mdi-js"]
path = custom-npms/nc-mdi-js
url = [email protected]:IONOS-Productivity/nc-MaterialDesign-JS.git
[submodule "custom-npms/nc-nextcloud-vue"]
path = custom-npms/nc-nextcloud-vue
url = [email protected]:IONOS-Productivity/nc-nextcloud-vue.git
[submodule "apps-custom/nc_ionos_processes"]
path = apps-custom/nc_ionos_processes
url = [email protected]:IONOS-Productivity/nc_ionos_processes.git
[submodule "apps-external/serverinfo"]
path = apps-external/serverinfo
url = [email protected]:nextcloud/serverinfo.git
1 change: 1 addition & 0 deletions IONOS
Submodule IONOS added at 9bef88
Empty file added apps-custom/.gitkeep
Empty file.
1 change: 1 addition & 0 deletions apps-custom/googleanalytics
Submodule googleanalytics added at d81ec0
1 change: 1 addition & 0 deletions apps-custom/nc_ionos_processes
Submodule nc_ionos_processes added at 5ee4b6
1 change: 1 addition & 0 deletions apps-custom/nc_theming
Submodule nc_theming added at ea9263
1 change: 1 addition & 0 deletions apps-custom/simplesettings
Submodule simplesettings added at 87b3b5
Empty file added apps-external/.gitkeep
Empty file.
1 change: 1 addition & 0 deletions apps-external/serverinfo
Submodule serverinfo added at fef0b0
1 change: 1 addition & 0 deletions apps-external/user_oidc
Submodule user_oidc added at 40e182
1 change: 1 addition & 0 deletions apps-external/viewer
Submodule viewer added at fa0873
18 changes: 14 additions & 4 deletions apps/files/lib/Service/UserConfig.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
namespace OCA\Files\Service;

use OCA\Files\AppInfo\Application;
use OCP\AppFramework\Services\IAppConfig;
use OCP\IConfig;
use OCP\IUser;
use OCP\IUserSession;
Expand Down Expand Up @@ -53,7 +54,7 @@ class UserConfig {
protected IConfig $config;
protected ?IUser $user = null;

public function __construct(IConfig $config, IUserSession $userSession) {
public function __construct(IConfig $config, IUserSession $userSession, protected IAppConfig $appConfig) {
$this->config = $config;
$this->user = $userSession->getUser();
}
Expand Down Expand Up @@ -115,7 +116,12 @@ public function setConfig(string $key, $value): void {
throw new \InvalidArgumentException('Unknown config key');
}

if (!in_array($value, $this->getAllowedConfigValues($key))) {
$isBoolValue = filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
if ($isBoolValue !== null) {
$value = $isBoolValue;
}

if (!in_array($value, $this->getAllowedConfigValues($key), true)) {
throw new \InvalidArgumentException('Invalid config value');
}

Expand All @@ -138,8 +144,12 @@ public function getConfigs(): array {

$userId = $this->user->getUID();
$userConfigs = array_map(function (string $key) use ($userId) {
$value = $this->config->getUserValue($userId, Application::APP_ID, $key, $this->getDefaultConfigValue($key));
// If the default is expected to be a boolean, we need to cast the value
$value = $this->config->getUserValue($userId, Application::APP_ID, $key, null);
// If the default value is expected to be a boolean, we need to cast the value
if ($value === null) {
$value = $this->appConfig->getAppValueBool($key, $this->getDefaultConfigValue($key));
}

if (is_bool($this->getDefaultConfigValue($key)) && is_string($value)) {
return $value === '1';
}
Expand Down
12 changes: 4 additions & 8 deletions apps/files/src/components/FilesListVirtual.vue
Original file line number Diff line number Diff line change
Expand Up @@ -566,15 +566,11 @@ export default defineComponent({
width: var(--icon-preview-size);
height: var(--icon-preview-size);
}

// Slightly increase the size of the folder icon
// Slightly decrease the size of the folder icon
&.folder-icon,
&.folder-open-icon {
margin: -3px;
svg {
width: calc(var(--icon-preview-size) + 6px);
height: calc(var(--icon-preview-size) + 6px);
}
&.folder-open-icon svg {
width: calc(var(--icon-preview-size) - 6px);
height: calc(var(--icon-preview-size) - 6px);
}
}

Expand Down
Loading
Loading