idpaterson / alfred-wunderlist-workflow

Unbelievably fast task entry in Wunderlist with due dates, reminders, and recurrence
298 stars 8 forks source link

german word für resolves to a reminder #135

Closed csteinlehner closed 7 years ago

csteinlehner commented 7 years ago

Hi,

I'm using this workflow in german language. If I type the word für (for) the r and following whitespace gets converted to a reminder. So if I type something like wl l:blumen für mama kaufen

I get Life – reminder at 19:55 blumen fümama kaufen

idpaterson commented 7 years ago

Ooh, that's not good. This is going to become a very important test case in the work that I'm doing in parsedatetime. I see that it is not a particularly difficult fix but it will be fairly comprehensive to make sure that all parsing treats unicode characters properly.

Since this particular case is within the workflow rather than parsedatetime I can push out a fix for this and similar issues for the Wunderlist-specific parsing but if the same problem affects parsedatetime it might be awhile before dates are fixed since we're working on a major update. What happens if you type the made-up word fünacht, does it give you as the task text with a due date and reminder for 21:00:00?

I have been working on a major overhaul of testing in the parsedatetime that will allow for much more comprehensive test coverage of dates in other locales.

csteinlehner commented 7 years ago

fünfacht works fine. It seems like it has something to do with the combination 'ür'

idpaterson commented 7 years ago

Correct, I'll be a little more clear here. Since the patterns that the workflow uses are not correctly handing accented characters like ü the word für is interpreted as fü r. Since the workflow allows reminders to be specified with the single letter r as shorthand for reminder (along with other terms like alarm and remind me) this causes the default reminder to be set. I'll have an update out to fix that for you tomorrow.

Similarly, the fünacht fake word case would be handled as fü nacht where the word nacht (night) is interpreted as 21:00:00. You had an extra f in there. I didn't find any real German words that had accented characters in a place that would break date parsing, this might be a bigger problem in other languages though.

csteinlehner commented 7 years ago

ah sorry yes, fünacht does exactly what you describe.

idpaterson commented 7 years ago

Thank you for confirming. That behavior in parsedatetime will be fixed sometime in the next few months but fortunately in the meantime I have found no real German words that would be affected by this.

csteinlehner commented 7 years ago

I don't have an example with something else like that. If I stumble upon another problem I will let you know.

Thanks again for your fast reaction!