Commit Graph

1119 Commits

Author SHA1 Message Date
wn_ 1bd5152c80 Open the default feed after unsubscribing.
Previously the UI appeared to hang, even though the backend request had already completed successfully.
2021-02-21 12:48:15 +00:00
Andrew Dolgov 2843b99171 minor filter UI layout fix 2021-02-21 13:08:34 +03:00
Andrew Dolgov 810afdaf5a prevent creation of filter rules matching no feeds 2021-02-21 12:28:25 +03:00
Andrew Dolgov fb471652c0 Merge branch 'wip-filter-stuff' 2021-02-21 10:35:39 +03:00
Andrew Dolgov 9e56896bd4 Element visible: check for offsetHeight/offsetWidth 2021-02-21 10:34:28 +03:00
Andrew Dolgov 3b8d69206c deal with filter actions UI 2021-02-21 10:28:59 +03:00
Andrew Dolgov 94560132dd for the most part, deal with filter rules UI 2021-02-21 09:35:07 +03:00
Andrew Dolgov b4e96374bc more filter stuff 2021-02-20 21:48:05 +03:00
Andrew Dolgov da97b29dbe prevent filter selected text dialog from opening in wrong order 2021-02-20 21:07:28 +03:00
Andrew Dolgov 590b1fc39e a few more methods shuffled around 2021-02-20 18:21:36 +03:00
Andrew Dolgov be91355c20 first for filter frontend overhaul 2021-02-20 18:15:08 +03:00
Andrew Dolgov d6de021ae6 haven't i fixed this already 2021-02-20 13:52:02 +03:00
Andrew Dolgov 22fe9b54d2 feed editor: use client dialog 2021-02-20 13:32:09 +03:00
Andrew Dolgov 9586c72a17 wip: feed editor client-side 2021-02-20 10:26:09 +03:00
Andrew Dolgov c9ccb0791d fix for startup crash because of classes containing spaces 2021-02-19 20:05:56 +03:00
Andrew Dolgov cf249d7e8c modify classname helpers to use element.classList; fix feed debugger & share--get 2021-02-19 19:29:43 +03:00
Andrew Dolgov d5f4979831 headlines.select: maybe fix another one 2021-02-19 18:50:02 +03:00
Andrew Dolgov 737cffc241 render feed icon markup on the client 2021-02-19 17:40:11 +03:00
Andrew Dolgov d445530fa0 format note on the client 2021-02-19 17:15:22 +03:00
Andrew Dolgov 921b5ca2ce add onTagsUpdated similar to onLabelsUpdated 2021-02-19 15:34:28 +03:00
Andrew Dolgov e73779fec1 render tags on the client 2021-02-19 15:31:50 +03:00
Andrew Dolgov d9fe14a012 use template strings in a bunch of places instead of id concatenation 2021-02-19 15:09:53 +03:00
Andrew Dolgov 131f34648d render headline labels on the client 2021-02-19 15:03:48 +03:00
Andrew Dolgov 660a1bbe01 * switch to xhr.post() almost everywhere
* call App.handlerpcjson() automatically on json request (if possible)
 * show net/log indicators in prefs
2021-02-19 13:44:56 +03:00
Andrew Dolgov bb4e4282f4 migrate a bunch of xhrPost invocations 2021-02-19 11:28:14 +03:00
Andrew Dolgov 6b43b788d9 migrate xhrJson invocations to the new helper 2021-02-19 10:22:00 +03:00
Andrew Dolgov dba6dce3b3 add element fadeout/fadein and a shorter xhr helper 2021-02-19 10:15:36 +03:00
Andrew Dolgov f645120641 table helpers: don't try to iterate over a single element 2021-02-19 07:54:44 +03:00
Andrew Dolgov d26269865f use .closest() instead of .up() to lookup parent by selector 2021-02-19 07:43:05 +03:00
Andrew Dolgov bec35200e9 fix some eslint-related stuff 2021-02-19 07:29:21 +03:00
Andrew Dolgov 00310d2d23 cleanup some unused code, fix App.byId() invoked by wrong name 2021-02-19 06:58:50 +03:00
Andrew Dolgov dcfea9baac properly validate feed editor dialog 2021-02-19 06:51:15 +03:00
Andrew Dolgov d57e7eaa98 move stuff in common.js around a bit 2021-02-19 06:40:35 +03:00
Andrew Dolgov 5475eed452 bring back hash functions 2021-02-19 06:35:37 +03:00
Andrew Dolgov b6c3dde1cc add $/423 shims 2021-02-18 22:26:00 +03:00
Andrew Dolgov c088e9d9d8 get rid of a few more prototype-isms 2021-02-18 22:23:06 +03:00
Andrew Dolgov 89fd9ec8c3 compat shim fixes 2021-02-18 22:15:54 +03:00
Andrew Dolgov e61e7c8356 compat shim fixes 2021-02-18 22:14:40 +03:00
Andrew Dolgov f77c17c6f0 add Element toggleClassName 2021-02-18 22:05:06 +03:00
Andrew Dolgov 70fa423026 initial for RIP prototype/scriptaculous 2021-02-18 21:51:18 +03:00
Andrew Dolgov 049c423454 fix hotkey help toolbar action 2021-02-18 18:12:30 +03:00
Andrew Dolgov 61fdce4f44 rework previous to be even less jumpy 2021-02-18 15:40:54 +03:00
Andrew Dolgov 2c5927d8cd rework previous to be less jumpy 2021-02-18 15:38:26 +03:00
Andrew Dolgov 2e4b403787 * use es5 (?) default parameter values for some functions
* when moving to next article, try to show hsp if its next
2021-02-18 15:13:41 +03:00
Andrew Dolgov e03d6379a6 small markup adjustment 2021-02-18 11:55:00 +03:00
Andrew Dolgov 466cba39d8 Merge branch 'master' of git.fakecake.org:fox/tt-rss 2021-02-18 11:54:29 +03:00
Andrew Dolgov 1adb9bb6b6 profiles: use client dialog; move related methods to pref-prefs 2021-02-18 11:54:22 +03:00
Andrew Dolgov e4609c18ef * add (disabled) shortcut syntax for plugin methods
* add controls shortcut for pluginhandler tags
 * add similar shortcut for frontend
 * allow plugins to selectively exclude their methods from CSRF checking
