2aa16f3405
Merge branch 'fever' into opml
2019-07-24 14:04:04 -04:00
61b942df70
Defer Fever favicons to a future release
2019-07-24 12:27:50 -04:00
0480465e7e
Test Fever XML responses
...
Fixes #158
2019-07-24 09:10:13 -04:00
30cede9ea4
Make OPML parser protected
2019-07-05 14:58:05 -04:00
7046ce163c
More format-neutral code out of OPML class
2019-06-21 13:47:34 -04:00
92b1626dba
Remove most unused features of the query builder
...
Experience has proved programmatically setting joins is not useful, and
getting the types and values of query parts was not being maintained.
The programmatic setting of GROUP BY may be useful in future, however.
2019-06-21 12:00:23 -04:00
c1e13e6199
Tests for file imports
2019-05-12 16:33:19 -04:00
0f7d49c21e
More OPML tests and fixes
2019-05-06 19:36:39 -04:00
644750487c
Command line documentation and fixes
2019-05-06 00:02:59 -04:00
a30114807f
Tests and fixed for OPML feed parsing
2019-05-05 20:29:44 -04:00
cdd9f4dfbe
More OPML parser tests
2019-05-02 21:54:49 -04:00
5ba009cfed
First set of OPML parser tests
2019-05-02 12:52:52 -04:00
6ef13d0880
Style fixes
2019-05-01 22:52:20 -04:00
b9821d925a
CLI for OPML import, and proper exceptions
2019-05-01 10:46:44 -04:00
67492cd7ef
Prototype OPML importer routine
...
In theory the import (as opposed to parse) routine could be used for any
format; this could be used to implement an ad hoc JSON format to avoid
the loss of commas in tags with OPML
2019-04-27 19:50:03 -04:00
3899ee6b4e
Allow for replacing label and tag associations
...
This supplements adding and removing
2019-04-27 18:32:15 -04:00
2af223753d
Function to add a feed without a subscription
2019-04-21 14:07:36 -04:00
ceecd58393
OPML parsing comments and minr fixes
2019-04-21 13:10:47 -04:00
825c286e5b
Prototype OPML import parser
2019-04-19 18:01:31 -04:00
2d18be959c
Tests for undoing read marks
2019-04-10 18:27:57 -04:00
c55a960b85
Slight cleanup
2019-04-10 15:14:45 -04:00
8532c581a8
Handle OPTIONS requests in Fever
2019-04-10 10:51:02 -04:00
afb95e53b0
Initial implementation of read-undo
2019-04-10 10:21:14 -04:00
52bc5fbda6
Tests for simple marking
2019-04-10 09:48:28 -04:00
15915a4393
Initial implementation of simple marks
2019-04-08 23:31:22 -04:00
c783ec4357
Prototype XML output for Fever
2019-04-08 20:58:45 -04:00
98fc3f4940
Test for hot links
2019-04-08 19:21:21 -04:00
4ce371ece6
Tests and fixes for Fever item listing
2019-04-08 18:41:56 -04:00
e3d2215920
Style fixes
2019-04-05 11:03:15 -04:00
0ef606aa03
Return string list of item IDs
2019-04-05 08:20:05 -04:00
0752e9cf3d
Implement Fever sync
2019-04-04 19:37:48 -04:00
c6d241e653
Implement Fever item list
2019-04-04 17:57:12 -04:00
12f23ddc16
Updated tests for arbitrary sorting
2019-04-04 17:21:23 -04:00
f72c85c9f6
Hopefully working but maybe broken custom sorting
2019-04-04 11:22:50 -04:00
4b133bddd6
Prototype arbitrary result ordering
2019-04-03 15:02:59 -04:00
74fc39fca0
Implement multi-folder context option
2019-04-02 22:44:09 -04:00
cce1089e10
Handle edge case with folder 0
...
Folder 0 (the root folder) is a valid, though nonsensical selection:
using it as a positive option is the same as not using the option at
all, and using it as a negative option necessarily yields an empty set.
However, it can in some contexts be validly specified, and so it should
be handled consistently. It had not been previously, but is now.
2019-04-02 19:58:35 -04:00
98f6fca7e3
Enforce minimum array size (for now)
2019-04-02 18:37:46 -04:00
ef1b761f95
Implement most multiple-item context options
...
Selecting multiple folder trees will require further effort
2019-04-02 18:24:20 -04:00
ba32ad2f17
Add context options for multiple tags, labels, etc
2019-04-02 09:32:31 -04:00
77efaa7b41
CLI command for exporting OPML and sundry cleanup
2019-04-01 17:24:19 -04:00
deea294f8a
Add export-to-file wrapper for OPML
2019-04-01 16:54:14 -04:00
35e79d53a9
OPML export fixes, with tests
2019-03-30 10:01:12 -04:00
d63edf541f
Insert folders into OPML before subscriptions
2019-03-29 09:02:39 -04:00
25b7b47e0a
Prototype OPML exporter
2019-03-28 21:53:04 -04:00
5d994f3dad
Normalize Fever input consistently
...
Two parameters are undocumented, but other implementations consistently
accept them from clients
2019-03-28 14:54:31 -04:00
de615c671a
Tests and fixed for Fever feeds and groups
2019-03-27 15:09:04 -04:00
7faec3b0db
Fever fixes
...
- Ensure the last refresh time is included in authenticated requests
- Use a partial mock in auth tests so that other processing does not
get in the way of results
- Make sure the group list includes unused groups
- Make sure the update time of subscriptions is correct
2019-03-27 11:54:47 -04:00
d8407330a0
Add a function to get when feeds were last updated
...
This is an optimization for Fever, which returns this information with
every API call.
2019-03-26 16:51:44 -04:00
acb3973149
Prototype implementation of Fever groups and feeds
2019-03-26 08:53:26 -04:00
9c61f967e3
Correct CLI password clearing
2019-03-25 17:07:28 -04:00
bf3bf9589f
Merge branch 'master' into fever
2019-03-25 14:12:08 -04:00
1e83350dd0
Version bump
2019-03-25 11:57:31 -04:00
65f723c7d4
Fix missing reference to author in TT-RSS.
2019-03-25 11:30:35 -04:00
22c2629078
Partial tests for new CLI features
2019-03-25 10:45:05 -04:00
7d95e8fc09
Split Fever user management from protocol handler
2019-03-25 08:31:49 -04:00
1ce95ef4d9
Add means of testing Fever authentication
2019-03-24 15:05:21 -04:00
e45ba3f0ea
Add means of unsetting a password in the backend
2019-03-24 14:42:23 -04:00
07122b524a
Rename Fever user functions for consistency
2019-03-21 10:19:30 -04:00
9ebaa20633
Tests for Fever password creation and removal
2019-03-20 22:24:35 -04:00
9168155244
Add method to unset a Fever password
2019-03-20 10:42:04 -04:00
1e2d595992
Full set of authentication tests for Fever
2019-03-19 23:37:08 -04:00
d59223bbcb
First authentication test for Fever
2019-03-18 22:49:47 -04:00
b02c910b1e
Make token creation check that the user exists
2019-03-10 15:54:43 -04:00
3aa2b62d02
Basic Fever skeleton
...
Authentication should work, but not tests have been written yet
2019-03-09 22:44:59 -05:00
38bdde1167
Add access tokens to the db, with relevant code
...
Tokens are similar to sessions in that they stand in for users, but the
protocol handlers will manage them; Fever login hashes are the
originating use case for them. These must never expire, for example,
and we need to specify their values.
This commit also performs a bit of database clean-up
2019-03-09 16:23:56 -05:00
5de1844f6d
Add article selection by tag
2019-03-07 11:07:22 -05:00
e6f70527cf
Simplify tag summary
2019-03-07 08:20:09 -05:00
ff0c9a3a55
Add functionality for interacting with subscription tags
2019-03-06 22:15:41 -05:00
e2cba68c1b
Clarify various SQL queries
2019-03-05 19:25:46 -05:00
4945f8baa3
Clarify various SQL queries
2019-03-05 19:22:01 -05:00
6000d80b7b
Work around various SQLite-related problems
...
- WAL mode was not getting set properly
- Queries using the PDO driver could fail because PDO sucks
2019-03-04 11:08:56 -05:00
ed22090e49
Work around various SQLite-related problems
...
- WAL mode was not getting set properly
- Queries using the PDO driver could fail because PDO sucks
2019-03-04 11:05:46 -05:00
fb1bdbfb37
Database schema for subscription tags
2019-03-03 12:10:18 -05:00
5efef2c2d0
Console command to refresh all feeds once; fixes #147
2019-03-02 14:59:44 -05:00
44366f48bf
Remove arbitrary search term limits; fixes #150
2019-03-02 13:53:43 -05:00
21fdd66d37
Work around limit to SQL parameter placeholders for IN() clauses
...
Improves #150
LIKE-based matches also need to be similarly conservative
2019-03-01 22:36:25 -05:00
6857e8ec1b
Merge branch 'search'
2019-03-01 12:26:08 -05:00
837f3c6dd6
Simplify SQL type handling
...
This is done in anticipation of dealing with SQL types in
places other than statements
2019-03-01 12:17:33 -05:00
3b8461b1ca
Add searching to TTRSS handler
2019-02-28 16:22:04 -05:00
85307bc90a
Add parser for TTRSS search strings
2019-02-28 15:31:33 -05:00
95de375e0b
Handle folder and label exclusion
...
Consequently the way label data are retrieved was completely overhauled
2019-02-27 10:48:11 -05:00
1e7724ec80
Filter out duplicates in set context options
2019-02-26 12:54:27 -05:00
677e33e518
Add text search exclusions
2019-02-26 11:39:19 -05:00
89f25d7b91
Fix coverage a little
2019-02-26 11:12:40 -05:00
0dc82f64d5
Allow ranges in exclusion contexts
2019-02-26 11:11:42 -05:00
70443a5264
Make parent re-association on context clone more restrictive
2019-02-25 23:59:48 -05:00
18d52ea402
Make exclusion contexts return their parent on change
2019-02-25 23:37:14 -05:00
b950ac066f
Restrict options in not-context and hopefully make it easier to use
2019-02-25 22:41:12 -05:00
14c02d56ac
Implement new context options other than not().
...
Context handling has also been re-organized to simplify later
implementation of the not() option
2019-02-25 16:26:38 -05:00
f4a74eec5d
Add all the other context options allowed by the TTRSS search syntax
2019-02-25 10:46:43 -05:00
2df7c25b66
Add ability to search note text
2019-02-23 20:14:52 -05:00
bc3182a961
Basic substring searching
2019-02-22 18:50:39 -05:00
570a9b171c
Revert fulltext detection in driver
2019-02-22 18:49:57 -05:00
ace94e3ef8
Fix context, and context tests
2019-02-22 12:34:06 -05:00
f9fde23708
Context changes to support basic text searching
2019-02-22 11:13:42 -05:00
ad8057a40b
Driver changes to support basic text searching
2019-02-22 11:13:13 -05:00
908e1fa310
API documentation for database driver interface
2019-02-21 15:43:19 -05:00
b55d0b374f
API documentation for database driver interface
2019-02-21 15:10:32 -05:00
17f3a2f059
Start on an API overview for the Database class
2019-02-13 12:37:41 -05:00