Commit Graph

1163 Commits

Author SHA1 Message Date
Andrew Dolgov e86b2e60d3 edit tags dialog: initialize autocomplete in onShow (instead of onLoad) because of xhr 2020-12-23 12:14:11 +03:00
Andrew Dolgov 57f36f3f97 search dialog: populate current search values onShow instead of onLoad because the dialog is preloaded via xhr 2020-12-23 12:09:34 +03:00
Andrew Dolgov 0e4e0e624e viewfeed debugger: open properly for categories 2020-12-07 17:10:36 +03:00
Andrew Dolgov d06cc8267b queryFeedHeadlines: bring back DISTINCT for a limited set of columns 2020-12-07 16:59:48 +03:00
Andrew Dolgov db3fcb861b viewfeed: reintroduce timestamps, fix debugging, fix some indents 2020-12-04 18:55:53 +03:00
Andrew Dolgov 87184904ed don't select next unread feed when marking as read last week, etc. 2020-11-30 15:15:51 +03:00
Andrew Dolgov 0a6ff72e70 Revert "fix HOOK_ARTICLE_RENDERED_CDM never being called"
This reverts commit e3a522cdc1.
2020-10-21 07:32:30 +03:00
Andrew Dolgov e3da11bf6d Revert "somewhat experimental: disable article packing/unpacking, render content immediately"
This reverts commit ab53591957.
2020-10-21 07:19:15 +03:00
Andrew Dolgov e3a522cdc1 fix HOOK_ARTICLE_RENDERED_CDM never being called 2020-10-09 13:18:47 +03:00
Andrew Dolgov ab53591957 somewhat experimental: disable article packing/unpacking, render content immediately 2020-10-09 13:07:34 +03:00
Andrew Dolgov f693ebab21 fix default password nag dialog, load via xhr 2020-09-16 06:38:41 +03:00
Andrew Dolgov 77faa5d523 editFeed: only try to reload feed tree in preferences if its actually there 2020-09-15 18:55:34 +03:00
Andrew Dolgov 3f9390c45f comments link: load in new tab 2020-09-15 18:49:03 +03:00
Andrew Dolgov 42b5564d1e editarticletags: load dialog via XHR 2020-09-15 18:47:19 +03:00
Andrew Dolgov 0a142912d3 backend handler: require CSRF, remove obsolete code 2020-09-15 18:08:08 +03:00
Andrew Dolgov 154417d80b public/logout: require valid CSRF token 2020-09-15 16:59:11 +03:00
Andrew Dolgov cbcb10a272 Feeds: load quickaddfeed and search dialogs via XHR w/ CSRF protection 2020-09-15 16:28:09 +03:00
Andrew Dolgov 8080c525fd - backend: require CSRF token to be passed via POST
- do not leak CSRF token via GET request in feed debugger
- rework Article/redirect to use POST
2020-09-15 16:12:53 +03:00
Andrew Dolgov aeaafefa07 don't pass csrf token as a GET parameter to Article 2020-09-15 16:03:09 +03:00
Andrew Dolgov e670ac2ee5 require CSRF token for Article/redirect 2020-09-15 15:35:50 +03:00
Andrew Dolgov 7e50c6c4b5 - enable CSRF support earlier
- remove rpc/sanityCheck from CSRF-excluded calls
2020-09-15 15:32:17 +03:00
Andrew Dolgov b4cb67e77f remove csrf token from rpc method sanityCheck 2020-09-14 20:00:01 +03:00
nanaya 8d8affdc45 Store FeedTree data in localStorage
Patching internal functions of dijit.Tree as they don't provide option on where to store the data.

It stores to cookies by default but the data can get quite big for hundreds of feeds and exceeds cookies size limit.

Not to mention it'll cause the cookie to be sent during any request with nothing handling it server side and just wasting bandwidth.