2021-02-17 21:44:21 +03:00
Andrew Dolgov b16abc157e * App: rename hidden to hidden_tag
* search: use client dialog
 * add some form field helpers
2021-02-17 19:34:54 +03:00
Andrew Dolgov 89e8176c69 Article.render: parse dojo widgets 2021-02-16 22:05:12 +03:00
Andrew Dolgov 22fc6871e8 remove backend helper and move its only function to rpc for the time being 2021-02-16 14:51:42 +03:00
Andrew Dolgov 3887665bcb CommonDialogs.addLabel: remove long unused parameters 2021-02-16 14:13:38 +03:00
Andrew Dolgov 9f55454f63 remove the rest of db.php; rename some leftover methods in feeds 2021-02-15 16:51:35 +03:00
Andrew Dolgov 257efb43c6 article: unify naming 2021-02-15 15:52:28 +03:00
Andrew Dolgov 020f062a76 feeds: unify naming 2021-02-15 15:43:07 +03:00
Andrew Dolgov 6b006a18e7 subscribe to feed: use client dialog 2021-02-15 15:21:41 +03:00
Andrew Dolgov ecb36b6354 edit tags: use client dialog 2021-02-15 14:50:40 +03:00
Andrew Dolgov 82adb01307 render enclosures on the client 2021-02-15 14:10:46 +03:00
Andrew Dolgov 3c584376ca shared opml and feed dialogs: remove unique target element id, move associated methods into dialog 2021-02-15 07:59:11 +03:00
Andrew Dolgov 9f31381bb6 renderToolbar: support empty data i.e. dashboard feed 2021-02-15 07:46:24 +03:00
Andrew Dolgov a2e688fcb2 render headline-specific toolbar on the client 2021-02-14 22:17:13 +03:00
Andrew Dolgov 37a81ba594 SingleUseDialog: destroy existing widget with same id on create 2021-02-14 19:19:25 +03:00
Andrew Dolgov ff6031d3c9 remove old-style markup from exception dialog 2021-02-14 18:59:09 +03:00
Andrew Dolgov 4996d8ccfe pref-users edit: use client dialog 2021-02-14 16:44:41 +03:00
Andrew Dolgov 0fbf109912 * remove users/filters toolbar edit button (just click on it)
* fix title of edit filter dialog always showing create filter
2021-02-14 15:38:45 +03:00
Andrew Dolgov 1c7e4782aa prefs system: load phpinfo using inline method 2021-02-14 12:29:08 +03:00
Andrew Dolgov d4c925819b pref-feeds: load error button via xhr 2021-02-13 23:12:49 +03:00
Andrew Dolgov 43d8a1f2ff remove getinactivefeeds (duplicate functionality) 2021-02-13 23:08:20 +03:00
Andrew Dolgov 103d30ad3f batch subscribe: use client dialog 2021-02-13 22:16:17 +03:00
Andrew Dolgov c36b2adf84 feeds with errors: use client dialog 2021-02-13 21:57:02 +03:00
Andrew Dolgov 8464c619e4 inactive feeds: use client dialog 2021-02-13 21:41:38 +03:00
Andrew Dolgov 17413078a7 pref feeds: index cleanup, split into several methods, use tabs to maximize space for feed tree, persist feed tree state 2021-02-13 18:32:02 +03:00
Andrew Dolgov e7924c6dac label editor: use client dialog 2021-02-13 13:17:34 +03:00
Andrew Dolgov eec5871f5f fail better if requested article URL is blank 2021-02-13 10:10:44 +03:00
Andrew Dolgov 481bd76100 pref helpers: move some methods to their own sections 2021-02-12 21:51:32 +03:00
Andrew Dolgov 6af83e3881 drop ENABLE_GZIP_OUTPUT; system prefs: load php info only if needed 2021-02-12 21:43:38 +03:00
Andrew Dolgov 6d7fea537e silence some more eslint warnings 2021-02-12 19:55:05 +03:00
Andrew Dolgov 157675d9fd prefs: fix published shared URL dialog 2021-02-12 19:17:50 +03:00
Andrew Dolgov 7f0800537e silence (or fix) a bunch of eslint warnings 2021-02-12 19:02:09 +03:00
Andrew Dolgov ad7842c98a RIP tag cloud: last of the vanilla popup dialog system 2021-02-12 18:43:30 +03:00
Andrew Dolgov 9330bde991 batchsubscribe: xhr 2021-02-12 18:40:22 +03:00
Andrew Dolgov 03b85248e6 move some dialogs to xhr loading 2021-02-12 18:38:26 +03:00
Andrew Dolgov 3268364693 more dialog-related cleanup 2021-02-12 15:50:06 +03:00
Andrew Dolgov 3d11c61f32 * OPML import: don't reload everything, just feed tree
* dialogs: use auto-destroying dialog for almost all dialogs instead of destroying them manually
* some general dialog-related cleanup
2021-02-12 15:22:10 +03:00
Andrew Dolgov 219cc9a0ab fix previous: secondary dialog not opening because of onLoad 2021-02-12 14:35:10 +03:00
Andrew Dolgov 8f8675a26a * filters: remove duplicate code, overall cleanup
* check if some tres exist before trying to reload them
2021-02-12 14:31:36 +03:00
Andrew Dolgov 9804a17b79 fix typo 2021-02-12 12:12:31 +03:00
Andrew Dolgov a72171f8ef dialogOf: deal with both raw DOM elements and widgets 2021-02-12 12:12:12 +03:00
Andrew Dolgov bf6d0f2817 various dialog-related fixes; stop referring to many dialogs by name; move filter test initial dialog to client side 2021-02-12 10:35:13 +03:00
Andrew Dolgov 72e38bfe1f rework a few more dialogs to use App.dialogOf() 2021-02-12 09:56:27 +03:00
Andrew Dolgov d466284fab * customizeCSS: client dialog
* remove hardcoded width from most dialogs (move to css)
* add helper to easily get dialog from its widget
* rework some dialog buttons to use current object instead of calling dialog by name
2021-02-12 09:02:44 +03:00
Andrew Dolgov cb7c075cd2 remove OPML.onImportComplete 2021-02-12 08:22:39 +03:00
Andrew Dolgov 83b0738b04 opml import: no more iframe, use client dialog 2021-02-12 08:22:00 +03:00
Andrew Dolgov eac7ad5d34 remove explainError server-side dlg 2021-02-12 08:00:25 +03:00
Andrew Dolgov 4182018cb7 generated feed: use client dialog 2021-02-11 22:04:39 +03:00
Andrew Dolgov 1a680d4eae publishedOPML: use client dialog 2021-02-11 21:42:38 +03:00
Andrew Dolgov 848bc57f29 disable themes in safe mode; rework safe mode warning/login prompt 2021-02-11 21:19:57 +03:00
Andrew Dolgov 74986d1ac6 shorten pref tab names; make log-alert clickable 2021-02-11 15:49:32 +03:00
Andrew Dolgov ce2335deaf pref-users: css fixes 2021-02-06 16:24:40 +03:00
Andrew Dolgov 10392ecc28 event log: add pagination 2021-02-06 10:10:54 +03:00
Andrew Dolgov 2933483393 add a hack (Headlines.unpackVisible) to workaround against unpack observer sometimes missing articles 2021-01-19 11:54:13 +03:00
Andrew Dolgov da0ad82c24 Archive cleanup:
- remove code to manually archive/unarchive articles
- remove ttrss_archived_feeds/orig_feed_id handling - the whole thing was implemented for
this data to be kept indefinitely; it doesn't make a lot of sense to deal with this stuff
now that it is expired after one month anyway (same reasons as feed browser being removed - privacy)
- remove "originally from"-related stuff because of the above
- also remove unused remaining frontend/backend code related to feed browser (rip)
2021-01-17 14:55:11 +03:00
Andrew Dolgov 6c13449088 remove CommonDialogs.feedBrowser() 2021-01-17 14:34:04 +03:00
Andrew Dolgov 25520e9784 Select... dropdown: replace dijit Select with DropDownButton, simplify layout
PluginHost: add HOOK_HEADLINE_TOOLBAR_SELECT_MENU_ITEM
Headlines.onActionChanged: removed
2021-01-17 11:27:07 +03:00
Andrew Dolgov b2993bcd30 remove menu options to manually un/archive articles 2021-01-17 10:37:40 +03:00
Andrew Dolgov 8cc07bc8bd event log: add severity filtering 2020-12-24 15:02:47 +03:00
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 https://community.tt-rss.org/t/changing-the-amount-of-scroll-by-arrow-key/3452/7 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