Commit Graph

1171 Commits

Author SHA1 Message Date
Andrew Dolgov 473ea6255c render list of plugins on the client 2021-03-06 18:14:25 +03:00
Andrew Dolgov e5469479c1 * don't try to update custom set feed favicons
* cleanup update_rss_feed() a bit, use ORM
2021-03-06 11:17:15 +03:00
Andrew Dolgov 53dcd4b229 fix plugins not shown as already installed if they have more than 1 dash 2021-03-05 22:33:06 +03:00
Andrew Dolgov 5c1f9f31bd add a bunch of button icons 2021-03-05 15:16:41 +03:00
Andrew Dolgov 98c75a9e43 don't check for plugin updates automatically on pane open 2021-03-05 10:25:32 +03:00
Andrew Dolgov c744cfe2dc plugin installer: show last commit timestamp 2021-03-05 08:23:26 +03:00
Andrew Dolgov 476965b161 show installed plugins in the installer list 2021-03-04 19:50:19 +03:00
Andrew Dolgov 386dc415d9 a bit better search behavior for plugin installer 2021-03-04 16:28:58 +03:00
Andrew Dolgov 9b8b07376f shorten install button text 2021-03-04 15:59:13 +03:00
Andrew Dolgov f90531ae40 reduce plugin installer entry height 2021-03-04 15:58:26 +03:00
Andrew Dolgov 04128c7870 add search to plugin installer 2021-03-04 15:52:37 +03:00
Andrew Dolgov b74e313844 use computed style for element.prototype.visible 2021-03-04 14:53:33 +03:00
Andrew Dolgov 30765805fd use orm for settings profiles stuff 2021-03-04 12:30:45 +03:00
Andrew Dolgov 0cb719a404 add basic local plugin uninstaller 2021-03-03 19:35:11 +03:00
Andrew Dolgov dfdb746a76 add word wrap for git stdout/stderr pre elements 2021-03-03 19:18:43 +03:00
Andrew Dolgov cb7f322f09 add basic plugin installer (uses tt-rss.org) 2021-03-03 19:07:39 +03:00
Andrew Dolgov 75e659ba65 reduce Amount of Caps Used in Multiple Dialogs 2021-03-03 14:10:18 +03:00
Andrew Dolgov adf7189e94 show timing information in xhr.post/json 2021-03-03 09:56:35 +03:00
Andrew Dolgov ba86c64d38 add digest preview button, also fix a bunch of bugs 2021-03-02 19:21:21 +03:00
Andrew Dolgov d4ad483add user editor: allow toggling otp 2021-03-02 13:27:41 +03:00
Andrew Dolgov 30b94fb194 store widescreen mode setting in preferences instead of a cookie 2021-03-02 12:22:48 +03:00
Andrew Dolgov f56a4eab17 use orm for app password stuff 2021-03-02 08:08:48 +03:00
Andrew Dolgov 6359259dbb simplify internal authentication code and bump default algo to SSHA-512 2021-03-01 15:24:18 +03:00
Andrew Dolgov b05d4e3d9f speed up plugin updating a bit, fix some phpstan warnings 2021-02-28 21:50:05 +03:00
Andrew Dolgov f4fdc9c2a3 some plugin updater UI improvements 2021-02-28 12:52:27 +03:00
Andrew Dolgov e2cbb54b2c plugin updater: show changes before updating 2021-02-28 09:46:06 +03:00
Andrew Dolgov 7f2fe465b0 add plugin updates checker into normal updates checker 2021-02-27 19:14:13 +03:00
Andrew Dolgov 85f411d688 don't try to update all plugins 2021-02-27 17:35:00 +03:00
Andrew Dolgov 15f9cb708e reload prefs when plugin updater is closed 2021-02-27 17:32:41 +03:00
Andrew Dolgov de63e3799a only show plugin update buttons when needed 2021-02-27 17:29:41 +03:00
Andrew Dolgov dfff2cef7b add basic updater for stuff in plugins.local 2021-02-27 13:05:02 +03:00
fox c6fb62f384 Merge pull request 'fix-mysql-support' (#10) from klatch/tt-rss:fix-mysql-support into master
Reviewed-on: https://git.tt-rss.org/fox/tt-rss/pulls/10
2021-02-26 19:03:15 +03:00
Andrew Dolgov e6a875b7e4 check if client-presented URL scheme is different from one configured in SELF_URL_PATH 2021-02-26 14:14:44 +03:00
Andrew Dolgov 9689f884ab add Prefs::DEBUG_HEADLINE_IDS 2021-02-26 12:34:50 +03:00
Andrew Dolgov 56b10fea18 pass translations to frontend as a json object 2021-02-26 09:21:17 +03:00
Frenck Lutke 27b676b7b2 fix checkboxes shown as checked when they're not with mysql
The issue occurs because boolean/tinyint values are retrieved from mysql
as strings, and in php/js all non-empty strings are cast as boolean
true.

Current PDO mysql driver doesn't support `PDO::ATTR_STRINGIFY_FETCHES =
false`, and if I disable prepare-emulation so it uses the native MySQL
driver instead which supposedly does support it, prepare statements no
longer play nice with named parameters.

Every remaining clean solution that comes to mind that can cover all
cases, just for MySQL, adds an annoying amount of additional code /
overhead.

As long as the `App.FormFields.checkbox_tag()` JS function is the only
one suffering from the lack of conversion, I'll go with easy ugly over
here.
2021-02-25 12:24:23 +01:00
Andrew Dolgov db583287b2 add hide/show events for feeds sidebar 2021-02-24 17:01:40 +03:00
Andrew Dolgov 7f41228a71 decouple runtime-info object from counters 2021-02-24 15:40:19 +03:00
Andrew Dolgov 553548b689 request label counters conditionally 2021-02-24 15:07:31 +03:00
Andrew Dolgov 8b09e653e0 pass array to setScore 2021-02-24 12:10:09 +03:00
Andrew Dolgov 155e4f6125 pass a bunch of related arrays properly to backend 2021-02-24 12:07:25 +03:00
Andrew Dolgov 96182597c4 fix typo 2021-02-24 10:38:54 +03:00
Andrew Dolgov 9ad5f04e51 only request counters once for headline mutations 2021-02-24 10:31:03 +03:00
Andrew Dolgov 6ea1430a04 no special counter handling for catchupAll 2021-02-24 10:01:39 +03:00
Andrew Dolgov d6203bf350 try to calculate counters conditionally based on feed ids 2021-02-24 09:47:26 +03:00
Andrew Dolgov 8d2e3c2528 drop errors.php and simplify error handling 2021-02-23 22:26:07 +03:00
Andrew Dolgov 37d46411c7 App.requestCounters() is not a thing 2021-02-23 17:43:35 +03:00
Andrew Dolgov 33fff26869 reinstate HOOK_RENDER_ENCLOSURE 2021-02-22 10:00:50 +03:00
Andrew Dolgov 861a632ac7 move published opml JS code to pref helpers 2021-02-21 18:04:44 +03:00
Andrew Dolgov c6b7a7f8d0 Merge branch 'master' of git.tt-rss.org:fox/tt-rss 2021-02-21 16:06:57 +03:00
Andrew Dolgov 2ab215daca batch editor: comment out getChildByName 2021-02-21 16:06:46 +03:00
Andrew Dolgov 521d0b65c7 batch feed editor: use tab layout, cleanup 2021-02-21 16:02:57 +03:00
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