Commit Graph

139 Commits

Author SHA1 Message Date
10bfa65a4e Fixed apps not working most of the time. Ultimately, storing a pointer to the database using JS_NewInt64 was lossy and a bad idea. Also, remove use of JNI since we're only starting tildefriends as its own process now.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4215 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-03-11 13:57:17 +00:00
12a8b7a058 Fix other platforms.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4212 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-03-10 02:06:23 +00:00
400f07660f Whoa. Apps are running on android. Switched to a static build of OpenSSL 1.1.1t for simplicity.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4211 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-03-10 02:02:24 +00:00
2c1a43df2e Implement enough of the File JS API to serve some web pages.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4208 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-03-09 01:03:35 +00:00
63dcab30c3 Now we can run scripts from a .zip.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4206 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-03-08 23:59:11 +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
86bc46a11e Track memory allocations with a linked list. This is only about 3x slower than without tracking instead of 5x and growing.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4192 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-19 22:28:36 +00:00
a9551b057b Trace more things. Add a CORS header for /mem so I can make an app to examine it. Fix a memory leak. Fix tf_realloc(NULL, 0).
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4187 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-18 23:43:00 +00:00
88c7d91858 Brute force memory tracking.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4186 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-18 21:00:39 +00:00
53cb80ebf7 Replace the sqlite allocator, and use our own tracking for stats. Want to use this to collect callstacks for all allocations.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4185 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-18 19:14:06 +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
7f334ad783 Fine, only malloc_trim if it looks like we have it.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4168 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-03 14:20:26 +00:00
b2fbe9dfac Stale doc file. Fix hashtag links. Trace some GC stuff and try malloc_trim, whynot.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4166 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-03 14:01:05 +00:00
e0dcec074c Add process name to trace.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4160 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-02-01 23:20:16 +00:00
ab75ec07f8 Added some storage+debugging to track what happens before we disconnect. Maybe I'll learn something.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4146 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-01-22 20:37:19 +00:00
85a2bc3f0f Add a stat for blobs stored.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4133 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-01-18 22:52:54 +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
6ff33191bb Try to make the tests not mingle with other instances.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4109 ed5197a5-7fde-0310-b194-c3ffbd925b24
2023-01-08 13:48:28 +00:00
d9aee6d05f Compile for android. Probably needs a bunch of work to run, but it's a step in a direction.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4087 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-12-29 21:58:54 +00:00
0d23294d42 Remove promiseTest.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4033 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-11-12 02:32:20 +00:00
f53ce584e3 No more secrets in ~/.config, and speed up some tests.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4002 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-10-14 12:27:34 +00:00
5b3ae3f006 Attempt to clean up promises owned by subtasks that have gone away.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3990 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-09-27 23:01:59 +00:00
775f00c69c Build fixes.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3987 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-09-24 21:10:23 +00:00
eadda41518 Use libbacktrace to generate better leak callstacks.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3986 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-09-24 20:54:54 +00:00
8279ec5e9e Debug features for leaked promises. And then chased down some subsequent use after free issues.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3985 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-09-22 00:38:26 +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
7c29c1e18e Fix some of the error handling.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3969 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-09-04 01:25:16 +00:00
f787eb077b An experiment in requesting permissions and some related fixes.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3937 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-07-27 00:27:10 +00:00
41afc3bdd6 Ugg, my print() was destructive to its arguments.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3933 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-07-24 21:05:23 +00:00
1efc0fd73b Another linked list bites the dust.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3928 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-07-12 01:51:15 +00:00
aee99af953 Track request counts?
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3927 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-07-09 22:00:33 +00:00
a154b1c2f6 Fix the windows build.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3926 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-07-09 20:46:24 +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
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
c9e01f220d Track our own quickjs memory usage so that we can avoid expensive calls to JS_ComputeMemoryUsage.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3915 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-06-20 17:57:07 +00:00
b42b5d11fa Remove require. There is only import+export.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3905 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-06-18 17:50:22 +00:00
2d8a956c14 require -> import
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3904 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-06-18 17:39:08 +00:00
e1ca715c64 Add some helpers for resizing dynamic arrays to allow them to both not grow if they're at capacity or shrink if significantly below capacity.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3902 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-06-17 21:18:10 +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
7b53c95832 Track OpenSSL memory usage.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3890 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-06-04 15:59:58 +00:00
2992b7e955 Attempting to learn about a slow memory leak.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3887 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-06-04 03:01:12 +00:00
5622db92a7 Trying to fix socket lifetime issues.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3886 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-06-02 10:58:22 +00:00
e5160b9d2c Remove stray "imports" cruft?
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3878 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-05-25 22:45:24 +00:00
7848b5e560 Merge in mingw changes.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3873 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-05-16 22:30:14 +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
00bdf1df4a Use proper js modules for apps. Kludge enough things to make things seem to work. Need to apply this to core still.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3862 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-03-18 01:24:29 +00:00
7e9460f47c Fix one possible but not actually relevant leak around files, and remove an unused value from promises.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3857 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-03-07 21:57:52 +00:00
1bfa18b8d7 Minor cleanup.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3847 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-26 21:25:40 +00:00
f4b46cc3a0 Blocking and some random attempts to make things faster.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3843 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-21 02:28:53 +00:00
a4a0745385 Send prints to the browser console. Obvious in retrospect.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3840 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-13 22:39:22 +00:00
6b20d69976 Tweaking memory stats and trying to figure out why startup got so much slower.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3828 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-06 03:28:29 +00:00
e59eb66c1d sqlite memory usage, too.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3824 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-05 23:57:15 +00:00
1aa4b0e590 Hook up some stats from the SSB side.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3822 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-05 20:18:58 +00:00
ef9e42e030 malloc and leak fix.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3821 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-05 19:58:22 +00:00
059024452c Add some CPU and memory info to stats.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3820 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-05 17:52:37 +00:00
39a1acaf38 Unused function.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3819 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-02-05 17:08:38 +00:00
bd81b2acf5 More bugs.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3785 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-22 20:47:10 +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
0f03701043 Fixed loads of memory leaks and related issues.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3782 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-22 18:50:29 +00:00
98de9b037a An attempt at making some live graphs of relevant stats. Needs more thought.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3780 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-21 02:53:15 +00:00
1734c88627 Try to fix some connection issues. Urge to rewrite rising.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3778 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-20 04:01:45 +00:00
1515525a1b Move data/global/settings.json into the database. Improved some error plumbing along the way.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3775 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-18 02:50:46 +00:00
0b5017b208 Import stock apps into /~core/ at launch. Makes the first time experience vaguely work with only running and clicking in the web interface.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3774 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-17 22:00:42 +00:00
e9e1a3e80d Trace libuv's idle time metric.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3772 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-17 01:29:35 +00:00
1ddaa7deb0 Fix a use after free.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3771 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-16 23:44:10 +00:00
019ab99ecc Trying to better understand import/export leaks. Possibly cleaned up after tasks better, but mostly just tweaked counters.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3762 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-15 17:40:24 +00:00
0bcc7d8c59 Always fetch the promise JSValue and ID when we allocate one. Make it impossible that we've freed it before we return it. Hopefully fixes leaks. Definitely not worse for performance.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3758 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-14 03:05:37 +00:00
873019f054 Binary search exports, too. Is that all the things? This could still be improved, some. And tested.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3750 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-10 01:50:58 +00:00
26150f98e1 Binary search import records.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3742 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-08 21:56:57 +00:00
24cf18651a Fixed some error reporting.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3733 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-03 02:25:11 +00:00
23b15a8dc5 Child processes send trace information back to the parent. Also fixed weird double-activation of children.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3729 ed5197a5-7fde-0310-b194-c3ffbd925b24
2022-01-02 18:17:58 +00:00
12ab2f4b85 Don't let promise IDs be zero.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3713 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-28 19:47:32 +00:00
263a59f6c5 Binary search promises.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3711 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-28 17:44:48 +00:00
05b55c849a Make setTimeout callable from ssb.js by moving it into util.js.c.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3705 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-27 20:49:07 +00:00
9faa4c9ca6 More minor output changes.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3697 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-21 22:43:41 +00:00
84a3d7348d Add a way to set arbitrary data accessible by all tasks. Use it to allow autologin for testing multiple instances more easily.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3689 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-12-01 23:29:53 +00:00
9e1bab03eb Made it easier to run multiple instances.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3687 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-11-14 22:55:21 +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
77ec1a0b2e Don't start the broadcast listener if we're not starting an SSB server.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3674 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-10-28 00:20:17 +00:00
08e32c0de4 Minor cleanups.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3672 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-10-24 19:23:21 +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
843c53e15e I just decided. Braces on their own lines.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3668 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-10-10 21:51:38 +00:00
470814f147 Made File.readFile async.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3667 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-10-06 01:25:33 +00:00
e85168ac53 Fixed some memory leaks. Memory leak-related paranoia. Minor cleanups.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3659 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-09-06 20:54:44 +00:00
dd90fe4fbf Starting to move the tests to C.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3652 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-08-19 19:29:37 +00:00
7012418b13 Support requiring adjacent files from the same app.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3636 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-01-11 02:09:19 +00:00
79022e1e1f Merge branches/quickjs to trunk. This is the way.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3621 ed5197a5-7fde-0310-b194-c3ffbd925b24
2021-01-02 18:10:00 +00:00