!rGlCMuXgAhgEpdvJUz:nixos.org

NixOS KDE

136 Members
45 Servers

Load older messages


SenderMessageTime
5 Sep 2024
@outfoxxed:outfoxxed.meoutfoxxedI think it should be implemented in the load/store functions as late as possible to avoid touching any internal structures that are more likely to change07:09:40
@outfoxxed:outfoxxed.meoutfoxxedjust add a header with the store path07:09:56
@outfoxxed:outfoxxed.meoutfoxxedand theres no risk of reading corrupt old caches because caching was disabled07:10:27
@outfoxxed:outfoxxed.meoutfoxxedAlso we should only do this for applications located in the nix store07:11:19
@outfoxxed:outfoxxed.meoutfoxxedWhat might work well here is to reuse the version field that the qml engine already stores with the cache and set it to max(whatever int type) to signify it has an extra header07:13:52
@outfoxxed:outfoxxed.meoutfoxxedso it will be discarded if its somehow loaded in non-store mode07:14:12
@outfoxxed:outfoxxed.meoutfoxxedits a uint32, we have plenty of headroom on the version number07:15:55
@k900:0upti.meK900I don't know about that07:16:57
@outfoxxed:outfoxxed.meoutfoxxeddo you have a better idea?07:17:07
@k900:0upti.meK900I don't want to mess with the internals any more than absolutely necessary07:17:35
@k900:0upti.meK900Maybe we should talk to Qt upstream and see what they think07:17:49
@outfoxxed:outfoxxed.meoutfoxxedI don't either but I also don't want hundreds of outdated cache files07:17:53
@outfoxxed:outfoxxed.meoutfoxxedyeah thats probably a good idea07:18:03
@outfoxxed:outfoxxed.meoutfoxxedI'll mention it07:18:30
@outfoxxed:outfoxxed.meoutfoxxedlooking through the load/store code its pretty integrated07:21:56
@outfoxxed:outfoxxed.meoutfoxxedprobably less of a good idea than I hoped07:22:13
@k900:0upti.meK900I'm also putting some notes on the PR07:26:06
@outfoxxed:outfoxxed.meoutfoxxedWhat do you think of hashing the application and qtdeclarative versions together and putting them in qml_compile_hash07:27:33
@outfoxxed:outfoxxed.meoutfoxxedthats a 48 character space usually used for just the qtdeclarative version07:27:49
@outfoxxed:outfoxxed.meoutfoxxedand already embedded in the qmlc07:27:57
@outfoxxed:outfoxxed.meoutfoxxedwe can use one or more bytes to signify it should be read as a hash of both and compared as such07:28:31
@outfoxxed:outfoxxed.meoutfoxxedworst case scenario some application not running from the nix store gets a cache miss07:28:53
@k900:0upti.meK900I think I need to reread the cache cleaning code07:31:35
@k900:0upti.meK900Because I am very confused on how it's intended to work07:31:44
@outfoxxed:outfoxxed.meoutfoxxedqv4executablecompilationunit.cpp07:31:54
@outfoxxed:outfoxxed.meoutfoxxedExecutableCompilationUnit::verifyHeader07:32:01
@outfoxxed:outfoxxed.meoutfoxxedmy proposal is to check for a proefix on unit->libraryVersionHash, and if present handle the following bytes as a hash of QML_COMPILE_HASH and the application's store path07:33:13
@outfoxxed:outfoxxed.meoutfoxxed * my proposal is to check for a prefix on unit->libraryVersionHash, and if present handle the following bytes as a hash of QML_COMPILE_HASH and the application's store path 07:33:26
@outfoxxed:outfoxxed.meoutfoxxedif not present its handled normally to avoid breaking anything that isn't a nix packaged qtquick application07:34:37
@k900:0upti.meK900I wonder if upstream would be open to like07:36:31

Show newer messages


Back to Room ListRoom Version: 9