Bug 146336 - korgac does not redisplay undismissed reminders if killed
Summary: korgac does not redisplay undismissed reminders if killed
Status: RESOLVED FIXED
Alias: None
Product: korgac
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR minor
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-06-04 08:12 UTC by Adam Porter
Modified: 2012-12-05 19:58 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.10


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Porter 2007-06-04 08:12:14 UTC
Version:            (using KDE KDE 3.5.7)
Installed from:    Debian testing/unstable Packages

If korgac displays a reminder dialog, and you kill korgac before dismissing or suspending the reminder, when you restart korgac, the reminder will not be displayed.  This could cause important reminders to be missed.
Comment 1 Bram Schoenmakers 2007-06-04 19:26:33 UTC
If you want your apps to behave reliably, just don't kill them in the middle of something.
Comment 2 Reinhold Kainhofer 2007-06-04 21:11:52 UTC
The problem also appears when you log out while the reminder is displayed... This is a rare case, but even then the reminder should not be automatically dismissed by ideally be re-displayed when you log in again. 

A possible solution would be to mark the reminder as displayed only when it's dismissed manually or deferred to later.

Cheers,
Reinhold
Comment 3 Adam Porter 2007-06-06 03:00:14 UTC
Thank you, Reinhold.

This bug is a problem specifically for me because of this bug:

http://bugs.debian.org/400857

Here's a scenario: my Internet connection gets interrupted for a while, so korgac's attempts to download my iCal file fail, which pops up an error dialog for every failed attempt.  Then the connection returns, and then a reminder pops up.  Then I return to the computer.  I try to click OK or suspend the reminder, but I can't click any of the buttons, because there are 100 error dialogs that were raised before the reminder dialog.  So rather than click 100 OK buttons and then suspend the reminder, I just kill korgac and restart it.  But then the reminder is history.

Also, IMHO, software should be designed to be as reliable as possible, but a developer shouldn't assume that his app will never crash.  Apps should be designed to be as crash-tolerant as possible.  korgac shouldn't assume the reminder has been seen or acknowledged by the user until the user actually clicks one of the buttons on the reminder dialog.  Apps crash, OS's crash, hardware crashes, power goes out sometimes, people are forgetful, etc.
Comment 4 Frank Roscher 2012-12-05 19:58:43 UTC
Git commit d1d99767eed455ee6f152ca9b7461f7a9a9acaa0 by Frank Roscher.
Committed on 05/12/2012 at 20:18.
Pushed by froscher into branch 'master'.

Fix saving and loading of suspended reminders in KOrganizer

We need to wait for all collections to be available when restoring
reminders at startup, or they won't get loaded properly. Additionally,
we must delete reminders one by one as they are dismissed instead of
just cleaning out the config file after each startup.
Related: bug 280321, bug 180413, bug 302865
FIXED-IN: 4.10
REVIEW: 107546

M  +2    -3    korganizer/korgac/alarmdialog.cpp
M  +50   -29   korganizer/korgac/koalarmclient.cpp
M  +2    -0    korganizer/korgac/koalarmclient.h

http://commits.kde.org/kdepim/d1d99767eed455ee6f152ca9b7461f7a9a9acaa0
Comment 5 Frank Roscher 2012-12-05 19:58:43 UTC
Git commit 98a09977726a1d293e2a5546217f81fc6648eceb by Frank Roscher.
Committed on 05/12/2012 at 20:36.
Pushed by froscher into branch 'master'.

Save KOrganizer reminders when they are first added to the alarm dialog

Previously, the list of already-triggered reminders only got saved to
the config file when the user actively dismissed or suspended one of
them. With this and the previous patches, saving and loading of
reminders should work correctly now.
Related: bug 180413
FIXED-IN: 4.10

M  +1    -0    korganizer/korgac/alarmdialog.cpp

http://commits.kde.org/kdepim/98a09977726a1d293e2a5546217f81fc6648eceb