Commit graph

2338 commits

Author SHA1 Message Date
8332e41989 Remove File API and limit audio recording file location 2023-11-01 00:29:15 +01:00
6dc9c1a3f2
Merge pull request #574 from overte-org/fix/script_reload2
Fix most of the crash causes on script engine reload/shutdown
2023-08-29 23:48:32 +02:00
1ab46f68e3 Fixed entity script reloads 2023-08-28 23:34:19 +02:00
13242611ea Fix jsDoc references to Vircadia platform/CDN 2023-08-25 13:58:45 -03:00
Dale Glass
1efd8d27b9 Put require() in the global scope 2023-08-21 01:08:37 +02:00
166f7223d1 Fix most of the crash causes on script engine reload/shutdown 2023-08-18 12:12:17 +02:00
db1680c1ca Change profiling output file extension to CSV 2023-08-12 16:48:05 +02:00
a84c68f4ff Add JS profiling API 2023-08-12 16:18:40 +02:00
790a55d093 Fixed interface scripts failing to shutdown and removed deprecated API signal 2023-07-20 00:15:00 +02:00
8dc776a73c Fix script error logging 2023-07-16 23:09:45 +02:00
326b00cc09 Fix wrong syntax for JSDoc comments.
For reference, this is an internal syntax defined in tools/jsdoc/plugins/hifi.js
2023-06-09 13:59:49 +02:00
Dale Glass
0f158977fe
Merge pull request #443 from shocktail39/fix/drop-qtscript-from-cmake
remove qtscript from cmake dependencies
2023-06-04 11:42:30 -07:00
da9b9f76af Hide QObject signals from script engine and switch off script memory reporting 2023-06-04 01:07:26 +02:00
8c9a88b2d9 Hide private methods from script engine 2023-06-04 00:29:14 +02:00
steve hocktail
e71f3c7990
remove qtscript from cmake dependencies 2023-06-03 15:44:53 -04:00
6192416dce V8 related cleanup 2023-05-27 22:06:57 +02:00
b3997bff54
Merge pull request #409 from JulianGro/aarch64_node
Add Linux aarch64 node package
2023-05-27 18:49:50 +02:00
db15ed2f13 Fixed contexts for V8 callbacks 2023-05-27 13:32:02 +02:00
b79d31fd6c Include QQueue in ScriptEngineV8.h 2023-05-22 20:41:54 +02:00
ab21945a54 Fixed crashes that happened when clearing cache 2023-05-22 00:15:54 +02:00
f72e8948b0 Fixed entity script whitelist and a bug in makeError 2023-05-19 00:17:41 +02:00
8de1331fa5 V8 related cleanup 2023-05-19 00:17:41 +02:00
fe9babf02d Scripting-related cleanup 2023-05-19 00:17:41 +02:00
ba0e705b5a Fixed Script.resolvePath issue in modules 2023-05-19 00:17:41 +02:00
4107f40c7c Fixed XMLHttpRequest crash 2023-05-19 00:17:41 +02:00
48a3368b69 Minor fixes and XMLHTTPRequest debugging 2023-05-19 00:17:41 +02:00
d74089d7d8 Fixed parabola pointers, code cleanup 2023-05-19 00:17:41 +02:00
f79ec0f293 Work on script engine exceptions, cleanup 2023-05-19 00:17:41 +02:00
833bffc285 Added makeError and script value prototype getter 2023-05-19 00:17:41 +02:00
Dale Glass
13e22d4931 Fix override warnings 2023-05-19 00:17:41 +02:00
3c80411bf1 V8-related cleanup 2023-05-19 00:17:41 +02:00
30f4608c25 Removed script engine lambda 2023-05-19 00:17:41 +02:00
5050cc9a4e Code cleanup 2023-05-19 00:17:41 +02:00
a7229e9249 Scripting API cleanup and type conversion fixes 2023-05-19 00:17:41 +02:00
782c84b873 V8 memory leak fix and optimizations 2023-05-19 00:17:41 +02:00
eabc727bb7 V8 optimizations 2023-05-19 00:17:41 +02:00
a57c7a5e5b V8 heap object statistics 2023-05-19 00:17:41 +02:00
6466d39c05 V8 memory leak fixes 2023-05-19 00:17:41 +02:00
cd11066aa5 Added script value and script value proxy counters 2023-05-19 00:17:41 +02:00
42704ea4bc Work on fixing V8 memory leaks, memory leak test 2023-05-19 00:17:40 +02:00
56c3bad002 V8 memory usage statistics 2023-05-19 00:17:40 +02:00
fdd8cb290c Optimized getEntityProperties 2023-05-19 00:17:40 +02:00
c18fd9092e Fixed assert on ScriptValueV8Wrapper::construct 2023-05-19 00:17:40 +02:00
8b9cd84df7 vec3ToScriptValue optimizations 2023-05-19 00:17:40 +02:00
43939290b2 Revert "vec3FromScriptValue replacement attempt"
This reverts commit 584e4be008.
2023-05-19 00:17:40 +02:00
dba0925a1c vec3FromScriptValue replacement attempt 2023-05-19 00:17:40 +02:00
ec3e87da5c Added ScriptValue::getPropertyNames 2023-05-19 00:17:40 +02:00
e114d86871 Optimization of conversion of vec3 to/from script value 2023-05-19 00:17:40 +02:00
4062d80445 Added hash maps for faster property search on V8 callbacks 2023-05-19 00:17:40 +02:00
2a2cf3898b Work on porting laser pointers to local entities, removal of LaserPointer JS API 2023-05-19 00:17:40 +02:00
589ca2a399 Converted overlay getProperty calls to Entities.getEntityProperties 2023-05-19 00:17:40 +02:00
6c1fd88fb1 Fixed crash with asset scripting crash 2023-05-19 00:17:40 +02:00
e14ae4a96a Partial fix for asset scripting crash 2023-05-19 00:17:40 +02:00
e75c671a70 Fixed crash with Cameras app 2023-05-19 00:17:39 +02:00
b52fe9a7d5 Fixed crash on starting in VR mode with V8 2023-05-19 00:17:39 +02:00
819ebc9e49 Fixed events on V8 2023-05-19 00:17:39 +02:00
f241ede316 Initial fixes for building on Windows 2023-05-19 00:17:39 +02:00
Dale Glass
4d8a20aed7 Use logging categories everywhere in the base scripting engine code 2023-05-19 00:17:39 +02:00
Dale Glass
0fc2ab870a Add V8 logging category
Rename logging category to overte
Make all V8 code use logging categories
2023-05-19 00:17:39 +02:00
41760ee3ac Changed variable in ScriptObjectV8Proxy because it has to be stored as aligned pointer 2023-05-19 00:17:39 +02:00
Dale Glass
6ac2596293 Capture exceptions that happen in signals in ScriptEngine, add test 2023-05-19 00:17:39 +02:00
Dale Glass
acd19f7c40 Review fix: add flag to choose whether to abort script on exception 2023-05-19 00:17:39 +02:00
Dale Glass
aec756b0b9 Register metatypes, fixes warnings
Remove executeOnScriptThread from Script JS API -- seems unused, is marked deprecated, and for some reason
registration didn't resolve the warnings.
2023-05-19 00:17:39 +02:00
Dale Glass
8f82750f2a Initial implementation of raiseException and test 2023-05-19 00:17:39 +02:00
Dale Glass
cd02b22bd7 Don't crash in uncaughtException() if there isn't an exception 2023-05-19 00:17:39 +02:00
Dale Glass
cb0c62024d Throw the right exception class, and add the thrown value to it 2023-05-19 00:17:39 +02:00
Dale Glass
bb74c2ecc9 Allow accessing engine exceptions from ScriptManager 2023-05-19 00:17:39 +02:00
Dale Glass
de02da5fda Register more metatypes -- more work needed 2023-05-19 00:17:39 +02:00
Dale Glass
b1e2a94d71 Deduplicate QDebug output 2023-05-19 00:17:39 +02:00
Dale Glass
8d6270392d Make ScriptEngine a QObject instead of the derived class
Fix signal -- only needs to be in ScriptEngine
2023-05-19 00:17:39 +02:00
Dale Glass
67e7a7375a Further exception work on V8
* Get rid of maybeEmitUncaughtException
* Mostly get rid of makeError
* Introduce exception hierarchy, change exceptions to shared_ptr
* Simplify exception throwing code
2023-05-19 00:17:39 +02:00
Dale Glass
c0e62c5cc2 Initial exception handling
Make exception handling use the new ScriptException class.
Add exception signal
Throw exceptions in script evaluation
Remove references to ScriptManager from ScriptEngine
2023-05-19 00:17:39 +02:00
2bcd1106d1 Fixed ScriptObjectV8Proxy access after delete 2023-05-19 00:17:39 +02:00
27554da415 Addeed V8 getters/setters to ScriptVariantV8Proxy, fixed animation scripting 2023-05-19 00:17:39 +02:00
4e91765a3f Reverted change that broke AnimationObjec scripting interface 2023-05-19 00:17:38 +02:00
cae1e1195d V8 QObject pointer handling changes 2023-05-19 00:17:38 +02:00
5e5003ff03 Fixed crash on standing up from sit script 2023-05-19 00:17:38 +02:00
8e718262bd Fixed object containing UniquePersistent 2023-05-19 00:17:38 +02:00
acc658ee80 Fixed deadlock in Create App 2023-05-19 00:17:38 +02:00
ae7d229d0e Fix copyright headers 2023-05-19 00:17:38 +02:00
Dale Glass
02a0e33e95 Add NETWORKLESS_TEST_SCRIPT type to NetworkManager.
This is a slightly hacky way to make ScriptManager work without any
networking, and minimize the number of dependencies needed to run
a test.
2023-05-19 00:17:38 +02:00
12f239b18c Fix V8 memory leak and persistend handle problems 2023-05-19 00:17:38 +02:00
Dale Glass
84fd17cb66 Review fixes 2023-05-19 00:17:38 +02:00
Dale Glass
0f46fb9b4d Add a ScriptManagerScriptingInterface.cpp, will be useful later. 2023-05-19 00:17:38 +02:00
Dale Glass
a13723990e More Doxygen for ScriptEngine 2023-05-19 00:17:38 +02:00
Dale Glass
36cba56325 A bit more documentation 2023-05-19 00:17:38 +02:00
Dale Glass
4d70155e59 Create ScriptManagerScriptingInterface to move off the scripting API into its own class
Add a lot of documentation
2023-05-19 00:17:38 +02:00
Dale Glass
e35aa8046d Add more Doxygen docs
Doesn't work right in ScriptManager, looks like a conflict with JSDoc
2023-05-19 00:17:38 +02:00
887ebd5365 Removed deadlock in signal proxy disconnect again 2023-05-19 00:17:38 +02:00
d25e5491eb Fixed V8 crash with Create App 2023-05-19 00:17:38 +02:00
b554fc70ea Added script timers performance debugging 2023-05-19 00:17:38 +02:00
faf9b75487 Added signal time and call count debugging 2023-05-19 00:17:38 +02:00
1ad1aee11f Minor scripting-related fixes 2023-05-19 00:17:38 +02:00
5cf32a968c V8 fixes 2023-05-19 00:17:37 +02:00
f65e72c8f2 Listing objects and their properties on API debugger now works 2023-05-19 00:17:37 +02:00
37cc62d082 Fix problem with sit script 2023-05-19 00:17:37 +02:00
5809576577 Fixed Create App 2023-05-19 00:17:37 +02:00
c3417b807c Increased thread safety in V8 2023-05-19 00:17:37 +02:00
57a2dccc6a V8 bugfixes 2023-05-19 00:17:37 +02:00
89f29ce5ca Safer demarshal functions with no void pointers 2023-05-19 00:17:37 +02:00