Commit graph

679 commits

Author SHA1 Message Date
Liv
3340211455 Cleanup and better error handling 2017-05-23 13:54:38 -07:00
Liv
e9fac38bbb Add function hasValidScriptSuffix and check if script extensions are JavaScript or JSON files 2017-05-23 13:08:50 -07:00
Ryan Huffman
3c9205d0b2 Remove invalid comment and unnecessary check from ScriptEngine
This removes an invalid comment - waitTillDoneRunning is not only called
from the main thread - and remove a check to make sure thread() is not
null because it should no longer be deleted before ScriptEngine.
2017-05-22 15:46:43 -07:00
Ryan Huffman
09c98b3ac3 Fix ScriptEngine thread being deleted too early
The thread appeared to be deleted before waitTillDoneRunning was
finished. This is a speculative fix. This ensures that the QThread isn't
deleted until after the ScriptEngine is deleted.
2017-05-22 15:31:11 -07:00
humbletim
e765d8858c update script engine to not treat about:* as a local filename; resolve debugPrint FIXME 2017-05-04 16:57:41 -04:00
Ryan Huffman
ac0a738945 Merge pull request #10261 from Atlante45/feat/progressive-load-ktx
Add progressive load for KTX textures
2017-04-26 18:36:01 -07:00
Ryan Huffman
105d17e85e Add byte range support to HTTPResourceRequest 2017-04-26 10:45:14 -07:00
David Rowe
4a5f84f4b9 Merge branch 'master' into 21249
# Conflicts:
#	libraries/audio-client/src/AudioClient.cpp
2017-04-26 13:24:18 +12:00
David Rowe
4c30c0d722 Make UserActivityLogger available to AC scripts 2017-04-25 13:42:12 +12:00
Dante Ruiz
1ec4081a99 crash fix 2017-04-20 21:38:20 +01:00
Stephen Birarda
84a5807ff1 return ScriptAvatarData raw pointer from getAvatar 2017-04-10 22:15:45 -07:00
Stephen Birarda
42a406e90a add ScriptAvatar for std::shared_ptr<Avatar> passing to scripts 2017-04-10 22:15:45 -07:00
Zach Fox
1984d5bc0c Cleanup 2017-04-10 22:15:44 -07:00
Zach Fox
5edd5d2b30 It's working...it's workinggit add -A! 2017-04-10 22:15:44 -07:00
Zach Fox
a16e261735 Checkpoint before a number of confusing changes 2017-04-10 22:15:44 -07:00
Stephen Birarda
4ed22ad7ac move audio loudness to AvatarData, change AvatarData to ScriptOwnership 2017-04-10 22:15:44 -07:00
Anthony J. Thibault
8ff457a1b6 Fix broken eventBridge on tablet after Reload All Scripts.
The main issue here was the "webEventReceived" connection between the OffscreenQMLSurface and the TabletProxy object.
For whatever reason, if this is not a direct Signal to Slot connection, the webEventReceived event does not propagate.
2017-04-03 16:03:55 -07:00
Stephen Birarda
c63a2c9cda remove requirement of ScriptEngine in ScriptEngines slots 2017-03-20 13:40:15 -07:00
Stephen Birarda
a4d72c4e67 make AudioScriptingInterface a Dependency 2017-03-20 13:40:15 -07:00
Chris Collins
308c134119 Merge pull request #9686 from humbletim/21114-part3
CR 21114 -- Implement modules/require support into hifi
2017-03-20 06:22:35 -07:00
Brad Hefta-Gaub
a75acd139b Merge pull request #9885 from sethalves/model-scripting
Model scripting
2017-03-17 13:13:17 -07:00
humbletim
87d62ad1eb Merge branch 'master' into 21114-part3 2017-03-16 16:39:37 -04:00
Stephen Birarda
a69cf76d06 Merge pull request #9879 from birarda/bug/no-unload
make sure deleted entities are unloaded first
2017-03-16 13:29:36 -07:00
humbletim
758c07c7d4 Merge branch 'master' into 21114-part3 2017-03-16 14:29:17 -04:00
humbletim
52a571558c * changes per CR feedback
* revert JSON content-type workaround
* add specific error check / advice for unanchored module ids
* update unit tests
2017-03-16 01:23:23 -04:00
Seth Alves
693aee0628 Merge branch 'master' of github.com:highfidelity/hifi into model-scripting 2017-03-15 16:54:40 -07:00
Stephen Birarda
0c657a1d55 add parameter to unload to remove entityID from map 2017-03-15 10:57:12 -07:00
Seth Alves
e8a9ff867d merge from upstream 2017-03-13 17:57:01 -07:00
humbletim
075574b428 log cleanup per CR; add more specific hints (instead of relying on __FUNCTION__) 2017-03-13 16:33:42 -04:00
Atlante45
b67b17d3c0 Fix JS exception messages formatting 2017-03-13 09:11:20 -08:00
humbletim
8582c7af7b Use specific debug name literal instead of __FUNCTION__ from within lambda 2017-03-07 16:41:20 -05:00
humbletim
d93047f9e2 Switch to READONLY_PROP_FLAGS for require.cache/require.resolve properties 2017-03-07 16:41:19 -05:00
humbletim
40ba8185a0 * Update per 21114-part2 changes.
* Add explicit thread safety guards.
* Add Entities.queryPropertyMetdata for unit testing Entity script module support.
* Cleanup / commenting pass.
2017-03-07 16:36:07 -05:00
humbletim
e91de1775e use a fully-qualified initializer when constructing BatchLoader 2017-03-07 16:34:24 -05:00
humbletim
32e450e6c2 * rework _requireResolve error throws (to avoid using lambda w/default args -- which vc++ didn't care for)
* add ExceptionEmitters to require/resolve so errors get logged even if invoked indpendently from a script
2017-03-07 16:34:24 -05:00
humbletim
efc61c25ad * use explicit int's for moduleId constants
* maxTestConstructorValueSize was already limiting debug output size -- adopt its strategy, use shared MAX_DEBUG_VALUE_LENGTH const
2017-03-07 16:34:24 -05:00
humbletim
9d860a8e81 merge require/module changes into clean branch 2017-03-07 16:34:24 -05:00
Ryan Huffman
a744e0d11c Merge pull request #9685 from humbletim/21114-part2
CR-2 21114 -- BaseScriptEngine.cpp, order-of-operations fixes, reworked JS Exceptions
2017-03-07 13:25:25 -08:00
Anthony J. Thibault
01abb4bdb6 Exposed DebugDraw interface to Java Script 2017-03-01 13:14:29 -08:00
humbletim
2505a89b5e Per CR feedback bump to strong ref 2017-02-28 00:41:35 -05:00
humbletim
654c72fb7e Add weakRef guard to detect ScriptEngine deletion during ScriptCache::getScriptContents 2017-02-27 22:58:59 -05:00
humbletim
5b11c0e00a remove unused consts 2017-02-24 20:45:12 -05:00
humbletim
731c01985b switch from autos 2017-02-24 19:21:17 -05:00
humbletim
cdbb13ecff Log cleanup 2017-02-24 17:40:06 -05:00
humbletim
3ac116545e * Switch trigger for deferred loads from timer to using leading entity completion
* Bring back notion of tracking "bad scripts" to fail stampeding entities as a set
* Update stampede JS tests to highlight/troubleshoot preexisting unload issue
2017-02-24 16:05:11 -05:00
humbletim
c89d203f94 Adapt from std::map locks to simple QHash for flagging busy scriptURLs 2017-02-24 12:27:33 -05:00
humbletim
3ad3fd472e * Inline / duplicate exception checking per CR feedback
* Coding standards
2017-02-23 19:46:28 -05:00
humbletim
1eeb25a9eb Increase deferred batch processing. 2017-02-23 19:09:27 -05:00
humbletim
f82a0196a8 Always consume exceptions thrown by include's 2017-02-23 18:12:12 -05:00
kunalgosar
99e51e88ae Add QMetaObject for AvatarEntityMap 2017-02-23 10:57:06 -08:00
humbletim
132a889f74 * Add Qt::DirectConnection to signalHandlerException
* CR feedback / coding standards
2017-02-22 20:36:49 -05:00
humbletim
417587dcda * Update per CR feedback / code standards
* Cull log spam
* Add tryLock to deferred processor to preempt unnecessary loadEntityContent round-trips
2017-02-22 15:22:56 -05:00
humbletim
b15956278c separate out supporting changes into 21114-part2 branch 2017-02-16 07:40:19 -05:00
humbletim
9b0bee92d1 add executeOnScriptThread 2017-02-11 06:21:11 -05:00
humbletim
0f7652e173 * integrate with latest master
* consolidate emit entityScriptDetailsUpdated calls
* limit maxRetries to 1 when isEntityServerScript()
2017-02-11 06:00:31 -05:00
humbletim
831bf93500 * refactor ScriptCache per FIXMEs
* include error details in BatchLoader results
* update EntityServerScript properties in edtior to reflect more granular statuses
* ScriptEngine plumbing in prep for require/module integration
2017-02-11 04:47:31 -05:00
Brad Hefta-Gaub
74f10a1e7f Merge pull request #9603 from huffman/feat/trace-thread-script
Add thread names and scripts to chrome traces
2017-02-09 13:00:05 -08:00
Ryan Huffman
f75eceda65 Add entity PPS per script configuration 2017-02-08 13:11:18 -08:00
Ryan Huffman
55df6f8f76 Add tracing to ScriptEngine and EntitiesScriptingInterface 2017-02-03 09:45:33 -08:00
Ryan Huffman
f2638637f7 Add thread names to traces 2017-02-03 09:18:58 -08:00
Seth Alves
91e542a7a7 ModelScriptingInterface::meshToOBJ takes a list of MeshProxys instead of just one 2017-01-31 21:26:49 -08:00
Seth Alves
541692c5ca start on scripting interface to allow saving polyvox meshes to obj files 2017-01-28 15:38:18 -08:00
Seth Alves
c317ba8054 merge from upstream 2017-01-25 15:57:53 -08:00
Ryan Huffman
9b1cd52fb4 Add the ability to get the context that a script is running in 2017-01-23 08:58:01 -08:00
Clément Brisset
6da188b6ae Merge pull request #33 from huffman/feat/entity-server-script-property
Fix compilation error and move MessageID to CilentServerUtils
2017-01-20 17:37:01 -08:00
Ryan Huffman
be9b19e534 Fix default param ref failing on non-MSVC builds 2017-01-20 16:43:35 -08:00
Clément Brisset
95f07f3917 Merge pull request #32 from huffman/feat/entity-server-script-property
PR FIxes
2017-01-20 15:39:22 -08:00
Ryan Huffman
888d7ab03d Add exception information to script status 2017-01-20 15:33:48 -08:00
Stephen Birarda
25bd6fa2c1 move recording interface to Agent/Application only 2017-01-20 10:27:08 -08:00
Ryan Huffman
c252d80782 Fix EntityScriptDetails having incorrect scriptText 2017-01-19 14:41:56 -08:00
Ryan Huffman
cbb55a06a0 Update ScriptEngine to store full running status off entity scripts 2017-01-19 13:27:44 -08:00
Seth Alves
bacc796730 Merge branch 'master' of github.com:highfidelity/hifi into update-tablet-ui-again 2017-01-11 09:54:26 -08:00
Ryan Huffman
39070fe0d1 Merge pull request #9065 from huffman/fix/script-engine-abuse
Fix deleteLater() vulnerability in scripts
2017-01-09 11:02:28 -08:00
Seth Alves
d072b1524a Merge branch 'master' of github.com:highfidelity/hifi into tablet-ui 2017-01-05 15:27:11 -08:00
Ryan Huffman
601aa51392 Merge branch 'master' into fix/script-engine-abuse 2017-01-04 08:09:06 -08:00
Brad Hefta-Gaub
d440532cff make sure RPC is timely 2017-01-03 11:10:07 -08:00
Anthony J. Thibault
00980366d6 Merge branch 'master' into tablet-ui 2017-01-03 09:45:23 -08:00
Brad Hefta-Gaub
82ab8635d7 debugging 2016-12-30 12:02:48 -08:00
Brad Hefta-Gaub
7c7d239e00 first cut at using wait signals to improve RPC timing 2016-12-30 09:13:21 -08:00
Brad Hefta-Gaub
4b9345d7c6 cleanup accidental change 2016-12-29 16:45:16 -08:00
Brad Hefta-Gaub
0c22fcb5c4 better handling of timers 2016-12-29 16:41:14 -08:00
Brad Hefta-Gaub
a72f60152b audit use of QTimer intervals to make sure we're using Qt::PreciseTimer when appropriate 2016-12-29 08:53:37 -08:00
Brad Hefta-Gaub
6a7fa63327 classify ScriptEngine errors better, and send them as signal to JS 2016-12-20 09:00:01 -08:00
Brad Hefta-Gaub
dbbed462b4 cleanup naked qDebug() calls 2016-12-19 22:24:25 -08:00
Brad Hefta-Gaub
df954cab10 remove some log spam, recatargorize script logs to allow fine grain filtering 2016-12-19 16:15:10 -08:00
Anthony J. Thibault
d4f9d21ce8 Pass tablet QQuickItem to TabletScriptingInterface
Also, moved TabletScriptingInterface to script-engine library for easy access, baby.
2016-12-14 14:04:48 -08:00
Seth Alves
43b73f0380 Merge branch 'master' of github.com:highfidelity/hifi into fix-include-race 2016-11-14 10:00:46 -08:00
Ryan Huffman
51586ae0a3 Fix log typo in SpatiallyNestable 2016-11-14 09:06:11 -08:00
Seth Alves
5133ce0548 print a debug message when skipping evaluation of a previously included url 2016-11-12 10:50:21 -08:00
Ryan Huffman
4df9302af9 Disable access to deleteLater in ScriptEngine 2016-11-11 16:23:23 -08:00
Seth Alves
576eed9941 use a mutex to avoid a smaller race 2016-11-10 17:12:06 -08:00
Seth Alves
aef39ce6fa block until follow-on includes are finished but still avoid multiple evaluation of included urls 2016-11-10 16:06:53 -08:00
humbletim
28eadc149f switch to apply normalizeURL only and move to top of for loop 2016-11-06 16:08:42 -05:00
humbletim
d749f243c6 revert f9747d8a (rawURL) + apply alternative approach for aligning batch-loaded script URLs 2016-11-02 14:58:50 -04:00
Anthony J. Thibault
2193c5faad Integrated controller display from tutorial scripts + assets 2016-10-20 18:24:58 -07:00
Ryan Huffman
73a0266edb Fix case in Script.include where urls is empty 2016-10-18 11:41:15 -07:00
Ryan Huffman
03c01bb9b0 Add exception handling to callEntityMethod calls 2016-10-07 10:30:18 -07:00
howard-stearns
6cae62f584 init the accumulator for script elapsed time 2016-10-07 09:38:30 -07:00
Ryan Huffman
bbd7174d06 Fix script paths not resolving correctly 2016-10-06 17:37:47 -07:00
Ryan Huffman
42b0d8230c Move extract/encode enitty functions in ScriptEngine 2016-10-05 19:14:42 -07:00