Clearing history on exit hangs Pale Moon

Talk about code development, features, specific bugs, enhancements, patches, and similar things.
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.

This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.

Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
asmian

Clearing history on exit hangs Pale Moon

Unread post by asmian » 2014-08-16, 04:00

:silent:
Last edited by asmian on 2014-10-04, 20:21, edited 3 times in total.

User avatar
ron_1
Moon Magic practitioner
Moon Magic practitioner
Posts: 2855
Joined: 2012-06-28, 01:20

Re: Pale Moon Commander breaks Pale Moon

Unread post by ron_1 » 2014-08-16, 04:26

Not sure if this makes a difference or not. It says here on the PM Commander page:
Version compatible with Firefox base code v24-v28 (intended for Pale Moon 24.7.0 and later).
What version of Pale Moon are you using?

asmian

Unread post by asmian » 2014-08-16, 04:35

:silent:
Last edited by asmian on 2014-10-04, 20:21, edited 1 time in total.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35597
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Clearing history on exit hangs Pale Moon

Unread post by Moonchild » 2014-08-16, 09:59

Clearing history really shouldn't take that long, and normally doesn't (should be done in a few seconds). Unfortunately that makes your situation very much an edge case and creating an on-shutdown event, UI, etc. for it would be disproportionate.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Parsifal

Re: Clearing history on exit hangs Pale Moon

Unread post by Parsifal » 2014-08-16, 10:39

2 minutes to clear history seems very long, even for an extensively populated one. I'd bet there's another parameter in this scheme which is disturbing.

asmian

Re: Clearing history on exit hangs Pale Moon

Unread post by asmian » 2014-08-16, 14:38

:silent:
Last edited by asmian on 2014-10-04, 20:21, edited 1 time in total.

mikeysc

Re: Clearing history on exit hangs Pale Moon

Unread post by mikeysc » 2014-08-16, 15:21

This is all part of the minimization trend to "simplify" the interface. The proper way for any Windows GUI application is (and used to be standard) for the application window to load first and stay open until all processing is complete. But Mozilla wants to do stuff in the background to make it look like the application/page loads faster and shuts down faster. They have it checking for updates before the window ever shows, when really the window should be there with an activity indicator. But activity indicators of all types, even throbbers, are now considered a negative as in an indicator of slow performance. So the quick and dirty programming solution is to hide stuff from the user. If it's worth fixing one aspect, might as well fix the whole issue and go back to Windows standard programming when it was done the right way (that was about 15 years ago).

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35597
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Clearing history on exit hangs Pale Moon

Unread post by Moonchild » 2014-08-16, 20:46

It's not a scenario that is likely to happen. As said clearing history should not take more than a few seconds, regardless of the number of entries in the history database. SQLite is quite efficient at deleting records. As such, adding a modal dialog (which isn't as simple, either, since a lot needs to be checked to determine if it needs to be shown or not: are we shutting down? are we restarting? is the process taking more than x number of seconds? etc.) is something that would rather get in the way and cause more support requests than solve anything if not implemented with a lot of care. But, if you feel it's a necessity, I'm open to having something like that added (behind a pref) - patches welcome, in that case.

Also, It's not the case that an unlimited number of entries is retained in history. How much is retained (number of entries) is either set manually, or, if a manual entry is missing, is determined dynamically based on the amount of memory you have in your system.
Simply deleting the database file is not an option, since the database contains much more than just history. Next to browsing history, also Bookmarks, Bookmarks favicons, annotations, input history, visited hosts (with scheme if needed), keywords, etc.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

asmian

Re: Clearing history on exit hangs Pale Moon

Unread post by asmian » 2014-08-16, 23:31

:silent:
Last edited by asmian on 2014-10-04, 20:22, edited 1 time in total.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35597
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Clearing history on exit hangs Pale Moon

Unread post by Moonchild » 2014-08-17, 00:08

There's absolutely no need to blow a gasket. -- Over one sentence, at that.

I'm saying "behind a pref" as a hint to build in a pref to easily switch it on or off if you (or someone else) were going to supply a patch, and that's not me being obtuse, but rather keeping maximum choice for users and being able to disable it by default if the root cause of the potential problem the dialog is needed for is addressed.

As for "patches welcome" being "smug", let me turn this around to you: I wasn't the one stating that it was "Adding one line of code" or "a VERY small request". If it's that small or trivial, then anyone can have a look at the code and offer a patch, especially programmers like yourself - who is obviously quite familiar with the browser code, to begin with.
I have a lot to do, and I need to prioritize things. The fact that adding some code in itself doesn't take much time doesn't mean it ends there. Adding new code is followed by building, followed by testing if the added feature works as intended - debugging if needed, changing code if needed and rinse&repeat. That takes time, energy and focus. For a small change less than for a big change, but there's always this "ante" of going through the motions for any code change. If someone else can provide a tested patch, then low-priority code can be added very quickly to the source tree. Otherwise it's likely to be pushed back repeatedly since I have bigger fish to fry.

"Patches welcome" just means that I'm open to contributions in code and will give those contributions proper attention (and will include them if sound). You shouldn't take it as a brushing off, which you are clearly doing. I think you may have had encounters with a different type of "developer" if you read that much one-sided into a rather neutral statement like that and go overboard like that.
The fact that the source tree as a whole is 14 million lines of code doesn't impact small changes in the UI or the display of a dialog. It's not like you need to work on one of the complex back-ends.

The other point that I didn't individually address is rooted in the same cause: excessively slow database updates when clearing history on your particular setup, which is not something I think is even related to the browser. If db updates were that slow, then you would also notice it in regular browsing since the places database is accessed VERY often. I therefore didn't think it was going to need separate addressing, since I'd just be repeating myself: normally, clearing history takes at most a few seconds, and a restart for an add-on installation would not be delayed. Average users would therefore not likely ever run into your issue, since db updates are very fast. If it was a known issue or something more regularly occurring, it would be something needing more attention, but it seems to be an edge case - in which the proposed dialog would be a "nice to have" enhancement for whomever might be running into the issue, but already low priority otherwise.

As far as attitude goes: the attitude problem is with people complaining, then expecting "personal service" to address a specific individual issue, and when it's not addressed or requires actual effort, throwing a tantrum and making it a personal matter towards the developer. You've done exactly that, and that's not the kind of attitude that gets me motivated to do anything. My attitude doesn't need adjusting, and I'm indeed interested in being helpful and considerate to the users of my software, but not if they decide it's good form to start throwing F-words, calling me smug or having an attitude problem.
As a result, I will, indeed, not consider giving this any more attention - but others are welcome to, if they feel so inclined.
Last edited by Moonchild on 2014-08-17, 00:51, edited 2 times in total.
Reason: Explained a bit more why I can't do every edge case enhancement myself.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite


Locked