Commit graph

2052 commits

Author SHA1 Message Date
DD Liu
94227c00fa Remove catches that do nothing 2018-11-21 12:01:48 -05:00
Karishma Chadha
63c4b53b09
Replace reference to deleted variable with specific variable info needed. 2018-11-21 11:45:16 -05:00
Karishma Chadha
25ce08131a Add rename and delete functionality for cloud variables. Refactor function name for cloud variable creation API. 2018-11-20 15:11:12 -05:00
DD
c68da6605b Move reject earlier and add loadedOne comment 2018-11-20 15:08:25 -05:00
Valerie R Young
dd81a261df Remove Cast import 2018-11-16 16:49:27 -05:00
Valerie R Young
73e157ba7c Use Number instead of Cast.toNumber 2018-11-16 16:30:26 -05:00
Katie Broida
bb82c46f8a
Handle coordinate precision the same as Scratch 2 (#1722) 2018-11-15 15:50:56 -05:00
Valerie Young
2ca735eab4
Merge pull request #1716 from bocoup/unknown-block-input-fix
Handle unknown opcode in input
2018-11-15 10:09:46 -05:00
Ray Schamp
f2550d582c
Merge pull request #1750 from rschamp/feature/sb3-json-assets
Add method for collecting all targets' assets
2018-11-15 10:31:58 +00:00
Ray Schamp
bcd1c5b13a Consolidate collectAssets into getter 2018-11-15 10:26:05 +00:00
Karishma Chadha
0c9da5d963
Merge pull request #1755 from kchadha/cloud-var-create
Create cloud variables
2018-11-14 21:39:29 -05:00
Eric Rosenbaum
26ced0dd58
Use note picker in imported play note blocks (#1757)
* Use note picker in imported play note blocks

* Set default for obscured note shadows to 60
2018-11-14 14:55:12 -05:00
Valerie R Young
ebd3b46cc2 Address feedback 2018-11-14 14:24:09 -05:00
Paul Kaplan
8aa88fa2a2
Merge pull request #1723 from mzgoddard/blocks-monitored-cache
Cache the set of actively monitored blocks
2018-11-14 14:16:36 -05:00
Karishma Chadha
3dd0d0a657
Merge pull request #1686 from kchadha/monitor-save-load
Monitor save & load
2018-11-14 13:23:10 -05:00
Karishma Chadha
5b2667556c Comment cleanup 2018-11-14 13:15:36 -05:00
Karishma Chadha
56ee6ba575
Merge pull request #1747 from kchadha/load-visible-extension-monitors
Always ignore video sensing monitor when importing from 2.0 and import visible extension monitors.
2018-11-14 10:54:25 -05:00
Karishma Chadha
dccb41e3c4 Comment and test cleanup. 2018-11-14 10:42:52 -05:00
Karishma Chadha
3fc1b89b30 Add ability to create cloud variables, and have cloud provider wait for confirmation from server. 2018-11-13 16:43:51 -05:00
DD
679ddf9fb7 Comment fixes and instantiate textImageElement only as necessary 2018-11-13 15:31:00 -05:00
DD
0b72608624 Remove swp file 2018-11-13 15:09:47 -05:00
Valerie R Young
3fe1d3bf6d Minor typo 2018-11-13 14:58:28 -05:00
Valerie R Young
43c5d5c053 Correct infinity comparisons and toNumber 2018-11-13 13:51:12 -05:00
Ray Schamp
df56e615ec Add method for collecting all targets' assets
Resolves #1601. Does not include the project JSON since that would require knowledge of a project ID, which the VM has not been responsible for so far.

For now, it is the responsibility of the consumer to determine if these assets should be saved or not. Otherwise the VM would need to be responsible for saving, which has been out of its scope.
2018-11-12 15:13:02 +00:00
jokebookservice1
306996e54c
feat: Implement "point towards random direction"
We subtract 180 even though the value will be clamped, for clarity. We round so that
using the "direction" getter will yield a sensible result. Note that this
implements 'point towards random direction', not 'point towards random
position' -- they have slightly different behaviours.
2018-11-11 01:51:37 +00:00
Karishma Chadha
14bee14d8c Update extensions to load when deserializing monitors. This is necessary when the monitor is the only part of the project that uses the extension. Update extension monitor color category. 2018-11-09 23:45:49 -05:00
Karishma Chadha
df24ca7b46 Refactor sb3 monitor deserialization. Create monitor blocks with the relevant info if they don't exist. 2018-11-09 23:45:49 -05:00
Karishma Chadha
1b9b3ac909 Revert changes that were made to leverage the monitor blocks getting created when the toolbox is loaded. This approach does not work when viewing the project detached from scratch-blocks (e.g. player mode). 2018-11-09 23:45:48 -05:00
Karishma Chadha
ebdd548c8f Update for auto-positioning monitors so that having just one of x or y be 0 (e.g. a monitor placed in the top right corner of the stage) does not result in the monitor being treated as a new monitor and get auto-positioned. 2018-11-09 23:45:48 -05:00
Karishma Chadha
d690c76a34 Update sb2 deserialization of monitors. 2018-11-09 23:45:48 -05:00
Karishma Chadha
1a4f0a75f2 Serialize and deserialize monitors. Obtain monitor block information from runtime. Fix issue where stage monitors weren't getting loaded correctly. 2018-11-09 23:45:48 -05:00
Karishma Chadha
cfa71723eb Ignore video sensing monitor and import music tempo monitor unless it is hidden. Load extensions for visible monitors. Add tests for new functionality. 2018-11-09 00:09:54 -05:00
Evelyn Eastmond
3050f496b2 Resolves #1687. Clears discover timeout when needed. (#1697) 2018-11-08 15:31:15 -05:00
Evelyn Eastmond
53c165c2f6 Close Scratch Link web socket on every new peripheral scan attempt (#1696)
* Progress towards: #1671: Close web socket before making a new one for hardware extensions.

* Always disconnect before scanning for new peripheral.  Removing console logs.

* Removing unused test code.
2018-11-08 15:21:28 -05:00
Karishma Chadha
fe186913ac
Merge pull request #1742 from kchadha/multi-monitors
Multi monitors
2018-11-08 14:44:22 -05:00
Karishma Chadha
7ea310a194 Fix typo in comment 2018-11-08 14:43:07 -05:00
Karishma Chadha
87244b4110 Normalize capitalization of sensing_current block fields during sb2 import and during monitor id generation. Update monitors integration test to include sensing_current block monitors. 2018-11-08 14:11:30 -05:00
Ray Schamp
4f5aba4fe6
Merge pull request #1727 from paulkaplan/add-ext-on-share
Add unloaded extensions on block sharing
2018-11-08 10:15:58 +00:00
Karishma Chadha
5db3db3a92 monitor id getter should use block fields instead of a list of strings 2018-11-08 01:33:26 -05:00
Karishma Chadha
7d1226458f Fix import of current day of week block from sb2. 2018-11-08 00:37:49 -05:00
Karishma Chadha
0e7eae98d5 Separate out monitors for blocks reporter blocks that have parameters. 2018-11-08 00:37:28 -05:00
Karishma Chadha
8aa0fa11aa
Merge pull request #1649 from mzgoddard/get-attribute-stage-alt-name
Get attribute stage alt name
2018-11-07 17:47:44 -05:00
Karishma Chadha
4bb2d19584
Merge pull request #1683 from mzgoddard/sequencer-thread-cleanup
Sequencer thread cleanup
2018-11-07 17:15:11 -05:00
Eric Rosenbaum
2cff4159bb
Use the new note picker field in music and EV3 extensions (#1720)
* Add note field type

* Note picker in music extension plays notes

* Use note picker in EV3 beep block
2018-11-07 11:50:15 -05:00
Eric Rosenbaum
eef1885fad
On websocket error, use sendRequestError instead of disconnect (#1736) 2018-11-07 10:25:09 -05:00
Paul Kaplan
ce94144051 Fixup from comments 2018-11-07 10:11:16 -05:00
DD
5ad193b96e Better comment 2018-11-06 17:51:39 -05:00
DD
1cef52e180 Remove mysterious swp file 2018-11-06 17:43:26 -05:00
DD
3c95b32da0 Rearrange so that if we already have the asset, there's no need to go through promise.all 2018-11-06 17:39:26 -05:00
DD
2a032be1a9 Remove todo 2018-11-06 17:34:07 -05:00
DD
6763355d00 Fix scaling to perform nearest neighbor 2018-11-06 17:22:25 -05:00
DD
2bd468950f Why do our lint rules require such weird formatting 2018-11-06 16:54:41 -05:00
DD
998c5a186e Merge images as part of fetch bitmap 2018-11-06 16:44:17 -05:00
Eric Rosenbaum
3bd0797810
Make volume a sprite-specific monitor (#1730) 2018-11-06 10:52:40 -05:00
DD
e538800293 Merge branch 'pull915' into textLayer 2018-11-06 10:39:43 -05:00
DD
876139847a Merge branch 'develop' into pull915 2018-11-06 10:39:27 -05:00
DD
b6b3ca21d7 Load text layer asset 2018-11-06 10:36:52 -05:00
DD
88b6bdd06c Get text assets from zip 2018-11-05 18:07:56 -05:00
DD
86149325b1 Try to make loadCostume more readable, and revert deserializeCostume to changing the costume object directly 2018-11-05 17:11:07 -05:00
Paul Kaplan
c8ad1955d4 Load extensions before sharing blocks.
This commit fixes the unit tests so the assertions are made after the promise resolves
2018-11-05 13:00:35 -05:00
Paul Kaplan
bc1da9fa44 Move extension ID parsing into a helper and add test 2018-11-05 12:57:09 -05:00
Michael "Z" Goddard
692b71a737
Merge pull request #1709 from mzgoddard/cast-to-number
Shortcut Cast.toNumber if given a number
2018-11-02 15:58:15 -04:00
Michael "Z" Goddard
a3f9aa1e22
cache the set of actively monitored blocks
Projects can have 100's of potentially monitored blocks. Caching the
set of monitored blocks can save time in Runtime._step every frame.
2018-11-02 15:24:05 -04:00
Karishma Chadha
d64322a110
Merge pull request #1719 from rschamp/hotfix/sprite-upload-from-image
Handle images uploaded as sprites
2018-11-01 18:18:52 -04:00
Ray Schamp
3d06f0e633 Handle images uploaded as sprites
The sprite upload code in GUI serializes asset data, flattening it. We need to rehydrate the asset.
2018-11-01 18:28:54 +00:00
Paul Kaplan
596d0c4f5f Include the origin blockId of the top block being dragged.
This is required by the GUI in order to take a snapshot of the blocks for the backpack. Only the ID is needed, the rest can be done by the GUI.
2018-11-01 14:13:07 -04:00
Michael "Z" Goddard
bca01a9ed2
rename Stage to _stage_ when its the OBJECT input for getAttributeOf 2018-11-01 12:33:56 -04:00
Karishma Chadha
ffef2e92fc Fix up docs and incorrect initialization of cloud data manager functions. Add 'spec' unit tests that the cloud data manager functions are actually functions. 2018-10-31 19:20:13 -04:00
Michael "Z" Goddard
2ffa8eb333
update runtime thread tests
Threads are now removed after every "inner" step. Any thread that
reaches its DONE conditions is immediately removed instead of requiring
an extra step to remove it. As such tests that check the number of
threads have been updated to consider this.
2018-10-31 17:56:12 -04:00
Valerie R Young
26c928d10b Handle unknown opcode in input 2018-10-31 17:40:08 -04:00
Michael "Z" Goddard
ec414fffc6
use Number.isNaN in Cast.toNumber
Number.isNaN does not coerce and may help performance since we either
do not need to coerce the value or already have with Number.
2018-10-31 14:40:19 -04:00
Karishma Chadha
1df6743a5f Refactor cloud data manager to break out cloud data limit check vs. limit update. 2018-10-31 13:40:05 -04:00
Karishma Chadha
848deaff30 Track whether a project has cloud data and enforce a cloud data limit on projects being loaded into the runtime. 2018-10-30 18:53:57 -04:00
Katie Broida
6ef600dc2c
Add runtime event for when the project is loaded (#1669) 2018-10-30 15:26:22 -04:00
Karishma Chadha
fd5e178d3b
Merge pull request #1703 from kchadha/cloud-io
Cloud IO
2018-10-30 11:57:20 -04:00
Michael "Z" Goddard
5b10d41ba3
check if toNumber is given a number and shortcut if so
If toNumber is called on a number avoiding passing the number to Number
can provide a small performance improvement.
2018-10-30 11:28:22 -04:00
Karishma Chadha
991d7be7f4 Fix documentation of cloud io device. 2018-10-29 18:31:35 -04:00
Paul Kaplan
b245b3868f
Merge pull request #1416 from paulkaplan/fix-mouse-down
Make click hats trigger on mouse down instead of up
2018-10-29 15:05:18 -04:00
Karishma Chadha
be238d35d2
Merge pull request #1517 from joker314/costume-compatibility
Make "switch costume" and "switch backdrop" blocks compatible with 2.0
2018-10-29 11:39:41 -04:00
Karishma Chadha
aa200e6df3 Set the cloud provider and request updates to the cloud var when updating the variable through blocks. 2018-10-29 00:59:06 -04:00
Karishma Chadha
4959ab9ff3 Create a new cloud io device 2018-10-29 00:58:30 -04:00
Paul Kaplan
e002db48f2 Add logic to trigger click hats on mouse up on a draggable target
As long as the event was not a drag
2018-10-25 15:08:37 -04:00
Paul Kaplan
ef50092daa Make when clicked hats trigger on mouse down 2018-10-25 14:06:36 -04:00
Ray Schamp
de86eb3f19
Merge pull request #1691 from rschamp/storage-no-cache
Store asset objects on costumes and sounds
2018-10-25 10:15:47 +01:00
Karishma Chadha
d3e38c1ae9
Merge pull request #1640 from mzgoddard/set-procedure-param-missing
Set procedure param missing
2018-10-25 00:13:51 -04:00
Katie Broida
18c83dcc67
Prevent non-core extensions from adding monitors (#1688) 2018-10-24 16:43:01 -04:00
Ray Schamp
902aee48ee Merge branch 'develop' of https://github.com/LLK/scratch-vm into storage-no-cache
# Conflicts:
#	package-lock.json
2018-10-24 12:09:06 +01:00
Michael "Z" Goddard
fcafcbdd0a
return 0 from parameters outside of their procedure 2018-10-23 15:14:31 -04:00
Michael "Z" Goddard
ef4045aaf1
Merge pull request #1642 from mzgoddard/set-procedure-param-defaults
Set procedure param defaults
2018-10-23 15:13:16 -04:00
Michael "Z" Goddard
5e5655c916
Merge pull request #1632 from mzgoddard/stop-other-sounds
Stop other sounds
2018-10-23 15:11:08 -04:00
Ray Schamp
b47912dce4 Store asset objects on costumes and sounds
Stop using storage for in-memory storage, and keep these on the vm objects. Towards https://github.com/LLK/scratch-vm/issues/1577
2018-10-23 11:10:50 +01:00
Michael "Z" Goddard
b833ef8d24
remove finished threads every loop of all threads
When all threads are looped, finished threads must be removed so
threads that are waiting for those to complete and be removed may
continue executing. This effects broadcast and wait for example. The
threads created by broadcast and wait can finish in the same tick and
must be removed from the list of threads so that broadcast and wait
knows to stop waiting.
2018-10-19 16:43:36 -04:00
DD
91e2f3a935 Revert 1643 Confirm extension in use in sb2 serialization 2018-10-18 11:06:13 -04:00
Eric Rosenbaum
891f696570
Save and load the language setting for Text to Speech (#1670)
* Use scratch locales internally, with adapter for polly

* Save and load text2pseech language

* Only localize default input to “speak” if in a supported language
2018-10-17 17:34:12 -04:00
Evelyn Eastmond
2564b24d71 Differentiate peripheral errors: request vs. disconnect (#1654)
* Beginning to add differentiation for hardware disconnect alerts.

* Set connected status after error is sent.
2018-10-17 15:48:07 -04:00
jokebookservice1
9c128db723
docs: Provide more/clearer comments
We ensure that all code whose purpose may be confusing to grasp is
commented; and we remove information that is no longer required.
2018-10-17 18:32:01 +01:00
Katie Broida
899ce56214
Confirm extension in use in sb2 serialization (#1643)
Add a check when serializing sb2 projects to see whether an extension is actually in use in a block or a visible monitor.
2018-10-17 10:49:08 -04:00
Michael "Z" Goddard
2b257dde57
add getProcedureParamNamesIdsAndDefaults
Use getProcedureParamNamesIdsAndDefaults to get the defaults along with
names and ids so defaults may be set for a procedure call if the
parameter is not provided.
2018-10-16 16:31:45 -04:00
Michael "Z" Goddard
e854d8d563
stop only waiting sounds when STOP_FOR_TARGET is emitted 2018-10-16 16:15:01 -04:00
Andrew Sliwinski
23f6346045
Merge pull request #1631 from mzgoddard/stop-other-asks
Stop other asks
2018-10-15 13:16:49 -04:00
apple502j
afd9549708
Remove "Don't translate Google" 2018-10-13 05:43:07 +09:00
Eric Rosenbaum
6ce061d55d
Text to Speech voices update (#1655)
* Change voice names to alto and tenor

* Adjust voice pitches

* Support dropped numbers for setting voice
2018-10-11 13:48:43 -04:00
DD Liu
79e36a0316
Merge pull request #1636 from fsih/whatIsUpWithThePromises
Consistently return promises from functions that say they return promises
2018-10-11 10:21:06 -04:00
Andrew Sliwinski
1dbf1894f6
Merge pull request #1652 from ericrosenbaum/feature/extension-icons
Add icons for Video Sensing, Translate and Text to Speech extensions
2018-10-10 16:42:57 -04:00
Evelyn Eastmond
2ade71590f
Merge pull request #1630 from evhan55/fixes/hardware-extensions
Hardware extensions: fixes and menu localization
2018-10-10 15:19:11 -04:00
jokebookservice1
341bd8f3d3
feat: Allow switching to specially named backdrops
The `switch costume` block accepts special values like "next costume" and
"previous costume". If you create a costume with these names, these take
priority over the special values. However, the `switch backdrop` block
keeps these special values for values like "next backdrop", "previous
backdrop", "random backdrop". It is impossible to navigate to such a
backdrop by name via block. This commit also modifies tests to allow for
this.

BREAKING CHANGE: specially-named backdrops can now be navigated
2018-10-10 20:06:54 +01:00
jokebookservice1
0c18b4952d
refactor: use better whitespace-test for backdrops too 2018-10-10 19:45:36 +01:00
Eric Rosenbaum
cdbd7c9af2 Add text2speech icons 2018-10-10 14:09:34 -04:00
Eric Rosenbaum
9403449846 Add translate icons 2018-10-10 14:04:37 -04:00
jokebookservice1
df78a8345e
refactor: use utility for whitespace-testing 2018-10-10 18:36:06 +01:00
Evelyn Eastmond
4534649367 Fixing locale string. 2018-10-10 11:49:07 -04:00
Evelyn Eastmond
d83bf20803 Fixing tilt direction menu locales. 2018-10-10 11:47:55 -04:00
Eric Rosenbaum
b5c5481de0 Add video sensing extension icons 2018-10-10 10:43:04 -04:00
Michael "Z" Goddard
65ee6b7cac
broadcast and wait must wait for threads to be removed from runtime 2018-10-05 14:54:02 -04:00
Michael "Z" Goddard
a0b7e94c9e
update execution order from draw-related look instructions 2018-10-05 13:26:05 -04:00
Michael "Z" Goddard
a22b74e6cb
Merge pull request #1617 from mzgoddard/execution-order
Sprite clone and initial draw order execution order
2018-10-05 13:25:22 -04:00
Evelyn Eastmond
1efead8a26 Resolves #1615: Prevent multiple hardware disconnect alerts. 2018-10-05 11:24:52 -04:00
Evelyn Eastmond
c9d4620f22 Fixing #1485: WeDo2/micro:bit block menus need localization. 2018-10-05 11:08:20 -04:00
Evelyn Eastmond
0d7cc66ad5 Changing menu names to include extension label. 2018-10-05 11:08:20 -04:00
Evelyn Eastmond
d7440f882d Fixing #1505: WeDo2 motor power between 0-30ish doesn't power the motor. 2018-10-05 11:08:20 -04:00
Evelyn Eastmond
7a7134e23c Fixing #1592: WeDo2 and EV3 should not send motor command when motor power is 0. 2018-10-05 11:08:20 -04:00
Andrew Sliwinski
853de9fa7d
Merge pull request #1593 from joker314/fix/compare-strings
Fix locale-dependant string comparison operators to match 2.0
2018-10-04 14:38:40 -04:00
Andrew Sliwinski
492695112f
Merge pull request #1585 from apple502j/patch-1
Bubble string length limit
2018-10-04 14:29:38 -04:00
Michael "Z" Goddard
56ec22df77
add Runtime.executableTargets
executableTargets is a list of the targets in the reverse order of
their execution. This order matches the draw list's order in the
renderer.
2018-10-04 00:42:05 -04:00
DD
06cb8e4b8a Consistently return promises from functions that say they return promises 2018-10-03 14:58:36 -04:00
Michael "Z" Goddard
da268ea0c1
control sound stopping in scratch3_sound.js
- Stop sound playback for target when STOP_FOR_TARGET is emitted
- Stop all sounds when PROJECT_STOP_ALL is emitted
- RenderedTarget should not manage sound stopping in `stopAll`
2018-10-03 10:38:47 -04:00
Michael "Z" Goddard
574749bbba
add STOP_FOR_TARGET runtime event and respond for ask blocks
Remove questions for targets that are individually stopping and
progress the asked question if it is from a stopping target.
2018-10-03 10:38:14 -04:00
Andrew Sliwinski
7a28d5e41d
Merge pull request #1586 from mzgoddard/variable-id-type
conflict workaround for variables and lists of the same name
2018-10-01 18:27:59 -04:00
picklesrus
12ddc89514
Merge pull request #1612 from picklesrus/translate-language-menu
Reset the supported language list in getInfo. This works because refr…
2018-10-01 17:20:50 -04:00
Michael "Z" Goddard
353ad16132
jsdoc @type tag does not permit a description 2018-09-27 12:00:00 -04:00
Evelyn Eastmond
4583cb821b
Merge pull request #1611 from evhan55/fixes/hardware-extensions
Hardware extensions bug fixes
2018-09-25 20:42:30 -04:00
Florrie
744b01174b Add support for "midiInstrument:" block (#1329)
* Add midiInstrument: block

* Don't show midiInstrument block in palette

* Lint

* More lint
2018-09-25 17:33:09 -04:00
picklesrus
69132d17db Fix lint spacing error. 2018-09-25 16:24:32 -04:00
picklesrus
3193a4c1b4 Spacing changes. 2018-09-25 16:03:21 -04:00
picklesrus
5966a54500 Reset the supported language list in getInfo. This works because refreshBlocks is called
when the language gets changed. Fixes #1365.
2018-09-25 16:03:21 -04:00
Kreg Hanning
fa0af58c41 Make "display [Hello!] block yield until printing is done (#1599)
* Make "display [Hello!] block yield until printing is done

* Add 2 additional px to yield delay

* Add 3 more additional px for large chars
2018-09-25 14:56:29 -04:00
Evelyn Eastmond
a676970359
Merge pull request #1607 from evhan55/multiple-alerts
Show customized alerts on hardware extension peripheral errors.
2018-09-25 14:44:29 -04:00
Evelyn Eastmond
e6ea4d7f0c Removed promise chains that seemed unnecessary. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
6bd79369e4 Changing EV3 and WeDo2 default and block motor power values after discussion. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
e9b0cc768e Further fixes to 'button pressed?' on Microbit. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
4b2b82a224 Fixing #1364: Microbit 'button pressed?' block should return true/false. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
cfe7e45d8b Fixing #1538: wedo2 'set motor direction' block sometimes stops the motor. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
eabd7a5153 Changing default WeDo2 power arg to 50. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
03d05403fa Adding TODOs to _pollValues. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
3bdbbe3b8e Fixing #1566: Set default motor power for EV3 and WeDo2 to 50%. 2018-09-25 11:26:18 -04:00
Evelyn Eastmond
fe288902fa Fixing #1567: EV3 motor position reporter gets inverted. 2018-09-25 11:26:18 -04:00
Eric Rosenbaum
f467d2d01f
Change “monster” to “giant” and raise pitch (#1606) 2018-09-25 11:04:38 -04:00
Kreg Hanning
91d46bb92b Remove the word "test" (#1600) 2018-09-25 10:49:45 -04:00
Kreg Hanning
b81ba599db Trim whitespace in "display [♡]" input field (#1598) 2018-09-25 10:47:33 -04:00
picklesrus
b063226fd7
Merge pull request #1580 from picklesrus/speech-language
Send the language code of the project viewer to the server
2018-09-24 14:26:14 -07:00