Contribute to Open Source. Search issue labels to find the right project for you!

Incorrect featured image displayed after zooming



  • [x] Are you running the latest version?
  • [x] Are you able to consistently reproduce the issue?
  • [x] Did you search the issue queue for existing issue?

Issue Description

When browsing the PDP, the correct featured image is displayed as you click through various options until you hover over the featured image to zoom. Once the featured image has been hovered, it will no longer update when changing product options/variants until a refresh has occurred. The featured image will update when hovering over the media gallery images, and the media gallery images do correctly update when selecting different options or variants.

See this screen recording: <img src=“”>

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method. 1. Create a product with multiple options and multiple variants 2. Add images to each variant and option 3. Make the product public 4. As a customer, visit the PDP for that product 5. Be careful not to hover over the featured image, select between various options and variants. 6. Now hover over the featured image 7. Again, select various options and variants 8. Observe that the featured image is not updated when you change the selected option or variant

Possible Solution

This may have been introduced while replacing CFS in #3782


Node: 8.9.0
NPM: 5.6.0
Meteor Node: 8.9.4
Meteor NPM: 5.6.0
Reaction CLI: 0.29.0
Reaction: 1.9.0
Reaction branch: master
Docker: 17.12.0-ce
Updated 22/03/2018 23:37

`await` doesn't work in `for..let` loops


Example: LiveScript fn = ->> for let v in [Promise.resolve 1] await v

Result: js var fn; fn = async function(){ var i$, ref$, len$, results$ = [], fn$ = function*(v){ return (await v); }; for (i$ = 0, len$ = (ref$ = [Promise.resolve(1)]).length; i$ < len$; ++i$) { results$.push((yield* (fn$.call(this, ref$[i$])))); } return results$; };

Expected result: js var fn; fn = async function(){ var i$, ref$, len$, results$ = [], fn$ = async function(v){ return (await v); }; for (i$ = 0, len$ = (ref$ = [Promise.resolve(1)]).length; i$ < len$; ++i$) { results$.push((await (fn$.call(this, ref$[i$])))); } return results$; };

It seems the mechanism for yields is also used for awaits, but those require a special treatment.

I also noticed that asynchronous generator functions are not yet supported, so I couldn’t test for that.

Updated 22/03/2018 23:37 1 Comments

Plugin could not be activated because it triggered a fatal error.


Warning: require_once(vendor/autoload.php): failed to open stream: No such file or directory in /home/www/dontbelievethehype/ on line 25 Fatal error: require_once(): Failed opening required ‘vendor/autoload.php’ (include_path=‘.:/usr/share/php:/usr/share/pear’) in /home/www/dontbelievethehype/ on line 25

Updated 22/03/2018 23:31

Unstable integration test azure_rm_storageblob


Bug Report


azure_rm_storageblob integration test






Unstable integration test azure_rm_storageblob:


Run tests on Shippable.


Tests pass.


Tests are unstable or fail.

test/integration/targets/azure_rm_storageblob/tasks/main.yml:109 / [localhost] azure: azure_rm_storageblob : assert that=output.changed

failure: rc=0

    "assertion": "output.changed", 
    "changed": false, 
    "evaluated_to": false
Updated 22/03/2018 23:38 5 Comments

Sometimes, coloring is off in adjacency matrix


In level mode, for the row corresponding to the incoming edge, the adjacency matrix is incorrectly lighter: image

it detects two ‘nodes’ (that incoming edge ends in a ‘level mode’ node). And since only one of those two nodes have that edge, it’s opacity is only 50%

Updated 22/03/2018 23:30

Comments should remain associated with the element they comment


Executed: `` const input = - foo # 1st comment - bar # 2nd comment ` const original = new Yawn(input) const json = original.json


