Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1450 commits
Select commit Hold shift + click to select a range
40ad427
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana Sep 12, 2024
dfe6526
"Enforce servers" brand option (#3042)
mpivchev Sep 12, 2024
1bd40a4
imp.
marinofaggiana Sep 12, 2024
86a8483
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana Sep 12, 2024
f04a11b
enforce_servers comments
marinofaggiana Sep 12, 2024
fec5701
enforce_servers in one line
tobiasKaminsky Sep 12, 2024
96bc076
Merge pull request #3052 from nextcloud/enforceServerOneLine
tobiasKaminsky Sep 12, 2024
c85766e
Fix imp (#3053)
marinofaggiana Sep 12, 2024
b37a75d
Fix(l10n): Update translations from Transifex
nextcloud-bot Sep 13, 2024
1685065
Zoom (#3054)
marinofaggiana Sep 13, 2024
f134a2d
Fix(l10n): Update translations from Transifex
nextcloud-bot Sep 14, 2024
e9f24b8
Improvements (#3055)
marinofaggiana Sep 14, 2024
14cd687
cleaning
marinofaggiana Sep 14, 2024
c3fdf31
fix Localizable
marinofaggiana Sep 14, 2024
8618c0b
nooo limit
marinofaggiana Sep 14, 2024
c521dcc
Fix(l10n): Update translations from Transifex
nextcloud-bot Sep 15, 2024
073c651
revert zoom option
marinofaggiana Sep 15, 2024
84814ad
convertLivePhoto
marinofaggiana Sep 15, 2024
8aed03d
createMenuNEW
marinofaggiana Sep 15, 2024
740488a
createMenuNEW
marinofaggiana Sep 15, 2024
6be99e2
+ limit
marinofaggiana Sep 15, 2024
d11f318
test 10
marinofaggiana Sep 15, 2024
9272511
cod
marinofaggiana Sep 15, 2024
03e38fc
retension timer
marinofaggiana Sep 15, 2024
093cee4
previewExt64
marinofaggiana Sep 15, 2024
e034388
optimization
marinofaggiana Sep 15, 2024
417af5e
Fix(l10n): Update translations from Transifex
nextcloud-bot Sep 16, 2024
96a978a
cod
marinofaggiana Sep 16, 2024
707f334
Leaks
marinofaggiana Sep 16, 2024
38636b4
fix new cell
marinofaggiana Sep 16, 2024
8895577
cache improved
marinofaggiana Sep 16, 2024
940b7f3
handleMemoryWarning
marinofaggiana Sep 16, 2024
5236f49
improvements
marinofaggiana Sep 16, 2024
3fe6306
remove old media menu
marinofaggiana Sep 16, 2024
1a46e62
changed limit
marinofaggiana Sep 16, 2024
506473f
rename
marinofaggiana Sep 16, 2024
eb71284
Nc collection view common improvements (#3057)
marinofaggiana Sep 16, 2024
c4e84ec
change limit
marinofaggiana Sep 16, 2024
3c475ab
Fix(l10n): Update translations from Transifex
nextcloud-bot Sep 17, 2024
abda4f4
manual zoom
marinofaggiana Sep 17, 2024
a2f1c1a
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana Sep 17, 2024
2762443
Pushnotification (#3058)
marinofaggiana Sep 17, 2024
7c5ba88
Build 13
marinofaggiana Sep 17, 2024
4a8a1a8
clean old code
marinofaggiana Sep 17, 2024
929ff40
Media improvements (#3059)
marinofaggiana Sep 17, 2024
12d7345
build 14
marinofaggiana Sep 17, 2024
9cc906c
improvements
marinofaggiana Sep 17, 2024
8cee943
Fix(l10n): Update translations from Transifex
nextcloud-bot Sep 18, 2024
bdc9879
fix
marinofaggiana Sep 18, 2024
884c8ec
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana Sep 18, 2024
1a340c1
cod
marinofaggiana Sep 18, 2024
a960ef3
cod
marinofaggiana Sep 18, 2024
cbd9d56
added cost
marinofaggiana Sep 18, 2024
ec0e31d
cod (#3060)
marinofaggiana Sep 18, 2024
312fa9f
cleaning
marinofaggiana Sep 18, 2024
88717ec
Fix(l10n): Update translations from Transifex
nextcloud-bot Sep 19, 2024
7f28037
Media (#3061)
marinofaggiana Sep 19, 2024
58c48a7
for enforce screen
marinofaggiana Sep 19, 2024
571e18d
Varie (#3063)
marinofaggiana Sep 19, 2024
9ed11cd
added hasSynchronizationTask
marinofaggiana Sep 19, 2024
b490edb
added test for async image cell
marinofaggiana Sep 19, 2024
efb9351
color
marinofaggiana Sep 20, 2024
2ed2fb9
rename to fileSelect
marinofaggiana Sep 20, 2024
47df2b6
Improvements (#3066)
marinofaggiana Sep 20, 2024
09d2094
Improvements (#3067)
marinofaggiana Sep 20, 2024
f670e3c
remove 64
marinofaggiana Sep 20, 2024
2c7c9cb
some improvement
marinofaggiana Sep 20, 2024
5546804
some improvement
marinofaggiana Sep 20, 2024
12e021d
Fix x code16 i os18 (#3068)
marinofaggiana Sep 22, 2024
7c8d8fa
remove old 128
marinofaggiana Sep 22, 2024
72762ac
build 15
marinofaggiana Sep 22, 2024
853a2e9
remove old menu
marinofaggiana Sep 22, 2024
a448dfc
Performance (#3071)
marinofaggiana Sep 23, 2024
5381a29
cod
marinofaggiana Sep 23, 2024
956ccd8
cleaning
marinofaggiana Sep 23, 2024
77afe88
Activity/Comment cell fixes (#3064)
mpivchev Sep 23, 2024
2ea1c67
I os18 fix (#3072)
marinofaggiana Sep 23, 2024
a0ae82c
build 17
marinofaggiana Sep 23, 2024
10cee16
Cell (#3073)
marinofaggiana Sep 24, 2024
04ede45
import TOPasscodeViewController code
marinofaggiana Sep 24, 2024
4eb2c82
carhage removed
marinofaggiana Sep 24, 2024
9f37f50
README
marinofaggiana Sep 24, 2024
f2e776a
Build 18
marinofaggiana Sep 24, 2024
396dc76
use develop NextcloudKit
marinofaggiana Sep 24, 2024
b9866d1
iPad
marinofaggiana Sep 24, 2024
51c7ded
code improved
marinofaggiana Sep 24, 2024
05f02cd
Pinch Gesture improved
marinofaggiana Sep 24, 2024
c4d889d
normalized
marinofaggiana Sep 24, 2024
87eb276
Fix(l10n): Update translations from Transifex
nextcloud-bot Sep 25, 2024
2ade09d
improved downloadAvatar
marinofaggiana Sep 25, 2024
e6dd819
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana Sep 25, 2024
2be2688
fix
marinofaggiana Sep 25, 2024
cfdce69
avatar improved
marinofaggiana Sep 25, 2024
0b2f14d
build 19
marinofaggiana Sep 25, 2024
d83cdbe
activity table fix
marinofaggiana Sep 25, 2024
388186e
cleaning old code
marinofaggiana Sep 25, 2024
005924a
cod
marinofaggiana Sep 26, 2024
d89abab
revert code
marinofaggiana Sep 26, 2024
0c05e6b
Build 20
marinofaggiana Sep 26, 2024
98188a2
cod (#3078)
marinofaggiana Sep 26, 2024
d20f125
cleaning
marinofaggiana Sep 26, 2024
e2b1f19
improved code
marinofaggiana Sep 26, 2024
af3970b
e2ee delete
marinofaggiana Sep 27, 2024
3d28601
Delete (#3079)
marinofaggiana Sep 27, 2024
41b706b
build 21
marinofaggiana Sep 27, 2024
7599ae3
improvement
marinofaggiana Sep 27, 2024
fbf0232
code improved
marinofaggiana Sep 27, 2024
0d49dce
code improved
marinofaggiana Sep 27, 2024
3963a97
Fix(l10n): Update translations from Transifex
nextcloud-bot Sep 28, 2024
55c5edc
calculateMaxImages
marinofaggiana Sep 28, 2024
c00c520
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana Sep 28, 2024
89c2ebf
change Localizzazion
marinofaggiana Sep 28, 2024
50ef321
cleaning
marinofaggiana Sep 28, 2024
d5d51b5
Fix(l10n): Update translations from Transifex
nextcloud-bot Sep 29, 2024
377bad4
improvements (#3080)
marinofaggiana Sep 29, 2024
266bed8
fix
marinofaggiana Sep 29, 2024
f01cefc
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana Sep 29, 2024
b3a3431
fix
marinofaggiana Sep 29, 2024
7911e06
Fix(l10n): Update translations from Transifex
nextcloud-bot Sep 30, 2024
5798532
layout fix
marinofaggiana Sep 30, 2024
dce3a39
Layout (#3083)
marinofaggiana Sep 30, 2024
4409ad3
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 1, 2024
9ea9f05
Improvements (#3084)
marinofaggiana Oct 1, 2024
548a44d
build 22
marinofaggiana Oct 1, 2024
e560329
fix
marinofaggiana Oct 1, 2024
d17cc73
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 2, 2024
eaff576
revert
marinofaggiana Oct 2, 2024
a379b99
added getCacheMetadata
marinofaggiana Oct 2, 2024
eddb038
code improvements
marinofaggiana Oct 2, 2024
0f044a2
build 23
marinofaggiana Oct 2, 2024
6b97d2c
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 3, 2024
bcdb595
Offline rename (#3086)
marinofaggiana Oct 3, 2024
5af7ca7
UI improvements (#3088)
marinofaggiana Oct 3, 2024
9dcfcca
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 4, 2024
f3e89cc
cleaning old code
marinofaggiana Oct 4, 2024
9cdebc7
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 5, 2024
04d0836
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 6, 2024
eeca88b
Layout (#3090)
marinofaggiana Oct 6, 2024
b492e06
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 7, 2024
3c1b092
Improvements reload (#3092)
marinofaggiana Oct 7, 2024
1c28efe
Add option to keep screen on while transferring files (#3062)
mpivchev Oct 7, 2024
c095c37
WIP (#3093)
mpivchev Oct 7, 2024
dea7328
Build 24
marinofaggiana Oct 7, 2024
228fa35
fix theming color
marinofaggiana Oct 7, 2024
f972587
Varie bug fix (#3095)
marinofaggiana Oct 7, 2024
9f6ad72
name changed
marinofaggiana Oct 7, 2024
346cc44
cahnge name func
marinofaggiana Oct 7, 2024
d093ebf
cleaning
marinofaggiana Oct 7, 2024
9f623c8
fix delete
marinofaggiana Oct 7, 2024
8375286
WIO (#3096)
mpivchev Oct 7, 2024
426e5ae
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 8, 2024
8f1dd81
background
marinofaggiana Oct 8, 2024
cfab5ae
URLCache.shared.removeAllCachedResponses
marinofaggiana Oct 8, 2024
5ce51f5
build 25
marinofaggiana Oct 8, 2024
fd23471
removeAllCachedResponses
marinofaggiana Oct 8, 2024
0ed7ccd
Add optional checks for space/periods when renaming, depending on ser…
mpivchev Oct 8, 2024
ee3e51c
3094 offline crud copy move favorite (#3098)
marinofaggiana Oct 8, 2024
6fd30b5
cleaning code
marinofaggiana Oct 8, 2024
51db0dc
fix
marinofaggiana Oct 8, 2024
f996fde
build 26
marinofaggiana Oct 8, 2024
b5ed5fc
lint
marinofaggiana Oct 8, 2024
3dee62e
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 9, 2024
d387483
Bugfix (#3100)
marinofaggiana Oct 9, 2024
917b332
improvements
marinofaggiana Oct 9, 2024
2a8be10
fix
marinofaggiana Oct 9, 2024
7a23bd1
add ctrl
marinofaggiana Oct 9, 2024
839ca5e
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 10, 2024
95e5ae1
3094 offline crud copy move (#3104)
marinofaggiana Oct 10, 2024
3e006df
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 11, 2024
1a16e3f
notificationCenterReloadDataSource added clearDataSource
marinofaggiana Oct 11, 2024
9bfc733
cleaning
marinofaggiana Oct 11, 2024
d8fb1d8
new build
marinofaggiana Oct 11, 2024
5ce5310
fix 28
marinofaggiana Oct 11, 2024
b6abdee
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 12, 2024
4dbf955
fix(l18n): Fixed typo (#3106)
rakekniven Oct 12, 2024
13e261c
cleaning
marinofaggiana Oct 12, 2024
4affd4e
new build
marinofaggiana Oct 12, 2024
434ef4d
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 13, 2024
4ca2b74
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 14, 2024
64b22e8
Response (#3108)
marinofaggiana Oct 14, 2024
b675aee
Response data changed (#3109)
marinofaggiana Oct 14, 2024
af5480a
Build 30
marinofaggiana Oct 14, 2024
0947e90
fix
marinofaggiana Oct 14, 2024
ad13da9
fix
marinofaggiana Oct 14, 2024
53fa4f8
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 15, 2024
456f8fc
fix favorite
marinofaggiana Oct 15, 2024
49d0e7a
fix crashlog.crash
marinofaggiana Oct 15, 2024
69d203d
set LSMinimumSystemVersion
marinofaggiana Oct 15, 2024
462c40e
Updated sessionDate
marinofaggiana Oct 15, 2024
6014658
Improved code
marinofaggiana Oct 15, 2024
8cff7ca
Build 31
marinofaggiana Oct 15, 2024
cf34dea
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 16, 2024
6af8708
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 17, 2024
5f66d98
test
marinofaggiana Oct 17, 2024
bf1af8a
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana Oct 17, 2024
8fac8ab
build 32
marinofaggiana Oct 17, 2024
792af36
Build 33
marinofaggiana Oct 17, 2024
17adff6
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 18, 2024
debff6e
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 19, 2024
af086ad
clean
marinofaggiana Oct 19, 2024
9db3cb5
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana Oct 19, 2024
e63858a
disable keep screen awake (conflict with VLC)
marinofaggiana Oct 19, 2024
beb339c
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 20, 2024
e48d7b5
build 34
marinofaggiana Oct 20, 2024
25e6621
Merge branch 'develop' of https://github.com/nextcloud/ios into develop
marinofaggiana Oct 20, 2024
26a44cf
update nextcloudKit
marinofaggiana Oct 20, 2024
a047a13
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 21, 2024
bd94633
Nextcloud x e2 ee signature (#3116)
marinofaggiana Oct 21, 2024
07a937e
NCScan added check array
marinofaggiana Oct 21, 2024
a4a8404
build 35
marinofaggiana Oct 21, 2024
b6f6126
fixed showSourceCode for Brand
marinofaggiana Oct 21, 2024
dc721df
Added internal option disable_source_code_in_settings
marinofaggiana Oct 21, 2024
b6f6c0c
RESPONSE ERROR - CENTRALIZED
marinofaggiana Oct 21, 2024
4e32cc1
comment
marinofaggiana Oct 21, 2024
e84cae9
fix
marinofaggiana Oct 21, 2024
b0fce75
Fix scrolling bug (#3117)
mpivchev Oct 21, 2024
dbe8e8e
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 22, 2024
1a5a281
Update localization
marinofaggiana Oct 22, 2024
d99c1e7
Nextcloudkit 5.0
marinofaggiana Oct 22, 2024
a7532a2
Fix polling timer not stopping
mpivchev Oct 22, 2024
900b187
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 23, 2024
c277bef
Test: In background max 2 upload otherwise iOS Termination Reason: RU…
marinofaggiana Oct 23, 2024
4e55fd3
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 24, 2024
2f93550
Merge remote-tracking branch 'origin/master' into develop
marinofaggiana Oct 24, 2024
4adbbbc
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 25, 2024
116f5e3
Quey metadata status hide in view (#3126)
marinofaggiana Oct 25, 2024
48e4e89
V 6.0.1
marinofaggiana Oct 25, 2024
959e715
added timing
marinofaggiana Oct 25, 2024
6d2ef8b
DB normalized
marinofaggiana Oct 25, 2024
901296f
cleaning code
marinofaggiana Oct 25, 2024
61a6ebe
Improvements (#3127)
marinofaggiana Oct 25, 2024
853171c
Ignore screen awake when media playing (#3128)
mpivchev Oct 25, 2024
a2a8e86
V 6.1.0
marinofaggiana Oct 25, 2024
0f626fa
add option to sync favorites only (#3105)
sp00ktober Oct 25, 2024
d2d084d
lint
marinofaggiana Oct 25, 2024
e20b799
code improved
marinofaggiana Oct 25, 2024
ff5ef12
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 26, 2024
1fd097b
3097 make copy with copy button within same folder (#3130)
marinofaggiana Oct 26, 2024
a0c85a0
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 27, 2024
14c8391
https://github.com/nextcloud/ios/issues/3131
marinofaggiana Oct 27, 2024
11a47e4
https://github.com/nextcloud/ios/issues/3129
marinofaggiana Oct 27, 2024
c5dd9e8
fix reload data source
marinofaggiana Oct 27, 2024
61e821b
build 1
marinofaggiana Oct 27, 2024
5627e3c
Select create folder (#3133)
marinofaggiana Oct 28, 2024
9127141
build 2
marinofaggiana Oct 28, 2024
0bc3d3f
Autoupload favorite (#3135)
marinofaggiana Oct 28, 2024
e395dfb
3134 bug unable to share a document in offline mode (#3136)
marinofaggiana Oct 28, 2024
7d96c24
Fix(l10n): Update translations from Transifex
nextcloud-bot Oct 29, 2024
b81a386
build 4 - closed
marinofaggiana Oct 29, 2024
dbb7772
Merge remote-tracking branch 'origin/master' into develop
marinofaggiana Oct 29, 2024
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
2 changes: 1 addition & 1 deletion Brand/Database.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ import Foundation
// Database Realm
//
let databaseName = "nextcloud.realm"
let databaseSchemaVersion: UInt64 = 365
let databaseSchemaVersion: UInt64 = 366
8 changes: 4 additions & 4 deletions Nextcloud.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -5682,7 +5682,7 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 36;
CURRENT_PROJECT_VERSION = 4;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = NKUJUXUJ3B;
ENABLE_STRICT_OBJC_MSGSEND = YES;
Expand All @@ -5709,7 +5709,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 6.0.0;
MARKETING_VERSION = 6.1.0;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = "-v";
OTHER_LDFLAGS = "";
Expand Down Expand Up @@ -5748,7 +5748,7 @@
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 36;
CURRENT_PROJECT_VERSION = 4;
DEVELOPMENT_TEAM = NKUJUXUJ3B;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
Expand All @@ -5772,7 +5772,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 6.0.0;
MARKETING_VERSION = 6.1.0;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = "-v";
OTHER_LDFLAGS = "";
Expand Down
4 changes: 2 additions & 2 deletions Share/NCShareExtension+Files.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ import NextcloudKit
extension NCShareExtension {
@objc func reloadDatasource(withLoadFolder: Bool) {
let predicate = NSPredicate(format: "account == %@ AND serverUrl == %@ AND directory == true", session.account, serverUrl)
let results = self.database.getResultsMetadatasPredicate(predicate, layoutForView: NCDBLayoutForView())
let metadatas = self.database.getResultsMetadatasPredicate(predicate, layoutForView: NCDBLayoutForView())

self.dataSource = NCCollectionViewDataSource(results: results)
self.dataSource = NCCollectionViewDataSource(metadatas: metadatas)

if withLoadFolder {
loadFolder()
Expand Down
2 changes: 1 addition & 1 deletion iOSClient/Color/NCColorPicker.swift
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ class NCColorPicker: UIViewController {
func updateColor(hexColor: String?) {
if let metadata = metadata {
let serverUrl = metadata.serverUrl + "/" + metadata.fileName
NCManageDatabase.shared.setDirectory(serverUrl: serverUrl, colorFolder: hexColor, metadata: metadata)
NCManageDatabase.shared.updateDirectoryColorFolder(hexColor, metadata: metadata, serverUrl: serverUrl)
self.dismiss(animated: true)
NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterReloadDataSource, userInfo: ["serverUrl": metadata.serverUrl, "clearDataSource": true])
}
Expand Down
1 change: 1 addition & 0 deletions iOSClient/Data/NCManageDatabase+Account.swift
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class tableAccount: Object {
@objc dynamic var autoUploadFull: Bool = false
@objc dynamic var autoUploadImage: Bool = false
@objc dynamic var autoUploadVideo: Bool = false
@objc dynamic var autoUploadFavoritesOnly: Bool = false
@objc dynamic var autoUploadWWAnPhoto: Bool = false
@objc dynamic var autoUploadWWAnVideo: Bool = false
@objc dynamic var backend = ""
Expand Down
53 changes: 28 additions & 25 deletions iOSClient/Data/NCManageDatabase+Directory.swift
Original file line number Diff line number Diff line change
Expand Up @@ -76,16 +76,6 @@ extension NCManageDatabase {
}
}

func addDirectory(directory: tableDirectory, metadata: tableMetadata) {
directory.account = metadata.account
directory.e2eEncrypted = metadata.e2eEncrypted
directory.favorite = metadata.favorite
directory.fileId = metadata.fileId
directory.ocId = metadata.ocId
directory.permissions = metadata.permissions
directory.richWorkspace = metadata.richWorkspace
}

func deleteDirectoryAndSubDirectory(serverUrl: String, account: String) {
#if !EXTENSION
DispatchQueue.main.async {
Expand All @@ -101,11 +91,15 @@ extension NCManageDatabase {
do {
let realm = try Realm()
let results = realm.objects(tableDirectory.self).filter("account == %@ AND serverUrl BEGINSWITH %@", account, serverUrl)
for result in results {
self.deleteMetadata(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", result.account, result.serverUrl))
self.deleteLocalFileOcId(result.ocId)
}
try realm.write {
for result in results {
let metadatas = realm.objects(tableMetadata.self).filter("account == %@ AND serverUrl == %@", account, result.serverUrl)
for metadata in metadatas {
let localFile = realm.objects(tableLocalFile.self).filter("ocId == %@", metadata.ocId)
realm.delete(localFile)
}
realm.delete(metadatas)
}
realm.delete(results)
}
} catch let error {
Expand Down Expand Up @@ -216,9 +210,17 @@ extension NCManageDatabase {
result.offline = offline
} else {
let directory = tableDirectory()

directory.account = metadata.account
directory.serverUrl = serverUrl
directory.offline = offline
addDirectory(directory: directory, metadata: metadata)
directory.e2eEncrypted = metadata.e2eEncrypted
directory.favorite = metadata.favorite
directory.fileId = metadata.fileId
directory.ocId = metadata.ocId
directory.permissions = metadata.permissions
directory.richWorkspace = metadata.richWorkspace

realm.add(directory, update: .all)
}
}
Expand All @@ -239,8 +241,7 @@ extension NCManageDatabase {
}
}

@discardableResult
func setDirectory(serverUrl: String, richWorkspace: String?, account: String) -> tableDirectory? {
func updateDirectoryRichWorkspace(_ richWorkspace: String?, account: String, serverUrl: String) {
var result: tableDirectory?

do {
Expand All @@ -252,25 +253,27 @@ extension NCManageDatabase {
} catch let error {
NextcloudKit.shared.nkCommonInstance.writeLog("[ERROR] Could not write to database: \(error)")
}

if let result = result {
return tableDirectory.init(value: result)
} else {
return nil
}
}

func setDirectory(serverUrl: String, colorFolder: String?, metadata: tableMetadata) {
func updateDirectoryColorFolder(_ colorFolder: String?, metadata: tableMetadata, serverUrl: String) {
do {
let realm = try Realm()
try realm.write {
if let result = realm.objects(tableDirectory.self).filter("account == %@ AND serverUrl == %@", metadata.account, serverUrl).first {
result.colorFolder = colorFolder
} else {
let directory = tableDirectory()

directory.account = metadata.account
directory.serverUrl = serverUrl
directory.colorFolder = colorFolder
addDirectory(directory: directory, metadata: metadata)
directory.e2eEncrypted = metadata.e2eEncrypted
directory.favorite = metadata.favorite
directory.fileId = metadata.fileId
directory.ocId = metadata.ocId
directory.permissions = metadata.permissions
directory.richWorkspace = metadata.richWorkspace

realm.add(directory)
}
}
Expand Down
62 changes: 50 additions & 12 deletions iOSClient/Data/NCManageDatabase+Metadata.swift
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@
}

var isAvailableRichDocumentEditorView: Bool {
guard (classFile == NKCommon.TypeClassFile.document.rawValue),

Check warning on line 300 in iOSClient/Data/NCManageDatabase+Metadata.swift

View workflow job for this annotation

GitHub Actions / Lint

Control Statement Violation: `if`, `for`, `guard`, `switch`, `while`, and `catch` statements shouldn't unnecessarily wrap their conditionals or arguments in parentheses (control_statement)
NCCapabilities.shared.getCapabilities(account: account).capabilityRichDocumentsEnabled,
NextcloudKit.shared.isNetworkReachable() else { return false }

Expand Down Expand Up @@ -564,18 +564,33 @@

// MARK: - Set

@discardableResult
func addMetadata(_ metadata: tableMetadata) -> tableMetadata? {
func createMetadata(_ metadata: tableMetadata) -> tableMetadata? {
do {
let realm = try Realm()
var managedMetadata: tableMetadata?
try realm.write {
realm.add(tableMetadata(value: metadata), update: .all)
managedMetadata = realm.create(tableMetadata.self, value: metadata, update: .all)
}
if let managedMetadata {
return tableMetadata(value: managedMetadata)
}
} catch let error {
NextcloudKit.shared.nkCommonInstance.writeLog("[ERROR] Could not write to database: \(error)")
}

return nil
}

func addMetadata(_ metadata: tableMetadata) {
let metadata = tableMetadata(value: metadata)
do {
let realm = try Realm()
try realm.write {
realm.add(metadata, update: .all)
}
} catch let error {
NextcloudKit.shared.nkCommonInstance.writeLog("[ERROR] Could not write to database: \(error)")
return nil
}
return tableMetadata(value: metadata)
}

func addMetadatas(_ metadatas: [tableMetadata]) {
Expand Down Expand Up @@ -1046,22 +1061,45 @@

// MARK: - GetResult(s)Metadata

func getResultsMetadatasPredicate(_ predicate: NSPredicate, layoutForView: NCDBLayoutForView?) -> Results<tableMetadata>? {
func getResultsMetadatasPredicate(_ predicate: NSPredicate, layoutForView: NCDBLayoutForView?) -> [tableMetadata] {
do {
let realm = try Realm()
var results = realm.objects(tableMetadata.self).filter(predicate)
var results = realm.objects(tableMetadata.self).filter(predicate).freeze()
if let layoutForView {
if layoutForView.directoryOnTop {
results = results.sorted(byKeyPath: layoutForView.sort, ascending: layoutForView.ascending).sorted(byKeyPath: "directory", ascending: false).sorted(byKeyPath: "favorite", ascending: false)
if layoutForView.sort == "fileName" {
let sortedResults = results.sorted {
// 1. favorite order
if $0.favorite == $1.favorite {
// 2. directory order TOP
if layoutForView.directoryOnTop {
if $0.directory == $1.directory {
// 3. natural fileName
return $0.fileNameView.localizedStandardCompare($1.fileNameView) == .orderedAscending
} else {
return $0.directory && !$1.directory
}
} else {
return $0.fileNameView.localizedStandardCompare($1.fileNameView) == .orderedAscending
}
} else {
return $0.favorite && !$1.favorite
}
}
return sortedResults
} else {
results = results.sorted(byKeyPath: layoutForView.sort, ascending: layoutForView.ascending).sorted(byKeyPath: "favorite", ascending: false)
if layoutForView.directoryOnTop {
results = results.sorted(byKeyPath: layoutForView.sort, ascending: layoutForView.ascending).sorted(byKeyPath: "directory", ascending: false).sorted(byKeyPath: "favorite", ascending: false)
} else {
results = results.sorted(byKeyPath: layoutForView.sort, ascending: layoutForView.ascending).sorted(byKeyPath: "favorite", ascending: false)
}
}
}
return results
return Array(results)

} catch let error as NSError {
NextcloudKit.shared.nkCommonInstance.writeLog("[ERROR] Could not access database: \(error)")
}
return nil
return []
}

func getResultsMetadatas(predicate: NSPredicate, sortedByKeyPath: String, ascending: Bool, arraySlice: Int) -> [tableMetadata] {
Expand Down
7 changes: 4 additions & 3 deletions iOSClient/Favorites/NCFavorite.swift
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,12 @@ class NCFavorite: NCCollectionViewCommon {
var predicate = self.defaultPredicate

if self.serverUrl.isEmpty {
predicate = NSPredicate(format: "account == %@ AND favorite == true", session.account)
predicate = NSPredicate(format: "account == %@ AND favorite == true AND NOT (status IN %@)", session.account, global.metadataStatusHideInView)
}

let results = self.database.getResultsMetadatasPredicate(predicate, layoutForView: layoutForView)
self.dataSource = NCCollectionViewDataSource(results: results, layoutForView: layoutForView)
let metadatas = self.database.getResultsMetadatasPredicate(predicate, layoutForView: layoutForView)

self.dataSource = NCCollectionViewDataSource(metadatas: metadatas, layoutForView: layoutForView)

super.reloadDataSource()
}
Expand Down
11 changes: 6 additions & 5 deletions iOSClient/Files/NCFiles.swift
Original file line number Diff line number Diff line change
Expand Up @@ -131,13 +131,13 @@ class NCFiles: NCCollectionViewCommon {
self.metadataFolder = database.getMetadataFolder(session: session, serverUrl: self.serverUrl)
self.richWorkspaceText = database.getTableDirectory(predicate: predicateDirectory)?.richWorkspace

let results = self.database.getResultsMetadatasPredicate(predicate, layoutForView: layoutForView)
self.dataSource = NCCollectionViewDataSource(results: results, layoutForView: layoutForView)
let metadatas = self.database.getResultsMetadatasPredicate(predicate, layoutForView: layoutForView)

guard let results else {
self.dataSource = NCCollectionViewDataSource(metadatas: metadatas, layoutForView: layoutForView)

if metadatas.isEmpty {
return super.reloadDataSource()
}
let metadatas = Array(results.freeze())

self.dataSource.caching(metadatas: metadatas, dataSourceMetadatas: dataSourceMetadatas) { updated in
if updated || self.isNumberOfItemsInAllSectionsNull || self.numberOfItemsInAllSections != metadatas.count {
Expand Down Expand Up @@ -201,7 +201,8 @@ class NCFiles: NCCollectionViewCommon {
return completion(nil, false, error)
}
/// Check change eTag or E2EE or DataSource empty
let tableDirectory = self.database.setDirectory(serverUrl: self.serverUrl, richWorkspace: metadata.richWorkspace, account: account)
self.database.updateDirectoryRichWorkspace(metadata.richWorkspace, account: account, serverUrl: self.serverUrl)
let tableDirectory = self.database.getTableDirectory(ocId: metadata.ocId)
guard tableDirectory?.etag != metadata.etag || metadata.e2eEncrypted || self.dataSource.isEmpty() else {
return completion(nil, false, NKError())
}
Expand Down
10 changes: 6 additions & 4 deletions iOSClient/Groupfolders/NCGroupfolders.swift
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,17 @@ class NCGroupfolders: NCCollectionViewCommon {
// MARK: - DataSource

override func reloadDataSource() {
var results: Results<tableMetadata>?
var metadatas: [tableMetadata] = []

if self.serverUrl.isEmpty {
results = database.getResultsMetadatasFromGroupfolders(session: session)
if let results = database.getResultsMetadatasFromGroupfolders(session: session) {
metadatas = Array(results.freeze())
}
} else {
results = self.database.getResultsMetadatasPredicate(self.defaultPredicate, layoutForView: layoutForView)
metadatas = self.database.getResultsMetadatasPredicate(self.defaultPredicate, layoutForView: layoutForView)
}

self.dataSource = NCCollectionViewDataSource(results: results, layoutForView: layoutForView)
self.dataSource = NCCollectionViewDataSource(metadatas: metadatas, layoutForView: layoutForView)

super.reloadDataSource()
}
Expand Down
13 changes: 7 additions & 6 deletions iOSClient/Main/Collection Common/NCCollectionViewCommon.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1073,7 +1073,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
} providers: { _, searchProviders in
self.providers = searchProviders
self.searchResults = []
self.dataSource = NCCollectionViewDataSource(results: nil, layoutForView: self.layoutForView, providers: self.providers, searchResults: self.searchResults)
self.dataSource = NCCollectionViewDataSource(metadatas: [], layoutForView: self.layoutForView, providers: self.providers, searchResults: self.searchResults)
} update: { _, _, searchResult, metadatas in
guard let metadatas, !metadatas.isEmpty, self.isSearchingMode, let searchResult else { return }
NCNetworking.shared.unifiedSearchQueue.addOperation(NCCollectionViewUnifiedSearch(collectionViewCommon: self, metadatas: metadatas, searchResult: searchResult))
Expand All @@ -1085,16 +1085,17 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
NCNetworking.shared.searchFiles(literal: literalSearch, account: session.account) { task in
self.dataSourceTask = task
self.reloadDataSource()
} completion: { metadatas, error in
} completion: { metadatasSearch, error in
DispatchQueue.main.async {
self.refreshControl.endRefreshing()
self.reloadDataSource()
}
guard let metadatas, error == .success, self.isSearchingMode else { return }
let ocId = metadatas.map { $0.ocId }
let results = self.database.getResultsMetadatasPredicate(NSPredicate(format: "ocId IN %@", ocId), layoutForView: self.layoutForView)
guard let metadatasSearch, error == .success, self.isSearchingMode else { return }
let ocId = metadatasSearch.map { $0.ocId }

self.dataSource = NCCollectionViewDataSource(results: results, layoutForView: self.layoutForView, providers: self.providers, searchResults: self.searchResults)
let metadatas = self.database.getResultsMetadatasPredicate(NSPredicate(format: "ocId IN %@", ocId), layoutForView: self.layoutForView)

self.dataSource = NCCollectionViewDataSource(metadatas: metadatas, layoutForView: self.layoutForView, providers: self.providers, searchResults: self.searchResults)
}
}
}
Expand Down
Loading
Loading