MacPato Posted May 9, 2019 Share Posted May 9, 2019 Just now, WarDoc said: unless its written for normal users and not just in dev speak Of Course! Link to comment Share on other sites More sharing options...
Guest ricoc90 Posted May 9, 2019 Share Posted May 9, 2019 @notiflux https://developer.apple.com/documentation/appkit/nsapplicationdelegate/1428381-applicationshouldterminateafterl?language=objc please Link to comment Share on other sites More sharing options...
notiflux Posted May 9, 2019 Author Share Posted May 9, 2019 (edited) @Andrey1970 thanks for the heads up. I did not expect you to consider my app when it comes to config changes. I check the docs directory on the OpenCorePkg repo almost daily and I did my best to build OCC in such a way that it's easy to account for changes to the spec @ricoc90 honestly I don't like when applications behave like that, so I don't think I will be changing that. I've just accustomed to hitting cmd+q to quit an app Edited May 9, 2019 by notiflux 2 Link to comment Share on other sites More sharing options...
Rocky12 Posted May 9, 2019 Share Posted May 9, 2019 3 minutes ago, notiflux said: @Andrey1970 thanks for the heads up. I did not expect you to consider my app when it comes to config changes. I check the docs directory on the OpenCorePkg repo almost daily and I did my best to build OCC in such a way that it's easy to account for changes to the spec heads up man thanks for your great work 1 Link to comment Share on other sites More sharing options...
Andrey1970 Posted May 9, 2019 Share Posted May 9, 2019 The config changes very often. Link to comment Share on other sites More sharing options...
vit9696 Posted May 9, 2019 Share Posted May 9, 2019 While @Andrey1970 is right that we do not believe automatic tools can help people improve their experience, and thus are generally anticipate them, I do not believe we can stop people from writing them, and thus will try to be as constructive as possible to avoid extra harm from any side. OpenCore Configurator is an open source application and for this very reason, despite our personal views and no official recommendations, we will try to provide some help at the very least. Substantial differences in our preferences will not help much the process anyway. Regarding configuration changes, starting from 0.0.1 release we have version reporting (exposed through NVRAM). We demand this to be verified by configuration app to ensure compatibility (this is stated in the docs). — For the released version the warning should appear when the app is unaware of the version used. — For an unreleased version the warning should always appear. — For no version present another warning should appear. We do not care much whether the user decides to continue as long as he is informed about a potential incompatibility. We believe it is very important for the user to be aware of the problem if he still decides to use a configuration app. And the fact that every release has its documentation fixed makes it possible for a configuration app to be compatible with released versions at least in theory. Additionally to that I recently added differential documentation, showing changes between the configurations [1] across the releases. The file will be bundled with the release file, and should help everyone update accordingly to the latest release. Last but not least, while I cannot promise it, but we will try to find some resources to conduct a basic validation process to give recommendations in regards to decisions taken, which we consider to be wrong or improper. Closer to a more stable release of course. For example, recently we discovered that most third party tools reformat and reorder plist files, making their changes hard to discover [2]. If OpenCore Configurator is affected, we hope this is fixed. Thanks for the hard work, and peace [1] https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/Differences [2] https://github.com/corpnewt/ProperTree/issues/5 7 Link to comment Share on other sites More sharing options...
notiflux Posted May 9, 2019 Author Share Posted May 9, 2019 @vit9696 thanks a lot for the info. I will implement the version checks tomorrow. About the restructuring/ordering of the config: afaik OCC does not reorder any entries it isn't supposed to, I will check that thoroughly tomorrow though, since swift dictionaries like throwing values around. It does however change the format slightly, for example it saves data like this <data> T3BlbkNvcmUK </data> Instead of this <data>T3BlbkNvcmUK</data> This should not affect OC itself, but indeed does make comparison more difficult when looking at the plist in raw text. However I did not find a way to prevent this from happening, this seems to be the way plists are formatted when writing an NSDictionary to a file. I will investigate this further to see if I can somehow manage to make this work, if nothing else I'll manually strip the newlines after the file was written. I'm sure the differential documentation will be a huge help for parsing configs of different versions, since atm OCC can only reliably parse the current version. If you have any more suggestions/changes you want to be made, just let me know Thanks again and cheers 2 Link to comment Share on other sites More sharing options...
Guest ricoc90 Posted May 10, 2019 Share Posted May 10, 2019 12 hours ago, notiflux said: @ricoc90 honestly I don't like when applications behave like that, so I don't think I will be changing that. I've just accustomed to hitting cmd+q to quit an app Well, personally I don't see the point of having the app stay open if all of its windows are closed, since then you'll have a dock icon with no actual function. Anyway, the decision is yours Link to comment Share on other sites More sharing options...
vit9696 Posted May 10, 2019 Share Posted May 10, 2019 @notiflux, quick googling does not help much in finding on how to provide single line <data> formatting. It is strange, but from what I can tell, most likely you will have to introduce a custom post-processing filter to workaround. Link to comment Share on other sites More sharing options...
notiflux Posted May 10, 2019 Author Share Posted May 10, 2019 @vit9696 I already found a workaround for that which is similar to what CorpNewt did on ProperTree. I just need to make sure that it doesn't reorder things for all subdicts. I already have all the code to do this but I will greatly need to change the structure of my open handler functions, so that will take some more time @iCanaro You don't have any apfs volumes on your High Sierra install, do you? I currently can't simulate such an environment, could you please run this command in terminal: diskutil apfs list -plist > ~/apfs.plist and upload the resulting file from your home directory? Link to comment Share on other sites More sharing options...
iCanaro Posted May 10, 2019 Share Posted May 10, 2019 (edited) high sierra --> HFS+ apfs.plist.zip Edited May 10, 2019 by iCanaro Link to comment Share on other sites More sharing options...
notiflux Posted May 14, 2019 Author Share Posted May 14, 2019 (edited) @iCanaro can you try this build? This also saves data entries in one line now, but some subdicts still don't keep the order, that's still a WIP -deleted- Edited October 21, 2019 by notiflux 2 Link to comment Share on other sites More sharing options...
iCanaro Posted May 14, 2019 Share Posted May 14, 2019 High Sierra HFS+ hack 5 signature --> OK High Sierra HFS+ hack 1 signature --> OK High Sierra HFS+ hacK 2 signature --> crash just instantly at launch I think that the problem is related to this current configuration of the hack Link to comment Share on other sites More sharing options...
notiflux Posted May 14, 2019 Author Share Posted May 14, 2019 Can you attach a new crashlog? Link to comment Share on other sites More sharing options...
iCanaro Posted May 14, 2019 Share Posted May 14, 2019 (edited) @notiflux crash log High Sierra HFS+ hacK 2 signature OCC_crash_log.rtf.zip Edited May 14, 2019 by iCanaro Link to comment Share on other sites More sharing options...
iCanaro Posted May 14, 2019 Share Posted May 14, 2019 High Sierra hack 4 signature --> OK Link to comment Share on other sites More sharing options...
apfelnico Posted May 14, 2019 Share Posted May 14, 2019 On 5/10/2019 at 12:05 AM, notiflux said: honestly I don't like when applications behave like that, so I don't think I will be changing that. I've just accustomed to hitting cmd+q to quit an app That's right. Everything else is Windows. There is a difference between "close document" and "close application". Link to comment Share on other sites More sharing options...
Tony Arnold Posted May 15, 2019 Share Posted May 15, 2019 @notiflux if you wanted to setup a list of GitHub issues of things that need doing, I'd be happy to pitch in. I've got a bit of AppKit and Swift experience, and I'll make use of this - happy to contribute, even if it's just reviewing PRs. 3 Link to comment Share on other sites More sharing options...
notiflux Posted May 19, 2019 Author Share Posted May 19, 2019 (edited) @iCanaro could you test this build again? @ALL This build also includes an ACPI patch previewer. To show it, select a patch and hit the spacebar -deleted- Edited October 21, 2019 by notiflux 2 Link to comment Share on other sites More sharing options...
iCanaro Posted May 19, 2019 Share Posted May 19, 2019 OK 1 Link to comment Share on other sites More sharing options...
Andrey1970 Posted May 19, 2019 Share Posted May 19, 2019 4 hours ago, notiflux said: @iCanaro could you test this build again? @ALL This build also includes an ACPI patch previewer. To show it, select a patch and hit the spacebar OpenCore-Configurator_alpha17.zip Program window very big on the screen 1366 x 768. Link to comment Share on other sites More sharing options...
notiflux Posted May 20, 2019 Author Share Posted May 20, 2019 (edited) @Andrey1970 We're actually restructuring the UI under the hood, so when that's done, we'll add constraints to everything to allow resizing @ALL here's a new build, since I noticed that the last one wouldn't allow you to select any other section. -deleted- Edited October 21, 2019 by notiflux 2 Link to comment Share on other sites More sharing options...
vector sigma Posted June 5, 2019 Share Posted June 5, 2019 (edited) On 5/10/2019 at 1:04 AM, notiflux said: @vit9696 thanks a lot for the info. I will implement the version checks tomorrow. About the restructuring/ordering of the config: afaik OCC does not reorder any entries it isn't supposed to, I will check that thoroughly tomorrow though, since swift dictionaries like throwing values around. It does however change the format slightly, for example it saves data like this <data> T3BlbkNvcmUK </data> Instead of this <data>T3BlbkNvcmUK</data> This should not affect OC itself, but indeed does make comparison more difficult when looking at the plist in raw text. However I did not find a way to prevent this from happening, this seems to be the way plists are formatted when writing an NSDictionary to a file. I will investigate this further to see if I can somehow manage to make this work, if nothing else I'll manually strip the newlines after the file was written. I'm sure the differential documentation will be a huge help for parsing configs of different versions, since atm OCC can only reliably parse the current version. If you have any more suggestions/changes you want to be made, just let me know Thanks again and cheers It is because NSDictionary doesn't keep the order of key-value pairs, only on arrays. For that you have to write your own xml parser to both read and write a plist, i.e all that with out using NSDictionary. Anyway this is not a bug. About data tag with blank spaces and line feeds, imho is a bug from Open Core since the parser should at least remove them to keep a clean base 64 string, and in fact he already try to skeep spaces: RETURN_STATUS EFIAPI OcBase64Decode ( IN CONST CHAR8 *EncodedData, IN UINTN EncodedLength, OUT UINT8 *DecodedData, IN OUT UINTN *DecodedLength ) { CONST CHAR8 *End = EncodedData + EncodedLength; CHAR8 Iter = 0; UINT32 Buf = 0; UINTN Len = 0; while (EncodedData < End) { UINT8 C = D[(UINT8)(*EncodedData++)]; switch (C) { case WHITESPACE: continue; /* skip whitespace */ ----> do the same for '\n' and '\r' but not '\n' nor '\r', but it should. ..as already written by someone: // // Additional modifications include permitting tabulation and other whitespace // characters to appear in the encoded data. The intention of those is to support // Base64 data from property lists. // .. because that is normal. looking at any kexts in SLE, data tag are always formatted with '\n, so this parser needs to be fixed. Edited June 5, 2019 by vector sigma Link to comment Share on other sites More sharing options...
glasgood Posted June 15, 2019 Share Posted June 15, 2019 (edited) Hi @notiflux I appreciate and applaud your time and commitment developing the OpenCore Configurator, it looks good! but, I tried using your application attached here on your post but it randomly quits unexpectedly. Do you have an updated version ? I have just discovered your your latest version alpha18 . All good! thanks. Edited June 15, 2019 by glasgood update 1 Link to comment Share on other sites More sharing options...
XerSon Posted July 8, 2019 Share Posted July 8, 2019 On 6/21/2019 at 1:37 PM, nytr0 said: Do you have a build coming for Opencore 0.0.3? Old committed on 23 May https://github.com/notiflux/OpenCore-Configurator/commits/master The author took a vacation probably. Link to comment Share on other sites More sharing options...
Recommended Posts