Commit Graph

912 Commits

Author SHA1 Message Date
Tobias Theuer 7e7da76006 Simplified regex. Added video info. 2017-03-15 03:29:26 +01:00
Lorenz Hübschle-Schneider 0dc003f220 Add play.spotify.com to spotify plugin 2017-03-01 14:26:14 +01:00
Lorenz Hübschle-Schneider 1fa6462bca Remove "scroll to readmarker" functionality
It's irritating. Fixes #899
2017-03-01 14:21:46 +01:00
Dan Callahan e37d12fe59
Remove obsolete references to Firefox OS / mozApps 2017-02-26 14:29:42 -06:00
nyuszika7h 49531f8f5b Add more file formats 2017-02-12 22:33:45 +01:00
Lorenz Hübschle-Schneider 4937b79a7a Fix fontsize unit fixing (assume px if no unit specified)
The settings module sees that we're reading a number, so it converts
the value to a number. Unit detection needs a string, though, so
convert it back into one in that case.
2017-02-09 10:10:08 +01:00
nyuszika7h f280c7c6f1 Add some image formats
Added support for .bmp, .svg and .webp.
2017-02-08 10:42:43 +01:00
Lorenz Hübschle-Schneider f998a003c0 Font size unit should default to pixels
See #882
2017-01-02 13:24:23 +01:00
Lorenz Hübschle-Schneider 079f84818f Fix non-TLS warning 2016-12-28 12:14:18 +01:00
Lorenz Hübschle-Schneider 9865bdd032 Don't show TLS warning in cordova 2016-12-03 12:14:47 +01:00
Tor Hveem 17d14364ed Merge pull request #853 from lorenzhs/improve-docs
Improve docs
2016-11-11 13:20:12 +01:00
Lorenz Hübschle-Schneider aeef7c4668 Improve TLS warning detection 2016-11-11 13:09:55 +01:00
Tor Hveem b29dc42a4a Merge pull request #854 from lorenzhs/plugin-dedup
Plugins: don't show plugin repeatedly for same URL in same message
2016-11-11 12:56:33 +01:00
Tor Hveem 635f556510 Merge pull request #850 from lorenzhs/spotify-embeds
Spotify: also match other types of embeds (playlists and artists)
2016-11-11 12:54:29 +01:00
Tor Hveem 15131dd1d0 Merge pull request #856 from glowing-bear/regex-escaping
Escape dots in plugin regexes
2016-11-11 12:51:31 +01:00
Lorenz Hübschle-Schneider 8892c4dfe5 Merge pull request #835 from glowing-bear/alth
Implement alt-h. Fixes #832
2016-11-09 14:34:54 +01:00
Lorenz Hübschle-Schneider 401e46e599 Use event.keyCode for consistency
We should either switch everything to event.code or nothing, imho
2016-11-09 13:04:25 +01:00
Simon Cooksey 71c2900216 Alt-H now clears hotlists on WeeChat relay
Fixes #832.
2016-11-09 12:58:09 +01:00
Simon Cooksey d9b86d28a0 Added cap on max number of unread lines to load
This is to improve performance when switching to a buffer with a large
number of unread lines.

Fixes #859

