{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":507398737,"defaultBranch":"main","name":"SwiftCloudDrive","ownerLogin":"drewmccormack","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-06-25T19:21:25.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/77312?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726142786.0","currentOid":""},"activityList":{"items":[{"before":"e195f375c0ca2e16e682726ac0354d7c6ef8b2a3","after":"f4ded054c4bd0764569a7b01efc3db428975e98e","ref":"refs/heads/main","pushedAt":"2024-09-12T12:06:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Fixed a few issues with Swift 6 compliance.\n\nMade CloudDrive sendable. Also added back .v5 swift mode as an option.","shortMessageHtmlLink":"Fixed a few issues with Swift 6 compliance."}},{"before":"f7df05cc5d527ea182fe2768d87a4d67d95fdcca","after":"e195f375c0ca2e16e682726ac0354d7c6ef8b2a3","ref":"refs/heads/main","pushedAt":"2024-09-10T07:30:05.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Updated Package to fully Swift 6.","shortMessageHtmlLink":"Updated Package to fully Swift 6."}},{"before":"7b7d730f3d420612bb1172c2a16ea575da550bde","after":"f7df05cc5d527ea182fe2768d87a4d67d95fdcca","ref":"refs/heads/main","pushedAt":"2024-08-05T11:55:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Disabled concurrency checking. It is giving compiler errors.\n\nWill reenable when stable.","shortMessageHtmlLink":"Disabled concurrency checking. It is giving compiler errors."}},{"before":"c868b35aa9ecbae710599bdd66e215703299000d","after":"7b7d730f3d420612bb1172c2a16ea575da550bde","ref":"refs/heads/main","pushedAt":"2024-07-27T09:20:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Fixed issues where it was monitoring the whole container rather than just the subdir of the drive.\n\nThis would lead to too many calls to cloudDriveDidChange, sometimes with files or directories not even in the drive.","shortMessageHtmlLink":"Fixed issues where it was monitoring the whole container rather than …"}},{"before":"73373de2c98affc124eda012a5d848ad08a3ed7d","after":"c868b35aa9ecbae710599bdd66e215703299000d","ref":"refs/heads/main","pushedAt":"2024-06-30T08:17:59.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Merge pull request #10 from lake-of-fire/main\n\nPublic file coordinator","shortMessageHtmlLink":"Merge pull request #10 from lake-of-fire/main"}},{"before":"1b90a33696f86c1a26f0baf34c0284b57de83381","after":"73373de2c98affc124eda012a5d848ad08a3ed7d","ref":"refs/heads/main","pushedAt":"2024-06-14T11:59:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Now create a CoordinatedFileManager for each operation performed on the CloudDrive.\n\nThis is so that we can achieve parallelism. Previously, with a single shared CoordinatedFileManager, each file coordination would block the read, blocking other operations from running. Now they should be able to proceed independently.","shortMessageHtmlLink":"Now create a CoordinatedFileManager for each operation performed on t…"}},{"before":"16bc679f22d5d5e4513c24c14cfda3426515fbe3","after":"1b90a33696f86c1a26f0baf34c0284b57de83381","ref":"refs/heads/main","pushedAt":"2024-06-13T09:17:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Introduced CoordinatedFileManager actor so that file coordination is in the background.\n\nPreviously, async methods were used, which do have the effect of scheduling a call for later when accessed with await, however, it is still possible that the file coordinator is called on the main thread, and will actually fully block the thread. To fix this, all file coordination is now on an actor, and should never block an important thread.","shortMessageHtmlLink":"Introduced CoordinatedFileManager actor so that file coordination is …"}},{"before":"429bbf9a1d6272b24635c9d2941bf8024d46eec0","after":"b41d308799c7bb5c5a24d1a12fe266f96e5754ab","ref":"refs/heads/swift6","pushedAt":"2024-06-12T12:51:15.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Merge branch 'main' into swift6","shortMessageHtmlLink":"Merge branch 'main' into swift6"}},{"before":"4134fff687f246072f7842957ec553dad542e98d","after":"16bc679f22d5d5e4513c24c14cfda3426515fbe3","ref":"refs/heads/main","pushedAt":"2024-06-12T12:50:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Removed @MainActor from startMonitoringMetadata.\n\nWas causing trouble in some existing code using semaphores. Have isolated the main actor work to just calling “start” method, as before.","shortMessageHtmlLink":"Removed @mainactor from startMonitoringMetadata."}},{"before":null,"after":"429bbf9a1d6272b24635c9d2941bf8024d46eec0","ref":"refs/heads/swift6","pushedAt":"2024-06-11T14:10:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Some updates for Swift 6.\n\nAlso improved README.","shortMessageHtmlLink":"Some updates for Swift 6."}},{"before":"edf7e87f4983a0290a48203b99e3253f69bc84bd","after":"4134fff687f246072f7842957ec553dad542e98d","ref":"refs/heads/main","pushedAt":"2024-06-11T13:55:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Added strict concurrency checking in preparation for Swift 6.","shortMessageHtmlLink":"Added strict concurrency checking in preparation for Swift 6."}},{"before":"701285050f04161beccc3d872bee4dfc62b8ae12","after":"edf7e87f4983a0290a48203b99e3253f69bc84bd","ref":"refs/heads/main","pushedAt":"2024-05-07T13:36:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Now follow sym links to fix relativePath method.\n\nThe paths in the change observation were wrong due to sym links.","shortMessageHtmlLink":"Now follow sym links to fix relativePath method."}},{"before":"6087dff299d9209374b1152b09203c529fd6bd49","after":"701285050f04161beccc3d872bee4dfc62b8ae12","ref":"refs/heads/main","pushedAt":"2024-04-18T12:55:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Changed back the observer and conflictResolver to be settable properties.\n\nSetting them via the init doesn’t work well in the Swift world of initialization.","shortMessageHtmlLink":"Changed back the observer and conflictResolver to be settable propert…"}},{"before":"28b2589da9ec8a0ecaa1119301e60e99e758f184","after":"6087dff299d9209374b1152b09203c529fd6bd49","ref":"refs/heads/main","pushedAt":"2024-04-18T12:15:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Moved PrivacyInfo into Source folder","shortMessageHtmlLink":"Moved PrivacyInfo into Source folder"}},{"before":"c48a83151b805c88aedc21f6f8997b844a153942","after":"28b2589da9ec8a0ecaa1119301e60e99e758f184","ref":"refs/heads/main","pushedAt":"2024-04-18T12:07:40.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Made recent changes backward compatible.\n\nIn particular, you can again sest the `observer` property, but it is deprecated, and suggested that the init be used instead.","shortMessageHtmlLink":"Made recent changes backward compatible."}},{"before":"a75d56fcf635c827d816ee8e243ab80022ebfcac","after":"c48a83151b805c88aedc21f6f8997b844a153942","ref":"refs/heads/main","pushedAt":"2024-04-17T10:44:45.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"The CloudDriveObserver and CloudDriveConflictResolver now get passed to init.\n\nThis is to reduce complexity and avoid potential race conditions. Previously you could set these any time, and that was potentially confusing and could lead to races.","shortMessageHtmlLink":"The CloudDriveObserver and CloudDriveConflictResolver now get passed …"}},{"before":"7525e09598ce9f569912261dc97440f0096fa00b","after":"a75d56fcf635c827d816ee8e243ab80022ebfcac","ref":"refs/heads/main","pushedAt":"2024-04-02T10:18:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Fixed some issues in MetadataMonitor.\n\nIt now also monitors the Documents folder in iCloud. Previously was not doing that.\n\nCleaned up the code that starts the downloads, to make sure there is no interlacing of async tasks causing issues. Basically, now we get the URLs from the query first, synchronously, and pass the URLs around to async functions. Much cleaner.","shortMessageHtmlLink":"Fixed some issues in MetadataMonitor."}},{"before":"462589ac85b3d1deac571f5f410b363d825ea973","after":"7525e09598ce9f569912261dc97440f0096fa00b","ref":"refs/heads/main","pushedAt":"2024-03-14T09:57:59.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Merge pull request #5 from lake-of-fire/main\n\nFix unnecessary \"stop\" from breaking subsequent accesses","shortMessageHtmlLink":"Merge pull request #5 from lake-of-fire/main"}},{"before":"a98e454ba67669ee8b7a30ba29e21d4114be85ce","after":"462589ac85b3d1deac571f5f410b363d825ea973","ref":"refs/heads/main","pushedAt":"2023-08-28T11:50:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Changed initializers to support a local, non-ubiquitious drive.\n\nYou can now use the standard iCloud drive, or setup a driive for any local folder.","shortMessageHtmlLink":"Changed initializers to support a local, non-ubiquitious drive."}},{"before":"ab85984451c9dc4aa14e9388b9490e4856bcc757","after":"a98e454ba67669ee8b7a30ba29e21d4114be85ce","ref":"refs/heads/main","pushedAt":"2023-08-14T15:28:45.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Merge pull request #3 from Roger-Blinto/main\n\nAdded keys and options to the contentsOfDirectory method, in the same…","shortMessageHtmlLink":"Merge pull request #3 from Roger-Blinto/main"}},{"before":"d5c40c837e6ab92365ef23b53368418bb21ccd54","after":"ab85984451c9dc4aa14e9388b9490e4856bcc757","ref":"refs/heads/main","pushedAt":"2023-06-22T18:14:41.908Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"drewmccormack","name":"Drew McCormack","path":"/drewmccormack","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77312?s=80&v=4"},"commit":{"message":"Merge pull request #2 from Roger-Blinto/main\n\nA few changes made when integrating with our app.","shortMessageHtmlLink":"Merge pull request #2 from Roger-Blinto/main"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEtFUBNAA","startCursor":null,"endCursor":null}},"title":"Activity · drewmccormack/SwiftCloudDrive"}