Skip to content
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

Increment version to 4.1.0 #733

Merged
merged 14 commits into from
Jan 6, 2021
Merged

Increment version to 4.1.0 #733

merged 14 commits into from
Jan 6, 2021

Conversation

glubsy
Copy link
Contributor

@glubsy glubsy commented Oct 27, 2020

I know it's a big hasty, but I've gone ahead and added the recent major changes to the changelog to make things easier for the next release. This includes the currently pending merge requests.

This is based on my dev branch which has everything merged. I have used this version of DupeGuru recently and I can attest that there is no visible problem. I'm quite happy with the changes.

@arsenetar I hope you're still alive and doing well. I don't want to pressure you into working on this if you are busy with other things. Let me know if you need assistance. I might redirect Arch Linux users to my dev branch if I don't hear from you for a while.

Also, after tweaking around in my MacOS Catalina virtual machine, as far as I can tell, packaging for MacOS is still a problem. But perhaps it can be done without the Cocoa UI if Qt works just fine?

@arsenetar
Copy link
Owner

@glubsy I'm still around, been rather busy with work/life so not had the energy to work/review items here. (Part of my job is reviewing software and there is only so much of that I can do in a day as well.) I had partially reviewed one of these PRs and never finished it, I went ahead and finished up my comments on that one. Some of these other PRs are not that large, however since they are built off of that branch they show up here with a-lot of changes which makes it hard to really sort through. As the earlier PRs are worked through I should be able to get through the newer ones in a more timely manner.

Plan has been to release 4.0.5 once all these are merged in, there was only one outstanding change I had that I originally wanted in 4.0.5, however I would have to make some changes to the original work I did there due to the other UI changes so might leave that out.

OSX has been a real struggle to get a stable working environment for me without Apple hardware. I have been able to build both Qt and Cocoa UIs successfully and run them on the development machine. The Qt version had slightly more success running on other machines, although there were still some OSX specific issues to look into for that version of the UI. The Cocoa UI had issues related to the packaging of the python framework not pointing the the correct files (within the package) and instead looking for the original files. I believe I have figured out how to resolve this issue, my OSX environment just really is sub-optimal and therefore a pain to work in. As you have noticed the packaging scripts for the Cocoa version do not fully work, so I had several modifications and ended up eventually just building through XCode. The Qt build needed some minor changes to package for OSX correctly.

@glubsy
Copy link
Contributor Author

glubsy commented Oct 28, 2020

Thanks for the reply! No worries, just wanted to make sure you were still around.

I'm mostly worried about the recurring duplicate MacOS bug reports which pile up due to the lack of new releases. Also it seems quite a lot of folks use this application, and some bugs appear to have been "show stoppers".
I also wished to have a stable new release before working on further improvements to DupeGuru and messing things up even more. ;)

python framework not pointing the the correct files (within the package) and instead looking for the original files

I kept hitting an error after compiling with XCode which is probably what you are mentioning here. It seems to build successfully but then running the app yields an error along the lines of:
module __main__ has no attribute PyDupeGuru, which I traced back to the ObjP_findPythonClass() function in the generated ObjP.h.
Side note, xcodebuild required the full XCode to build DupeGuru, the CLI tools only didn't seem to cut it somehow. That seemed strange to me.

I don't have any experience with MacOS, let alone Objective-C programming so it's difficult for me to produce anything substantial in that regard. So if you think you have a solution to all this, that's quite a relief to me.

Sorry about this merge requests depending upon previous ones. This one is mostly comprised of previous feature branches being merged, b16b6ec up to 32d66cd are only minor tweaks.

@arsenetar
Copy link
Owner

That error is almost 100% due to that issue (at least all the information I have been able to trace seems to point to it), I was actually kinda able to get the CLI tools to work, although ran into other issues which were easier to figure out with full XCode. My main issue with OSX right now is I just don't have an good environment for it so it just adds to the frustration/effort for figuring out these issues.

I should convince myself to spend more time on to figure it out although so far it has been a bit of a black hole of time with not a whole lot of progress to show for it, so been a bit discouraging. The Qt version was in a better position, although not 100% as expected given it was not setup for OSX. Long term I was looking at getting rid of the Cocoa version to at least reduce the amount of OSX specific development that was needed.

@glubsy
Copy link
Contributor Author

glubsy commented Oct 28, 2020

Getting rid of Cocoa sounds good to me if that's in the range of possibilities.

I was under the impression that the only way to run Dupeguru in OSX was to use the Cocoa bridge. I was confused when I discovered that it runs fine with just pyqt5. But I'm still even more confused about the packaging with Cocoa.

I had noticed you had separate items for Qt/OSX #566 but couldn't find any code related to that anywhere. Do you have a separate repository for the OSX packaging process?

If it's such a time sink, maybe you could publish what little you have for OSX users to sort out themselves in the meantime? No need to overwork yourself. ;)

I just don't have an good environment for it

I'm not sure what you mean by that. I reckon it might not be as simple on Windows, but if that helps, in Linux I run MacOS Catalina in a virtual machine through QEMU which seems to do the trick.

Edit: indeed this error report is the same as the one I got when building the OSX package.
Side note, I got the same kind of error when building Dupeguru 4.0.3 OSX package as well as my development version of Dupeguru. So it might be related to some change in either python3, XCode, or something else in the operating system.

@arsenetar
Copy link
Owner

The OSX Packaging for Qt was about 10-20 lines added to package.py, I just needed to clean it up a touch. The Cocoa packaging was a bit more of a mess so would need more cleanup to get it to be something that would make sense posting.

With respect to the environment issue, originally I had a virtual machine, it worked Ok but my CPU at the time really made that an exercise in patience. I did end up upgrading my system, but since I went over to an AMD CPU the VM no longer worked and I did not find a way to get it to work again at the time. I then setup my old parts as a hackintosh system which gave better performance, but like the VM did not have hardware graphics acceleration (due to the parts at hand) so it still is kinda problematic at times. It took a bit to get it setup where it would work fairly reliably, and it still is not the best. Really it just comes out to making it more of a struggle than I want to deal with most of the time, so it is hard to get motivation to work on it when I do have time.

@glubsy glubsy changed the title Increment version to 4.0.5 Increment version to 4.1.0 Dec 20, 2020
@arsenetar arsenetar mentioned this pull request Dec 28, 2020
12 tasks
@glubsy glubsy mentioned this pull request Dec 29, 2020
@arsenetar
Copy link
Owner

@glubsy Can we get this PR updated now so it only shows the new changes?

@glubsy
Copy link
Contributor Author

glubsy commented Dec 29, 2020

Done.

README.md Outdated Show resolved Hide resolved
Copy link
Contributor Author

@glubsy glubsy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

help/changelog Show resolved Hide resolved
help/changelog Show resolved Hide resolved
* There is a bug with pyqt5<=5.14 where the table does not update after a call to update() and needs to receive a mouse click event in order to repaint as expected.
* This does not affect Windows only as this is a Qt5 bug.
* This seems to be fixed with pyqt5>=5.15.1.
* If a regex in the table is invalid and failed to compile, its "compiled" property is None.
* Only test against the regex if its compilation worked.
* When clicking on the test regex button or editing the test input field, the tableView doesn't update its data properly.
* Somehow QTableView.update() doesn't request the data from the model.
* The workaround is to call refresh on the model directly, which will in turn update its view.
@arsenetar arsenetar merged commit ab6acd9 into arsenetar:master Jan 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants