Commit Graph

133 Commits

Author SHA1 Message Date
dcea08f73b Enforce a timeout on user SQL queries.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4430 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-08-25 20:23:40 +00:00
b252b921f8 Call out restricted DB access when we acquire the reader.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4429 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-08-25 19:41:54 +00:00
e223d35252 Make the connections tab know more about tunnels and such.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4426 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-08-25 18:22:09 +00:00
f1b55ddd64 Attempt to track requests better. New requests need to be flagged as such. Still trying to chase tunnel instability.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4412 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-08-20 19:55:59 +00:00
faca2d387b Calculate thread busyness as the current concurrent running threads vs. the max number of threads ever seen running concurrently.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4404 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-08-17 00:01:59 +00:00
f7d201859a Use the sqlite authorizer for async requests, too.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4401 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-08-16 22:43:08 +00:00
b6dffa8e66 Actually return the blob ID from store.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4361 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-07-22 01:33:28 +00:00
315d650d27 Same bug twice.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4360 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-07-22 01:33:06 +00:00
07c121044a Fix a crash uploading blobs.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4359 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-07-22 01:24:58 +00:00
c371fc2a8e Fixed multiple trace problems.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4357 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-07-20 05:06:15 +00:00
6889e11fd1 Minor cleanup. Missing traces.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4356 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-07-20 02:20:38 +00:00
fb73fd0afc Make storing messages async. Phew.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4355 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-07-20 01:02:50 +00:00
b0cd58f5aa Make blob store actually not block the main thread.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4352 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-07-18 23:46:15 +00:00
7fe8f66fd3 Yikes. I broke appending?
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4351 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-07-18 00:59:25 +00:00
18128303b6 Appending a message produces the ID. And bump the version.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4344 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-07-13 00:20:12 +00:00
7d562ce85c Allow the DB writer to be used from a worker thread. Not well tested, just still trying to charge forward on moving all blocking work off the main thread.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4325 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-06-15 00:27:49 +00:00
790f6643a4 Mostly fumbling with error handling.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4317 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-05-27 16:51:56 +00:00
2158ad3c0b sqlStream => sqlAsync
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4316 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-05-24 00:10:05 +00:00
f421606e21 libuv 1.45.0, #include cleanup, probably something else.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4308 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-05-21 21:36:51 +00:00
ed4faedcd7 Report some information when importing messages and discover an old verification bug.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4293 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-05-11 00:22:42 +00:00
8727fe00af Return something from ssb.storeMessage.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4288 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-05-10 01:45:37 +00:00
e6d44b32f4 Seems we no longer need _tf_ssb_followingDeep.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4255 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-04-12 23:06:56 +00:00
ebef51b4ea Continue trying to make the android build smaller.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4240 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-03-20 00:29:46 +00:00
50e48af7c4 Add all the files I think I need to the .apk, and add zlib, so I can attempt to access them using minizip.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4205 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-03-08 17:46:19 +00:00
61ff466908 Replace all printfs with tf_printf, which redirects to android logging. Change into the files directory so that sqlite can do its thing. Getting closer.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4203 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-03-07 17:50:17 +00:00
262b0e5e52 Attempt to track CPU usage of libuv worker threads.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4198 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-03-01 01:36:26 +00:00
1e3807bcb9 Exposed functions to encrypt and decrypt private messages.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4197 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-26 19:51:54 +00:00
a6a6fe75ec Aha, one more leak in sqlAsync.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4191 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-19 13:51:06 +00:00
8e1461b3f1 Catch more sqlite errors.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4182 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-17 02:04:48 +00:00
8a2d3d4669 Pass around SQL errors slightly better.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4180 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-16 00:06:45 +00:00
1741403206 More memory leaks.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4179 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-15 02:59:46 +00:00
980db880cc Memory leak.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4178 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-15 02:56:01 +00:00
1f77df7a90 Remove dependency on base64c. Use libsodium's. Also consolidate the calls, as the usage is quite special.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4175 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-14 03:15:24 +00:00
fa87462405 Finish writing this code. Yep.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4174 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-14 02:13:08 +00:00
a5f9f927e6 Fix some memory leaks I just introduced.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4173 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-08 01:50:47 +00:00
b35d74ce36 Allow running read-only sqlite queries from libuv worker threads. Needs so much more testing.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4172 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-08 01:29:44 +00:00
0f11f497ed Expose stored connections to script, and only store connections that were explicitly requested.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4131 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-01-18 00:37:45 +00:00
ce0b4de5a1 Fix one lingering call to ssb.connectionSendJson.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4129 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-01-17 23:10:17 +00:00
3269c7ca45 Use tf_ssb_connection_rpc_send_json everywhere I can. Less code, and fixes some leaks.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4122 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-01-14 19:32:36 +00:00
69253432b8 ssb.js is now entirely in C. Usual disclaimers about it not being amazingly well tested.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4111 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-01-08 20:01:35 +00:00
3506d9dec1 Rooms JS => C.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4107 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-01-08 00:25:38 +00:00
120ed36552 Continuing to chip away at moving ssb.js to C. This time, following.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4096 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-12-31 21:44:48 +00:00
a9f6593979 Add replication to what -t bench measures. Add a bool to control printing RPC messages. Respond to ebt.replicate with messages that weren't requested.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4095 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-12-31 18:59:29 +00:00
8115881c08 Oops. ssb.createTunnel is necessary.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4067 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-12-01 01:19:35 +00:00
7ff09ed005 Get rid of the JS bits of tunnels.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4056 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-11-27 03:12:24 +00:00
046bf7e2a9 Fixing various badness as I still can't get rooms to work.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4038 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-11-13 22:02:54 +00:00
1e84b74ced Can actually attempt to connect to a room from the web interface, now. No actual success yet.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4036 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-11-13 03:24:30 +00:00
e49b54207a Show potential room connections differently.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4027 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-11-09 03:51:31 +00:00
06529fddfb Trying to make connections more robust.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4020 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-11-09 01:31:18 +00:00
3a5ae4c228 Attempt to clean up requests for tunnel connections that are going away.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4018 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-11-07 02:57:29 +00:00
b12f8f9da8 First go at implementing rooms. A test passes that appears to exercise them.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4017 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-11-02 23:34:44 +00:00
1dec53821e Fixing some stock experience issues.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3999 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-10-12 12:27:32 +00:00
113a82b382 Make auth use JWTs.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3991 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-09-28 23:52:44 +00:00
56db6a8e4d Fix exciting new gcc 11 compiler warnings.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3973 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-09-10 01:42:15 +00:00
6628a5c420 What's the point of creating an identity if you don't return it?
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3948 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-08-03 23:52:13 +00:00
24530e1158 First glimpse of multiple SSB identities per Tilde Friends user.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3941 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-07-31 19:01:08 +00:00
f764007fc6 Tiny steps toward getting away from one global identity.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3932 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-07-14 01:01:14 +00:00
7f350a3d87 Add a helper for getting array length: tf_util_get_length.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3925 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-07-09 15:13:35 +00:00
fb3ad0d95d Slight cleanup.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3921 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-07-09 14:23:58 +00:00
ff2a0f0c3f All the leaks.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3919 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-06-26 18:25:31 +00:00
9c90b2bc1d Use a custom allocator for everything.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3892 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-06-04 17:04:51 +00:00
939e13c3c8 Fix release tests.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3876 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-05-21 01:38:13 +00:00
804359d12e Made sure that SQL errors make it to the client.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3867 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-04-18 00:24:00 +00:00
483638a7e6 I guess we support sub-millisecond timestamps. Who knew?
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3835 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-12 01:44:11 +00:00
d4135f7133 Message IDs are apparently generated from the latin1 encoding of a message. Added a command to check/fix that.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3833 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-10 03:58:33 +00:00
cd51edcd8f I think this fixes the questionable archaic sequence / author order issue.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3813 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-03 02:00:05 +00:00
b2a552b3e0 Needs more work, but several experiments that make things more responsive under load.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3783 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-22 20:13:14 +00:00
5e205ac897 Fix some errors I've seen responding to blobs.get. Especially: handle sending large blobs.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3715 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-28 21:48:03 +00:00
c590eb3a44 Whoops. Compile fixes.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3707 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-27 22:00:37 +00:00
2e1b0089ae Clean up failed callbacks.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3706 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-27 21:48:16 +00:00
3cddc524d1 Some ebt.replicate success.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3703 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-27 19:52:42 +00:00
c616a16993 Still not syncing with the other clients I want but fighting to try to get it.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3701 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-22 19:57:34 +00:00
1dd3b3c9aa More logging reduction and a trace fix.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3692 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-21 18:09:15 +00:00
8075bdfe99 Avoid a message storm, and reduce log spam a bit.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3691 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-20 17:00:25 +00:00
b15cf901ad Fix some things that GCC 10 doesn't like on raspi.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3690 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-17 23:58:59 +00:00
00c1ec660e Add some tests for message callbacks, and fix all the things.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3688 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-11-17 23:47:55 +00:00
63c344112d Add a callback for when messages are added to the database. Abuse it to forward messages semi-live.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3686 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-11-11 00:05:07 +00:00
18c90214a8 Trying to normalize event handling somewhat. More to go before it's simple.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3685 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-11-07 22:28:58 +00:00
2fb7fceb0c Consolidate error handling until util, too.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3682 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-11-03 22:28:25 +00:00
fde7fb4270 Create a util.js.{h,c} from some common things.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3681 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-11-03 22:15:46 +00:00
03a2367532 Fixed lots of things about storing blobs.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3680 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-10-31 21:15:18 +00:00
08cd0ec878 Continuing to try to get this thing talking to other clients.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3679 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-10-31 19:39:16 +00:00
f4f6bb8333 Move all JS interface things into .js.c files with _register() functions.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3671 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-10-24 15:46:30 +00:00