Thanks to @lorenzhs for the comments on PR #862.
2016-11-08 13:42:44 +00:00
Lorenz Hübschle-Schneider 7ba8ba202e Spotify: also match other types of embeds (playlists and artists) 2016-11-01 13:09:06 +01:00
Lorenz Hübschle-Schneider 71d2cefce1 Escape dots in plugin regexes
See #519
2016-11-01 13:07:12 +01:00
Lorenz Hübschle-Schneider ec221af52e Plugins: don't show plugin repeatedly for same URL in same message
Fixes #636
2016-11-01 11:08:40 +01:00
Kasper Vaessen f9e84f81ee Implement repeated-prefix 2016-10-18 11:05:28 +03:00
Kasper Vaessen 4ce499c9cc Base16 theme bugfixes and improvements 2016-10-13 21:44:39 +03:00
Tor Hveem 1ba1698703 Implement alt-h. Fixes #832 2016-10-13 14:16:24 +02:00
Kasper Vaessen 216da6fdab Nick list colors now also work without background color 2016-10-11 17:16:20 +03:00
Lorenz Hübschle-Schneider c46979088a Merge pull request #829 from Vaesper/master
Palette-based themes
2016-10-10 13:59:03 +02:00
Kasper Vaessen f105e32765 Palette-based theme and some variant themes with alternative palette 2016-10-10 09:45:37 +03:00
Kasper Vaessen 55b4c6254b Fixed nicks with background colours breaking in nicklist 2016-10-10 01:28:57 +03:00
Tor Hveem 65b4aaa97d Ability to pin buffers. Fixes #778.
This introduces ability to pin buffers using localvar storage in
WeeChat. At a later stage some UI should be introduced for this, like
discussed in #604 .
2016-09-27 15:49:22 +02:00
Tor Hveem ab649c86d4
New blue theme 2016-09-23 18:53:13 +02:00
Lorenz Hübschle-Schneider 7974204af3 Fix time format if no date is present 2016-09-19 10:11:14 +02:00
Lorenz Hübschle-Schneider cc4d4bf20e Fix comment 2016-09-19 10:04:15 +02:00
Lorenz Hübschle-Schneider 79e77ffef0 Date format: match ordering of components in weechat 2016-09-19 10:02:31 +02:00
Lorenz Hübschle-Schneider e65804c7a7 Date format: detect %e, too, and add some comments 2016-09-19 09:35:52 +02:00
Csaba Henk 02a3fbb876 Detect strftime year/month/day specifiers in weechat.look.buffer_time_format
Accodingly include year/month/day into our time format.
2016-09-17 20:05:26 +02:00
Jake Stevenson 6cc5fab302 Fix bug where disconnecting using the 'power' button, resume acted strange 2016-09-07 13:29:05 -05:00
Jake Stevenson bc72e8952c Able to resume buffer 2016-09-06 16:35:16 -05:00
Tor Hveem e903acfb0d
Fix notification count update 2016-08-11 14:09:09 +02:00
Evan Tschuy d1921c49e2 Add underscore to youtube regex 2016-08-11 01:21:35 -07:00
kurros 4a0ed97934 allow browser to use https for pastebin embed 2016-08-05 18:42:41 -04:00
Tor Hveem f4257c35c3
handlers: check for active buffer
Check for active buffer before syncing unreads from WeeChat
2016-07-30 14:10:02 +02:00
Tor Hveem a527428763
Periodic hotlist sync. Fixes #692
There is a bug in WeeChat when hdata is null, which happens when the
hotlist is empty (meaning all buffers are read). Our websocket callback
machinery expects every command with id to return data, so this code in
current versions of WeeChat will lead to a slow leak. But I think lots
of things in our code will do this already so I'm not entirely sure it's
too problematic to let this patch go by.

We could use infolists instead of hdata, but that is cumbersome to parse
and less performant for WeeChat, and sends more data over the wire.

I propose we make a separate attempt at cleaning up the callbacks. Since
we store time on them we could have a cleanuptask that looks through
them and deletes old callbacks. Maybe @dcormier could have a look?
2016-07-29 14:12:46 +02:00
Tor Hveem bc117aa8ce Merge pull request #792 from pmelanson/789-weechat-time-format
789 weechat time format
2016-07-28 14:29:28 +02:00
Ninjex 4971baefec Update plugin.js (#795)
The Asciinema cast plugin regex was faulty. Casts can have /[a-z]/ characters, not only digits /\d)
Here is a test cast for you to run: https://asciinema.org/a/29qfl1dwsgd25o91nfv3dvvbn

(squashed two commits --@lorenzhs)
2016-07-28 12:52:18 +02:00
Patrick Melanson ce7715c794 Removed show timestamp [seconds] settings
Functionality is now replaced by changing
weechat's buffer_time_format. e.g. 24h time:
/set weechat.look.buffer_time_format %H:%M

