Commit graph

174 commits

Author SHA1 Message Date
Jonathan Zernik
2cd39d05bf
Wait for first successful download single squeak (#2176)
* Got download single squeak working with return after successful download

* Remove comments and log lines

* Remove log lines
2022-04-27 01:58:28 -07:00
Jonathan Zernik
7658a4d95c
Upgrade squeaklib to v013 (#2165)
* Upgrade to squeaklib v0.13

* Allow different squeak types in server reponse

* Add core method for create resqueak.

* Add make resqueak method for squeak store

* Update db migration to include resqueak hash

* Add db method to insert and get resqueak

* Return resqueak as squeak entry in db query method

* Add RPC method for make resqueak

* Got make resqueak modal working in frontend

* Show different content for resqueak in frontend

* Show resqueaed squeak in display

* Show resqueak correctly

* Got resqueak display working on squeak card component

* Fix display for missing resqueaked squeak.

* Fix display for missing resqueaked squeak in squeak card.

* Got resqueak from squeak card working

* Fix prevent default action on resqueak unlock click

* Fix prevent default on make reply squeak in squeak card

* Got number of replies to resqueaked squeak working

* Fix click on squeak card

* Fix too many characters warning message

* Fix click on squeak card image and name and pubkey

* Rename set reply modal state function

* Fix toggle modals for resqueaked squeak

* Fix form submit action for squeak modals

* Include num resqueaks and num resqueaked resqueaks in get squeak entry db query

* Show number of resqueaks in frontend

* Fix distinct count in query for num replies and num resqueaks

* Update resqueaked squeak in slice state

* Update frontend build
2022-04-24 17:54:07 -07:00
Jonathan Zernik
6d2eeb856f
Show payment summary for peer (#2160)
* Add endpoint for payment summary for peer

* Got basic payment summary working for peer page

* Improve display of address in peer page

* Show peer address network in peer page

* Add endpoints for get sent payments for peer and get received payments for peer.

* Got sent payments for peer and received payments for peer working in frontend

* Update frontend build
2022-04-14 17:18:52 -07:00
Jonathan Zernik
d626147c71
Show num replies (#2144)
* Got show num replies working on squeak page

* Fix group by squeak hash

* Fix db queries for get num replies

* Update frontend build
2022-04-13 15:47:28 -07:00
Jonathan Zernik
f7fec3b8a3
Show sent payments for profile (#2100)
* Add db methods to get sent and received payments for pubkey

* Add flask endpoints for payments per pubkey

* Got amount earned summary working in profile page.

* Update frontend build
2022-03-30 19:58:49 -07:00
Jonathan Zernik
65f53bc938
Show sent and received payments for squeak (#2081)
* Add backend endpoint for get sent payments for squeak and get received payments for squeak.

* Improved look of sats spent and sats earned text in squeak page

* Got spending modal working on squeak page

* Got sent payments working for squeak page

* Got received payments working for squeak page

* Update frontend build
2022-03-30 01:58:11 -07:00
Jonathan Zernik
b251263394
Show payments for squeak (#2078)
* Add get received payment summary for squeak and get sent payment summary for squeak.

* Add get sent payments for squeak.

* Add get received payments for squeak.

* Add RPC and flask endpoint for get payment summary for squeak.

* Got payment summary fields working in squeak page.

* Refetch payment summary from backend after buy completes successfully

* Update frontend build
2022-03-29 23:20:38 -07:00
Jonathan Zernik
6d05637806
Include is_forwarding field in twitter account entry (#2040)
* Include is_forwarding field in twitter account entry

* Show twitter account is forwarding status in twitter account card
2022-03-28 01:17:23 -07:00
Jonathan Zernik
fbc66c9813
Fix change profile name default (#2013)
* Fix default value for change profile name

* Partially fix set sell price dialog

* Fix itest in progress

* Fix get sell price
2022-03-17 23:24:50 -07:00
Jonathan Zernik
93d12ec6c9
Fix typo in rpc proto for sell price (#2012) 2022-03-17 18:46:13 -07:00
Jonathan Zernik
d347534b55
Display private squeaks (#1914)
* Update squeak display entry in proto for private squeaks

* Add select private message recipient in make squeak dialog

* Show recipient of private squeak in squeak thread item

* Use squeak content str is null to determine background color of squeak component

* Update frontend build

* Refactor private squeak indicator to separate component

* Remove old comments

* Got private message recipient indicator working in thread item and detail item

* Add decrypt squeak dialog

* Got button showing for unlocked but encrypted squeak

* Show lock icon for squeak thread item when unlocked but still encypted

* Comment out get secret key method of controller

* Add rpc method for decrypt squeak content

* Got decrypt content working with recipient private key

* Update frontend build
2021-12-28 18:40:09 -08:00
Jonathan Zernik
20d651df8e
Implement unlock private squeak (#1910)
* Add method stub for unlock private squeak in controller class

* Add methods to unlock private squeak in controller

* Remove todo comments

* Add test for create and decrypt private squeak in core module

* Update handler method for make squeak to support recipient profile id

* Add itest for make private squeak and unlock content as author
2021-12-28 01:07:59 -08:00
Jonathan Zernik
9f0d5e4097
Include bearer token in twitter account (#1881)
* Got twitter forwarder working with bearer token in twitter accounts table

* Update frontend to use bearer token in twitter account

* Update frontend build
2021-12-22 16:10:03 -08:00
Jonathan Zernik
5198467889
Use new squeak protocol with schnorr and pubkey as identifier (#1870)
* Got all tests in core dir passing

* Got all tests in db dir passing

* Got tests for admin dir passing

* Got all unit tests passing

* Added migration for squeak table and profile table using new pubkey

* Re-start db migrations with new data-v2.db file

* Fix column type for profile public key

* Got all itests passing

* Log the public key in hex in create contact profile handle fn

* Rename rpc methods to use pubkey instead of address

* Got frontend mostly working with new profile pubkey

* Update frontend to use pubkey instead of address

* Change size of squeak profile detail item

* Update create contact profile dialog to use pubkey

* Update twitter account item to use pubkey

* Include label for pubkey in profile detail item

* Decrease size of profile detail item

* Update frontend build

* Improve logging of requests in handler
2021-12-20 09:28:38 -08:00
Jonathan Zernik
8e975ca811
Make start/stop twitter stream thread-safe (#1859)
* Make start/stop twitter stream thread-safe

* Add rpc for get twitter stream status

* Add get twitter stream status rpc to flask

* Display twitter stream connection status in twitter page

* Fix twitter forwarder task stop

* Update frontend build
2021-12-15 14:29:36 -08:00
Jonathan Zernik
6233890e5b
Remove squeak detail include in squeak entry (#1837)
* Got squeak details dialog working without details rpc request

* Remove get squeak detail from rpc proto

* Update frontend build

* Remove old get squeak detail itest

* Remove unused fixture for squeak detail item
2021-11-30 22:25:43 -08:00
Jonathan Zernik
0a5d0d1d10
Remove profile custom price (#1807)
* Remove custom price from profile

* Remove profile custom price from frontend

* Update frontend build
2021-11-19 00:04:07 -08:00
Jonathan Zernik
488ed5dfc4
Add global sell price setting (#1791)
* Add sell price setting to db

* Add rpc method for set and get sell price setting

* Fix servicer methods for get and set sell price

* Add settings page in frontend

* Include default sell price in get sell price rpc

* Show sell price in settings page

* Got set sell price working in frontend

* Remove frontend validation of sell price dialog

* Use sell price from settings when determining price

* Add rpc to clear sell price setting

* Add clear sell price to frontend

* Remove unused imports in frontend

* Update frontend build
2021-11-10 01:53:55 -08:00
Jonathan Zernik
c0141effcb
Implement share for free with saved peer (#1782)
* Add share_for_free column to peer table in db and to core struct

* Got set share for free toggle working in frontend

* Got share for free working with price zero in controller
2021-11-07 02:21:13 -08:00
Jonathan Zernik
6c40891ad8
Add twitter forwarder (#1755)
* Add twitter stream class

* Got twitter forwarder subscription working

* Add config table in db with twitter bearer token

* Only run forward tweets task when twitter bearer token and twitter handles are not null

* Add twitter page to frontend and add button to set bearer token

* Reload bearer token in ui after setting value

* Add twitter accounts table to db

* Got get twitter accounts request working

* Display twitter account list items in twitter page

* Show twitter accounts in twitter page

* Got create squeak from tweet working

* Update twitter stream upon twitter accounts changes

* Got terminate twitter stream connection working

* Update frontend build

* Remove print statements from itest

* Remove main function from twitter stream module

* Make tweet forwarder worker run as daemon thread

* Use custom config for subscribe tweets retry interval
2021-11-04 19:10:00 -07:00
Jonathan Zernik
e765d584aa
Simplify method for handle save received squeak (#1740)
* Split up and simplify save received squeak method

* Got waiting dialog for download in progress for offers

* Remove old comments from squeak controller

* Fix call increment counter when lookup returns none

* Update frontend build
2021-10-28 00:01:24 -07:00
Jonathan Zernik
8daeee2717
Return immediately from download when zero connected peers (#1733) 2021-10-26 15:27:06 -07:00
Jonathan Zernik
79e59bdf97
Return download result in rpc responses for download commands (#1731)
* Return download result in rpc responses for download commands

* Remove commented sleep statements in itest
2021-10-26 01:46:18 -07:00
Jonathan Zernik
b433953d7b
Update lnd proto file to latest version (#1592) 2021-10-14 13:08:05 -07:00
Jonathan Zernik
4ca835b2fb
Replace use_tor field with network in peer address (#1558)
* Replace use_tor field with network in peer address

* Got itest passing with network column in db.

* Got frontend working with network (ipv4 or torv3) configurable

* Fix go to peer address page navigation from sent payment and received payment
2021-10-10 21:00:56 -07:00
Jonathan Zernik
9f6307cbb3
Add rpc to get default peer port (#1556)
* Added get default peer port rpc command

* Use default port in connect peer dialog

* Got default port working on create peer dialog

* Got default port working in both connect peer and create peer.

* Remove default peer usage in create peer backend

* Remove default peer handling for connect peer in backend

* Reset port back to empty when use custom is checked or unchecked.
2021-10-10 00:30:27 -07:00
Jonathan Zernik
12f7b62349
Add toggle for connect with tor (#1550)
* Added use_tor option to peer address class and grpc message

* Got itest passing without tor

* Got peer connection working in UI with tor toggle

* Able to connect to with and without tor

* Got save peer working with tor and without tor

* Add use_tor field to peer address everywhere.

* Fix usage of useMemo in peer address page
2021-10-09 22:26:54 -07:00
Jonathan Zernik
3df4ec3927
Got itest working for get peer by address (#1364) 2021-09-20 15:13:29 -07:00
Jonathan Zernik
ba7425d009
Include saved peer in connected peer rpc message (#1361)
* Use ConnecterPeer class for return type of controller methods

* Got itest working for include saved peer in get connected peers
2021-09-20 13:25:53 -07:00
Jonathan Zernik
38a7a1af87
Got itest working for text search (#1287)
* Got itest working for text search

* Use util function to get search results in itest
2021-09-14 20:47:11 -07:00
Jonathan Zernik
5e561e6ec2
Implemented get external address rpc method (#1236)
* Implemented get external address rpc method

* Display external address on peers page in frontend

* Update frontend build
2021-09-08 20:15:32 -07:00
Jonathan Zernik
b2858d714b
Paginate received payments (#1234)
* Add pagination to get received payments rpc

* Add pagination to received payments frontend page

* Comment unused method used for streaming in timeline page

* Run frontend lint

* Update frontend build
2021-09-08 17:54:49 -07:00
Jonathan Zernik
dc524f80ec
Change create time sent payment to integer (#1221)
* Change created time in sent payment to milliseconds integer

* Change time field of sent payment rpc message to ms

* Update frontend for sent payment to get new milliseconds field

* Update frontend build

* Use milliseconds for received offer created time in database

* Use milliseconds for sent offer created time in database

* Change created time to milliseconds for received payment

* Update frontend to use milliseconds for received payment

* Update frontend to use milliseconds for peer and profile in database

* Change created time and liked time to milliseconds for squeak

* Remove use of datetime module from squeak db

* Fix get liked time in milliseconds in frontend

* Update frontend build

* Simplify squeak retention query
2021-09-07 21:14:17 -07:00
Jonathan Zernik
4b76ad832d
Add pagination for sent payments (#1220)
* Add pagination to get sent payments rpc method

* Got frontend mostly working for paginating sent payments

* Fix warning for missing arg in load sent payments effect

* Update frontend build
2021-09-07 09:26:34 -07:00
Jonathan Zernik
3402527f26
Add input for set custom price (#1214)
* Add rpc method for set profile custom sell price

* Got change profile custom price in frontend working

* Run frontend lint

* Update frontend build

* Got send offers with correct custom price working
2021-09-06 19:28:40 -07:00
Jonathan Zernik
76ad744936
Updrage squeaklib to 0.7.1 (#1194)
* Updrage squeaklib to 0.7.1

* Add case to handle secret key msg in peer msg handler

* Add fields for custom price and use custom price to profile table

* Got itest working with new profile fields

* Use default values for profile struct constructor

* Fix db migration to use use profile columns

* Got itest passing for set use custom price

* Show custom price or default price in profile page

* Change wording of selling with price in profile page

* Got set use custom price toggle working in configure profile dialog
2021-09-05 12:30:58 -07:00
Jonathan Zernik
038a19856e
Add pagination for likes (#1179)
* Add pagination for get liked entries rpc

* Update rpc proto for pagination for get liked entries

* Got pagination working for likes page

* Update frontend build
2021-09-04 09:27:50 -07:00
Jonathan Zernik
47be5c96f9
Use last squeak entry as field in pagination rpc (#1177)
* Update timeline to use more efficient pagination rpc with last entry

* Update address squeaks to use more efficient pagination rpc with last entry

* Update reply squeaks to use more efficient pagination rpc with last entry

* Use last_entry as param in get_timeline db query function

* Use last_entry as param in get address squeaks db query function

* Use last_entry as param in get reply squeaks db query function
2021-09-04 08:31:24 -07:00
Jonathan Zernik
cb10b2f6c4
Add pagination for replies (#1174)
* Implement pagination for get reply squeaks

* Got replies pagination working

* Remove log lines from requests js

* Update frontend build
2021-09-03 18:56:14 -07:00
Jonathan Zernik
fd9a75b417
Add pagination to get address squeaks rpc (#1173)
* Add pagination to get address squeaks rpc

* Implement frontend pagination for address squeaks page

* Got pagination working on address squeaks page

* Update frontend build

* Run frontend lint

* Update frontend build
2021-09-03 17:00:38 -07:00
Jonathan Zernik
13e7dd0226
Only show followed squeaks in timeline (#1171)
* Only show followed squeaks in timeline

* Add rpc method to subscribe timeline squeaks

* Use subscribe new timeline squeaks rpc method in frontend
2021-09-03 14:45:44 -07:00
Jonathan Zernik
408ec42340
Implement download squeaks rpc (#1168)
* Implement download squeaks rpc

* Handle replyto hash in download squeaks method
2021-09-03 10:45:00 -07:00
Jonathan Zernik
ae65ff9320
Add new squeaks available button to timeline (#1137)
* Add rpc method to subscribe to new squeaks

* Got floating action button showing for refresh

* Change spacing of refresh button

* Load new squeaks in timeline from rpc subscription

* Got refresh button correctly showing new squeaks from peer

* Got refresh button action working correctly

* Update frontend build
2021-08-31 23:40:26 -07:00
Jonathan Zernik
e2933784ac
Use only ancestors rpc for squeak page (#1118)
* Got squeak page working without get squeak entry rpc, no streaming yet

* Implement subscribe ancestors

* Got subscribe ancestors working in frontend with download squeak click

* Delete old comments

* Update frontend build

* Remove old log lines
2021-08-30 20:08:37 -07:00
Jonathan Zernik
c801060d35
Add subscribe address display squeaks (#1112)
* Implement rpc command for subscribe address squeak entires

* Got subscription working for address squeaks

* Implemented download squeaks for address rpc

* Fix handling new squeak items from subscription appending to state array

* Update frontend build
2021-08-30 02:43:44 -07:00
Jonathan Zernik
d589b0a4a7
Fix download replies (#1111)
* Fix add temporary interest when downloading replies

* Add subscribe replies rpc

* Got reply squeaks subscription working in frontend

* Update frontend build
2021-08-29 23:49:42 -07:00
Jonathan Zernik
a0d78844da
Download squeaks with custom params (#1108)
* Add rpc method for subscribe squeak entry

* Download squeak without reloading page using squeak entry subscription

* Fix stream termination of component unmount for subscribe squeak entry

* Update frontend build
2021-08-29 22:39:10 -07:00
Jonathan Zernik
97778d9cf2
Subscribe received offers (#1094)
* Add subscribe received offers rpc

* Change return type for subscribe received offers

* Load received offers in buy dialog without reloading page

* Remove download button from buy offer dialog

* Update frontend build
2021-08-28 04:48:57 -07:00
Jonathan Zernik
4c6391c586
Add peer state subscription (#1085)
* Add peer changed listener to peer class

* Add rpc for subscribe peer state

* Got basic connected peer subscription working

* Got basic connected peer subscription working

* Fix multiple yields in single peer subscription handler

* Got subscribe connect peer working pretty well

* Remove old comments from frontend peer address page

* Update frontend build

* Include last msg recv time in connected peer subscription

* Got num sent and received msgs and bytes in peer subscription

* Show peer connection details from subscription

* Update frontend build
2021-08-28 00:37:48 -07:00
Jonathan Zernik
620cdae96c
Add license headers (#1080)
* Add pre-commit hook for license headers

* Configure pre-commit hook for license headers only for python

* Add license headers to python files
2021-08-27 18:31:53 -07:00