Anonymous | Login | Signup for a new account | 2024-04-20 03:12 UTC |
My View | View Issues | Change Log | Roadmap | Doomseeker Issue Support Ranking | Rules | My Account |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0003354 | Doomseeker | [All Projects] Bug | public | 2017-12-11 16:48 | 2023-02-19 14:13 | ||||
Reporter | Zalewa | ||||||||
Assigned To | Zalewa | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | Microsoft | OS | Windows | OS Version | XP/Vista/7 | ||||
Product Version | 1.0 | ||||||||
Target Version | 1.4.0 | Fixed in Version | 1.4.0 | ||||||
Summary | 0003354: Portable mode is portable in name only. | ||||||||
Description | The '--portable' mode is really a '--stick-config-files-next-to-exe' mode. The idea of '--portable' is to put the app on a USB stick and take it with you anywhere. However, when you look at config files, you will notice that it saves absolute paths everywhere when it spawns the config files. If your Windows loads the USB under the letter "G:\", the .ini will contain paths "G:\Doomseeker\.doomseeker\". Then you take the stick with you somewhere, and it gets mounted as "F:\" - nothing works because all paths are invalid now. This is similar to 0003262 where user home dir is not saved as $HOME or ~. The proposed fix is to create a place-holder token that can be used when configuring various paths and this token will always resolve to the current "dir-with-executable" path. Propositions for such token:
We should come up with something that has minimal chance of colliding with actual OS path but also won't be too cumbersome and won't be QString::replaced() incorrectly and won't potentially collide with env vars that could also be expanded in the same way. For example, EAGLE uses "$EAGLEDIR" as a placeholder. | ||||||||
Additional Information | This has been so since forever. | ||||||||
Attached Files | |||||||||
Notes | |
(0022623) Zalewa (developer) 2023-01-02 13:36 edited on: 2023-01-02 13:37 |
In preparation for solving this issue I made a bunch of edits to DataPaths to clean it up: 1. Improvements to documentation and deprecation of the canWrite() method that was already unused. 2. Deprecation and cease of use of confusing, legacy methods (workingDirectory(), systemAppDataDirectory() and their counterparts). |
(0022626) Zalewa (developer) 2023-01-03 19:52 edited on: 2023-01-03 20:03 |
And voila:'https://bitbucket.org/Doomseeker/doomseeker/commits/79c183be397435abd3d449791d4a7a88e3ec2ba4 [^]' The commit message contains an extensive description on how this was implemented, so let me quote that: Quote from Commit Message |
(0022664) Zalewa (developer) 2023-01-05 12:32 edited on: 2023-01-05 12:33 |
Beta package for Windows available at the beta auto-update channel and at: 'https://devbuilds.drdteam.org/doomseeker/doomseeker-1.3.3~beta-230105-1140_windows.zip [^]' Please test running with `--portable` mode and without and seeing if the various path configurations throughout the program behave properly. Keep in mind that if the path crosses the boundary of the filesystem on Windows (ie. changes the drive letter) then it's normal and expected to receive an absolute path even in the `--portable` mode. This change has a potential for lots of nasty bugs... |
This issue is already marked as resolved. If you feel that is not the case, please reopen it and explain why. |
|
Supporters: | DrinkyBird |
Opponents: | No one explicitly opposes this issue yet. |
Issue History | |||
Date Modified | Username | Field | Change |
2017-12-11 16:48 | Zalewa | New Issue | |
2017-12-11 16:49 | Zalewa | Relationship added | related to 0003262 |
2017-12-11 16:49 | Zalewa | Description Updated | View Revisions |
2018-08-27 07:31 | Zalewa | Assigned To | => Zalewa |
2018-08-27 07:31 | Zalewa | Status | new => assigned |
2022-09-10 15:01 | Zalewa | Target Version | => 1.4.0 |
2023-01-02 13:36 | Zalewa | Note Added: 0022623 | |
2023-01-02 13:37 | Zalewa | Note Edited: 0022623 | View Revisions |
2023-01-03 19:52 | Zalewa | Note Added: 0022626 | |
2023-01-03 19:52 | Zalewa | Status | assigned => needs review |
2023-01-03 19:52 | Zalewa | Note Edited: 0022626 | View Revisions |
2023-01-03 20:03 | Zalewa | Note Edited: 0022626 | View Revisions |
2023-01-05 12:32 | Zalewa | Note Added: 0022664 | |
2023-01-05 12:32 | Zalewa | Status | needs review => needs testing |
2023-01-05 12:33 | Zalewa | Note Edited: 0022664 | View Revisions |
2023-02-19 14:13 | Zalewa | Status | needs testing => resolved |
2023-02-19 14:13 | Zalewa | Fixed in Version | => 1.4.0 |
2023-02-19 14:13 | Zalewa | Resolution | open => fixed |
Copyright © 2000 - 2024 MantisBT Team |