Supported time formats are 12h and 24h,
with seconds or no seconds.
2016-07-20 14:12:20 -04:00
Patrick Melanson ac2966ff0b Base our time format off of weechat's config 2016-07-20 11:57:20 -04:00
Patrick Melanson 37ba46d379 Extended fetchConfValue with callbacks 2016-07-20 11:57:13 -04:00
Lorenz Hübschle-Schneider 6149aa8a07 Merge pull request #783 from pmelanson/782-timestamp-locale
Bufferline timestamps now try to detect locale
2016-07-12 09:34:15 +02:00
Lorenz Hübschle-Schneider 3524f185c2 Merge pull request #764 from Bakke/electron
Electron (Atom-Shell) support
2016-07-11 15:58:35 +02:00
Tor Hveem 863298a0eb Merge pull request #785 from glowing-bear/gist-trailing-slash
Gist plugin: ignore trailing slashes and anchors
2016-07-08 14:12:09 +02:00
Charlie Wang fbb27cfb61 fix nick completion within brackets #781 2016-06-25 10:17:48 -04:00
Lorenz Hübschle-Schneider bfb5af68b4 Gist plugin: ignore trailing slashes and anchors
Supersedes #783
2016-06-25 14:40:24 +02:00
Patrick Melanson a0485b5801 Bufferline timestamps now try to detect locale 2016-06-18 11:51:51 -04:00
Lorenz Hübschle-Schneider 2add0e66d2 Add dark-spacious theme to theme list 2016-04-22 16:40:43 +02:00
Peter Elmers 05f5629ba7 Please linter 2016-04-21 19:13:27 -05:00
Peter Elmers fa992e2fa5 Add a pastebin plugin 2016-04-21 18:37:51 -05:00
Tor Hveem dcc0f19fc5 Fix alt-< keybinding 2016-04-20 12:13:47 +02:00
Lorenz Hübschle-Schneider 1edba41c4c Add a lock on the connection
This should fix #610 but needs more testing
2016-04-10 11:54:02 +02:00
Magnus Hauge Bakke bbb4d259be Use arrow keys to select buffer in buffer search 2016-04-06 09:20:23 +02:00
Magnus Hauge Bakke 570f293399 Update app unread badge to dot instead of punctuation 2016-04-06 09:15:21 +02:00
Lorenz Hübschle-Schneider b8854a287a Switch math rendering to KaTeX 2016-04-03 15:26:14 +02:00
Tor Hveem cf255756ae use new global to check for electron 2016-04-03 13:52:35 +02:00
Magnus Hauge Bakke 093f8683ce Merge pull request #1 from lorenzhs/electron-fixes
Electron: Use local files and add Linux target
2016-04-02 21:08:01 +02:00
Lorenz Hübschle-Schneider 2112757a2d Fix emojione in electron 2016-04-02 18:08:07 +02:00
Magnus Hauge Bakke 3ad7ad203b Add comments to electron app badge functions 2016-04-02 10:29:06 +02:00
Magnus Hauge Bakke 14d8f73532 Electron: Set app badge in os x (darwin) 2016-04-01 21:50:34 +02:00
Tor Hveem c3aa336183 Disable serviceWorker in electron process 2016-04-01 14:04:31 +02:00
Wade Menard d636fbaae8 Modify Imgur's link response to HTTPS. 2016-03-31 19:13:18 -04:00
Simen Graaten b7183fb404 Add preview of .mp3, .ogg and .wav links via <audio> tag.
This fixes #745
2016-02-19 17:57:22 +01:00
Tor Hveem 2c9e7c7023 Merge pull request #732 from glowing-bear/custom-css
Add support for custom CSS
2016-02-08 20:02:12 +01:00
Kevin López Brante 5c71423eed Enable the use of UWP (Windows 10) toasts 2016-01-26 16:07:16 -03:00
Eternal 7753922137 Improving urlRexexp for plugins 2016-01-21 10:16:42 +01:00
Lorenz Hübschle-Schneider d34cf89aaa Add support for custom CSS
Fixes #647
2016-01-10 11:37:27 +01:00
Patrick Melanson a06f567770 #705 date change msg now moves read marker only if accompanying msg would 2016-01-09 00:39:33 -05:00
Patrick Melanson 19c408ba13 #705 bugfix datechange injected under read marker
after #708 was merged, if a date change message is
injected underneath the read marker the read
marker would be one line too low. Now, the read
marker will adjust properly when a date change
message is injected above and below the read
marker.

