Skip to content

Commit 0c7cc33

Browse files
committed
feat: add NC URI account setup
Add NC URI handling for account setup and provider signup flow support. Signed-off-by: Rello <github@scherello.de>
1 parent 24ddef2 commit 0c7cc33

81 files changed

Lines changed: 2117 additions & 904 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/BUG_REPORT.yml

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# SPDX-License-Identifier: GPL-2.0-or-later
33
name: "🐞 Bug report"
44
description: "Help us to improve by reporting a bug"
5+
title: "[Bug]: "
56
labels: ["bug", "0. Needs triage"]
67
type: "Bug"
78
body:
@@ -22,7 +23,7 @@ body:
2223
options:
2324
- label: This is a **bug**, not a question or a configuration issue.
2425
required: true
25-
- label: This issue is **not** already reported on Github (I have searched for it).
26+
- label: This issue is **not** already reported on Github (I've searched it).
2627
required: true
2728
- label: Nextcloud Server and Desktop Client are **up to date**. See [Server Maintenance and Release Schedule](https://github.com/nextcloud/server/wiki/Maintenance-and-Release-Schedule) and [Desktop Releases](https://nextcloud.com/install/#install-clients) for supported versions.
2829
required: true
@@ -83,19 +84,20 @@ body:
8384
id: distro
8485
attributes:
8586
label: Which version of the operating system you are running.
86-
description: In case of macOS, you can [quickly find out which version you are using as documented by Apple](https://support.apple.com/en-us/109033). In case of Linux, provide the distribution name and its version.
87+
description: In case of Linux, provide the distribution + version.
8788
placeholder: Windows 11
8889
validations:
8990
required: true
9091
- type: dropdown
9192
id: install-method
9293
attributes:
93-
label: Installation method
94-
description: Select the method you have used to install the Nextcloud Desktop Client.
94+
label: Package
95+
description: Select installation method you used.
9596
options:
9697
- "Official Linux AppImage"
9798
- "Official Windows MSI"
98-
- "Official Installer for macOS 13 and later"
99+
- "Official macOS 12+ universal pkg"
100+
- "Official macOS Virtual files 12+ universal pkg"
99101
- "Community PPA (please test with the AppImage package ?)"
100102
- "Community FlatPak (please test with the AppImage package ?)"
101103
- "Community SNAP package (please test with the AppImage package ?)"
@@ -109,37 +111,37 @@ body:
109111
attributes:
110112
label: Nextcloud Server version
111113
description: Nextcloud Server version.
112-
placeholder: 33.0.0
114+
placeholder: 28.0.5
113115
validations:
114116
required: true
115117
- type: input
116118
id: client-version
117119
attributes:
118120
label: Nextcloud Desktop Client version
119121
description: Nextcloud Desktop Client version.
120-
placeholder: 33.0.0
122+
placeholder: 3.16.0
121123
validations:
122124
required: true
123125
- type: dropdown
124126
id: fresh
125127
attributes:
126-
label: Did this occur after an update or on a clean installation?
127-
description: Select if bug is present after an app update or on a clean installation without the client being installed before.
128+
label: Is this bug present after an update or on a fresh install?
129+
description: Select if bug is present after an update or on a fresh install.
128130
options:
129-
- "Minor version update (i.e. 33.0.0 → 33.0.1)"
130-
- "Major version update (i.e. 4.0.0 → 33.0.0)"
131-
- "Clean desktop client installation"
131+
- "Updated from a minor version (ex. 3.16.1 to 3.16.2)"
132+
- "Updated to a major version (ex. 3.16.3 to 3.17.0)"
133+
- "Fresh desktop client install"
132134
validations:
133135
required: true
134136
- type: dropdown
135137
id: encryption
136138
attributes:
137139
label: Are you using the Nextcloud Server Encryption module?
138140
description: |
139-
Select whether encryption is enabled on your Nextcloud Server or not.
141+
Select if encryption is Enabled on your Nextcloud Server.
140142
options:
141-
- "Yes"
142-
- "No"
143+
- "Encryption is Enabled"
144+
- "Encryption is Disabled"
143145
validations:
144146
required: true
145147
- type: checkboxes
@@ -151,7 +153,7 @@ body:
151153
Describe in the "Additional info" section if you chose "Other".
152154
options:
153155
- label: "Default internal user-backend"
154-
- label: "LDAP or Active Directory"
156+
- label: "LDAP/ Active Directory"
155157
- label: "SSO - SAML"
156158
- label: "Other"
157159
validations:
@@ -162,8 +164,8 @@ body:
162164
label: Nextcloud Server logs
163165
description: |
164166
Provide Nextcloud Server logs lines.
165-
Copy all contents from `data/nextcloud.log` or a RAW from `/settings/admin/logging` section.
166-
> NOTE: This will be automatically formatted as code. Alternatively, you can attach the file to the issue.
167+
Copy all contents from `data/nextcloud.log` or a RAW from `/settings/admin/logging` section:
168+
> NOTE: This will be automatically formatted into code or attach the file to the issue.
167169
render: shell
168170
validations:
169171
required: false
@@ -180,7 +182,7 @@ body:
180182
## :warning: Desktop Client Logs
181183
Under the "General" settings, you can click on **"Create Debug Archive"** to pick the location of where the desktop client will export the logs and the database to a zip file: https://docs.nextcloud.com/server/latest/admin_manual/desktop/troubleshooting.html#create-debug-archive
182184
> Please attach the debug archive to this issue. You can edit it down to the bug report time window to reduce size.
183-
> Please note that the debug archive might include sensitive data. Review before publishing.
185+
> Please note that the debug archive might include sensitive date. Review befor publishing
184186
- type: markdown
185187
attributes:
186188
value: |

.github/workflows/nextcloudfileproviderkit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ jobs:
3939
xcode-version: latest-stable
4040

4141
- name: Run Tests
42-
run: xcodebuild clean build test -scheme NextcloudFileProviderKit-Package -destination "platform=macOS,name=My Mac"
42+
run: xcodebuild clean build test -scheme NextcloudFileProviderKit -destination "platform=macOS,name=My Mac"

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ build*
1818
cscope.*
1919
tags
2020
t1.cfg
21+
.idea
2122

2223
## Ignore Visual Studio Code config & environment files
2324

REUSE.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ SPDX-FileCopyrightText = "2025 Nextcloud GmbH and Nextcloud contributors"
6060
SPDX-License-Identifier = "GPL-2.0-or-later"
6161

6262
[[annotations]]
63-
path = ["shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/Localizable.xcstrings", "shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/Assets.xcassets/*", "shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/Assets.xcassets/FileProviderDomainSymbol.symbolset/*", "shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/Assets.xcassets/*", "shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/Assets.xcassets/FileProviderDomainSymbol.symbolset/*"]
63+
path = ["shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/Localizable.xcstrings", "shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/Localizable.xcstrings", "shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/Assets.xcassets/*", "shell_integration/MacOSX/NextcloudIntegration/FileProviderExt/Assets.xcassets/FileProviderDomainSymbol.symbolset/*", "shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/Assets.xcassets/*", "shell_integration/MacOSX/NextcloudIntegration/FileProviderUIExt/Assets.xcassets/FileProviderDomainSymbol.symbolset/*"]
6464
precedence = "aggregate"
6565
SPDX-FileCopyrightText = "2015 ownCloud GmbH, 2022 Nextcloud GmbH and Nextcloud contributors"
6666
SPDX-License-Identifier = "GPL-2.0-or-later"

admin/osx/post_install.sh.cmake

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,4 @@ if [ -x "$(command -v pluginkit)" ]; then
1414
pluginkit -e use -i @APPLICATION_REV_DOMAIN@.FinderSyncExt
1515
fi
1616

17-
# Remove legacy LaunchAgent plist from all users if present, became obsolete with version 33.0.0
18-
dscl . -list /Users NFSHomeDirectory 2>/dev/null | awk '{print $2}' | while read -r USER_HOME; do
19-
LAUNCH_AGENT_PLIST="$USER_HOME/Library/LaunchAgents/@APPLICATION_REV_DOMAIN@.plist"
20-
21-
if [ -f "$LAUNCH_AGENT_PLIST" ]; then
22-
rm "$LAUNCH_AGENT_PLIST"
23-
fi
24-
done
25-
2617
exit 0

shell_integration/MacOSX/NextcloudFileProviderKit/.tx/config

Lines changed: 0 additions & 13 deletions
This file was deleted.

shell_integration/MacOSX/NextcloudFileProviderKit/Package.swift

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,6 @@ let package = Package(
1515
.library(
1616
name: "NextcloudFileProviderKit",
1717
targets: ["NextcloudFileProviderKit"]
18-
),
19-
.library(
20-
name: "NextcloudFileProviderXPC",
21-
targets: ["NextcloudFileProviderXPC"]
2218
)
2319
],
2420
dependencies: [
@@ -31,21 +27,12 @@ let package = Package(
3127
targets: [
3228
// Targets are the basic building blocks of a package, defining a module or a test suite.
3329
// Targets can depend on other targets in this package and products from dependencies.
34-
.target(
35-
name: "NextcloudFileProviderXPC",
36-
path: "Sources/NextcloudFileProviderXPC",
37-
publicHeadersPath: "include"
38-
),
3930
.target(
4031
name: "NextcloudFileProviderKit",
4132
dependencies: [
42-
"NextcloudFileProviderXPC",
4333
.product(name: "NextcloudCapabilitiesKit", package: "NextcloudCapabilitiesKit"),
4434
.product(name: "NextcloudKit", package: "NextcloudKit"),
4535
.product(name: "RealmSwift", package: "realm-swift")
46-
],
47-
resources: [
48-
.process("Resources")
4936
]
5037
),
5138
.target(

shell_integration/MacOSX/NextcloudFileProviderKit/README.md

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -49,55 +49,6 @@ You can run the following command in the root of the package repository clone:
4949
swift package plugin --allow-writing-to-package-directory swiftformat --verbose --cache ignore
5050
```
5151

52-
### Localization
53-
54-
Transifex is used for localization.
55-
These localizations are excluded from our usual and automated translation flow due to how Transifex synchronizes Xcode string catalogs and the danger of data loss.
56-
To pull updated localizations from Transifex into the Xcode project manually, follow the steps below.
57-
58-
#### Configuration
59-
60-
The dedicated [`.tx/config`](.tx/config) file is used.
61-
62-
### Pulling Translations
63-
64-
Run this in the "NextcloudFileProviderKit" package folder of your repository clone:
65-
66-
```sh
67-
tx pull --force --all --mode=translator
68-
```
69-
70-
The `translator` mode is important here and for later, so unreviewed strings are included and not accidentally deleted.
71-
See [the official Transifex documentation on Xcode string catalogs and download modes](https://help.transifex.com/en/articles/9459174-xcode-strings-catalogs-xcstrings#h_786f60d73b).
72-
Do not commit the changes string catalogs, they need to be processed first.
73-
74-
#### Sanitize Translations
75-
76-
Transifex returns empty strings for keys with untranslated localizations.
77-
To remove them, we use the Swift command-line utility [TransifexStringCatalogSanitizer](../TransifexStringCatalogSanitizer/).
78-
See its dedicated README for usage instructions.
79-
Use it for all updated Xcode string catalogs.
80-
81-
#### Summary
82-
83-
```sh
84-
tx pull --force --all --mode=translator
85-
swift run --package-path=../TransifexStringCatalogSanitizer TransifexStringCatalogSanitizer ./Sources/NextcloudFileProviderKit/Resources/Localizable.xcstrings
86-
```
87-
88-
### Pushing Translations
89-
90-
**Follow this section carefully to the end before performing any steps of it.**
91-
The way Transifex handles Xcode string catalogs poses a high risk of accidentally deleting already available and finished translations on Transifex because pushing an Xcode string catalog overwrites the online state with the catalog as it is.
92-
This means that changes on Transifex must be integrated locally first to avoid data loss, before the then updated local Xcode string catalog can be pushed to Transifex.
93-
94-
1. Perform the steps in the previous section about pulling translations.
95-
2. Build the extensions in Xcode. This causes the compiler to update the string catalogs based on the current source code by automatically recognizing localizable texts. As of writing, the "desktopclient" scheme is a good choice because it builds both file provider extensions as dependencies.
96-
3. Run the `TransifexStringCatalogSanitizer` over both string catalogs as in the previous section.
97-
4. Inspect the changes in the string catalogs in a Git diff or whatever tool you use for that task. Verify the plausibility of each change.
98-
5. Run `tx push` in the "NextcloudIntegration" directory.
99-
6. Check Transifex to have received the new keys and deleted the obsolete ones.
100-
10152
## License
10253

10354
This project is licensed under the LGPLv3 License. See the [LICENSE](LICENSE) file for more details.

shell_integration/MacOSX/NextcloudFileProviderKit/REUSE.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ path = [
2121
".swiftformat",
2222
".swift-version",
2323
"Package.swift",
24-
"Sources/NextcloudFileProviderKit/Documentation.docc/theme-settings.json",
25-
"Sources/NextcloudFileProviderKit/Resources/Localizable.xcstrings"
24+
"Sources/NextcloudFileProviderKit/Documentation.docc/theme-settings.json"
2625
]
2726
precedence = "aggregate"
2827
SPDX-FileCopyrightText = "2025 Nextcloud GmbH and Nextcloud contributors"

shell_integration/MacOSX/NextcloudFileProviderKit/Sources/NextcloudFileProviderKit/Extension/FileProviderExtension+NSFileProviderServicing.swift

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)