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
Ryan Huffman
df09254437
Fix EntityItemID not being converted to string in ScriptEngine
2016-10-05 15:45:54 -07:00
Ryan Huffman
8e3f4b705f
Add entity url back into entity script filenames
2016-07-09 03:57:29 -07:00
Ryan Huffman
e3be333144
Remove 'EntityID' from entity script filename
2016-10-05 09:28:12 -07:00
Ryan Huffman
667a737018
Fix ScriptEngine not properly resolving paths
2016-10-05 09:28:12 -07:00
howard-stearns
c806f6cad2
better shutdown check for timer firings
2016-09-30 16:05:39 -07:00
Thijs Wenker
3d14a32d17
fix controller::ScriptingInterface not found warning in AC
2016-09-29 22:11:12 +02:00
elisa-lj11
cdc5dde40e
Merge remote-tracking branch 'highfidelity/master' into zip_project
2016-08-23 11:22:43 -07:00
Anthony J. Thibault
1be434342b
Work In Progress snapshot
...
* Added new PointerEvent type.
* Mouse events are still sent from Application to EntityTreeRenderer, however, EntityTreeRenderer converts them to PointerEvents
* All outgoing signals from EntityTreeRenderer use PointerEvents instead of MouseEvents
* Associated JavaScript entity methods will receive PointerEvents instead of MouseEvents
* Events from handControllerGrab.js to entities are currently broken.
2016-08-12 17:11:59 -07:00
elisa-lj11
b1b2ea48b2
Made code more QA; extra browser and download widget close upon download
2016-08-04 17:01:19 -07:00
elisa-lj11
f277a019bf
FileScriptingInterface
...
Created new .cpp and .h for the download and unzipping of a model
2016-08-04 16:46:56 -07:00
Brad Hefta-Gaub
74a3835a1e
CR feedback
2016-07-28 15:15:33 -07:00
Brad Hefta-Gaub
22619a66ba
process events also
2016-07-28 10:51:17 -07:00
Brad Hefta-Gaub
755989b8ff
don't allow punished scripts to slow stop or shutdown
2016-07-28 10:01:05 -07:00
Brad Hefta-Gaub
2d199fe3d0
rename function for better clarity
2016-07-26 08:08:44 -07:00
Brad Hefta-Gaub
a12034cb45
fix unix warning, added comments
2016-07-26 07:54:55 -07:00
Brad Hefta-Gaub
83dc9ea6bb
punish slow scripts and don't send updates while physics is still loading
2016-07-25 21:46:30 -07:00
Seth Alves
4e70e8ed42
js call to ray-pick against avatars
2016-06-28 09:55:49 -07:00
Seth Alves
49769f7d29
trying again -- frantic clicking on reload no longer appears to wedge things
2016-05-25 13:39:13 -07:00
Seth Alves
b0ce65ec01
trying to mimic previous behavior more closely
2016-05-25 11:42:06 -07:00
Seth Alves
ef709c09d0
Merge branch 'master' of github.com:highfidelity/hifi into fix-edit-js-restart
2016-05-25 09:46:30 -07:00
Seth Alves
00336f4860
Merge branch 'master' of github.com:highfidelity/hifi into fix-edit-js-restart
2016-05-23 09:58:20 -07:00
Seth Alves
40e862cf9e
quiet gcc 5 warnings
2016-05-21 16:53:01 -07:00
Seth Alves
aa58cad93e
code review
2016-05-20 09:54:54 -07:00
Zach Pomerantz
4c8ff557db
Merge branch 'master' of github.com:highfidelity/hifi into fix/debug-script-crash
2016-05-20 09:31:30 -07:00
Zach Pomerantz
8025a3f14c
Prevent crash from script timers on shutdown
2016-05-18 17:30:34 -07:00
Zach Pomerantz
c480dcfddd
Check thread validity after event processing
2016-05-18 16:26:54 -07:00
Zach Pomerantz
7d4276d15f
Merge branch 'master' of github.com:highfidelity/hifi into fix/script-thread-dtor
2016-05-16 10:51:23 -07:00
Zach Pomerantz
2140dc77b3
Rename wait and unload in best thread
2016-05-13 16:14:22 -07:00
Zach Pomerantz
36565598a7
Hide script stop behind accessor and fix friendship
2016-05-13 15:52:53 -07:00
Zach Pomerantz
59e4b9c356
Merge branch 'master' of github.com:highfidelity/hifi into fix/shutdown
2016-05-13 15:28:12 -07:00
Zach Pomerantz
70d0ebb91c
Consolidate stoppingAllScripts to ScriptEngines::_stopped
2016-05-13 15:24:15 -07:00
Zach Pomerantz
e1c130d02f
Timeout long sandbox scripts
2016-05-12 17:51:39 -07:00
Zach Pomerantz
1107882be2
Throw to stop non-evaluating scripts
2016-05-12 17:51:38 -07:00
Zach Pomerantz
7e82494a66
Add cap on entities scripting thread stop time
2016-05-12 17:51:37 -07:00
Zach Pomerantz
f2f89ca062
Add logging to ScriptEngine lifetime
2016-05-12 17:51:36 -07:00
Zach Pomerantz
2cc788f98d
Rename ScriptEngine::wait to match std threading
2016-05-12 17:51:35 -07:00
Zach Pomerantz
edf82c57ba
Clean scripting thread deletion
2016-05-12 12:45:02 -07:00
Zach Pomerantz
13d602487f
Remove guard over atomic in ScriptEngine::stop
2016-05-12 12:43:16 -07:00
Zach Pomerantz
820fdf09e2
Remove unused ScriptEngine::_wantSignals
2016-05-12 12:42:29 -07:00
Brad Hefta-Gaub
af6be7f5f3
Merge pull request #7845 from jherico/script_debug
...
Enable script debugging
2016-05-10 15:56:38 -07:00
Brad Davis
b117a4b8d7
Debugging menu destruction
2016-05-10 12:21:19 -07:00
Seth Alves
68201746aa
Merge branch 'master' of github.com:highfidelity/hifi into fix-stanard-library-include-some-more
2016-05-09 18:39:37 -07:00
Brad Davis
40316498a4
Enable script debugging
2016-05-09 17:02:40 -07:00
Zach Pomerantz
7db082b915
Amend comment that was not a busy wait
2016-05-09 15:05:13 -07:00
Seth Alves
b0a5d8b719
make Script.include(/~/system/libraries/utils.js) work from web again
2016-05-08 08:45:58 -07:00
Zach Pomerantz
173d2a590c
Use sleep_until for ScriptEngine
2016-05-06 19:30:37 -07:00
Zach Pomerantz
56ec0e5db0
Abort infinite JS loops on quit
2016-05-04 12:02:08 -07:00
Zach Pomerantz
284feaf5d4
Properly shut down scripting thread
2016-05-03 20:29:31 -07:00
Brad Hefta-Gaub
754ef071eb
Merge pull request #7786 from sethalves/web-scripts-use-local-libs
...
allow scripts on the web to refer to local libraries with /~/
2016-05-03 11:10:48 -07:00
Brad Hefta-Gaub
ad285ff9a1
Merge pull request #7769 from ZappoMan/abortForInfiniteLoops
...
add support to abort evaluation of long running scripts on shutdown
2016-05-02 20:44:12 -07:00
Brad Hefta-Gaub
2b54813075
Merge pull request #7783 from zzmp/fix/script-engine-deletion
...
Fix script engine deletion
2016-05-02 18:16:07 -07:00
Brad Hefta-Gaub
b98419e537
add units to debug message
2016-05-02 14:58:38 -07:00
Brad Hefta-Gaub
4569032314
more CR feedback
2016-05-02 12:44:07 -07:00
ZappoMan
6026e055aa
more CR feedback removed redundant abort code
2016-04-30 15:45:42 -07:00
ZappoMan
ee4748fee9
CR Feedback
2016-04-30 15:31:09 -07:00
ZappoMan
73ff0308a9
some CR feedback
2016-04-30 15:23:50 -07:00
Seth Alves
351a5d2cb1
remove debug print
2016-04-29 13:24:12 -07:00
Seth Alves
b28cfd27ec
fix problem where canonicalFilePath will strip a trailing slash
2016-04-29 13:17:59 -07:00
Seth Alves
f03130ff5a
more work toward keeping /~/../.. from working
2016-04-29 11:04:08 -07:00
Seth Alves
8c278563f5
allow scripts on the web to refer to interface-local javascript libraries
2016-04-28 13:41:50 -07:00
Zach Pomerantz
30e7b950a1
Fix script engine deletion
2016-04-28 11:41:36 -07:00
Zach Pomerantz
854c0ea3e3
Clean out updateMemoryCost
2016-04-27 19:20:43 -07:00
Zach Pomerantz
1e8d45aecb
Put ScriptableResource state enum in prototype
2016-04-27 19:20:43 -07:00
Brad Hefta-Gaub
48e63ea828
add support to abort evaluation of long running scripts on shutdown
2016-04-26 16:24:53 -07:00
Brad Hefta-Gaub
a21bc66fa3
add support to abort evaluation of long running scripts on shutdown
2016-04-26 16:21:11 -07:00
Zach Pomerantz
1a0a623d5f
Report ScriptableResource memory cost to engine
2016-04-20 20:18:22 -07:00
Zach Pomerantz
8ad8b5d0d9
Return ScriptableResource from prefetch
2016-04-20 20:14:15 -07:00
Brad Hefta-Gaub
d5891e9073
remove abortEvaluation() since it has no effect for the test cases and might cause unexpected side effects
2016-04-18 15:28:33 -07:00
Brad Hefta-Gaub
bf8cdabd1b
CR feedback
2016-04-18 12:50:29 -07:00
Brad Hefta-Gaub
9e13b1bbae
more CR feedback
2016-04-18 12:25:46 -07:00
Brad Hefta-Gaub
f6c75d0530
cleanup
2016-04-18 10:41:54 -07:00
Brad Hefta-Gaub
0520363da8
cleanup
2016-04-18 10:37:15 -07:00
Brad Hefta-Gaub
d1f6b371c9
cleanup
2016-04-18 10:27:12 -07:00
Brad Hefta-Gaub
9db0fe0d11
switch to using QSharedPointer for _entitiesScriptEngine
2016-04-18 09:46:04 -07:00
Brad Hefta-Gaub
71d57295eb
handle possibly deleted ScriptEngine in getScriptContents
2016-04-16 19:39:45 -07:00
Brad Hefta-Gaub
87078b1ea2
first cut at resetting entities script engine on domain change
2016-04-16 11:09:23 -07:00
Anthony J. Thibault
253e4cbb73
validate arguments to MyAvatar.addAnimationStateHandler()
...
Also validate arguments to MyAvatar.removeAnimationStateHandler() and the return result from the user provided callback function.
2016-04-14 16:25:17 -07:00
Brad Hefta-Gaub
ce1625b551
Merge pull request #7600 from sethalves/fix-entity-script-error-message
...
attempt to make the failed-to-load-entity-script error-message be more helpful
2016-04-07 09:17:04 -07:00
Brad Hefta-Gaub
986b4bea7c
Merge pull request #7603 from zzmp/fix/entities-thread-crash
...
Fix intermittent crash on exit
2016-04-07 08:21:51 -07:00