original.json = json console.log(original.yaml) ```

Expected: - foo # 1st comment - bar # 2nd comment - biz

Observed: - foo # 1st comment - bar - biz # 2nd comment

With: "yawn-yaml": { "version": "1.3.4", "resolved": "", "integrity": "sha1-FMUaGUAkJJwi9TS20lQaVNCryt0=", "requires": { "js-yaml": "3.9.1", "lodash": "3.10.1", "yaml-js": "0.1.5" }, "dependencies": { "lodash": { "version": "3.10.1", "resolved": "", "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" } } },

Updated 22/03/2018 23:34

message view: Success/error message for changing the topic from the recipient bar needs updating.


If you change the topic from the recipient bar (you need to be an admin to do this), it’ll give you a success message that sort of looks like this, but in green: image

Instead of having a success message, we should just have the checkbox turn into a spinner when you click it, and the X disappear. Not sure what to do if the backend returns an error, but we can handle that as followup.

Updated 22/03/2018 23:40 1 Comments

[SB] - Bugs

  1. Searching in the bar lists the correct shelter but once clicked, only displays Hope Atlanta info.
  2. Male and Children don’t work for the filters. –> optimize database so don’t have to use REGEX for searching.
  3. Have the list reset after you clear your search from the bar.
Updated 22/03/2018 23:27

dosummarizemembers_rsu: handle overlap by reducing prior record

ERROR:running.runsignup:overlap detected: Miller,Michael,2xxx-xx-xx end=2019-03-21 was start=2018-03-22 now start=2019-01-01

would better be handled by bringing in the end date of the previous record. This is because if the old record is deleted the new record will continue to overlap in the cache.

Operationally, rather than delete old record, should change end date to prior to new record.

Updated 22/03/2018 23:18

Chrome: Selecting the tracking code with one click does not work anymore


We have an angular directive <pre piwik-select-on-focus>...</pre> to select for example a code block with just one click. This is used for example when generating the tracking code. It is also used in other places for example by the Widgets screen to select a link or HTML, by Custom Dimensions, by plugins like A/B testing etc.

This is likely due to

image It likely still works for <textarea piwik-select-on-focus>...</textarea> but not for any other element.

Updated 22/03/2018 23:08 1 Comments

AdvancedFlagging link not showing on firefox


From this comment

I have an issue with Advanced Flagging not showing up as link below posts. I installed it from , refreshed an SO post website I had open, cancelled the MS dialog and opened another reported post. However the link still wasn’t there. I restarted my browser (Firefox 58.0.1) but still nothing. I also uninstalled Natty Reporter which I had previously installed. Any idea why that might happen?

Updated 22/03/2018 23:38 1 Comments

null value is ignored


As reported by Yves,

JSON causing the error { "SI": [{"zzreference": "1/53201/2018/000001", "land1": null, "fwbas": "40.10", "wears": "EUR", "stcteg": null, "kursf": "1", "wmwst": "0.00", "stras": null, "zztrans": "INSTOR", "pstlz": null, "budat": "2018-02-06", "wrbtr": "40.10", "ort01": null, "vat_rate": "0.0", "name1": null, "bidat": "2018-02-06"},

Fix ``` METHOD deserialize_node.

DATA l_json TYPE string. l_json = json.

DATA l_offset TYPE i. l_offset = offset_before. DATA(lv_offset_null) = offset_before.

DATA l_len TYPE i.

DATA : l_jsonnode TYPE REF TO zcl_mdp_json_node.