thanks lorenzhs for spotting that
2016-01-07 18:09:26 -05:00
Lorenz Hübschle-Schneider ef8d32221b Merge pull request #701 from pmelanson/700-date-change-format-fallback
#700 added fallback mode for unsupported .toLocaleDateString()
2016-01-06 22:09:03 +01:00
Patrick Melanson b719354a07 #700 detect locale formatting support on load 2016-01-06 15:43:05 -05:00
Lorenz Hübschle-Schneider ec24142e50 Merge pull request #720 from glowing-bear/black-theme
Add black theme for AMOLED displays, fix theme selector background in dark theme
2016-01-06 17:30:59 +01:00
Patrick Melanson 48cc2356a6 Fixed a circular ref in date change messages
line.buffer was the actual buffer object, which contains the injected
date
change message itself. Made this just a buffer id.
2016-01-04 19:58:32 -05:00
Lorenz Hübschle-Schneider a50d72a3b5 Merge pull request #722 from falaca/master
parse dropbox URLs for image preview plugin (v4)
2016-01-03 12:41:02 +01:00
Furkan Alaca 41659493cd parse dropbox URLs for image preview plugin (v5) 2016-01-02 16:01:06 -05:00
kurros dfffbeec46 optimize what gets passed to emojione.unicodeToImage 2016-01-02 12:14:48 -05:00
Lorenz Hübschle-Schneider 407f9111ad Update Angular to 1.4.x series (1.4.8)
Angular now has a .$$watchersCount property, which makes our watcher
counting function unnecessary.

Also add sha384 emojione SRI hash
2015-12-27 19:42:51 +01:00
Lorenz Hübschle-Schneider 01d0891a2d Themes: Add black theme for AMOLED displays, fix theme selector background in dark theme
Deprecates / closes #671
2015-12-26 11:47:09 +01:00
Lorenz Hübschle-Schneider d06219102c Merge pull request #718 from torhve/serviceworker
Implement click handler for the notification
2015-12-22 16:26:08 +01:00
Lorenz Hübschle-Schneider d8a1beb4db Fix missing argument in notification showing 2015-12-22 15:49:09 +01:00
Lorenz Hübschle-Schneider 688c6f1ee5 Merge pull request #714 from torhve/infscroll
Implement infinite scrolling
2015-12-22 14:25:33 +01:00
Tor Hveem 1565c0e72d less vibrations 2015-12-22 14:03:30 +01:00
Tor Hveem 9985e91a69 use service workers for notifications
If Service Workers are available use them to display notifications
instead of the old way of creating notifications directly.

This has the side effect that it works nicely on chrome on android which
the old method does not.

This also paves the way to set up GCM for push notification in the
future which can give us push notifications without having the app running.

This patch can be improved in the future to get existing notifications
and change the message instead of just adding more and more
notifications.

See: ServiceWorkerRegistration.getNotifications() and
ServiceWorkerRegistration.update() from
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration
2015-12-20 15:10:44 +01:00
Tor Hveem df36d56fa7 Implement infinite scrolling
I't not perfect but it's a start.
2015-12-19 19:45:33 +01:00
Tor Hveem 31ba8db33d Fix problem with saving of sound notify 2015-12-18 13:48:51 +01:00
Lorenz Hübschle-Schneider 8b045049ce Merge pull request #710 from glowing-bear/weechatconf
fetch weechat configuration variables
2015-12-18 10:05:19 +01:00
Tor Hveem c9dbdc39e4 fetch weechat configuration variables
Usage: fetchConfValue('weechat.look.buffer_time_format')
will result in models.wconfig['weechat.look.buffer_time_format'] to be
set when the result returns from WeeChat.

Could maybe be extended to also call a callback when it's available if
needed.
2015-12-17 17:46:43 +01:00
Tor Hveem e1102522ac weechat.js: implement infolist 2015-12-17 17:17:16 +01:00
Patrick Melanson 86f6a37702 semicolons :'( :'( :'( fixes failing build 2015-12-17 10:57:21 -05:00
Patrick Melanson e3f2a160b9 #700 increment buffer.lastSeen on date change message 2015-12-17 10:47:48 -05:00
Tor Hveem 68a766af0a Fix for password error
The old error handler wasn't really working for unknown reasons, but
this seems to fix it.
2015-12-16 14:01:38 +01:00
Tor Hveem 5494fefbcb use spinner for connect/reconnect/fetchmorelines 2015-12-14 16:02:49 +01:00
Lorenz Hübschle-Schneider ceceac78a2 Use buffer localvars instead of regex hackery
Fixes #589
2015-12-06 13:53:57 +01:00
Mukunda Modell 3b60f992b4 Switch to adjacent buffer with alt+arrow
Use alt+up and alt+down to switch to previous / next buffer.
Works when bufferlist is nested or flat.

This implements issue #511.
2015-12-04 08:43:48 -06:00
Hannu Hartikainen b0f4ee4413 fix #688 and provide a unit test 2015-12-01 21:31:12 +02:00
Tor Hveem e63877ad41 Merge pull request #685 from glowing-bear/date-change-fixes
Date change fixes
2015-11-29 17:01:40 +01:00
Lorenz Hübschle-Schneider a631a913c7 Fix initialisation of global unread count
Fixes #595
2015-11-28 21:25:06 +01:00
Lorenz Hübschle-Schneider 507a39f68f Don't show date change message for free buffers
This requires requesting the buffer type and handling the
apropriate event
2015-11-28 20:59:00 +01:00
Lorenz Hübschle-Schneider 735798831f Date change marker: Don't modify last line's date 2015-11-28 20:56:19 +01:00
Lorenz Hübschle-Schneider f5422e14f4 Merge pull request #681 from dancek/domfilter-nested-links
disallow nested links in DOMfilter (fixes #680)
2015-11-28 16:14:38 +01:00
Hannu Hartikainen d1176a5b2b disallow nested links in DOMfilter (fixes #680) 2015-11-28 17:04:57 +02:00
Tor Hveem 134ac86743 Merge pull request #678 from glowing-bear/date-change
Add date change markers
2015-11-28 13:50:19 +01:00
Lorenz Hübschle-Schneider da7a7f85e8 Date change: refactoring 2015-11-28 13:23:41 +01:00
Tor Hveem 4f686d512d Request nicklist using ptr instead of fullname 2015-11-28 12:29:38 +01:00
Patrick Melanson 9334f44cde more human readable date change, per #679
For one day later: Friday (November 27) (examples in en-US)
For n>1 days: Friday (November 27, 2 days later)
For n<0 days: Friday (November 27, 1 day before)
For different years: Friday (November 27, 2015, 2156 days later)
2015-11-27 15:13:26 -05:00
Patrick Melanson 271a5d0626 when switching buffers, will inject date change if date changed 2015-11-27 15:13:01 -05:00
Lorenz Hübschle-Schneider 5dc40cb134 Date change: prettier messages, code cleaning
Has a weird bug:
https://github.com/glowing-bear/glowing-bear/pull/677#issuecomment-158891237
2015-11-23 10:59:00 +01:00
Patrick Melanson 9955056ed9 dates change with weechat 2date behaviour 2015-11-22 21:02:10 -05:00
Patrick Melanson 0a1726e359 date change messages are chat_day_change color, multiple messages generated for diff of 1-5 days 2015-11-20 18:31:55 -05:00
Lorenz Hübschle-Schneider b883a52b09 Date change message prototype 2015-11-15 21:50:29 +01:00
Lorenz Hübschle-Schneider b327123f48 Merge pull request #670 from pmelanson/653-check-before-brackets-around-ipv6
IPv6 address literals won't be surrounded by [ ... ] if it's already there
2015-11-14 09:35:10 +01:00
hormigas b5594d5754 adding imgur gifv support to the videoPlugin 2015-11-13 21:38:32 +00:00
pmelanson 643278478f IPv6 address literals won't be surrounded by [ ... ] if it's already there 2015-11-13 20:56:43 +00:00
Lorenz Hübschle-Schneider a6c2e6f387 Insert URL at caret when dropping image into GB
unfortunately this pollutes the root scope a bit more
2015-11-10 19:40:30 +01:00
Magnus Hauge Bakke 3f661ded6c Support sending multiple images 2015-11-07 12:45:05 +01:00
Magnus Hauge Bakke f2bb543796 Add support for dropping images on bufferlines and input form 2015-11-07 12:45:05 +01:00
Lorenz Hübschle-Schneider 3b4f91249f Convert indention to spaces 2015-11-07 12:45:04 +01:00
Magnus Hauge Bakke f2953d1190 Add image upload progressbar and error msg 2015-11-07 12:44:22 +01:00
Lorenz Hübschle-Schneider 960d5ba17a Insert image URL into input bar 2015-11-07 12:44:22 +01:00
Magnus Hauge Bakke aef26a2dc5 Add file input with button and send file to imgur 2015-11-07 12:44:22 +01:00
Magnus Hauge Bakke f6bfa4161b Add imgur provider 2015-11-07 12:44:21 +01:00
Magnus Hauge Bakke 0d7d8e0cce Add directive for file input change 2015-11-07 12:29:53 +01:00
Tor Hveem a02573a9c2 Construct plugin elements async. Fixes #660
This commit changes the plugins that uses angular.element to load
resources directly to instead return a function that runs
angular.element. When the browser runs angular.element('<img>') and gets
a src attr it will fetch the content in the src. This makes the
browser running gb automatically fetch all plugin content that gets
linked even if the user didn't request it.

Maybe we could change our plugin architecture to split the match
function and the generator functions so this could be solved more
elegantly.
2015-10-19 14:54:21 +02:00
Alex Schneider 1d628ed849 Remove comments that we don't really need 2015-10-17 16:23:48 -07:00
Alex Schneider 6dcb579de4 Fix sanitization by constructing elements in Javascript.
This is still technically a hack, the elements should really be defined in a view with templates, but it fixes the issue with sanitize where it can't sanitize if it can't parse HTML.
2015-10-17 16:15:42 -07:00
David Cormier 0afa7bc184 plugins: sanitize user input before passing it to plugins 2015-10-16 15:13:53 -04:00
Colin Arnott 2f8ab9dbf3 roll back tls upgrade for giphy plugin link, as it conflicts with printed link 2015-09-28 17:35:28 +00:00
Colin Arnott 875001f1b2 simplify regex matching and increase readability of the giphy plugin and have plugin link to original userfacing url, not cdn image file 2015-09-26 22:40:30 +00:00
Colin Arnott 03a6e391f6 added plugin support for giphy gifs as embedded content and created testcases 2015-09-26 05:06:11 +00:00
Tor Hveem 9f6f70eb3e Merge pull request #644 from glowing-bear/url-hash
Add support for supplying credentials in the URL via the hash.
2015-09-17 09:10:55 +02:00
Tor Hveem cf771eb73f Merge pull request #620 from glowing-bear/noswitch
Use -noswitch option to open buffers
2015-09-17 09:05:35 +02:00
Tor Hveem 1f37f848fc fix another version check 2015-09-17 08:59:38 +02:00
Tor Hveem 9659fa2efc Merge pull request #635 from angus-g/hidden-buffers
Handle hidden weechat buffers
2015-09-17 08:55:54 +02:00
AppleDash fafed6a915 Add support for supplying credentials in the URL via the hash. 2015-09-11 09:10:05 +02:00
Lorenz Hübschle-Schneider 6ca1deb66d Always show server buffers in hierarchical view
Show them even if 'Only show buffers with unread messages' is set
2015-08-05 17:35:54 +02:00
Angus Gibson 117d9991ec Handle hidden weechat buffers
This adds a new 'hidden' field to the Buffer model, which stays in sync
with weechat's notion of hidden buffers.
2015-07-10 13:52:12 +10:00
Chris Moeller c7a5d8decf Added a check for DOM 3 getModifierState before attempting to use it, as some browsers may not have implemented that spec yet (Like stable Safari) 2015-06-13 16:54:59 -07:00
Lorenz Hübschle-Schneider ed44c6747f Merge pull request #625 from torhve/altgrfix
Check modifier state and don't trigger on any altgr event
2015-06-12 13:35:00 +02:00
Tor Hveem e096284502 Check modifier state and don't trigger on any altgr event 2015-06-12 11:10:48 +02:00
Peter Elmers febbb3ffdb Re-implement click to join functionality.
Clicking channel names to join broke because of angular issue 9515.
Reimplement the functionality by binding the scope.openBuffer method to
the window and calling it from an onclick handler for channel name
anchors.
2015-06-11 09:10:23 -07:00
Tor Hveem 1f89a0ef0b Use new version check 2015-06-10 10:04:10 +02:00
Lorenz Hübschle-Schneider 2626b5e936 openBuffer: send /join and /query with -noswitch parameter
this functionality is currently broken (#618) but this is a good idea nonetheless
2015-06-10 10:04:10 +02:00
Lorenz Hübschle-Schneider 8c965e0b90 Store WeeChat version is an array of numbers 2015-06-10 10:04:10 +02:00