-
-
Notifications
You must be signed in to change notification settings - Fork 65
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
v82 build #81
Merged
Merged
v82 build #81
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
WARNING: a PDF URI does *not* have to include a PDF extension! Case in point: https://pubs.acs.org/doi/pdf/10.1021/ed1010618?rand=zf7t0csx is an example of such a URI: this URI references a PDF but DOES NOT contain the string ".pdf" itself!
…ust like you get in the library/document view panels in Qiqqa. KNOWN ISSUE: for small BibTeXs (only a few lines of BibTeX for the given document), the green toggle X is obscured by the thumbs up/down fade in/out buttons. :-(
…A separator support)
…there which mentioned 'unit tests' -- which did not come with Qiqqa and are being recreated, but will not require or use this dead bit of code anyway.
- adding NuGet package ApprovalTests so we can more easily compare BibTeX records and other complex data input/outputs - slowly getting the MSTest-based unit tests set up and going: using the new MSTest v2 DataRow feature to keep the amount of test code low. - added `Assert.FileExists()`; used in TestBibTeX
…ts in the Qiqqa codebase.
…ve with the Sniffer window: currently the green X to toggle between BibTeX and RAW view mode gets obscured for files which have few or no BibTeX lines, thus making that bit of the UI unusable ATM. TODO: must find a way to resize the RAW view pane to max of both or some other method to ensure a minimum height that's acceptable everywhere.
- enabled some of the performance tests in the codebase by loading the same source file in the Unit Test project and having `#if TEST` code sections turned on there - added unit test to verify that the unit tester has `#if TEST` defined/enabled - added a TraceAppender to allow performance tests and others to log to the Test Explorer output via TraceLogAppender / TRACE - adjusted the log4net configuration(s) accordingly
… LaTeX macros define `<` and `>` and those should never-EVAR be present around *any* BibTeX record. Besides, we WILL add code in the parser/lexer later on to cope with TeX macros inside text strings, so this bit is an old hack at best. Now it's GONE.
…efactor there. Working towards jimmejardine#68
…X parsing) + adding tests
…op when encountering unterminated fields, etc.
…tion macros in order to (somewhat) correctly parse google scholar patents records: fixes jimmejardine#22 and a bit of work towards jimmejardine#68
…do is point it to an 'Intranet' sync point = directory/URI path instead. (TODO)
…-or-less flaky web traffic
… ApprovalTests library -- for this purpose we had to create a custom Writer and Namer for ApprovalTests does not provide those suitable for DataTests.
… ApprovalTests custom DataTest namer/writer.
…sts in git; only the `*.approved.json` user-approved reference output files should be registered with the revision control system.
…stering the current state of affairs in 'approved' reference files by way of `ApprovalTests` use in the test rig. # Conflicts: # QiqqaSystemTester/data/fixtures/bibtex/b0rked-0008.bib
…till needed: we already disabled those empty style classes in the previous commit SHA-1: ff6e4ee ; now we take them out in the UI XAML definitions.
…tDatesVisible() in commit SHA-1: ff6e4ee
- fixing the last bit of work done in that commit where all the PageLayer-derived classes were fitted with IDisposable interfaces. Trouble is that the cleanup runs over a loop which accesses these instances via a PageLayer baseclass cast. - fixing several more DevStudio Code Analysis reports regarding Closed/Dispose handling of a few XAML controls; global Code Review used to update all OnClosed() handlers and treat them as we did the Dispose() code: NULL and Dispose/Clean what we can. - fixed crash in PageLayer-derived classes' Dispose, where the access to the `Children` member would throw a cross-thread-access error exception ( https://stackoverflow.com/questions/11923865/how-to-deal-with-cross-thread-access-exceptions ) Weird stuff happens as it looks like there are multiple Dispatchers in Qiqqa from this perspective, which is ... odd. (And, no, I'm not a WPF expert so it may be lack of understanding here.)
…n Profile 1, where Profile 1 was set up to include these: - Apply expression/block body preferences - Apply 'this.' qualification preferences - Sort usings - Remove unnecessary usings - Add accessibility modifiers - Sort accessibility modifiers The output has been manually code reviewed and has been adjusted to ensure all relevant files include ALL THREE AlphaFS using references anyway: Path, Directory, File to ensure we won't get surprised by odd spots *not* supporting long filenames when we later on edit the source code anywhere and happen to use one of the now 'unused' using references to AlphaFS. --- This implies there are NO FUNCTIONAL CHANGES in this commit.
…* action per se, but rather improve upon the patch we picked up there from the experimental branch: as it turns out, the patch caused a lot of trouble which has been resolved to allow the running background task(s) access to a reduced clone of the WebLibraryDetails, which does not exhibit the cyclic dependency that the original WebLibraryDetails instance incorporated, thus breaking the cyclic reference and allowing the .NET GC to do its job on the Library instance(s) ASAP. As this problem was discovered while doing work on commit SHA-1: ed2cb58, these files also include the remainder of the work done for that commit, as it was important to separate out the patches which fixed the cyclic memory reference.
…functional changes in this commit
…inating the application at special moments, e.g. while it is still loading the libraries on init (Hit Alt-F4 while the busybee cursor is still active and you might've run into a few of these, f.e.) - Make sure all `MessageBox.Show` actions go through the `MessageBoxes` class - Make sure every `MessageBox.Show` is executed from the UI thread, even when its wrapper was invoked from a background thread
…t the code to use non-skippable SafeThreadPool threads to Stop/Abort pending threads.
…riginal Qiqqa. Upon closer inspection the remaining `Process.Start()` calls are are intended to open an (associated) application for a given file or directory, which is proper. Added a few `using(...)` statements around Process usage, etc. to prevent memory leaks on these IDisposables.
…e huge or you're running on a slow box and you'll get a b0rked extract. Just let 7ZIP complete.
…yzing qiqqa behaviour
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Everything up to v82.0.7216.35525 release.
This release is binary compatible with previous releases v80 and v79: the file storage formats haven't changed since v79.
The most important addition to v82 is much improved code robustness: Qiqqa SHOULD open and peruse user libraries, which have been corrupted somehow previously and which would crash or otherwise cause releases v80, v79 and older releases to fail or become completely inoperable. Bad/invalid/truncated PDF files in a user library or Watch Folder should not fatally wound Qiqqa any more.
v82 DOES NOT 'auto-fix' such libraries; this is reserved for a future release. See also #80
To see what happened up to this release, next to the CHANGELOG, there's the 'closed issues list' for this release at github.
The CHANGELOG (and CHANGELOG_full) list the work done in this series of commits.
Tip
Run a Qiqqa Expedition session on the entire library to retrigger OCR and text indexing of your library files, which were previously insufficiently parsed/processed (silently) due to a major fault in older QiqqaOCR: see also #74, #73 and https://github.com/GerHobbelt/qiqqa-open-source/issues/1