FIND REGEX ‘{|[|”|\d|t|f’ IN SECTION OFFSET l_offset OF json MATCH OFFSET l_offset. * correction >>>>>>>> FIND REGEX ‘{|[|n|\d|t|f’ IN SECTION OFFSET lv_offset_null OF json MATCH OFFSET lv_offset_null. IF lv_offset_null LT l_offset. l_offset = lv_offset_null. ENDIF. * correction <<<<<<<<

CASE l_json+l_offset(1). ```

Updated 22/03/2018 23:05

Stock module is broken


RIP, google finance API. looks like a solid choice but lacks the ability to select stock exchange. It’s not clear that that feature was ever really used anyway…

Updated 22/03/2018 23:05 1 Comments

Product Variant Scheme Extension Not Recognised Editing VariantForm.js


Issue Description

When trying to edit the extended productVariant field, using a new option created in variantForm.js nothing happens. However, if you manually extend the schema in lib/collections/schemas/products it works.

Steps to Reproduce

Please provide starting context, i.e. logged in as a user, configure a particular payment method. 1. Extend productVariant Schema

i.e. export const ExtendedProductVariantSchema = ProductVariant.clone().extend({ "lotCode": { optional: true, type: String, defaultValue: "Not Supplied", max: 30}); Products.attachSchema(ExtendedProductVariantSchema, { replace: true, selector: { type: "variant" } }); registerSchema("ProductVariant", ExtendedProductVariantSchema); }

  1. Add field in variantForm.js

i.e. <Components.TextField i18nKeyLabel="productVariant.lotCode" i18nKeyPlaceholder="productVariant.lotCode" placeholder="lotCode" label="Lot Code" name="lotCode" ref="lotCodeInput" value={this.variant.lotCode} onBlur={this.handleFieldBlur} onChange={this.handleFieldChange} onReturnKeyDown={this.handleFieldBlur} validation={this.props.validation} />

  1. Run and see if you can edit

I cannot 👎

  1. Manually copy field into productVariant Schema

Copy the field into productVariant in lib/collections/schemas/products

Now try and edit the field - I can 👍

Possible Solution

This has been an issue since 1.6 for me. I think it is due to an issue with how the schema is validated in variantFormContainer. However, no error is thrown.

I’m getting v. close to production so don’t have time to dig into this. However, I thought you would like to take a look. It’s not urgent, just annoying.


Node: 8.9.0 NPM: 5.7.1 Meteor Node: 8.9.4 Meteor NPM: 5.6.0 Reaction CLI: 0.29.0 Reaction: 1.9.0 Reaction branch: 1.9-update Docker: 17.12.0-ce

Updated 22/03/2018 23:11

IllegalArgumentException in onDispatchTouchEvent


Bug report impacting at least 30 users:

  at android.view.MotionEvent.nativeGetAxisValue (Native Method)
  at android.view.MotionEvent.getY (
  at android.widget.ScrollView.onTouchEvent (
  at android.view.View.dispatchTouchEvent (
  at android.view.ViewGroup.dispatchTransformedTouchEvent (
  at android.view.ViewGroup.dispatchTouchEvent (
  at fr.neamar.kiss.ui.ListPopup$ScrollView.dispatchTouchEvent (
  at fr.neamar.kiss.MainActivity.dispatchTouchEvent (
  at (
  at android.view.View.dispatchPointerEvent (
  at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (
  at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (
  at android.view.ViewRootImpl$InputStage.deliver (
  at android.view.ViewRootImpl$InputStage.onDeliverToNext (
  at android.view.ViewRootImpl$InputStage.forward (
  at android.view.ViewRootImpl$AsyncInputStage.forward (
  at android.view.ViewRootImpl$InputStage.apply (
  at android.view.ViewRootImpl$AsyncInputStage.apply (
  at android.view.ViewRootImpl$InputStage.deliver (
  at android.view.ViewRootImpl$InputStage.onDeliverToNext (
  at android.view.ViewRootImpl$InputStage.forward (
  at android.view.ViewRootImpl$InputStage.apply (
  at android.view.ViewRootImpl$InputStage.deliver (
  at android.view.ViewRootImpl.deliverInputEvent (
  at android.view.ViewRootImpl.doProcessInputEvents (
  at android.view.ViewRootImpl.enqueueInputEvent (
  at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (
  at android.view.InputEventReceiver.dispatchInputEvent (
  at android.os.MessageQueue.nativePollOnce (Native Method)
  at (
  at android.os.Looper.loop (
  at (
  at java.lang.reflect.Method.invoke (Native Method)
  at$ (
  at (

We discussed previously ( that the onDispatchTouchEvent might be something that can be removed completely, this could be a good reason to do it.

Full report: image

Updated 22/03/2018 22:56

Kalliope does not take care of the no voice for default synapse


When processing an API call with the ‘no_voice’ flag set to ‘true’, if the default neuron is triggered then the no_voice flag is not applied.

eg: curl -i --user admin:secret -H "Content-Type: application/json" -X POST -d '{"order":"random not working order","no_voice":"true"}' http://localhost:5000/synapses/start/order

log in Kalliope Core: [HookManager] calling synapses in hook name: on_order_not_found[LIFOBuffer] process_neuron_list: is_api_call: True, no_voice: False

Updated 22/03/2018 22:56 1 Comments

Hibák kezelése feladatszerkesztőnél


Elvárt viselkedés

Ha cím nélkül vagy input mező nélküli részfeladatot szeretnék létrehozni, kapjak figyelmeztetést.

Jelenlegi viselkedés

Hibaüzenetet kapok.

Lépések a viselkedés reprodukálásához

  • Hozz létre egy feladatot.
  • Metaadatoknál cím maradjon üresen.
  • Próbáld meg elmenteni.

VAGY: - Hozz létre egy feladatot. - Adj neki címet. - Hozz létre egy részfeladatot input mező nélkül. - Próbáld meg elmenteni.

Updated 22/03/2018 22:49

Some products which require Earthdata Login for download don't show warning banner


Some products (e.g., AIRS SO2 Prata Night) don’t show the Earthdata Login warning banner but may require using it to download data.

Here’s an example of the banner for Aura/MLS Water Vapor: mls-example

This likely requires adding the URS tag as described here to the relevant products:

MLS example usage here:

Updated 22/03/2018 22:42

Viewing profile after creating account crashes app


Currently when an account is created, the user document on the database only has firstName, lastName, and uid fields. When you view your profile, it expects school, major, year, and class fields as well causing it to crash.

Possible fix would be to create these fields when creating account but make them null to start.

Updated 22/03/2018 22:35

Calling write on a ServerSocketChannel fatal errors with bogus message


Expected behavior

Calling write on a ServerSocketChannel should fail the promise with ChannelError.unsupportedOperation.

Actual behavior

It fatal errors with a bogus message that suggests the subclass (which is ServerSocketChannel must implement a method)

Steps to reproduce

  1. create a server bootstrap
  2. bind
  3. .wait/.then
  4. write to the Channel returned (which is a ServerSocketChannel)

If possible, minimal yet complete reproducer code (or URL to code)

    let bootstrap = ServerBootstrap(group: group)
       .childChannelOption(ChannelOptions.socket(SocketOptionLevel(SOL_SOCKET), SO_REUSEADDR), value: 1)
    defer {
        try! group.syncShutdownGracefully()
    try! bootstrap.bind(host: "", port: 12345).wait().write(NIOAny("foo bar")).wait()

then connect to port 12345

SwiftNIO version/commit hash


Swift & OS version (output of swift --version && uname -a)


Updated 22/03/2018 22:40

Adding/Editing Projects and Indicators as Partner

  • [ ] adding a project as partner creating 500 bug
TypeError at /api/partner/250/partner-project-list/
Got a `TypeError` when calling `PartnerProject.objects.create()`. This may be because you have a writable field on the serializer class that is not a valid argument to `PartnerProject.objects.create()`. You may need to make the field read-only, or override the PartnerProjectSerializer.create() method to handle this correctly.
Original exception was:
 Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/rest_framework/", line 916, in create
    instance = ModelClass.objects.create(**validated_data)
  File "/usr/local/lib/python3.6/site-packages/django/db/models/", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/django/db/models/", line 392, in create
    obj = self.model(**kwargs)
  File "/usr/local/lib/python3.6/site-packages/django/db/models/", line 572, in __init__
    raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
TypeError: 'funding_source' is an invalid keyword argument for this function

Screen Shot 2018-03-22 at 3.29.55 PM.png

  • [ ] Funding source not saving when editing project

Screen Shot 2018-03-22 at 3.31.01 PM.png

  • [ ] Make sure we call check_progress_values in Cluster indicator serializer update method.

  • [ ] update Polymer code in add cluster objective to use cluster_title

Screen Shot 2018-03-22 at 3.45.47 PM.png

  • [ ] getting errors adding a cluster activity. Polymer needs to update. Screen Shot 2018-03-22 at 4.24.59 PM.png
Updated 22/03/2018 23:25

ImmersiveCraft Placers and Carry-On Interaction


### Issue / bug - Carry-On lets you pick up the ‘placers’ that ImmersiveCraft uses to hang items on the wall.

To Reproduce: Hang an item using ImmersiveCraft by pressing P with it in your hand onto a block. Then shift right click the the same side of the block and instead of picking up the block, it’ll pick up the ‘placer’ item that ImmersiveCraft uses to hang items. Maybe blacklist ImmersiveCraft placers from Carry On?

Updated 22/03/2018 23:19

Current Dockerfile build breaks





When running a docker run from a raw image the container will crash

Error log

  return process.dlopen(module, path._makeLong(filename));

Error: Dynamic loading not supported
    at Object.Module._extensions..node (module.js:672:18)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Module.require (module.js:587:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/app/node_modules/bcrypt/bcrypt.js:6:16)
    at Module._compile (module.js:643:30)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Module.require (module.js:587:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/app/lib/connector.js:2:16)
    at Module._compile (module.js:643:30)
    at Object.Module._extensions..js (module.js:654:10)
    at Module.load (module.js:556:32)
    at tryModuleLoad (module.js:499:12)
    at Function.Module._load (module.js:491:3)
    at Module.require (module.js:587:17)
    at require (internal/module.js:11:18)
Updated 22/03/2018 22:23

Compatibility distance is too small


Expected Behavior

When you check the compatibility distance is too small, it should not be that small. I think.

Actual Behavior

I don’t know what the actual numbers need to be but it all shouldn’t be zero. Also the problem might be coming from either no real nodes getting added to the networks or the function needs some context, or those are the correct numbers and we just need to standardize them.

Steps to Reproduce the Behavior

Just run the program it displays the compatibility distance by itself.

Updated 22/03/2018 22:21

adding instance.reload() in services


<!– Hello! You are filling a PR, thank you! Before we can merge that, we’ll need to check everything is ok. Help us with the review by carefully filling the following information: –>

<!– Don’t forget to add meanfull label to your PR –>

Description of your PR

<!– Short description of your PR –> Will close #89

Pre-review TODO

<!– Put a x in the boxes [ ] to indicate completion. –>

<!– You must respect the following requirement before ask for a merge to. –>

  • [ x ] PR is rebased on top of origin/master <!– DO: git fetch && git rebase origin/master –>
  • [ ] PR provide new tests for new behaviors
  • [ x ] PR doesn’t introduce commented out code
  • [ x ] PR has been tested locally on the main use cases
  • [ x ] Documentation have been updated if necessary

More details about this PR

une branche a déjà été créée pour fix cette issue, je vous laisse supprimer la vieille. <!– Add anything else you want to say here! –>

Updated 22/03/2018 22:21

Fix all the files that fail to compare correctly


Commits 3224e949ff2fbed3e17e6abd31ad6558a4867a4f…6352249e535fdb1e8cf84b54829fa4c17824f14d have added files to the testsuite from libnogg as well as from xiphmont. Some are commented out however, as lewton shows mismatches to libvorbis.

xiph testsuite failures (27 test files in total):

  • [ ] chain-test1.ogg
  • [x] chain-test2.ogg (e051c7efba1e023e7cdcf6e64396fb7a8ff66947)
  • [ ] chain-test3.ogg
  • [ ] singlemap-test.ogg
  • [ ] unused-mode-test.ogg

libnogg testsuite failures (32 test files in total):

  • [ ] 6ch-all-page-types.ogg
  • [ ] 6ch-long-first-packet.ogg
  • [x] 6ch-moving-sine-floor0.ogg (71190ca6d0c4e92f5b25ec2615016b1f5951efd9)
  • [ ] 6ch-moving-sine.ogg
  • [ ] bad-continued-packet-flag.ogg (apparently an invalid file… is the error legitimate here?)
  • [ ] noise-6ch.ogg
  • [ ] single-code-2bits.ogg
  • [ ] single-code-nonsparse.ogg
  • [ ] single-code-ordered.ogg
  • [ ] single-code-sparse.ogg
  • [ ] square-interleaved.ogg
  • [ ] square-with-junk.ogg (probably a legit failure… the ogg decoder just has lower tolerance limits on the amount of junk. not sure about the exact number but I think it is > 0)
Updated 22/03/2018 22:17

Date range validation fails for dates between year 0 and 99


Bug Report

Steps to reproduce

Example document definitions configuration:

  myDocType: {
    typeFilter: simpleTypeFilter,
    channels: { write: '!' }, // Allows all users to add, replace or remove docs of this type
    propertyValidators: {
      date: {
        type: 'date',
        minimumValue: '1900-01-01'
  1. Generate a sync function from the example document definitions above (e.g. ./make-sync-function -j /path/to/example-doc-definitions.js build/example-sync-function.txt)
  2. Copy and paste the generated sync function into a Sync Gateway configuration file
  3. Launch Sync Gateway with the Sync Gateway configuration file (e.g. bin/sync_gateway /path/to/sync-gateway-config.json)
  4. Add a new document with a year between 0 and 99. For example:
PUT /test/year-bug-test-1 HTTP/1.1
Host: localhost:4985
Content-Type: application/json

    "type": "myDocType",
    "date": "0097-07-17"

Actual behaviour

The document is created and Sync Gateway responds with 201 Created because a year between 0 and 99 is interpreted as a year between 1900 and 1999 (more info).

Expected behaviour

The document should be rejected because the date’s year is less than the minimum year of 1900.


  • Synctos: 2.2.1
  • Couchbase Server: 5.0.1 CE
  • Sync Gateway: 1.5.1
  • Operating system: macOS High Sierra
Updated 22/03/2018 22:29

Részfeladatok számozása


Elvárt viselkedés

Ha új részfeladatot hozok létre, az a lista végére kerüljön.

Jelenlegi viselkedés

Ha közben egy részfeladatot kitöröltem, akkor az új részfeladat ennek a “helyére” kerül.

Lépések a viselkedés reprodukálásához

  • Hozz létre 5 részfeladatot.
  • Töröld az első 4-et.
  • Hozz létre egy új részfeladatot.
Updated 22/03/2018 22:11 1 Comments

JSON::LD::JsonLdError::LoadingRemoteContextFailed in index#show


Error in Data

JSON::LD::JsonLdError::LoadingRemoteContextFailed in index#show loading remote context failed: can’t create Thread: Resource temporarily unavailable

View on Bugsnag


config/initializers/mime_types.rb:42 - block (2 levels) in <top (required)>
app/controllers/index_controller.rb:49 - show

View full stacktrace

Created automatically via Bugsnag

Updated 22/03/2018 22:09

Edit tags dialog opens the list of tags by default


When editing the tags associated with a tenant, the dialog automatically expands the list of tags for the first set.

I think this has to do with the autofocus on the first form element.


the default edit state forces me to select a tag or click away. If I do select a tag, it doesn’t do anything. It goes to the natural edit state where i could click and make changes.

Updated 22/03/2018 22:05

Fail with proper exit codes


Currently, there are some cases when an error is thrown and the program terminates with a 0 exit code, whereas it should return a non-zero code:

We could utilize the error handler and simply throw exceptions in these cases. Also, we shouldn’t exit the program while we run unit tests, since it would cause jest to fail.

Awesome work BTW 😄

Updated 22/03/2018 22:57 1 Comments

Bkprt py3 consul kv


Backport consul_kv python3 fix

  • Bugfix Pull Request

<!— Name of the module, plugin, module or task –> lib/ansible/modules/clustering/


<!— Paste verbatim output from “ansible –version” between quotes below –> 2.5

Updated 22/03/2018 22:07 1 Comments

[mtouch] Support netstandard library nugget package with reference assembly


See test case:

In this test case the iOS project references a netstandard class library, which references a Nuget Package (System.Runtime.CompilerServices.Unsafe) but the app does NOT reference that package directly.

In this specific case mtouch will fail with MTOUCH : error MT2101: Can’t resolve the reference ‘!!1& System.Runtime.CompilerServices.Unsafe::As(!!0&)’, referenced from the method ‘System.Void LibWithPackage.Class1::Test()’ in ‘System.Runtime.CompilerServices.Unsafe, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’. as it doesn’t have a reference to System.Runtime.CompilerServices.Unsafe.dll.

Full build log:


Updated 22/03/2018 21:59

[Android] Oreo "Add to dictionary" can result in 2 OSK being displayed


On Oreo, the in-app text field will underline “mispelled” words. Selecting Add to dictionary will result in 2 OSK being displayed 2 osk

Test Configuration

Found testing Keyman for Android 10.0.373 on Android 8 Oreo emulator (Pixel 2)


  1. From Get Started, select “Enable Keyman as system-wide keyboard” and “Set Keyman as default keyboard”
  2. In the app, download Lao 2008 Basic keyboard
  3. Type “ພາສາລາວ”
  4. Oreo underlines “ພາສາ” in red mispelled

  5. Select “Add to dictionary”

  6. There’s now 2 OSK (bottom one doesn’t work)


  1. We should disable the auto-suggest in the text area (if possible)
  2. Hide system OSK within the app
Updated 22/03/2018 21:56

Fork me on GitHub