This patch will also migrate current data in cookie to local storage accordingly.
2020-07-09 01:52:46 +09:00
Andrew Dolgov 697418f863 more eslint fixes 2020-06-05 07:54:32 +03:00
Andrew Dolgov d01ad09800 eslint-related fixes; move a few things from global context to App 2020-06-05 07:44:57 +03:00
Andrew Dolgov 88027d7a39 fix various minor issues reported by eslint 2020-06-04 23:27:22 +03:00
Andrew Dolgov 9d28b3ac50 unify prefs/main App objects, remove fake classes, use single static App object instead 2020-06-04 22:19:23 +03:00
Andrew Dolgov 30ed5d7c3c same, but for preferences 2020-06-04 20:04:17 +03:00
Andrew Dolgov e37f8cfa78 don't use declare() for static objects with no inheritance because apparently it's not actually needed by AMD 2020-06-04 19:50:13 +03:00
Andrew Dolgov 676cdf6ee4 move isCombinedMode to AppBase so we wouldn't crash in preferences 2020-06-02 21:00:53 +03:00
Andrew Dolgov b39e615683 add Headlines.default_force_previous, default_force_to_top 2020-05-25 10:26:03 +03:00
Andrew Dolgov 19893d33e3 only bind up/down in 3 panel mode 2020-05-23 08:53:18 +03:00
Andrew Dolgov 409ba0db2d - RIP smooth scrolling and associated hacks
- attempt to make Headlines.move() / Article.cdmMoveToId() behave a bit more intuitively
2020-05-22 21:48:03 +03:00
Andrew Dolgov d63329baa1 Headlines.move: add params.force_previous to always move to previous article in CDM 2020-05-19 09:21:07 +03:00
Andrew Dolgov 2deb9c555e Headlines.move: use requestAnimationFrame in CDM :( 2020-05-19 08:07:23 +03:00
Andrew Dolgov 8dc6b48ebd Headlines.move: when going back to top of active article, use a smarter (?) offset calculation 2020-05-17 22:02:47 +03:00
Andrew Dolgov 25c8467753 rename Headlines.correctHeadlinesOffset() to scrollToArticleId()
invoke it in Article.view() instead of all over the place
2020-05-17 17:01:52 +03:00
Andrew Dolgov 05a84ab778 Headlines.move: maybe glitch less when moving back to top, etc 2020-05-17 16:04:31 +03:00
Andrew Dolgov 9ae9302b6b implement keyboard-related changes discussed in 2020-05-17 08:25:51 +03:00
Andrew Dolgov a1ffc11619 only enable unpack observer in expanded mode 2020-05-13 12:28:48 +03:00
Andrew Dolgov 5e77d0062b use intersection observer to unpack visible articles, remove Headlines.unpackVisible() 2020-05-13 07:28:13 +03:00
Andrew Dolgov 7adbc95acc remove floating title, use position: sticky for cdm headers instead 2020-05-13 06:51:46 +03:00
Andrew Dolgov 4a00d41915 Article.cdmMoveToId: don't crash if params is not given 2020-05-09 19:41:11 +03:00
Andrew Dolgov a802649d53 rename cdmScrollToId to cdmMoveToId
prevent smooth scrolling when going directly to an article
2020-05-09 08:16:12 +03:00
Andrew Dolgov 2558fcbe21 add hotkey "\" to cancel current search 2020-05-09 07:56:06 +03:00
ltGuillaume 19064864bf Allow setting Insert (45) and Delete (46) as hotkeys
These are not reported via keypress either, so handle them via keydown.
2020-05-03 14:35:17 +02:00
Andrew Dolgov 0d467973dc Article.pack: dispose of unpacked content properly 2020-04-17 15:59:12 +03:00
Andrew Dolgov e17c7e2fb4 Headlines.renderAgain: scroll instantly to active article when going back to combined mode on the fly 2020-04-17 07:58:34 +03:00
Andrew Dolgov b3e4f0188e in combined non-expanded mode, pack headline rows as they are unfocused to save RAM 2020-04-17 07:37:56 +03:00
Andrew Dolgov afaac95d8d if comment URL is not specified but comment count is non-zero, show comments prompt leading to the article 2020-04-07 06:50:24 +03:00
Andrew Dolgov a65749a512 source validationtextarea in main UI 2020-02-28 14:04:29 +03:00
Andrew Dolgov f24ece85a6 add validationtextarea control, use it for filter match editor 2020-02-28 13:53:45 +03:00
Andrew Dolgov 2fefb4fd87 getTestResults: don't try to use previously removed variable 2020-02-28 12:54:39 +03:00
Andrew Dolgov 4f62f5f3f1 filter edit dialog: load rule editor via XHR 2020-02-28 12:52:20 +03:00
Andrew Dolgov 340bb7f392 fix typo 2020-02-28 12:17:49 +03:00
Andrew Dolgov 8645f36c5b filter test dialog: pass contents via xhr POST 2020-02-28 12:16:54 +03:00
Andrew Dolgov 4e74da590e af_readability: allow get full text button to work as a toggle; in cdm, scroll to article after embedding 2020-02-28 08:03:25 +03:00
Andrew Dolgov 07b27b375f update toggle_embed_original hotkey to invoke readability embed instead of removed embed_original plugin 2020-02-27 09:47:20 +03:00
Andrew Dolgov 71ff485fbf af_readability: add article button to embed content of a specific article 2020-02-27 07:57:22 +03:00
Andrew Dolgov 788ea95fbd feed tree: do not mark Labels as Special 2020-02-22 16:44:31 +03:00
Andrew Dolgov 4ab3854aed don't generate default.css, replace with themes/light.css as a default root CSS file 2020-02-22 16:22:44 +03:00
Andrew Dolgov 282b445a43 feed tree: don't set Special class on Labels category 2020-02-21 14:12:10 +03:00
Andrew Dolgov 2d3fdd6836 hide read feeds / hide read shows special: use CSS instead of JS-based hiding 2020-02-21 14:06:21 +03:00
Andrew Dolgov 60288f02e8 1. feedtree: show counters for marked articles if view-mode == marked
2. hide/show relevant counter nodes using css
3. cleanup some counter-related code
4. compile default css into light theme to prevent cache-related issues
2020-02-20 14:14:45 +03:00
Andrew Dolgov 076c5382fa login form: add workarounds for chrome password manager 2020-01-25 17:00:51 +03:00
Andrew Dolgov 776fe4768b default password warning: fix close button, don't crash if dialog is recreated (on feed tree reload etc) 2020-01-25 13:02:11 +03:00
Andrew Dolgov 4a4d7a44fa onViewModeChanged: set view mode value as a custom body attribute 2020-01-24 16:04:12 +03:00
Andrew Dolgov 6f625aa8aa apply Has_Marked css class to feed tree elements with marked articles 2020-01-24 14:35:10 +03:00
Andrew Dolgov a6d314b753 support dark mode for login form 2020-01-23 13:14:47 +03:00
Andrew Dolgov aa56bcaf44 support night mode when using share by URL 2020-01-19 10:51:08 +03:00
Andrew Dolgov 303f8fb329 properly escape quotes when rendering article data to html attributes via template strings 2020-01-18 10:31:00 +03:00
Andrew Dolgov 7e2fd9bdce Headlines.move: fix move to previous article if scrollTop returns a fractional value for current item 2020-01-08 08:51:40 +03:00
Andrew Dolgov f83836ade9 updateCurrentUnread: don't crash if counter element is not available 2019-12-17 14:06:50 +03:00
Andrew Dolgov 9f70bb010a fix blank screen on load if custom theme is enabled 2019-12-15 13:35:09 +03:00
Andrew Dolgov 07f4878d59 workaround for a race condition between dojo.parse() and tt-rss loading proper day/night css on startup because of firefox async CSS loader 2019-12-15 11:57:26 +03:00
Andrew Dolgov 0d6add5d7f show alert() if fatal exception happens while initializing base app objects and app.error is not available 2019-12-14 09:39:44 +03:00
JustAMacUser b4dd03ba2a Wrap AppBase.setupNightModeDetection() in try/catch because Safari doesn't support matchMedia change events. 2019-12-13 13:39:52 -05:00
Andrew Dolgov 0237dee980 implement automatic night mode detection using MQL
add separate light.css to force light theme
remove manual night mode toggle and related code
2019-12-12 20:09:43 +03:00
Andrew Dolgov 9c0235ab66 show current unread counter on headlines toolbar if sidebar is hidden 2019-12-12 07:37:28 +03:00
Andrew Dolgov 0a10832491 - update descriptions of changed hotkeys
- bind noscroll variants of move article hotkeys to n/p by default
- update N/P (i.e. scroll article content) hotkeys to scroll by fraction of viewport height instead of hardcoded pixel distance
- minor fixes w/ checking for undefined
2019-12-11 06:53:32 +03:00
Andrew Dolgov 985e11b754 re-enable updates of floating title on scroll, duh 2019-12-10 16:45:59 +03:00
Andrew Dolgov 0e4f67bf2b with previous change, we don't actually need to automatically track active articles now at all in combined mode. 2019-12-10 13:03:49 +03:00
Andrew Dolgov 3993198aa7 when moving next or previous and currently active article is entirely invisible, start moving from first visible one 2019-12-10 12:55:24 +03:00
Andrew Dolgov 7d0bbe9962 only track active article on scroll if auto catchup is enabled 2019-12-10 12:34:49 +03:00
Andrew Dolgov 5b4eb8d7b9 remove unnecessary "== 1" when checking for init params
unsubscribeFeed: check for undefined title correctly
2019-12-10 09:10:45 +03:00
Andrew Dolgov a40f22d8aa Article.cdmScrollToId: disable smooth scrolling in collapsed combined mode 2019-12-10 08:58:32 +03:00
Andrew Dolgov 560346f9d1 Article.cdmScrollToId: disable smooth scrolling on repeated events 2019-12-10 08:51:45 +03:00
Andrew Dolgov dad3d1c7a9 combined mode n/p behavior changes:
1. instead of jumping/scrolling sometimes, always scroll by a constant viewport offset unless moving to next/prev article directly
2. when going up and current article is partially above the viewport, move to its top first instead of directly to a previous one
3. instead of previous marking active logic, on scroll in combined mode track first (partially or otherwise) visible article as active
2019-12-10 07:47:09 +03:00
Andrew Dolgov 44ef447c0f fix fatal error in previous because of event not being passed via Headlines.move()
scrollbypages, etc: make event optional anyway
2019-12-09 23:23:54 +03:00
Andrew Dolgov e7dd634183 exp: auto-disable smooth scrolling for repeat hotkey events 2019-12-09 22:42:43 +03:00
Andrew Dolgov 7a68e4a6f7 pgup/pgdn; increase scroll distance to almost entire viewport height (from 90%) 2019-12-09 12:22:43 +03:00
Andrew Dolgov ac95ab4a65 user css dialog: allow saving and applying CSS without closing the dialog 2019-12-06 14:02:30 +03:00
Andrew Dolgov e1ef122355 force-disable headlines smooth scrolling when switching feeds
enable smooth scrolling for article frame
2019-12-05 21:48:16 +03:00
Andrew Dolgov 1902a7dcb0 pgup/pgdown hotkey normalization:
- pgup/pgdown without modifier scroll headline buffer
- shift+pgup/pgdown work similarly to shift+up/down but operating on pages
2019-12-05 17:00:17 +03:00
Andrew Dolgov 6913158b82 add hotkeys to scroll headlines/articles (whichever is active) by one page 2019-12-04 15:50:49 +03:00
Andrew Dolgov 249130e58d implement app password checking / management UI 2019-11-01 15:03:57 +03:00
Andrew Dolgov 781fe3d636 setScore, selectionSetScore: check for numerical values properly 2019-08-29 12:52:22 +03:00
Andrew Dolgov d172abb037 scroll handler: also invoke lazy load if last article in buffer is currently active 2019-07-30 16:13:47 +03:00
Andrew Dolgov c35a618b00 lazy load (infinite scrolling) changes:
1. invoke Headlines.loadMore() if last article row is close to becoming visible instead of relying on headlines-spacer offset to viewport

2. allow one final last lazy load request if incomplete buffer was received to permit some flexibility with unread counters possible changing while request was generated / serving remainder of articles
2019-07-30 15:54:47 +03:00
Andrew Dolgov e8523733b0 filter dialog: add inline regexp checker 2019-07-12 12:40:42 +03:00
Andrew Dolgov 86a014f23b add placeholder Filters.filterDlgCheckRegExp 2019-07-12 10:47:18 +03:00
Andrew Dolgov 079ef15b1b previous: remove unused debugging line 2019-05-20 08:00:23 +03:00
Andrew Dolgov 905f038610 search dialog: display active query if searching already 2019-05-20 07:59:53 +03:00
fox e981d52bda Merge branch 'master' of ltGuillaume/ttrss into master 2019-05-07 17:27:15 +00:00
Andrew Dolgov 3bf40f3ba8 _active_feed_id: set to undefined on startup to prevent unneeded if reloadCurrent is called because of a non-default main toolbar value 2019-05-07 19:10:11 +03:00
Andrew Dolgov d09aad7c80 fix read categories not being hidden when hide read feeds is enabled 2019-05-07 19:06:29 +03:00
ltGuillaume 44bfbc9529 Allow to unregister plugin hooks 2019-05-07 14:34:15 +00:00
Andrew Dolgov 2ce31fd0bf FeedStoreModel.getFeedUnread: return -1 when value is unset 2019-05-07 06:03:44 +03:00
Andrew Dolgov 9368f1a07f restore feed from URL hash after feedlist init 2019-05-06 21:57:58 +03:00
Andrew Dolgov 6479c07324 js: add PluginHost.HOOK_COUNTERS_PROCESSED 2019-05-06 09:50:46 +03:00
Andrew Dolgov 2411cc8d1c js: add PluginHost.HOOK_COUNTERS_RECEIVED 2019-05-06 09:49:04 +03:00
Andrew Dolgov 4b74491b8b feed tree: set placeholder feed unread value to -1 2019-05-06 09:32:08 +03:00
Michael Kuhn e38fcd6dea Fix button focus issues
This change introduces derived classes for ComboButton, DropDownButton
and Select that make sure that buttons do not remain focused after their
menus are closed. This allows using hotkeys after closing them.
2019-04-14 12:01:52 +02:00
Michael Kuhn 4a2a90c980 Fix focus issues with hotkeys
Since making use of keypress in addition to keydown, hotkeys did not
work in certain scenarios, including clicking on the feed tree expanders
or empty spaces of the toolbar.

This issue is caused by dijit.Tree and dijit.Toolbar implementing the
_KeyNavMixin, which explicitly stops propagation of keypress events.

This change contains two main fixes plus a smaller hotfix:
1. It overrides _onContainerKeydown and _onContainerKeypress for
   fox.FeedTree (which inherits from dijit.Tree).
2. It adds fox.Toolbar, which overrides _onContainerKeydown,
   _onContainerKeypress and focus. This fixes hotkeys being swallowed
   and the first focusable child receiving focus when clicking on an
   empty space of the toolbar.
3. It adds the same handling of keydown and keypress to the prefs hotkey
   handler as is done in the main hotkey handler.
2019-04-13 22:34:57 +02:00
ltGuillaume 4c72d3b4fc Add keyboard shortcut 'g r': Go to Recently read 2019-04-12 07:28:45 +00:00
Andrew Dolgov cc2ac3a86c FeedTree: add feed debugger to per-feed context menu 2019-04-08 15:51:05 +03:00
Andrew Dolgov b1bb7c6001 Merge branch 'master' of 2019-03-14 09:08:52 +03:00
Andrew Dolgov 019f4578bc fix feed icon upload not working, rework form to use FormData/ajax 2019-03-14 09:08:44 +03:00
Michael Kuhn e74f7bde22 Refactor hotkeys to use keypress instead of keydown
keydown returns the "raw" key in event.which. Depending on the keyboard
layout, this may not be what is wanted. For example, on a German
keyboard, Shift+7 has to be pressed to get a slash. However, event.which
will be 55, which corresponds to "7". In the keypress event, however,
event.which will be 47, which corresponds to "/".

Sadly, several important keys (such as escape and the arrow keys) do not
trigger a keypress event. Therefore, they have to be handled using a
keydown event.

This change refactors the hotkey support to make use of keypress events
whenever possible. This will make hotkeys work regardless of the user's
keyboard layout. Escape and arrow keys are still handled via keydown

There should be only one change in behavior: I could not make Ctrl+/
work and therefore rebound the help dialog to "?".
2019-03-11 12:01:27 +01:00
Andrew Dolgov a34509c8ae Merge branch 'master' of 2019-03-08 10:12:06 +03:00
Andrew Dolgov 19f162dbe3 css: insensitive -> text-muted 2019-03-08 10:11:57 +03:00
Andrew Dolgov 900cdbbb31 open original article (and mark as read) on alt click on title 2019-03-07 15:40:02 +03:00
Andrew Dolgov ae9ef7fe84 fix another small issue with expanded mode (2) 2019-03-07 12:16:50 +03:00
Andrew Dolgov 0b8f3909fe fix another small issue with expanded mode 2019-03-07 12:16:09 +03:00
Andrew Dolgov 84cf95fe8f open original article when it makes sense to do so 2019-03-07 11:52:10 +03:00
Andrew Dolgov cf6f867feb getRange: handle start == stop 2019-03-07 10:38:50 +03:00
Andrew Dolgov d876cca22a tweak ctrl-click toggles selection, shift-click selects range 2019-03-07 10:35:48 +03:00
Andrew Dolgov ef6d2b8a4e update notifications to make them more visible
cleanup some minor stuff in pref-users
2019-03-05 20:09:06 +03:00
Andrew Dolgov 70c53257d9 on_catchup_show_next: remove auto-trigger on headlines scroll 2019-02-21 14:22:33 +03:00
Andrew Dolgov 4db13b8a17 simplify preference layout, remove some unnecessary css classes 2019-02-21 12:35:40 +03:00
Andrew Dolgov 6e14e575b3 use separate id for default password warning dialog 2019-02-20 08:39:44 +03:00
Andrew Dolgov 848bb6579c floatingTitle: show collapse button if in expandable mode 2019-02-14 16:20:10 +03:00
Andrew Dolgov 1124c3f00a label display: fix unneeded nested container in headlines, increase overall minimalism, fix label element typo (div1) 2019-02-01 12:42:27 +03:00
Andrew Dolgov dbab03bd4c Feeds.catchupAllFeeds() should be Feeds.catchupAll() 2019-01-31 12:16:56 +03:00
Andrew Dolgov c7c9c5fb0a feedTree: amend previous to check that nodes are actually there (2) 2019-01-28 18:49:58 +03:00
Andrew Dolgov 42e0c7a420 feedTree: amend previous to check that nodes are actually there 2019-01-28 18:48:56 +03:00
Andrew Dolgov 3827e5b944 selectFeed: scroll feed tree to selected row 2019-01-27 23:31:00 +03:00
Andrew Dolgov 8b26b8629f headlines-frame: set is-vfeed attribute if result is virtual feed 2019-01-16 21:33:59 +03:00
Andrew Dolgov c607b7836e onLoaded: clear this.headlines on first page load 2019-01-03 12:36:57 +03:00
Andrew Dolgov f44c6d01b0 fix previous always disabling infscroll 2019-01-03 01:00:09 +03:00
Andrew Dolgov c66db9bde8 headlines onloaded: when appending, check for duplicate IDs 2019-01-02 16:29:08 +03:00
Andrew Dolgov 51b069a1ee display filter tree rules as a list 2018-12-19 12:08:06 +03:00
Andrew Dolgov 8393096947 selectionTogglePublished: fix typo which caused it to mark articles instead 2018-12-18 11:49:26 +03:00
Andrew Dolgov dee210e546 headlines onLoaded: make sure a few more things respect append instead of offset == 0 2018-12-18 07:51:00 +03:00
Andrew Dolgov 8effabd075 append headline buffer if requested, don't just use offset 2018-12-16 21:15:08 +03:00
Andrew Dolgov 957c44d177 rework git update checking to be initiated by frontend, outside of runtime info output 2018-12-16 19:05:37 +03:00
Andrew Dolgov c3b8b6a2a1 also prevent multiple requests 2018-12-16 12:43:53 +03:00
Andrew Dolgov 54ce930b8d delay counters request on promise completion a bit 2018-12-16 12:41:27 +03:00
Andrew Dolgov 8c49689fda filter test results: remove table bloat 2018-12-14 17:44:53 +03:00
Jordan Galby 47b4a262cf fix missing curly brace
Fix the error:
SyntaxError: missing } after property list
2018-12-13 15:10:32 +01:00
Andrew Dolgov d3885c5883 App.toggleNightMode: add some fadein/fadeout 2018-12-13 10:20:05 +03:00
Andrew Dolgov d53cdaf815 requestCounters: remove cooldown 2018-12-12 20:06:44 +03:00
Andrew Dolgov 4e41db7ed3 Article.unpack: add placeholder   if data-content is empty 2018-12-12 08:56:02 +03:00
Andrew Dolgov eda4ac2a2b add fallback colors for headline feed titles based on feed name if favicon color is not available 2018-12-12 07:57:37 +03:00
Andrew Dolgov be49b77b14 Revert "use codeflask for user css editor"
This reverts commit daa43e0572.
2018-12-11 20:48:17 +03:00
Andrew Dolgov 721f9ad866 requestIdleCallback: remove hard dependency for now 2018-12-11 17:58:10 +03:00
Andrew Dolgov daa43e0572 use codeflask for user css editor 2018-12-11 14:25:41 +03:00
Andrew Dolgov 7a98105960 remove old fatalError(), move everything to App.Error
update exception dialog css
2018-12-11 13:18:38 +03:00
Andrew Dolgov 071ca5aa96 use JS template strings 2018-12-11 12:45:05 +03:00
Andrew Dolgov 2cbc2f5261 bring back frontend sanity check w/ App.checkBrowserFeatures() 2018-12-11 12:30:48 +03:00
Andrew Dolgov f3c04fc5d8 sync modified scores via mutation observer 2018-12-11 10:30:32 +03:00
Andrew Dolgov 25ca144bb7 score: get correct classes for rows/score icons on the client 2018-12-11 10:00:54 +03:00
Andrew Dolgov fd6f3e7f07 syncModified: request counters once after all xhr promises resolve 2018-12-11 08:48:24 +03:00
Andrew Dolgov 7cfd04ffb4 xhr helpers: wrap in promises 2018-12-11 08:42:38 +03:00
Andrew Dolgov 36f3299ddf use window.requestIdleCallback to sync observed modifications 2018-12-11 08:25:22 +03:00
Andrew Dolgov ad5a43bf66 sync article selected status via mutation observer
remove all rchk-related hacks
2018-12-10 21:19:33 +03:00
Andrew Dolgov c97c755195 remove _active_article_id; use selector instead 2018-12-10 20:56:09 +03:00
Andrew Dolgov d9bf0f17c6 sync unread state to server via mutation observer 2018-12-10 20:50:44 +03:00
Andrew Dolgov e5efde26ac sync marked and published states to server via mutation observer 2018-12-10 20:18:45 +03:00
Andrew Dolgov 6616c7cf67 keep track of selected prompt and floating title status using headline row mutation observer 2018-12-10 19:51:20 +03:00
Andrew Dolgov f96cdb7d5d renderAgain flag fixes 2018-12-10 16:10:19 +03:00
Andrew Dolgov 109910424c renderAgain: restore marked/published flags 2018-12-10 15:19:56 +03:00
fox cc267217e1 Merge branch 'tree_tooltip_error' of ggrandou/tt-rss into master 2018-12-10 12:07:54 +00:00
Andrew Dolgov 54f02a3b31 add Headlines.renderAgain() to switch between combined/expanded modes faster 2018-12-10 15:06:47 +03:00
Gilles Grandou df05794032 show errors in feedtree's tooltips 2018-12-10 11:38:59 +01:00
Andrew Dolgov 7e5c999146 show alert if recent_log_events > 0 2018-12-10 10:53:11 +03:00
Andrew Dolgov fca78f7417 add qmcToggleNightMode to actions dropdown 2018-12-09 21:20:59 +03:00
Andrew Dolgov 1c8593c1fa add hotkey (a N) to toggle night.css 2018-12-09 21:17:50 +03:00
Andrew Dolgov 95e1038e6d consistency: show author in multipanel headlines row 2018-12-09 16:12:04 +03:00
Andrew Dolgov a1c595687e fix previous to not crash in prefs 2018-12-09 16:09:51 +03:00
Andrew Dolgov 5e007e0090 headlines-spacer: only set 100% height if auto catchup is enabled 2018-12-09 16:02:20 +03:00
Andrew Dolgov 42780ddeb3 in grouped mode, don't display feed titles twice 2018-12-09 13:57:54 +03:00
Andrew Dolgov 302cffb1a7 catchupFeedInGroup: better icon 2018-12-09 13:53:26 +03:00
Andrew Dolgov dc84e10ba1 catchupFeedInGroup: overhaul
1. less hacky way to catchup actually unread headlines
2. don't fade rows away because it's inconsistent with different mark-as-read functions
3. fix stuck progress alert
2018-12-09 13:52:21 +03:00
Andrew Dolgov fa538a6c86 implement year-week sorting window if headlines buffer is grouped by feed titles 2018-12-09 13:35:37 +03:00
fox e338014d99 Merge branch 'pluginhost_fix' of ggrandou/tt-rss into master 2018-12-09 01:34:48 +00:00
Andrew Dolgov c8253f0e64 Article.openInNewWindow: do not crash if window is null 2018-12-09 04:32:41 +03:00
Gilles Grandou 392ad0bd83 fix PluginHost run method.
callbacks have no return value and anyway we should not prevent
to run subsequent plugins because one has failed.
2018-12-08 19:14:40 +01:00
Andrew Dolgov a0d332326c add PluginHost.HOOK_HEADLINE_RENDERED 2018-12-08 20:08:57 +03:00
Andrew Dolgov a400a8ffc1 add PluginHost.HOOK_INIT_COMPLETE (and make no_title_counters use it) 2018-12-08 20:06:07 +03:00
Andrew Dolgov f3737c0b24 update_rss_feed: add log message if article is filtered out
combine filters: fix crash on missing global function
2018-12-08 17:01:30 +03:00
Andrew Dolgov cf1ef002bc show disabled feeds in pref feed tree, use opacity instead of fixed gray color 2018-12-08 16:10:37 +03:00
Andrew Dolgov 4887db9820 update css for disabled filters; remove strikethrough 2018-12-08 15:49:52 +03:00
Michael Kuhn b43b7be9d5 Fix two more typos 2018-12-08 11:02:39 +01:00
Andrew Dolgov 41bf063e46 switchPanelMode: allow modifying layout in combined mode so that widescreen status won't be initially lost if starting in cdm 2018-12-08 09:46:48 +03:00
Andrew Dolgov bd66a9ef28 render article on the client using headlines data 2018-12-08 09:32:14 +03:00
Andrew Dolgov d1efcb7fc0 cdm: put originally_from into footer 2018-12-07 23:24:59 +03:00
Andrew Dolgov c31ae870c9 popupOpenArticle: don't cause an exception if popups are blocked 2018-12-07 22:07:13 +03:00
Andrew Dolgov 6e30af755c viewfeed: bring back comments prompt 2018-12-07 22:05:39 +03:00
Andrew Dolgov 76885fc5ad viewfeed: general code cleanup 2018-12-07 21:22:51 +03:00
Andrew Dolgov 8f75b06835 implement feed grouping display, remove unneeded server vgrlf passing 2018-12-07 21:11:50 +03:00
Andrew Dolgov 9d2caaefe7 viewfeed: show originally from... 2018-12-07 20:42:51 +03:00
Andrew Dolgov 20d460296d fix unread hl styling 2018-12-07 20:36:10 +03:00
Andrew Dolgov e075e6141b json-viewfeed updates 2018-12-07 18:24:56 +03:00
Andrew Dolgov 249c93a228 initial for js templates 2018-12-07 16:00:11 +03:00
Andrew Dolgov a68b150601 remove separate classes for various panels, unify under .panel
remove a few other unnecessary css classes/ids
2018-12-07 14:03:33 +03:00
Andrew Dolgov 7b0f4f1e46 updateFloatingTitle: marginRight correction no longer needed 2018-12-07 10:12:01 +03:00
Andrew Dolgov 7a276f9898 updateFloatingTitle: add safety offset to hide/show because mozilla can't into math 2018-12-07 10:09:37 +03:00
Andrew Dolgov c4b01dd547 updateFloatingTitle: sync row marked/published status 2018-12-07 09:09:09 +03:00
Andrew Dolgov 75666ac7ab clicking in body of currently active cdm article should mark
it as read, otherwise it's not possible without a kb shortcut or auto catchup
2018-12-06 20:41:15 +03:00
Andrew Dolgov 7805b291b6 update floating title in toggleUnread functions post-xhr 2018-12-06 20:38:55 +03:00
Andrew Dolgov db3c7d2050 remove floating title appear animation for now 2018-12-06 20:34:46 +03:00
Andrew Dolgov 3e4326e34d add ttrss_filters2.last_triggered (bump schema version) 2018-12-06 19:37:20 +03:00
Andrew Dolgov 0b8cbc9156 remove some bitmaps and rework stuff using it to use iconfont instead 2018-12-06 15:22:52 +03:00
Andrew Dolgov d2d2cb7e7d rework scoring display, JS processing and icons 2018-12-06 14:23:45 +03:00
Andrew Dolgov b09a58a570 call Headlines.scrollhandler() on window resize 2018-12-06 13:25:04 +03:00
Andrew Dolgov d99d04a2ae notify: use iconfont, update colors and increase height a bit 2018-12-06 12:52:44 +03:00
Andrew Dolgov 0ea0b606be rework net-alert to use iconfont, move it to toolbar start 2018-12-06 12:30:11 +03:00
Andrew Dolgov f89ecda9b8 Feeds.updateRandom: fix calling wrong RPC method 2018-12-06 12:19:05 +03:00
Andrew Dolgov 0e25f5d512 add and make filter dialogs use it 2018-12-06 09:52:12 +03:00
Andrew Dolgov fbaa5ea857 label editor: fix changing tree color of edited item 2018-12-06 08:35:02 +03:00
Andrew Dolgov 0a41c1a6e1 update label rendering (and editor) 2018-12-06 08:26:52 +03:00
Andrew Dolgov f33cd597be selectionToggleUnread: remove loading... prompt (other similar methods don't have it) 2018-12-06 06:52:08 +03:00
Andrew Dolgov cad6d1d7fd various icon updates; use new icons in feed tree 2018-12-05 20:26:27 +03:00
Andrew Dolgov e7adc7e471 Merge branch 'master' into material-icons 2018-12-05 17:53:26 +03:00
Andrew Dolgov 7edcf6c45f ctrlclick in combined mode shouldn't open two windows 2018-12-05 17:52:55 +03:00
Andrew Dolgov f3e6e12d46 various minor updates re: icons 2018-12-05 16:48:29 +03:00
Andrew Dolgov 2dac797704 floatingTitle-related fixes 2018-12-05 16:26:53 +03:00
Andrew Dolgov b65d8384c2 update headlines to use vector icons 2018-12-05 13:58:18 +03:00
Andrew Dolgov e42d25a361 revert to previous headline ctrl-click behavior (open in new window, mark read) 2018-12-05 10:37:05 +03:00
Andrew Dolgov 05200a3840 rename main toolbar elements to be more consistent 2018-12-05 10:03:58 +03:00
Andrew Dolgov 85adef06f4 onkeydown handlers: fix default keyboard events not being blocked if necessary 2018-12-05 09:11:12 +03:00
Andrew Dolgov 9814ac608c do not set article active if it already is
Headlines.onLoaded: reset active article if not called in append mode
2018-12-05 07:41:55 +03:00
Andrew Dolgov 2ab097b2e5 initial work for flat modern theme 2018-12-04 22:24:31 +03:00
Andrew Dolgov 6befff30d7 updates for flat theme (mostly disable old dijit overrides) 2018-12-04 19:03:42 +03:00
Andrew Dolgov ed1bd992d7 PrefFilterTree: fix obscure crash because of getLabel() not casting data to string 2018-12-04 16:07:24 +03:00
Andrew Dolgov f6e287df11 remove 4px margin of cdm.expanded 2018-12-04 13:40:47 +03:00
Andrew Dolgov 7e7a15136b Headlines.onRowChecked: fix undefined row 2018-12-04 10:32:57 +03:00
Andrew Dolgov 4a0b644f61 Headlines.onRowChecked: fix possible desync in checkbox and row selected state 2018-12-04 10:19:24 +03:00
Andrew Dolgov 6d3092c742 Headlines.openInNewWindow: don't set article active, just it and set read 2018-12-04 05:57:56 +03:00
Andrew Dolgov d3486b15f9 fix collapse_sidebar hotkey action 2018-12-03 20:49:37 +03:00
Andrew Dolgov d8d3662729 CommonDialogs: refresh proper elements after feed operations in preferences 2018-12-03 20:16:07 +03:00
Andrew Dolgov e76d1fb995 plugins: mail, mailto: remove code from global context 2018-12-03 14:21:50 +03:00
Andrew Dolgov 71fc6d45bd refactor error reporting to AppBase; keep exception_error() for now as a shim 2018-12-03 13:38:13 +03:00
Andrew Dolgov a049b5bd88 shorten declaration of PrefHelpers.OPML 2018-12-03 12:57:19 +03:00
Andrew Dolgov 8f1881e12c remove cookie set check 2018-12-03 12:55:07 +03:00
Andrew Dolgov 4d4034091a prefs: Prefs global -> Helpers 2018-12-03 12:46:00 +03:00
Andrew Dolgov b3bc638a9f refactor OPML export/import code to be less horrible 2018-12-03 12:26:49 +03:00
Andrew Dolgov 78cc470193 remove some plugin JS code out of global context 2018-12-03 10:51:14 +03:00
Andrew Dolgov 84affc7b1d rework dojo singleton modules to better work with phpstorm completion (ugh) - declare() is not needed there anyway
remove event.observe from login form (not needed)
load pluginhost via amd
2018-12-03 09:33:44 +03:00
wn_ b83ed6c7c4 Fix reference to `PluginHost`.
A `const` doesn't create a property on `window`.
2018-12-02 15:06:28 -06:00
Andrew Dolgov 5ead558e43 move Utils to AppBase where it belongs 2018-12-02 22:08:18 +03:00
Andrew Dolgov ac8361e6f6 add AppBase as a shared ancestor for main and prefs app objects
remove event.observe stuff from startup, unneeded
2018-12-02 21:52:50 +03:00
Andrew Dolgov eeb49d375c uploadIconHandler -> CommonDialogs 2018-12-02 20:57:51 +03:00
Andrew Dolgov 526389b2d3 update notify_* calls to use Notify 2018-12-02 20:56:30 +03:00
Andrew Dolgov 495248dd97 add Notify object 2018-12-02 20:44:53 +03:00
wn_ 87850ca1aa Fix 'document.onkeydown' handler 2018-12-02 11:21:37 -06:00
Andrew Dolgov d9c5c93cef move some more stuff out of common.js
rework client-side cookie functions a bit
limit dojo cachebust based on server scripts modification time
remove param_escape()
2018-12-02 20:07:57 +03:00
Andrew Dolgov f89924f7a1 set use strict on JS modules; remove some mostly useless stuff like get_minified_js() 2018-12-02 18:38:27 +03:00
Andrew Dolgov 807ff07454 split main objects to dojo modules 2018-12-02 17:18:59 +03:00
Andrew Dolgov fda3ad39c8 split several utility objects into separate dojo modules 2018-12-02 17:00:58 +03:00
Andrew Dolgov 35ded4bc84 edit phrasing of some alert()s 2018-12-02 16:30:32 +03:00
Andrew Dolgov 3a6dae9203 prefs: more of the same, really 2018-12-02 16:29:00 +03:00
Andrew Dolgov b9869dbc01 prefs: remove some more stuff from global context (user management, etc) 2018-12-02 16:17:36 +03:00
Andrew Dolgov 58e54282d3 prefs: move more global functions into matching classes 2018-12-02 15:30:07 +03:00
Andrew Dolgov f26d404890 prefs: move other tree-related functions to respective trees 2018-12-02 12:03:28 +03:00
Andrew Dolgov 60cd467694 embed some pref-feed helper functions into the tree 2018-12-02 11:50:53 +03:00
Andrew Dolgov 2e985d1733 move some label helper functions to prefLabelTree 2018-12-02 11:34:57 +03:00
Andrew Dolgov e23b6e397d prefs: store active tab for reload, remove most old table row functions 2018-12-02 11:25:32 +03:00
Andrew Dolgov aa2f119eb6 remove getSelectedTableRowIds (Tables.getSelected) 2018-12-02 10:46:09 +03:00
Andrew Dolgov 874560db54 remove obsolete row selection functions
move getUrlParam() to Utils
2018-12-02 10:33:58 +03:00
Andrew Dolgov 2f85b50e36 remove toggleSelectListRow2() 2018-12-02 10:16:25 +03:00
Andrew Dolgov 8ea3a75df0 filters: simplify list row selection for checkboxes (properly) 2018-12-02 10:03:31 +03:00
Andrew Dolgov fb64726854 filters: simplify list row selection for checkboxes 2018-12-02 10:01:03 +03:00
Andrew Dolgov da9f83c4ac filter dialog fixes 2018-12-02 09:55:43 +03:00
Andrew Dolgov 1930f0e4e0 toggleSelect(etc): properly check for headlines object 2018-12-02 09:49:49 +03:00
Andrew Dolgov 0a18d0b1ed Feeds: shorten some method names
finally rename "view as rss"
2018-12-02 08:57:22 +03:00
Andrew Dolgov 6e625555c9 Headlines: shorten selectArticles 2018-12-02 08:34:08 +03:00
Andrew Dolgov 3678315bea Article, Headlines: shorten several method names 2018-12-02 08:32:13 +03:00
Andrew Dolgov d8ac5474ec onLoaded: since we call scroll handler anyway, remove fill up hack 2018-12-02 07:40:09 +03:00
Andrew Dolgov e5f3b75540 fix some minor linter problems 2018-12-02 07:31:10 +03:00
Andrew Dolgov 1e2d4410d3 move some more shared stuff to CommonDialogs, Filters, and Utils 2018-12-01 22:39:29 +03:00
Andrew Dolgov 4b492cc93e clear _infscroll_timeout when headlines are loaded 2018-12-01 22:24:30 +03:00
Andrew Dolgov bc96eac2ac addLabel -> CommonDialogs 2018-12-01 22:19:20 +03:00
Andrew Dolgov 2cd23e344c create headlines spacer with document.createElement() 2018-12-01 22:16:08 +03:00
Andrew Dolgov 6c110c1ceb headlines scroll handler: don't autoselect anything if feed was just opened 2018-12-01 22:12:36 +03:00
Andrew Dolgov de9509cd31 hotkeys: simplify prefix timeout handling 2018-12-01 22:07:00 +03:00
Andrew Dolgov b284e72d63 openArticleInNewWindow: also, set it active 2018-12-01 21:54:22 +03:00
Andrew Dolgov cc26be0793 migrate tt-rss.js contents to App 2018-12-01 21:51:00 +03:00
Andrew Dolgov 642c37ea61 further effocts to wrap JS stuff into objects 2018-12-01 21:01:53 +03:00
Andrew Dolgov 4bed9be57d js-ification: start on some common dialogs 2018-12-01 18:25:32 +03:00
Andrew Dolgov 44d3aedd38 prefs: hotkey handler to App 2018-12-01 18:10:30 +03:00
Andrew Dolgov ff708a9357 prefs: initial objectification 2018-12-01 18:08:09 +03:00
Andrew Dolgov b9984c0ed6 revert wrong changes in prefs.js 2018-12-01 18:05:20 +03:00
Andrew Dolgov 18868fb7ac remove counters_last_request from globals 2018-12-01 18:03:58 +03:00
Andrew Dolgov 97df81d8d9 even more objectification of JS 2018-12-01 17:54:16 +03:00
Andrew Dolgov 1d82bd4f19 further objectification 2018-12-01 17:42:21 +03:00
Andrew Dolgov 072c03fbac cdmClicked: backport master change to click on links 2018-12-01 17:23:59 +03:00
Andrew Dolgov 00cd4a48d4 Feeds -> this 2018-12-01 17:23:44 +03:00
Andrew Dolgov d86ddbc635 further objectification of JS code 2018-12-01 17:21:26 +03:00