-
Notifications
You must be signed in to change notification settings - Fork 932
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
App settings will not persist on macOS 14 #1924
Comments
Which files storage method are you using? Can you share your |
iCloud |
Hey. Just tried that, and it did not help, sadly. I also did the following:
|
Can you confirm the symbolic links that are generated are valid? The @lra any ideas? |
To be clear, I had already run |
Hey. Just an update here. I just tried this again using
And i get the same result. I run |
I have same issue |
Same issue. Started happening when I updated to Dropbox beta, and then tried moving to iCloud. Now it's a mess. Not sure what's wrong, unable to predict a pattern here but with latest macOS this happens:
|
+1 on this issue. I was going to say I wonder if this is related to the Apple update that basically made it harder for Cloud apps to work on mac. It also meant you had to change the location of your Dropbox drive. https://help.dropbox.com/installs/macos-support-for-expected-changes |
I don’t think it’s that, no. It even stops working if I just use the file system storage method. |
Then I would say it's a recent Apple update. For me this started happening in the last week, which is when I updated to Ventura 13.4.1 (might've also been when I updated to 13.4). It's possible that there's an unknown bug with the latest update or a "security improvement" that's messing with symlinks 🤔 |
I've done |
Just lost a couple days on this exact issue because it took me a while to figure why a lot of my settings weren't saving and that mackup was the culprit. Hope this gets solved quickly. |
cc me |
Any updates on this one? I am having the same issues and it's maddening. I will uninstall for now, but hope it gets fixed soon because I really love Mackup. MacOS: 14.0 Public Beta (23A5286i)
|
If for some reason this issue is due to symlinks and effectively impossible to fix going forward, it might be a good idea to offer an alternate mode of backup by copying over files instead of symlinking them, so that at least the tool doesn't become fully obsolete. I wouldn't mind doing a manual export/import every once in a while as a compromise instead of ditching Mackup altogether. |
I'm quite frustrated with losing all the settings again and again. To a point where I'm planning on rewriting this project one way or the other. It's been mentally taxing. 😮💨 I understand life gets in a way and this free software. Appreciate all the hardwork. |
Exactly. Honestly, I wish this was a feature today. I don’t really need the symlinking anyway. I just want the peace of mind that when I run mackup backup, my settings are copied somewhere that is versioned and backed up. |
for me things started failing with Dropbox when they moved to the new CloudStorage shit. (see #1891.) now you can't be certain that Dropbox starts at a proper time. i think the whole symlink thing should be gone yeah. maybe there's something also related to macOS 14 itself, where now it seems we need Apple's approval to read and write our own UserDefaults 🤣️ |
I've been debugging same issue for past hour, and finally understood that it's due to mackup. I'm running Sonoma beta. Here's how it look:
|
Same problem here with Sonoma RC. Mackup is broken :( |
I am experiencing a similar issue, but it is quite strange. My Intel iMac is functioning properly, while my M2 MacBook has stopped working. |
Can confirm, having major issues in Sonoma, both for app settings but also system plists; ( mackup.cfg:
|
Same issue, settings are not persisted. Only 'fix' for now is my backup workflow is now |
Just as additional information, |
Same here as soon as I installed Sonoma, damn… I have a lot of other "non-standard" setup with symlinks too, I really hope they're not all broken… Edit… They still seem to work thankfully. |
Same issue. It's so bad that I basically can't use Apple Music when using Mackup. Every single login to my computer it shows me the welcome screen for Apple Music, Bartender, etc. Only when having it set to iCloud storage. |
I've been doing what's suggested above which is to I really wish at least the README would get updated because right now this tool will basically break your system forcing you to I'm doing this until another solution comes along because I don't think there will be any solution for symlinks to work with |
It's possible, somehow, to just disable this files backups. Something like this?
|
Would love to see that! |
Thx @jhirn , assuming I'd need to switch from iCloud to Github as my storage system? |
I'm looking for an alternative to mackup, since soft links no longer work on macOS 14, and mackup temporarily doesn't support copying (the only solution is I found unison to be a good alternative. It can perform two-way synchronization between directories with many advanced features (including watch, merge, backup, atomic directory, etc.). The only thing needed to migrate from mackup to unison is to manually convert mackup's configuration to unison's profile. For example, this is my default profile. Then we can use the |
I just discovered this is actually an option.
I'm testing it right now. |
Results @victor-falcon. I'm so burnt out I don't even want to test it myself. I got bit the other day editing my .profile because I was editing the saved version which is no longer linked and really wish I never switched from my simple script to mackup. |
I don't think it makes any difference. MacOS doesn't seem to support symlinks in general in the Application Support directory, so just ignoring the OS preferences is not enough. There are so many other applications using that directory for storing plist files etc and they won't work either. I didn't find any viable way to use mackup and I followed tshu-w's advice on migrating to unison. I also use dotfiles managers (like chezmoi) for managing my dev env and non-sensitive configs. |
Yeah I traded in my 9 year old Thanks for the recs. I will check out those out before going back to that. |
`mackup` works by moving config files to an off-disk backup location (usually a cloud storage provider like iCloud or Dropbox, etc.) and then replacing the original file with a symlink to the backed up version. The intended use is to make sure program configuration settings and preferences can be restored if you need to replace computers, factory reset, etc. As documented [here](lra/mackup#2035), [here](lra/mackup#1924), [here](lra/mackup#1969 (reply in thread)), `mackup backup` no longer works on MacOS Sonoma (likely due to [security changes](lra/mackup#1924 (comment)) in the app sandbox in Sonoma) and running either the backup or restore commands on MacOS Sonoma will result in the loss of all preference files. Users who backup to a storage provider that has versioning or backup snapshots may be able to restore preferences to an older version. For users backing up to other storage providers that do not have this feature, such as iCloud, the command results in total data loss. This issue has been known to the developer for over a year but there is no fix, no mention of the issue in the project README, no warning when running the command, and no indication in the program output that the backup process may not have completed properly - neither in the dry-run mode nor in live mode.
`mackup` works by moving config files to an off-disk backup location (usually a cloud storage provider like iCloud or Dropbox, etc.) and then replacing the original file with a symlink to the backed up version. The intended use is to make sure program configuration settings and preferences can be restored if you need to replace computers, factory reset, etc. As documented [here](lra/mackup#2035), [here](lra/mackup#1924), [here](lra/mackup#1969 (reply in thread)), `mackup backup` no longer works on MacOS Sonoma (likely due to [security changes](lra/mackup#1924 (comment)) in the app sandbox in Sonoma) and running either the backup or restore commands on MacOS Sonoma will result in the loss of all preference files. Users who backup to a storage provider that has versioning or backup snapshots may be able to restore preferences to an older version. For users backing up to other storage providers that do not have this feature, such as iCloud, the command results in total data loss. This issue has been known to the developer for over a year but there is no fix, no mention of the issue in the project README, no warning when running the command, and no indication in the program output that the backup process may not have completed properly - neither in the dry-run mode nor in live mode.
Since macOS 14 (Sonoma), Mackup has been broken 😞 See here: - lra/mackup#1924 - https://www.reddit.com/r/macapps/comments/1f1j41a/avoid_mackup_if_you_are_runing_sonoma_or_later/ There are some workarounds but I am taking this opportunity to just simplify my setup a bit Most of my settings are not that precious that I rely on Mackup to perfectly replicate between machines; I can just do some manual configuration and get most of the way there I'm removing references to Mackup and its configuration from this repo in this commit
* Deprecate Mackup in my setup Since macOS 14 (Sonoma), Mackup has been broken 😞 See here: - lra/mackup#1924 - https://www.reddit.com/r/macapps/comments/1f1j41a/avoid_mackup_if_you_are_runing_sonoma_or_later/ There are some workarounds but I am taking this opportunity to just simplify my setup a bit Most of my settings are not that precious that I rely on Mackup to perfectly replicate between machines; I can just do some manual configuration and get most of the way there I'm removing references to Mackup and its configuration from this repo in this commit * Update brewfile Added new things since last time - 1password-cli - Keycastr * Add setup steps for `.zshrc` and `.gitconfig`/`.gitignore` I still want a way to "sync" my zshrc and git configuration, so I made a little set of instructions and manual steps to perform for this Between VS Code tasks and README steps, it's here * Clean up README Some little things that annoyed me: - Minor copy edits - No longer need Obsidian symlink; we're using Obsidian Sync so the iCloud setup is unneeded
maybe add an option for mackup to globally ignore all files in the folder ~/Library/Preferences |
Might be helpful for the future of Mackup, or other tools: I previously came across Mackup, but proceeded to implement a similar tool for syncing dotfiles, because I want to save them to a Git repo, to have version control, but also without committing unnecessary configurations or secrets. For files/dirs, it will symlink the configuration. For defaults, the tool will export only a subset of the keys (configurable) of the given defaults, compare it with the existing tracked configuration, then you decide to export it to tracked file or import from the tracked file to override existing. Example output: $ dotsync
DRY RUN...
Dotfiles symlink .editorconfig > Already symlinked.
Dotfiles symlink .hushlogin > Already symlinked.
Dotfiles symlink .zprofile > Already symlinked.
Dotfiles symlink .zshrc > Already symlinked.
Oh My Zsh symlink .oh-my-zsh > Already symlinked.
LunarVim symlink .config/lvim > Already symlinked.
Git symlink .gitattributes_global > Already symlinked.
Git symlink .gitconfig > Already symlinked.
Git symlink .gitignore_global > Already symlinked.
Atuin symlink .config/atuin > Already symlinked.
Zellij symlink .config/zellij > Already symlinked.
lazygit symlink Library/Application Support/lazygit/config.yml > Already symlinked.
powerlevel10k symlink .p10k.zsh > Already symlinked.
iTerm defaults com.googlecode.iterm2 > No change.
Macs Fan Control defaults com.crystalidea.MacsFanControl > No change.
Rectangle defaults com.knollsoft.Rectangle > Diff found but is tracked. Saving...
--- /dev/fd/63 2024-10-30 21:37:22
+++ /dev/fd/62 2024-10-30 21:37:22
@@ -9,7 +9,7 @@
<key>SUHasLaunchedBefore</key>
<true/>
<key>SUUpdateRelaunchingMarker</key>
- <true/>
+ <false/>
<key>allowAnyShortcut</key>
<true/>
<key>almostMaximize</key>
@@ -30,6 +30,8 @@
<key>footprintAnimationDurationMultiplier</key>
<integer>0</integer>
<key>hideMenubarIcon</key>
+ <true/>
+ <key>internalTilingNotified</key>
<true/>
<key>launchOnLogin</key>
<true/>
AltTab defaults com.lwouis.alt-tab-macos > Diff found. Backing up existing and saving new...
--- /dev/fd/63 2024-10-30 21:37:22
+++ /dev/fd/62 2024-10-30 21:37:22
@@ -38,9 +38,8 @@
<string>⌘</string>
<key>holdShortcut3</key>
<string>⌥</string>
- IF I CHANGED THE FILE
<key>menubarIcon</key>
- <string>3</string>
+ <string>2</string>
<key>mouseHoverEnabled</key>
<string>false</string>
<key>nextWindowShortcut</key>
CleanMyMac defaults com.macpaw.CleanMyMac4 > Diff found but is tracked. Saving...
--- /dev/fd/63 2024-10-30 21:37:23
+++ /dev/fd/62 2024-10-30 21:37:23
@@ -5,9 +5,9 @@
<key>MenubarAppEnabled</key>
<true/>
<key>SUAutomaticallyUpdate</key>
- <true/>
+ <false/>
<key>SUEnableAutomaticChecks</key>
- <true/>
+ <false/>
<key>SUHasLaunchedBefore</key>
<true/>
<key>SeenIntroVideo</key>
Backed up paths: ~/dev/dotfiles/synced/defaults/com.lwouis.alt-tab-macos.plist.1730295442743.bak
Review and commit.
Nothing was actually done. Use --do to apply changes. This is how the config looks like as of now: If any of the above files changes, it prints out the diff and I would have visibility of what exactly changed. Was thinking of properly designing it and publishing it, but since it fits my usage and I'm not sure if it's useful to others, I haven't started yet. I believe the ultimate goal would be to build something like lazygit but for dotfiles. |
- use more straightforward logic for bootstrapping and unboostrapping - mackup is broken and there are no signs of a fix - see: lra/mackup#1924 lra/mackup#2035
- use more straightforward logic for bootstrapping and unboostrapping - mackup is broken and there are no signs of a fix - see: lra/mackup#1924 lra/mackup#2035 ## Summary by Sourcery Remove the mackup dependency and implement custom logic for managing dotfiles and application settings using new functions 'dotlink' and 'dotunlink'. Update scripts to use rsync for copying files and managing symbolic links. New Features: - Introduce new functions 'dotlink' and 'dotunlink' for managing symbolic links in the home directory. Enhancements: - Replace mackup dependency with custom logic for managing dotfiles and application settings.
I haven't had a chance to read through this, but I implemented changes (I think) should basically resolve this issue in this PR here: #1947 I did it over the course of a night or two, and didn't write tests, and broke a bunch of backward compatibility, and simplified and refactored a decent amount of questionable code. So it's far from ready to go into this repo. But from what I can tell it completely solves the root problem of incompatibility with Sequoia. In case anyone feels like taking up the mantle, here it is. MIT license, use it as you wish. I'd love to contribute these changes back, but the backward compatibility requirements increase the scope by a pretty decent multiple. I don't really care about maintaining compatibility with stuff that a) didn't work great even before Sequoia and b) doesn't work at all now. I use it myself, and I may rename the project to avoid confusion (obviously giving all due credit everywhere I possibly can) and set up a process by which others can more easily use it. If anyone would be interested in that, let me know. Otherwise if someone wants to use my PR to go thru and fix this project for sequoia, you have my warmest blessing. I would be delighted if the code were useful to someone. Here is a general overview of what this PR implements:
Just FYI, I exclusively develop on Mac hardware, and use iCloud as a backend for this. Not familiar with the requirements on other systems / cloud providers / whatever. There are some hurdles to getting this merged. But since the alternative is a project that irrevocably destroys all your preferences when you use it, maybe it makes sense to start fresh in a sense. If people are actually interested in this I can clean up the code and get it into a state for general release. Just do an @ mention or add a reaction to this comment. If the reactions are positive, I'd be happy to help get this situation fixed. If there is no reaction or people want to keep this repo as-is, no biggie at all. Have a lovely evening, Brandon |
I have been trying to work out why my app settings are all resetting, and not persisting in macOS 14. This has been happening for apps such as Raycast, iTerm, Rectangle, Bartender etc. I just tried running
mackup uninstall
and everything is fixed. And then when i runmackup backup
again, none of my settings will persist or save again. Any ideas?The text was updated successfully, but these errors were encountered: