Detox hangs after launching app, hits jest timeout

Description

Detox correctly loads up and runs the app, but gets hung when the app is in the foreground. Based on #689 it's because the app is having trouble communicating with the detox server.
What is weird is that everything runs fine on x86 android 27 but does not on arm64 android 25. Device configs are pretty much identical. I need the arm64 because I'm doing CI and I want it to run on AWS ec2 which doesn't have KVM support needed by x86. I love Travis but it is not an option at the moment.
Steps to Reproduce

init.js
const detox = require('detox');
const config = require('../package.json').detox;

// Set the default timeout
jasmine.DEFAULT_TIMEOUT_INTERVAL = 120000;

beforeAll(async () => {
  await detox.init(config, {launchApp: false});
});

afterAll(async () => {
  await detox.cleanup();
});

first test that runs looks something like
describe('Profile Page', () => {

  beforeAll(async () => {
    await device.launchApp({ permissions: { notifications: 'YES' } });
    await starterKit.generateSampleSession();
  });

  beforeEach(async () => {
    await device.reloadReactNative();
    await starterKit.loadAccountPage();
    const userFirstName = element(by.id('userFirstName'));
    await expect(userFirstName).toExist();
  });

  it('should allow the user to edit their profile', async () => {
    const profile = element(by.id('Profile'));
    await expect(profile).toExist();
    await expect(profile).toBeVisible();
    await profile.tap();
  });
});

Standard release config
"android.emu.release": {
        "binaryPath": "android/app/build/outputs/apk/release/app-release.apk",
        "build": "cd android && ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release && cd ..",
        "type": "android.emulator",
        "name": "Nexus_One_API_25"
      }

Detox, Node, Device, Xcode and macOS Versions

Detox 7.0.1, upgraded to 7.3.7 but still hit the issue
React native 0.50
Node 9.3.0
Android 25 arm64-v8a on emulator
Mac osx 10.13.4

Device and verbose Detox logs

Macbook-Pro:iris $ ./node_modules/.bin/detox --loglevel wss test -c android.emu.release
node_modules/.bin/jest e2e --config=e2e/config.json --runInBand --testNamePattern='^((?!:ios:).)*$'
 server listening on localhost:51598...
 onOpen [object Object]
 send: {"type":"login","params":{"sessionId":"d8dbdb72-4566-4c3b-d1f7-d9f9e1d050a5","role":"tester"},"messageId":0}
 role=tester login (sessionId=d8dbdb72-4566-4c3b-d1f7-d9f9e1d050a5)
 role=tester action=loginSuccess (sessionId=d8dbdb72-4566-4c3b-d1f7-d9f9e1d050a5)
 onMessage: {"type":"loginSuccess","params":{"sessionId":"d8dbdb72-4566-4c3b-d1f7-d9f9e1d050a5","role":"tester"},"messageId":0}
  rbx
 : /Users//Library/Android/sdk/tools/emulator -list-avds --verbose
 Nexus_5X_API_27
 Nexus_One_API_25
 Nexus_S_API_25
 headless:
 integout:
 integration
 : stdout:
 -verbose -gpu auto -no-audio @Nexus_One_API_25tor
 emulator: Android virtual device file at: /Users//.android/avd/Nexus_One_API_25.ini
 emulator: virtual device content at /Users//.android/avd/Nexus_One_API_25.avd
 emulator: virtual device config file: /Users//.android/avd/Nexus_One_API_25.avd/config.ini
 emulator: using core hw config path: /Users//.android/avd/Nexus_One_API_25.avd/hardware-qemu.ini
 emulator: using snapshot lock path: /Users//.android/avd/Nexus_One_API_25.avd/snapshot.lock
 emulator: Found AVD target API level: 25
 emulator: Read property file at /Users//Library/Android/sdk/system-images/android-25/google_apis/arm64-v8a//build.prop
 emulator: No boot.prop property file found.
 emulator: Warning: config.ini contains invalid skin.path entry: _no_skin
 emulator: autoconfig: -skin 480x800
 emulator: autoconfig: -skindir (null)
 emulator: autoconfig: -kernel /Users//Library/Android/sdk/system-images/android-25/google_apis/arm64-v8a//kernel-ranchu
 emulator: Target arch = 'arm64'
 emulator: Auto-detect: Kernel image requires new device naming scheme.
 emulator: Auto-detect: Kernel does not support YAFFS2 partitions.
 emulator: autoconfig: -ramdisk /Users//Library/Android/sdk/system-images/android-25/google_apis/arm64-v8a//ramdisk.img
 emulator: Using initial system image: /Users//Library/Android/sdk/system-images/android-25/google_apis/arm64-v8a//system.img
 emulator: No vendor image
 emulator: autoconfig: -data /Users//.android/avd/Nexus_One_API_25.avd/userdata-qemu.img
 emulator: autoconfig: -initdata /Users//.android/avd/Nexus_One_API_25.avd/userdata.img
 emulator: autoconfig: -cache /Users//.android/avd/Nexus_One_API_25.avd/cache.img
 emulator: autoconfig: -sdcard /Users//.android/avd/Nexus_One_API_25.avd/sdcard.img
 emulator: Physical RAM size: 2048MB
 tdout
 emulator: VM heap size 96MB is below hardware specified minimum of 192MB,setting it to that value
 emulator: System image is read only
 emulator: autoconfig: -no-snapshot from AVD config.ini
 emulator: Found 1 DNS servers: <IP_ADDRESS>
 emulator: ERROR: There's another emulator instance running with the current AVD 'Nexus_One_API_25'. Exiting...
 tdout
 tdout
 : /Users//Library/Android/sdk/platform-tools/adb  devices
 List of devices attached
 emulator-5556	device
 : stdout:
 : stdout:
3: /Users//Library/Android/sdk/platform-tools/adb -s emulator-5556 shell getprop d v.bootcomplete
 1 stdout:
 : stdout:
4: /Users//Library/Android/sdk/platform-tools/adb -s emulator-5556 shell input key vent 82
5: /Users//Library/Android/sdk/platform-tools/adb -s emulator-5556 uninstall com.m eatclub
 Successt:
 : stdout:
6: /Users//Library/Android/sdk/platform-tools/adb -s emulator-5556 uninstall com.m eatclub.test
 Successt:
 : stdout:
7: /Users//Library/Android/sdk/platform-tools/adb -s emulator-5556 shell getprop r .build.version.sdk
 25stdout:
 : stdout:
8: /Users//Library/Android/sdk/platform-tools/adb -s emulator-5556 install -r -g / sers//iris/android/app/build/outputs/apk/release/app-release.apk
 Successt:
 : stdout:
9: /Users//Library/Android/sdk/platform-tools/adb -s emulator-5556 shell getprop r .build.version.sdk
 25stdout:
 : stdout:
10: /Users//Library/Android/sdk/platform-tools/adb -s emulator-5556 install -r -g /Users//iris/android/app/build/outputs/apk/androidTest/release/app-release-android est.apk
 Successut:
 0: stdout:
11: /Users//Library/Android/sdk/platform-tools/adb -s emulator-5556 shell pm list  nstrumentation
 instrumentation:com.android.emulator.smoketests/android.support.test.runner.AndroidJUnitRunner (target=com.android.emulator.smoketests)
 instrumentation:com.android.smoketest.tests/com.android.smoketest.SmokeTestRunner (target=com.android.smoketest)
 instrumentation:com.example.android.apis/.app.LocalSampleInstrumentation (target=com.example.android.apis)
 instrumentation:com.myeatclub.test/android.support.test.runner.AndroidJUnitRunner (target=com.myeatclub)
 instrumentation:org.chromium.webview_shell/.WebViewLayoutTestRunner (target=org.chromium.webview_shell)
 1: stdout:
/Users//Library/Android/sdk/platform-tools/adb -s emulator-5556 shell am instrument -w -r -e detoxServer ws://localhost:51598 -e detoxSessionId d8dbdb72-4566-4c3b-d1f7-d9f9 1d050a5 -e debug false com.myeatclub.test/android.support.test.runner.AndroidJUnitRunner
 23112mentation spawned, childProcess.pid:
 send: {"type":"isReady","params":{},"messageId":-1000}
 role=tester action=isReady (sessionId=d8dbdb72-4566-4c3b-d1f7-d9f9e1d050a5)
 role=testee not connected, cannot fw action (sessionId=d8dbdb72-4566-4c3b-d1f7-d9f9e1d050a5)
 INSTRUMENTATION_STATUS: numtests=1
 nstrumentation stdout:
 nstrumentation stdout:
 INSTRUMENTATION_STATUS: stream=
 com.myeatclub.DetoxTest:
 nstrumentation stdout:
 nstrumentation stdout:
 INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
 nstrumentation stdout:
 nstrumentation stdout:
 INSTRUMENTATION_STATUS: test=runDetoxTests
 nstrumentation stdout:
 nstrumentation stdout:
 INSTRUMENTATION_STATUS: class=com.myeatclub.DetoxTest
 nstrumentation stdout:
 INSTRUMENTATION_STATUS: current=1
 nstrumentation stdout:
 nstrumentation stdout:
 INSTRUMENTATION_STATUS_CODE: 1
 nstrumentation stdout:
 nstrumentation stdout:

 RUNS  e2e/profile.spec.js

Form the log it seems like everything works correctly. Arm emulators are somewhere between 10 to 50 times slower, is going to be a very bad experience (I wouldn't even bother try running on arm since it really is too slow).
Travis doesn't support x86 either. 😒

@wontonst We were using CircleCI in our project, but then decided to try Bitrise. It took more than an hour to migrate our configuration to the service. They allow to use x86 Android emulators on Linux-based containers.

@rotemmiz thanks for getting back to me. my thought process is I slug through this awful arm slowness, then forget about it and let the ci tests take however long they want to take. I'm also a masochist for frustrating tech issues 😃
Here are some more logs of when detox hangs, do these look normal? The line testee not connected, cannot fw action doesn't seem right.
11: /Users//Library/Android/sdk/platform-tools/adb -s emulator-5554 sh ll pm list instrumentation
 instrumentation:com.android.emulator.smoketests/android.support.test.runner.AndroidJUnitRunner (target=com.android.emulator.smoketests)
 instrumentation:com.android.smoketest.tests/com.android.smoketest.SmokeTestRunner (target=com.android.smoketest)
 instrumentation:com.example.android.apis/.app.LocalSampleInstrumentation (target=com.example.android.apis)
 instrumentation:com.myeatclub.test/android.support.test.runner.AndroidJUnitRunner (target=com.myeatclub)
 instrumentation:org.chromium.webview_shell/.WebViewLayoutTestRunner (target=org.chromium.webview_shell)
 1: stdout:
/Users//Library/Android/sdk/platform-tools/adb -s emulator-5554 shell am instrument -w -r -e detoxServer ws://localhost:60589 -e detoxSessionId f3e341a9-ae39-ccc5-cfde-03c356aab2e9 -e debug false com.myeatclub.test/android.sup ort.test.runner.AndroidJUnitRunner
 35945mentation spawned, childProcess.pid:
 send: {"type":"isReady","params":{},"messageId":-1000}
 role=tester action=isReady (sessionId=f3e341a9-ae39-ccc5-cfde-03c356aab2e9)
 role=testee not connected, cannot fw action (sessionId=f3e341a9-ae39-ccc5-cfde-03c356aab2e9)
 INSTRUMENTATION_STATUS: numtests=1
 nstrumentation stdout:
 nstrumentation stdout:
 INSTRUMENTATION_STATUS: stream=
 com.myeatclub.DetoxTest:
 nstrumentation stdout:
 nstrumentation stdout:
 INSTRUMENTATION_STATUS: id=AndroidJUnitRunner
 nstrumentation stdout:
 nstrumentation stdout:
 INSTRUMENTATION_STATUS: test=runDetoxTests
 nstrumentation stdout:
 nstrumentation stdout:
 INSTRUMENTATION_STATUS: class=com.myeatclub.DetoxTest
 nstrumentation stdout:
 nstrumentation stdout:
 INSTRUMENTATION_STATUS: current=1
 nstrumentation stdout:
 nstrumentation stdout:
 INSTRUMENTATION_STATUS_CODE: 1
 nstrumentation stdout:
 nstrumentation stdout:
 send: {"type":"reactNativeReload","params":{},"messageId":-1000}
 role=tester action=reactNativeReload (sessionId=f3e341a9-ae39-ccc5-cfde-03c356aab2e9)
 role=testee not connected, cannot fw action (sessionId=f3e341a9-ae39-ccc5-cfde-03c356aab2e9)
 send: {"type":"invoke","params":{"target":{"type":"Class","value":"com.wix.detox.espresso.DetoxAssertion"},"method":"assertMatcher","args":[{"type":"Invocation","value":{"target":{"type":"Class","value":"android.support.test.espresso.Espresso"},"method":"onView","args":[{"type":"Invocation","value":{"target":{"type":"Class","value":"com.wix.detox.espresso.DetoxMatcher"},"method":"matcherForTestId","args":["Profile"]}}]}},{"type":"Invocation","value":{"target":{"type":"Class","value":"com.wix.detox.espresso.DetoxMatcher"},"method":"matcherForNotNull","args":[]}}]},"messageId":1}
 role=tester action=invoke (sessionId=f3e341a9-ae39-ccc5-cfde-03c356aab2e9)
 role=testee not connected, cannot fw action (sessionId=f3e341a9-ae39-ccc5-cfde-03c356aab2e9)
 send: {"type":"reactNativeReload","params":{},"messageId":-1000}
 role=tester action=reactNativeReload (sessionId=f3e341a9-ae39-ccc5-cfde-03c356aab2e9)
 role=testee not connected, cannot fw action (sessionId=f3e341a9-ae39-ccc5-cfde-03c356aab2e9)
 send: {"type":"invoke","params":{"target":{"type":"Class","value":"com.wix.detox.espresso.DetoxAssertion"},"method":"assertMatcher","args":[{"type":"Invocation","value":{"target":{"type":"Class","value":"android.support.test.espresso.Espresso"},"method":"onView","args":[{"type":"Invocation","value":{"target":{"type":"Class","value":"com.wix.detox.espresso.DetoxMatcher"},"method":"matcherForTestId","args":["Change Password"]}}]}},{"type":"Invocation","value":{"target":{"type":"Class","value":"com.wix.detox.espresso.DetoxMatcher"},"method":"matcherForNotNull","args":[]}}]},"messageId":2}
 role=tester action=invoke (sessionId=f3e341a9-ae39-ccc5-cfde-03c356aab2e9)
 role=testee not connected, cannot fw action (sessionId=f3e341a9-ae39-ccc5-cfde-03c356aab2e9)
 FAIL  e2e/profile.spec.js (756.138s)
  ● Profile Page › should allow the user to edit their profile

    Timeout - Async callback was not invoked within the 120000ms timeout specified by jest.setTimeout.

      at ../node_modules/jest-jasmine2/build/queue_runner.js:72:21
      at Timeout.callback [as _onTimeout] (../node_modules/jsdom/lib/jsdom/browser/Window.js:633:19)


Adds Federated Ingress DNS documentation

Adds documentation explaining federated ingress dns and how to use the feature.
/cc @shashidharatd @gyliu513

/cc @pmorie

@gyliu513 I'll make the naming changes that you suggest in your review with a slight variation. Instead of specifically referencing Goog Cloud DNS, I'm going to reference the ExternalDNS project. This is because a) some sections are not specific to goog cloud dns and b) a new section in this doc can be added to support provider specific implementation steps.

@pmorie @gyliu513 @shashidharatd are you OK with me using Federated instead of Multi-Cluster in this document? I know the code and other docs refer to this feature as multi cluster service dns.

@pmorie yes, I was able to get serviceDNS working last week. I should have time before Thanksgiving break to update this PR.

I am going to wait for https://github.com/kubernetes-sigs/federation-v2/pull/326 to merge before refactoring this doc.

/approve

/approve


feat: MM2 exactly-once delivery

About this change—what it does
We update the aivenMirrorMakerReplicationFlowSchema with exactly_once_delivery_enabled config flag so users can toggle the exactly once message delivery semantics.

tests


AssertionError: Keyword argument not understood: dropout?

model = Sequential()
model.add(Embedding(max_features, 128, input_length=maxlen, dropout=0.5))
model.add(LSTM(128, dropout_W=0.5, dropout_U=0.1))  # try using a GRU instead, for fun
model.add(Dropout(0.5))
model.add(Dense(1))
model.add(Activation('sigmoid'))

# try using different optimizers and different optimizer configs
model.compile(loss='binary_crossentropy',
              optimizer='adam',
              class_mode="binary")

AssertionError: Keyword argument not understood: dropout_U

Have you looked at the new issue checklist? Are you using keras from git?

To post this message, you had to deleted the following message:

[ ] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/fchollet/keras.git --upgrade --no-deps

[ ] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

Just for info, it worked with me
pip install git+git://github.com/fchollet/keras.git --upgrade --no-deps


Tweak the conversion script to be independent of naming conventions

In the past we assumed a set path for layer names. But if someone adds a "/"
then this breaks the conversion. Now we do a recursive search through each
level of the HDF5 path to see if it's a Group or Dataset. It stops and
returns the dataset.

Solves #72 which turned out to not really be what the issue was about.

Cool thanks for fixing this josh. It seems a bit weird that we need to do a recursive search of groups to find matches (and I worry about how this could break): shuldn't there be a unique path determined by the architecture file?
Anyway, I guess for now we focus on something that works and start thinking about how to clean up the converters in general.

I couldn't think of a foolproof way to always get the path to the dataset. As Andreas's example showed there might be some unknown string attached to the path that doesn't show up in the "name" parameter of the config.
The only immediate way I can see this breaking is if in some hdf5 config file you have a group mixed in with a dataset. I.e.:
batch_normalization_2
gamma
beta

But this would be downright weird and I don't think hdf5 supports this.
The advantage of this method is that we really don't care how people name the layers, or even how tensorflow vs theano vs sklearn will save the parameters which is quite useful.

hdf5 lets you mix groups and datasets, but I agree that I haven't seen the structure you're talking about. What I don't understand is how Keras finds the datasets when it loads them. I tried to figure this out based on the topology module:
https://github.com/fchollet/keras/blob/master/keras/engine/topology.py
but it's not exactly clear from a quick glance


AMBARI-23031 View name is not displayed in ambari-views page

How was this patch tested?
Tested manually.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/705/
Test PASSed.


Display a warning if notebooks saves files outside the output/product folder

It's possible that the original notebook already creates new files, we should show a warning if that's the case and tell the use to register them as products (include a short guide to explain how to do it)

Hey @edublancas , Is there any quick way to find out whether a python file will generate new files? I googled it but did not find any references. Perhaps we could just check if there is any line similar to open()? But there are too many ways for python to create a file.

And by registering them as products, do you mean in pipeline.yaml, add something under products?

Hey @edublancas , Is there any quick way to find out whether a python file will generate new files? I googled it but did not find any references. Perhaps we could just check if there is any line similar to open()? But there are too many ways for python to create a file.

Yes that's exactly the approach, covering open, Path and the rest of the python native handlers will give us pretty good coverage to start with!

And by registering them as products, do you mean in pipeline.yaml, add something under products?

Yes, the first step is to giving a guidance on how to add a product, the next step is adding it for them.

Sorry what do you mean by back burner?

So for this task, we only need to warn the user that the notebook is storing files. Then we can work on automatically adding them as products.
Here's an example of what's expected.
Say my notebook contains the following:
import pandas as pd

# cell 1
with open('file.txt', 'w') as f:
    f.write('text')

# cell 1
another = open('file.txt', 'w')
another.write('more text')

# cell 2
df = load_data_frame()
df.to_csv('output.csv')

We should output something like
Looks like the following lines are storing files:

with open('file.txt', 'w') as f:
    f.write('text')

another.write('more text')

df.to_csv('output.csv')

Please add them as products: [URL to show how to add products to pipeline.yaml]

To detect those things, you can use parso (which we already use in soorgeon in the soorgeon refactor) logic. You can take a look at the existing code to have an idea of how it works.
Essentially, we need to traverse the code and look for places where the user might be storing files. This file can help you get an idea of how to write such feature: https://github.com/ploomber/soorgeon/blob/03229806b905e7715d1c3ee0413ff5a3bc30b71c/src/soorgeon/io.py
Since there are many ways to store files, we are ok just covering the most common ones:

open('something')
Path('something').write_text('stuff')
Path('something').write_bytes('stuff')
df.to_csv
df.to_parquet

This is a challenging issue so feel free to ask questions!

For the last part, what's the url  for teaching users about adding the outputs to pipeline?

We can use this guide


GHA should not update version using tags. version set to 2.0.0a1

Closing in favor of https://github.com/ROCmSoftwarePlatform/triton/pull/131.


Some links were left

Changed links left to target demo model

Feel free to merge after verifying the formatted document is working as intended. I think everything's good.


Can you clarify how to use local build of docs?

Could you guys clarify how to use the local build of the docs?  I know that I can run  docker-compose -f docker-compose.yml up -d to launch the containers and that I can access the home page at http://localhost:4000.  But the links to the deployment pages seem broken since they point to things like http://localhost:4000/microservices-demo/deployment/docker-compose.html which is actually available at http://localhost:4000/deployment/docker-compose.html.
I presume that I am supposed to edit _config.yml.dev, or possibly rename it temporarily to _config.yml while renaming _config.yml to _config.yml.prod.
Could someone clarify that?
Thanks

Hi @rberlind, there is in fact some issue with the build system. I don't really understand the reason of having a config.yml.dev.
Hopefully this PR could help you getting started: https://github.com/microservices-demo/microservices-demo.github.io/pull/75.

Thanks.  I don't need to do this anymore since I switched jobs.


Review RTL performance

@julianoes @tumbili In this log the user reported that he had to abort RTL. I'm not sure yet what was exactly going on.

RTL failure:
http://logs.uaventure.com/view/u4aZuZJYjeZuS3PwdGYBCF
Mission successful:
http://logs.uaventure.com/view/Rj4TSTuEZU3Y2mvwPeRjaJ

@tumbili If we are missing data here to do the analysis properly (e.g. the home position) we should pimp our tools.

We probably hit the same issue, triggering RTL via command after offboard flight. The climb to RTL height worked as expected but returning to home didn't behave.
http://logs.uaventure.com/view/4Am2auDFHwDXtCmc8CPEzR

@julianoes @tumbili This is our absolute first priority. We need to nail this ASAP.

@julianoes This is another log (linked above already): http://logs.uaventure.com/view/u4aZuZJYjeZuS3PwdGYBCF

@julianoes @tumbili Since it affects mostly RTL I'm wondering if its related to home position yaw handling.

@kd0aij Could you share a log of your yaw tracking issue here as well?

https://github.com/PX4/Firmware/issues/3534#issue-127252193

Fixed on master via c9b1fb154d3e6ea1bbb28401688811a59c0f6543


Fix App_offline and start adding tests

Will work on adding a few more test cases. For #950

Make sure this change doesn't cause process exit for inprocess TestServer

🆙 📅 . I would also say app_offline is not really a testable scenario for the hostable webcore skew as it requires dropping app_offline in a bin local folder.

I'm not worried about testing app_ofline on HWC, I'm worried that calling HWCShutdown which we do in test server would kill the process.

This wouldn't hit shutdown for HWC because exit is only called from recycle, not shutdown.

Add a test where you delete app_offline and the start the app.

What about outofproc?

I'll file an issue for out of proc once this is merged.

This wouldn't hit shutdown for HWC because exit is only called from recycle, not shutdown.

But Recycle is called from ExecuteApplication after main exits.


[Encryption] CloudError: Unwrap of secret  value using key  failed.

OS trying to encrypt on build: Ubuntu 16.04
Python API: v2018_10_01
Azure RBAC:
SPN Account: Contributor Role
Key Vault Info:
Access Policies:
SPN Account:
Key Permissions: Get, List, Decrypt, Encrypt, Unwrap, Wrap, Verify, Sign
Secret Permissions: Get, List
Certificate Permissions: Get, List, Update, Create, Get Certificate Authorities, List Certificate Authorities
Certificate: Self-Signed
Secret: Auto-generated from cert upload
Key: Auto-generated form cert upload
Certificate tags:
DiskEncryptionKeyFileName : LinuxPassPhraseFileName
DiskEncryptionKeyEncryptionAlgorithm : RSA-OAEP
Python snippet:
    vm_parameters = {
        'location': data["location"],
        'os_profile': {
            'computer_name': data["server_hostname"],
            'admin_username': self.USERNAME,
            'linux_configuration': {
             "disable_password_authentication": True,
             "ssh": {
                 "public_keys": [{
                     "path": "/home/{}/.ssh/authorized_keys".format(self.USERNAME),
                 "key_data": self.PUBLIC_KEY
                     }]
                }
            }
        },
        'hardware_profile': {
            'vm_size': profile_data.DISK_PROFILES[data["os_profile"]]
        },
        'storage_profile': {
            'image_reference': {
                'publisher': vm_reference['publisher'],
                'offer': vm_reference['offer'],
                'sku': vm_reference['sku'],
                'version': vm_reference['version']
            }
        },
        'network_profile': {
            'network_interfaces': [{
                 'id': nic_id,
            }]
        },
    }

    if 'encrypt' in data:
        if data['encrypt'] == u"on":
            vault_secret_url = profile_data.VAULT_SECRET_URL
            vault_source = profile_data.VAULT_SOURCE
            key_encryption_key_url = profile_data.KEY_ENCRYPTION_KEY_URL

            disk_encryption_key = {'secret_url': vault_secret_url, 'source_vault': vault_source}
            key_encryption_key = {'key_url': key_encryption_key_url, 'source_vault': vault_source}
            enabled = {'enabled': True}

            vm_parameters['storage_profile']['os_disk'] = {
                "encryption_settings": {
                    "disk_encryption_key": {
                        "secret_url": vault_secret_url,
                        "source_vault": {
                            "id": vault_source
                            }
                        },
                    "key_encryption_key": {
                        "key_url": key_encryption_key_url,
                        "source_vault": {
                            "id": vault_source
                            }
                        }
                    },
                "create_option": 'FromImage',
                }

    async_vm_creation = self.compute_client.virtual_machines.create_or_update(self.GROUP_NAME, data["server_name"], vm_params)

    async_vm_creation.wait()

Seems to be an API related issue.  Any insight into building an encrypted VM on build.  Builds / deletes with no issues if encryption is not enabled.  It's the same query as the example in the following link:
https://docs.microsoft.com/en-us/python/api/overview/azure/virtualmachines?view=azure-python
Except the added in portion of strorage_profile.  Uncertain if I am doing it correctly.
Thank you.

Hi @l0nedigit can you share the complete stacktrace?
@yugangw-msft @williexu thoughts?

A lot of the traceback includes custom files, but the last 3 lines should be pertinent.  Included the poller.py source code as well.
[2019-03-11 19:44:33,936: ERROR/ForkPoolWorker-1] Task create_server[dcb58338-ac87-47e0-ac44-2409a4fa9244] raised unexpected: ClientException(u'Unwrap of secret  value using key  failed.',)
Traceback (most recent call last):
File "~/.local/lib/python2.7/site-packages/celery/app/trace.py", line 382, in trace_task
R = retval = fun(*args, **kwargs)
File "celery_application.py", line 16, in call
return TaskBase.call(self, *args, **kwargs)
File "~/.local/lib/python2.7/site-packages/celery/app/trace.py", line 641, in protected_call
return self.run(*args, **kwargs)
File "tasks.py", line 177, in create_server
remote_provider_id, ip_address, supplementary_info  = getattr(provider, "create_server")(data)
File "Azure.py", line 228, in create_server
server_id, ip_address = self.create_vm(data, nic_id)
File "Azure.py", line 198, in create_vm
async_vm_creation.wait()
File "~/.local/lib/python2.7/site-packages/msrest/polling/poller.py", line 201, in wait
raise self._exception  # type: ignore
CloudError: Unwrap of secret  value using key  failed.
Function contained in poller.py (lines 186-203):
def wait(self, timeout=None):
    # type: (Optional[int]) -> None
    """Wait on the long running operation for a specified length
    of time. You can check if this call as ended with timeout with the
    "done()" method.

    :param int timeout: Period of time to wait for the long running
     operation to complete (in seconds).
    :raises CloudError: Server problem with the query.
    """
    if self._thread is None:
        return
    self._thread.join(timeout=timeout)
    try:
        # Let's handle possible None in forgiveness here
        raise self._exception  # type: ignore
    except TypeError: # Was None
        pass

@schaabs I know it's VM, but it's KV related, maybe you know?

Imazuel, thanks for staying on top of this.

@lmazuel @l0nedigit My guess would it be that it's permission related, but unfortunately I'm not familiar with how the compute service authenticates to the vault.  One thing you might check is that the vault has enabledForDeployment and enabledForDiskEncryption set to true.
You can check and update these settings in the cli:
$ az keyvault show -n <vaultname>

$ az keyvault update -n <vaultname> --enabled-for-deployment --enabled-for-disk-encryption

Or you can update them in the portal under the vault's 'Access policies' tab.

Thanks Scott, for the quick response.  I can confirm that the vault is enabled for deployment and encryption.  Also, if encrypt is not set, the script builds and deletes vm's with no issue.  Only when adding the encryption does it fail.
The SPN account does have contributor role and proper permissions set within the key vault.
I'm wondering if the request is formatted properly within vm_params?
I've noticed that with the Set-AzureDiskEncryptionExtension for PowerShell, that it creates a secret each time it's ran against a running VM.  Does a new secret need to be created with Python at ubild, each time?  Hoping this makes sense.  (sorry for the double email..copied here for continuity on Github, thought the mail might have cc'd here but it did not)

Thanks Scott, for the quick response. I can confirm that the vault is
enabled for deployment and encryption. Also, if encrypt is not set, the
script builds and deletes vm's with no issue. Only when adding in the
encryption does it fail.
The SPN account does have contributor role and proper permissions set
within the key vault.
I'm wondering if the request is formatted properly within vm_params?
I've noticed that with the Set-AzureDiskEncryptionExtension for powershell,
that it creates a secret each time it's ran against a running VM. Does a
new secret need to be created within Python at build, each time?  Hoping
this makes sense.
On Tue, Mar 12, 2019, 10:07 AM Scott Schaab<EMAIL_ADDRESS>wrote:

@lmazuel https://github.com/lmazuel @l0nedigit
https://github.com/l0nedigit My guess would it be that it's permission
related, but unfortunately I'm not familiar with how the compute service
authenticates to the vault. One thing you might check is that the vault has
enabledForDeployment and enabledForDiskEncryption set to true.
You can check and update these settings in the cli:
$ az keyvault show -n
$ az keyvault update -n  --enabled-for-deployment --enabled-for-disk-encryption
Or you can update them in the portal under the vault's 'Access policies'
tab.
[image: image]
https://user-images.githubusercontent.com/11322348/54206184-08cd5100-4495-11e9-96bc-cdc89973f5b2.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-sdk-for-python/issues/4520#issuecomment-472015585,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXpgE9xqMBNaZ2X2wPBhCfnvdVSyjIP9ks5vV7S-gaJpZM4bmNSf
.

    "objectId": "",
    "permissions": {
      "certificates": [
        "Get",
        "List",
        "Update",
        "Create",
        "Import",
        "Delete",
        "Recover",
        "Backup",
        "Restore",
        "ManageContacts",
        "ManageIssuers",
        "GetIssuers",
        "ListIssuers",
        "SetIssuers",
        "DeleteIssuers"
      ],
      "keys": [
        "Get",
        "List",
        "Update",
        "Create",
        "Import",
        "Delete",
        "Recover",
        "Backup",
        "Restore",
        "Decrypt",
        "Encrypt",
        "UnwrapKey",
        "WrapKey",
        "Verify",
        "Sign",
        "Purge"
      ],
      "secrets": [
        "Get",
        "List",
        "Set",
        "Delete",
        "Recover",
        "Backup",
        "Restore",
        "Purge"
      ],
      "storage": []
    },
    "tenantId": ""
  }
],
"createMode": null,
"enablePurgeProtection": null,
"enableSoftDelete": null,
"enabledForDeployment": true,
"enabledForDiskEncryption": true,
"enabledForTemplateDeployment": true,
"networkAcls": null,
"provisioningState": "Succeeded",
"sku": {
  "name": "standard"
},

Adding @adewaleo to the discussion

Disk encryption is a bit complex with a few uncertainties which surfaces as broken VM.
I suggest you try out how CLI does it, inspect the payload on the wire and do the same thing through SDKs.
One thing, which is definitely missing, is you didn't provision the VM Azure Disk Encryption extension

That may be what's missing, the extension. Any way you could point me to an
example of that? Can try it out tomorrow.
On Tue, Mar 12, 2019, 5:33 PM Yugang Wang<EMAIL_ADDRESS>wrote:

Disk encryption is a bit complex with a few uncertainties which surfaces
as broken VM.
I suggest you try out how CLI does it
https://github.com/Azure/azure-cli/issues/4318#issuecomment-344404234,
inspect the payload on the wire and do the same thing through SDKs.
One thing, which is definitely missing, is you didn't provision the VM
Azure Disk Encryption extension
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-sdk-for-python/issues/4520#issuecomment-472190125,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXpgE3HPrVh0YCBAkIZWZH85H5YCRgkOks5vWB08gaJpZM4bmNSf
.

@l0nedigit the link Yugang sent has an example of how to setup vm encryption with a service principal. You might need to use slightly different parameters for some of the commands (a lot has changed in almost 1.5 years).
You might also find https://github.com/Azure/azure-cli/issues/8636 helpful. There I point out that you no longer need a service principal to encrypt a VM's disks. This was required previously with azure disk encryption but is no longer required.  This greatly simplifies the steps needed to encrypt a disk.

The access policies on the vault seem right @lmazuel is there someone from the compute team that could look at the request to make sure it's well formed?

@schaabs Thanks for looking at the permissions.  @Imazuel any other avenues to troubleshoot that I could look at on my end?

@yugangw-msft Do you have an example of how to provision the vm disk encryption extension?  It seems that when os_disk.py creates the DiskEncryptionSettings object, that is where the failure is happening.  But, perhaps it would work if the VM is created and then provisioned with the extension, like you had suggested.  https://gist.github.com/Walter-Shui/ab5f72e33aac22f2dae93fbafcd67c6c has an example of how to provision a vm with a custom extension, but I am unsure how to interact with the AzureDiskEncryptionForLinux to pass in the resource group, vm name, etc.

@l0nedigit here is the extension schema for AzureDiskEncryptionForLinux.
Your settings dict should be based on the schema when creating the VirtualMachineExtension object.
See here for example. That is the implementation of the azure cli's vm encryption command.

@adewaleo Thank you!

Closing, since I believe it's solved by @adewaleo , feel free to open a new issue if necessary. Thanks!

@adwaleo thanks so much for sharing that schmema and cli example.  I was able to piece it together today and encrypt a VM.
If anyone else comes across this situation, the answer was to provision the VM with the extension as @yugangw-msft pointed out earlier.
@adwaleo One last question.  Line 205/206 of the code you provided the link to, it basically calls client.virtual_machines.create_or_update with the usual parameters except with raw=True.  Is that necessary?  I was getting an error (User encryption settings in the VM model are not supported. Please upgrade Azure Disk Encryption extension version and clear encryption settings in the VM model.) when including that portion, but if I took it out, the provisioning still completed successfully and was retained after reboot.
Curious to what that is for?

@lmazuel You're correct, issue can be closed.  Thanks.

@l0nedigit, no p. Happy to help. Hmm those lines in the link do not have raw=True set. Are we looking at the right things?

@adewaleo sorry I should have explained more.  set_vm(cmd, vm) runs azure-cli/src/command_modules/azure-cli-vm/azure/cli/command_modules/vm/custom.py (line 892).  Which runs the function sdk_no_wait() in azure-cli/src/azure-cli-core/azure/cli/core/util.py (line 335) and adds raw: True to the kwargs and returns func(*args, **kwargs)...essentially being client.virtual_machines.create_or_update(resource_group, vm_name, parameters, raw=True, polling=False)
When running that, I was receiving the error.
Code snippet:
`
volume_type = 'OS'
sequence_version = uuid.uuid4()
public_config = {
'KeyVaultURL': profile_data.VAULT_SOURCE,
'VolumeType': volume_type,
'EncryptionOperation': 'EnableEncryption',
'KeyEncryptionKeyURL': profile_data.KEY_ENCRYPTION_KEY_URL,
'KeyEncryptionAlgorithm': 'RSA-OAEP',
'SequenceVersion': sequence_version,
'KeyVaultResourceId': profile_data.VAULT_ID,
'KekVaultResourceId': profile_data.VAULT_ID,
}
legacy_config = {
'AADClientSecret': self.CLIENT_SECRET
}
extension = vm_extension_info['Linux' if is_linux == True else 'Windows']
ext = VirtualMachineExtension(
location = data['instance_locations'],
publisher = extension['publisher'],
virtual_machine_extension_type = extension['name'],
protected_settings = legacy_config,
type_handler_version = extension['version'],
settings = public_config,
auto_upgrade_minor_version=True)
extension_creation = self.compute_client.virtual_machine_extensions.create_or_update(self.GROUP_NAME, data['server_name'], extension['name'], ext)
extension_creation.result()
extension_result = self.compute_client.virtual_machine_extensions.get(self.GROUP_NAME, data['server_name'], extension['name'], 'instanceView')
if extension_result.provisioning_state != 'Succeeded':
raise CloudError('Extension needed for disk encryption was not provisioned correctly')
if not (extension_result.instance_view.statuses and extension_result.instance_view.statuses[0].message):
raise CloudError('Could not find url pointing to the secret for disk encryption')
vm = self.compute_client.virtual_machines.get(self.GROUP_NAME, data['server_name'])
secret_ref = KeyVaultSecretReference(secret_url=profile_data.VAULT_SECRET_URL, source_vault=SubResource(id=profile_data.VAULT_ID))
key_encryption_key_obj = KeyVaultKeyReference(key_url=profile_data.KEY_ENCRYPTION_KEY_URL, source_vault=SubResource(id=profile_data.VAULT_ID))
disk_encryption_settings = DiskEncryptionSettings(disk_encryption_key=secret_ref, key_encryption_key=key_encryption_key_obj, enabled=True)
vm.storage_profile.os_disk.encryption_settings = disk_encryption_settings
async_vm_update = compute_client.virtual_machines.create_or_update(self.GROUP_NAME, data["server_name"], vm, raw=True, polling=False)
async_vm_update.wait()
`
The async_vm_update is what is returning the error User encryption settings in the VM model are not supported. Please upgrade Azure Disk Encryption extension version and clear encryption settings in the VM model.

@l0nedigit, we use this to support our--no-wait flag, where we do not wait for the long running operation.
However two lines later you call wait on the response object. Somehow you waiting for the raw response and the fact that the request has some secrets might be interacting poorly. Without seeing the stack trace, it is hard for me to even know where the error is coming from or what is going on.

Thanks @adewaleo, I'll look into it more in the morning.
On Thu, Mar 21, 2019, 8:36 PM adewaleo<EMAIL_ADDRESS>wrote:

@l0nedigit https://github.com/l0nedigit, we use this to support our
--no-wait flag, where we do not wait for the long running operation.
However two lines later you call wait on the response object. Somehow you
waiting for the raw response and the fact that the request has some secrets
might be interacting poorly. Without seeing the stack trace, it is hard for
me to even know where the error is coming from or what is going on.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-sdk-for-python/issues/4520#issuecomment-475453389,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXpgE9-5Hoe3RfpHhaC612CQpuQF6mdPks5vZCV9gaJpZM4bmNSf
.

@adewaleo is there a way to pass in a parameter similar to the powershell version of -SkipVmBackup to the extension?  I've straightened out the issue with the code using AAD creds and is fully using the new ade method.  I can post the code tomorrow if you need to see it.  Still not able to fully encrypt a vm yet...but so close.

@adewaleo is there a way to pass in a parameter similar to the powershell version of -SkipVmBackup to the extension? I've straightened out the issue with the code using AAD creds and is fully using the new ade method. I can post the code tomorrow if you need to see it. Still not able to fully encrypt a vm yet...but so close.
The VM is booting into run level 1 and has an error unknown filesystem. Since this is a Linux host, was thinking maybe I need to supply skipvmbackup or perhaps a passphrase?

I am not familiar with -SkipVmBackup. Does the extension schema or related docs on the link help?

I realized that it wasn't relevant anyway. I have said this a million times
now, but I believe it's working. Because I was building the vm with a
standard hdd, the encryption is probably taking a bit longer than a VM with
premium SSD. The reason it's probably in run level 1 is, I assume, so that
it can encrypt the os partition? At any rate, I've built a VM and leaving
it overnight. The progress said Encryption in progress when running the
show command.
Thanks for the help on this.
On Tue, Mar 26, 2019, 7:38 PM adewaleo<EMAIL_ADDRESS>wrote:

@adewaleo https://github.com/adewaleo is there a way to pass in a
parameter similar to the powershell version of -SkipVmBackup to the
extension? I've straightened out the issue with the code using AAD creds
and is fully using the new ade method. I can post the code tomorrow if you
need to see it. Still not able to fully encrypt a vm yet...but so close.
The VM is booting into run level 1 and has an error unknown filesystem.
Since this is a Linux host, was thinking maybe I need to supply
skipvmbackup or perhaps a passphrase?
I am not familiar with -SkipVmBackup. Does the extension schema or related
docs on the link help?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-sdk-for-python/issues/4520#issuecomment-476896529,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXpgEzpbCxSp-iNTl_RjF9_KDCHnE4MXks5vaq-EgaJpZM4bmNSf
.

@adewaleo @lmazuel @schaabs @yugangw-msft Thank you all for your input and guidance.  Checked the encryption progress and it was successfully encrypted.  Below is a portion of the code used for anyone struggling with this in the future.
       ` vm = compute_client.virtual_machines.get(group_name, vm_name)
        is_linux = True if host_os  != 'Windows' else False

        vm_extension_info = {
            'Linux': {
                'publisher': 'Microsoft.Azure.Security',
                'name': 'AzureDiskEncryptionForLinux',
                'version': '1.1',
                'legacy_version': '0.1'
                },
            'windows': {
                'publisher': 'Microsoft.Azure.Security',
                'name': 'AzureDiskEncryption',
                'version': '2.2',
                'legacy_version': '1.1'
                }
            }

        if "data_disks" in data:
            volume_type = 'All'
        else:
            volume_type = 'OS'

        sequence_version = uuid.uuid4()

        public_config = {
            'KeyVaultURL': vault_uri,
            'KeyVaultResourceId': vault_id,
            'VolumeType': volume_type,
            'EncryptionOperation': 'EnableEncryption',
            'KeyEncryptionAlgorithm': 'RSA-OAEP',
            'SequenceVersion': sequence_version,
        }

        extension = vm_extension_info['Linux' if is_linux == True else 'Windows']

        ext = VirtualMachineExtension(
            location = vm_region,
            publisher = extension['publisher'],
            virtual_machine_extension_type = extension['name'],
            protected_settings = None,
            type_handler_version = extension['version'],
            settings = public_config,
            auto_upgrade_minor_version=True)

        extension_creation =compute_client.virtual_machine_extensions.create_or_update(group_name, data['server_name'], extension['name'], ext, polling=True)

        extension_creation.result()

        extension_result = compute_client.virtual_machine_extensions.get(group_name, vm_name, extension['name'], 'instanceView')

        if extension_result.provisioning_state != 'Succeeded':
            raise 'Extension needed for disk encryption was not provisioned correctly'`

@l0nedigit I am happy you were able to figure this out! Thanks for sharing your code snippet. :)


Fixes #170 update mysqlclient to 1.4.x

@ssciolla This seems really low risk so I'm just going to merge this.


fix: read tokenizer from local path

Description
Enable to load tokenizer from local path
Motivation
close issue #144
Type of Change

[x] Bug fix
[ ] New feature
[ ] Breaking change
[x] Documentation update

Checklist

[x] I have read the CONTRIBUTION guide.
[x] I have updated the tests (if applicable).
[x] I have updated the documentation (if applicable).

I tested this branch using the Transformers backend, and it worked for me under certain conditions.

Initially, it worked when the model was already downloaded (i.e., the specific model folder was present).
However, after deleting the existing model folder, I encountered the following error:

I also tested it with Docker Compose, but it reported an error during deployment. Based on my experience, there are errors during saving the model. Below are screenshots from the controller side and the sllm-store-server side:

May I check how's the current settings? I also tried using docker compose and it worked fine on my server


Install failed

Hi, I followed the installing command, but encounter this:
Command "python setup.py egg_info" failed with error code 1 for installing "future" with:
future\setup.py", line 93, in <module>
import src.future
ModuleNotFoundError: No module named 'src'
Can you help me to fix this?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 31f6989f-eb38-b376-d01f-9c462c2d1761
Version Independent ID: dbcf97e5-2f30-e98d-7959-69d39a74305a
Content: About the Azure Machine Learning CLI extension
Content Source: articles/machine-learning/service/reference-azure-machine-learning-cli.md
Service: machine-learning
GitHub Login: @jpe316
Microsoft Alias: jordane

@jeary49252000 Thanks for the feedback! We are currently investigating and will update you shortly.

I'm also facing exactly the same issue while following the above mentioned documentation.

@jpe316 Hi, can you please check the document and update it as necessary? Thanks a lot!

Any update on this? we are currently facing this issue and cannot progress further due to it on our development

Still waiting on an update on this. @YutongTie-MSFT do you have any update on this issue?

@Blackmist - can you help here by any chance?

@j-martens @YutongTie-MSFT This is probably best assigned to the support team or opened as a bug/issue against the CLI code. This type of error about "python setup.py egg_info" happens in a variety of different software packages, for multiple reasons. It really needs to be debugged by someone with access to the source for our CLI.
That being said, it might be that this could be resolved by:

Making sure you're using Python 3.6. The CLI internally uses the Azure ML SDK and I believe that needs Python 3.6.
Upgrading setup tools by using pip install -U setuptools

@jeary49252000 @carlosfbteixeira Does above solve your problem? If not, we'd like to work with you further on this issue. Can you please email us at<EMAIL_ADDRESS>Please provide us with your subscription ID and the URL for this thread.

@YutongTie-MSFT The suggestion fixed my issue. And now using pip install azure-cli already brings the ml module which means that we no longer need to use the az extension command to add it manually

@carlosfbteixeira Thanks for confirming it. We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.


Fix diff in the test moc100 on PG16

I confused as to why this change is working on PG 10-15. I thought only the PG16 build broke and the test output was unaltered on PG 10-15.

@esabol expected/moc100_4.out is applied only in case of PG16:
https://www.postgresql.org/docs/current/regress-variant.html
Other "golden" files expected/moc100_*.out are applied for other versions of postgres. You can see that the beginning of each file contains some output that is specific for each version. It plays the role of a filter. For unsuitable versions, it will produce differences and the golden file will be skipped.

Oh, interesting!


Migrate ed signature for Beacon domain

Motivation
Part of #4139, merge after https://github.com/spacemeshos/go-spacemesh/pull/4230.
This changes the signatures for the beacon domain to be canonical ed25519.
Changes

Add SmesherID to messages signed for the BEACON domain and verify those signatures instead of extracting the PublicKey from the signature

Test Plan

existing tests pass

TODO

[x] Explain motivation or link existing issue(s)
[x] Test changes and document test plan
[x] Update documentation as needed

DevOps Notes

[x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources)
[x] This PR does not affect public APIs
[x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.)
[x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)

bors merge


Send Transaction method not working

Hello , everyone.
Im testing latest example published to the github as of today and i can connect my wallet with no problem.
but when i use the  all methods works except eth_sendTransaction !
can you please fix this issue i think its because of web3Moda

l!
gets stuck here :

issue fixed on the sdk github repo,


More Friendly Types at the Interface Level

This issue https://github.com/JuliaDiff/DifferentiationInterface.jl/issues/642 makes me wonder whether we need a systematic approach to translating between primal types and tangent types at the interface level.
For example, while users probably want to represent the tangent of a, SArray with another SArray, rather than a Tangent, Mooncake requires that users provide a Tangent.
I think we can probably define sensible translation functionality between primals and tangents which makes some choices around how to handle non-differentiable fields, but which works quite generically. This function would be something like
translate_to_tangent(t::IEEEFloat) = t
translate_to_tangent(t::VariousIntegerTypes) = NoTangent()
translate_to_tangent(t::Array{<:IEEEFloat}) = t
translate_to_tangent(t::Array) = map(translate_to_tangent, t)
function translate_to_tangent(t::P) where {P}
    isprimitivetype(P) && throw(error("need a translation rule"))
    return # recursively transform into tangent_type(P)
end

This would have the effect of, for example, dropping any non-differentiable fields.
On the way back, we could do a similar thing, but would need to pick a placeholder value for any non-differentiable fields. Not all types have a well-defined zero value (e.g. Strings and Symbols), so it might just make sense to make the conversion the other way require that you pass in the primal value, and we just copy its fields. For example
translate_to_primal(::P, t::P) where {P<:IEEEFloat} = t
translate_to_primal(p::P, t) where {P<:VariousIntegerTypes} = p
translate_to_primal(p::Array{P}, t::Array{P}) where {P<:IEEEFloat} = p
translate_to_primal(p::Array, t::Array) = map(translate_to_primal, p, t)
function translate_to_primal(p::P, t) where {P}
    # same idea as translate_to_tangent, but in the other direction
end

We could then e.g. shove this in value_and_pullback or whatever, so that users get "nice" types. We would want to ensure that there is a sensible way to opt-out of this translation, of course.

I think this would be very helpful for users, because what most of them want is something that "looks like the primal", not the Mooncake Tangent which could be considered an implementation detail


[Discussion] Should Github Issues still be used for bug/installation issues?

Wouldn't it be better to discuss or ask questions related to installation issues and bugs in the users code on a different platform like Google groups or SO.
I just realized this has been discussed a year before in #1020 (and #976), and a Google group has been created in fact. Please go ahead and close this if there isn't a need for a discussion again.
The reason I thought of starting a discussion is because the github issue still encourages people to share usage/installation/newbie questions here. Probably promoting/mentioning the usage of Google groups for those, will help github issues be more focused towards the development of mxnet only?
I've seen scikit-learn do something like this,

prefer to have "how to" moving to SO, but the current problem is that we need to have our contributors to monitor SO.
i think installation issues and bugs are better fit github issues. they should be tracked and solved by fixing codes and documents

I agree with Mu.  SO has better semantics for any questions about issues that others will have later.  The purely linear discussion of github issues makes it difficult to even figure out if a question has been answered, much less what the correct answer is.  SO solves this nicely with voting and editing.  So for issues around usage which are likely to effect many users, SO is a better choice.  But for issues that are about bugs in MXNet that will get fixed and go away, or suggested improvements -- these should stay here in github.

put the discussions on what topics should be discussed in "Issues" aside. I do see we need some sort of mail list thing to help community grows.
We need -announce mail list. we will have release soon. How can you proactive to reach the users? an announce mail list is very typical for such purpose. low volume and encourage people to subscribe.
We need -users mail list. How can I share my best practice? How can I seek for help? How can I get advise on implementing one paper? we need a mail list to have our active users exchange the voices.
We need -dev mail list. How developer coordinate the effort to make next release like code frozen, api frozen, release schedule? I see next release is not transparent enough. Like we still accept examples change but no core src change. I didn't see we announce that to the developers. Also, we need a better place to share the design and longer term roadmap discussion.
Just my two cents. please consider.

What @leopd said is mostly what even I tried to express. And +1 for @howard0su's views about the need for a mailing lists! SO would be really helpful infact as people like @thirdwing manually tag the issues to different labels (R-Package in his case) and the issues aren't just limited to core mxnet but also different parts of it like the r-package etc. So it makes more sense especially in our case, to automatically tag/allow users to tag/label (hence SO)

I think we still need to keep bug reports on github.

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


Existentials

Reviewer checklist

[ ] Test coverage: stack test --coverage
[ ] Public API documentation: stack haddock

Note to reviewers: it might be helpful do review this commit by commit, as, except for one commit, all others are refactorings.

I think keeping the ensures in the type is error-prone, or at least I find it kind of confusing. If I understand this PR correctly, now if I want to get the real ensures clause I actually need to do some further processing of the RHS of a rule, and this isn't obvious only by looking at the types and the functions we currently use to operate on RulePatterns.

I agree.  In my opinion the best option would be to have different types for Equational rules (with ensures in the record) than Rewrite rules/claims (without ensures in the record, but embedded in the RHS).

I'm still not happy about the lack of tests for the new/duplicated code. However, I don't know @ttuegel 's plans, so maybe new tests do not make sense. If you're not in a hurry, I would wait for his feedback.

@virgil-serbanuta I've added tests.


Instructions update

I would suggest updating the instruction to use valid JSON for the 'const fields' value. Instead of using
const fields = [
    {
      type: "color",
      name: "color",
      id: "color",
      label: "Color Form"
    }...

use
const fields = [
    {
      "type": "color",
      "name": "color",
      "id": "color",
      "label": "Color Form"
    }...

This module is super helpful, so thank you for creating it. The reason I suggest the change to the instructions is I store the 'const fields' JSON values in indexedDb and dynamically load it into my Svelte app and simply use JSON.parse() to assign the value to the fields variable. If the fields value is not valid JSON this does not work.

The both work fine.
1- Test the both samples
2- Close this issue plz :)


Package uri links in offline registry

Which area/kind this issue is related to?
/area registry
Issue Description

This issue is part of the EPIC https://github.com/devfile/api/issues/329 and focuses on implementing the first stage of the design doc.
Build an offline devfile registry with the following requirements:

URIs need to be packaged with as part of the build:

parent devfiles
kubernetes components
openshift components
plugin components

Devfile needs to reference the offline URIs during the build

PRs opened for review:
https://github.com/devfile/registry-support/pull/180 - adds the scripts required for offline uri resources
https://github.com/devfile/registry/pull/197 - entry point for creating the registry (merge after the above pr is completed)


Way to display multi-line text label in RaisedButton/FlatButton

I basically need to display multi-line text label in a RaisedButton, didn't find any way to do this. Tried the following :
<RaisedButton  		secondary={true}  		style={{marginRight:3, height:'100px', width: '75px'}}  		labelStyle={{textTransform: 'none', display: 'inline-block'}} 		label="Click Here"/>

@nzeugaa Thanks for the inquiry. Unfortunately this isn't something we'll be adding at this time. Also, in the future, can you use the issue template? Cheers :+1:


Allow setting Matrix pixel to black/off with empty string

The documentation in docs/buildhat/matrix.rst state that the color can be set by integer or string, but strtocolor() will raise an exception if you pass it an empty string instead of using zero.  Without this, specifying color by string is inferior to specifying by integer.
To make it less confusing, I would change the documentation to name this "color" as "black" or "off," but this patch matches the current chart.

Updated to resolve conflicts


build: switch to bun for dep management

Is this the move for foundry projects now?

It's my move.
https://x.com/paulrberg/status/1736694426578137247?s=46

tbh I got my team to switch to pnpm after seeing you use it here.  I'm guessing the switch to bun is to avoid node.js install entirely?

Oh, I see. I documented the rationale for moving away from PNPM here:
https://github.com/ethereum/go-ethereum/issues/20193#issuecomment-649401055


WIP: Build improvements

Description of the pull request:
Goals:
Karma for testing
Removes the headache of setting up scripts and tools for testing. Setups for Phantom, Saucelabs, Coveralls is anticipated.
Separation between gobblefile and scripts
Currently, steps for bundling are split between the Gobblefile and build.sh. The idea is to move the bundling entirely to the Gobblefile so you don't need to meddle with scripts on development, and that scripts can focus more on the CI side of things.
Automated publishing
The idea is that when the CI detects that the version field of the package.json changed, it publishes the code to that version. Edge builds get published on every dev commit. Publish to npm and Bower. I know the scripts already do this, but there's like 4 of them and I don't know which one does which. It would also be nice to have an external service do this instead of writing our scripts.
A more predictable import structure
Currently import paths are magical, particularly in tests, because they reflect paths caused Gobble's merging of directories and not the actual filesystem structure. Causes head-scratching at times. The idea is to make Gobble adjust so that imports actually reflect filesystem structure.
ToDos:

[x] Karma Phantom setup.
[x] Karma Sauce Labs setup (disabled at the moment).
[x] Karma Coveralls setup (just needs credentials).
[x] Prevent Karma's Progress reporter from spamming the CI.
[ ] Prevent QUnit cli from emitting Ractive's console messages on the Node tests.
[x] Update the gobblefile to do all bundling duties.
[x] Update gobblefile to make import paths identical to filesystem paths (src and test only).
[x] Adjust import paths in source and tests.
[ ] Update build script to do CI stuff.
[ ] Review available tools that do auto-versioning and auto-publishing.

Just putting this PR out there for comments. This may never fly or scope may be trimmed down for another PR. Your ideas are very much welcome. 😄

That build looks much cleaner! I haven't quite made it all the way through yet, but I have two things to note:

Publishing to npm from the travis build was, uh, special to get working. The main thing to look for is that it can only publish from one of the node version builds, which is currently 6.0. There are also branch checks that have to run to make sure that only 0.8 and dev get published. When 0.9 is published, that branch will need to be added for tracking.

Rollup actually has noConflict support built in now. I believe if you pass noConflict: true to the rollup options, it will stick one in there for you.

Also, I'm sorry I just made a bunch of conflicts for you.

@evs-chris Yep, have to take note of the multi-node build thing. And the conflicts are normal. Happens every time I move around the tests. Not a big deal tho. 😄

OMG it actually passed 😱
Will put this one up for a while before force-pushing another change and/or reorganizing commits. 😄

Tests randomly failing in random browsers, but this one consistently fails in Safari:
Safari 10.0.1 (Mac OS X 10.11.6) failed specs:
  plugins/transitions.js > js timing functions can be used with css transitionable properties (#2152)
	failed, expected argument to be truthy, was: false
	Expected: true
	Actual: false
	promiseReactionJob@[native code]

Interesting. I don't have access to safari, so I can't really debug it. What happens when you set node.style.transitionTimingFunction to an invalid value? I was originally going to use a whitelist, but that seemed terribly brittle.

Test passes on actual Safari 🤦♂

Transitions tests are notoriously finicky, especially with browser automation. Is there a way to soft fail tests with karma? Maybe something like a passing quorum? It'd be nice to know they fail, but with more browsers being tested I don't know that conditional exclusion is as feasible as when you mostly just have to watch for phantom issues.

Yep. Karma is set to singleRun mode so it acts like a script, which I believe can be bypassed with -e/+e. But it would be nice to get this setup perfect. Just a bit more tweaking. 😄

If you're wondering why the coverage dipped to 64%, that's me configuring karma-coveralls incorrectly in this PR. 😓

I think it would be good to export a polyfills.mjs too, so that anyone wanting to bundle their app with ractive and legacy browser support could do so by simply import polyfills from 'ractive/polyfills'; import Ractive from 'ractive';. The polyfill import may require the extension under rollup and/or webpack, but the module and jsnext:main settings in the package should have the main ractive module covered.

Might need eyes on this one. It's sort of done. :D

Nice!
I made a few minor changes, and merged with dev (sorry, I would have rebased, but I didn't want to blow up the world). It looks like maybe sauce isn't liking something now, and I allowed the electron test to fail for build:local because my dev environment has no available gui.
Do you know why travis might be missing eslint?

It might have to do with travis using cached npm dependencies. Not sure if it applies across branches. Try removing the following from the yaml:
cache:
  directories:
  - node_modules

Aha! There were no node modules in the build dir. Throwing an npm i in the build script fixed that. Now just need to get the release script sorted and all will be well again.

I also adjusted the scripts. The bundle emits .build and .publish (formerly tmp and build) and the scripts will look at .publish.

It looks like the shell environment that npm run provides may not work with the script. Setting it up to run directly from the travis command seems to work ok.


The EM algorithm is increasing log(E[log P(X,Z)])

Run:
python setup.py develop && python test_phmm.py

Most of the time it will print the following warnings:
WARNING:root:ProfileHMM.fit_em: log(E) decreased -20349.1485705(-0.235724%)
WARNING:root:ProfileHMM.fit_em: log(E) decreased -20397.1164327(-0.099578%)
WARNING:root:ProfileHMM.fit_em: log(E) decreased -20417.42744(-0.074735%)
WARNING:root:ProfileHMM.fit_em: log(E) decreased -20432.6863289(-0.062282%)
...
WARNING:root:ProfileHMM.fit_em: log(E) decreased -20584.6146813(-0.003367%)
WARNING:root:ProfileHMM.fit_em: log(E) decreased -20585.3078461(-0.002577%)
WARNING:root:ProfileHMM.fit_em: log(E) decreased -20585.8383921(-0.001760%)
WARNING:root:ProfileHMM.fit_em: log(E) decreased -20586.2007701(-0.000916%)

log(E) goes from -20349 to -20586, however it should only increase.

The magnitude to be maximized in reality is:
log(E) - E [log P(X|X,t0)]
           Z|X,t0

Since t0 changes from step to step it might be that log(E) decreases and still the likelihood of the parameters increases, so log(E) should not be the criterion for checking convergence.


48.Rotate Image

Description
Description
This issue requests the addition of a solution for the 48.Rotate Image problem
DSA Problem
48.Rotate Image

Kindly assign me this issue @iamdestinychild


Fix Tab/Shift+Tab not cycling through quick filter input columns

Fixes #841

While debugging, it looks like the iris-grid-column element is being shifted to the left for some reason??


cmdline: onCompleteDone() is not called when select item by pum#map#select_relative().

Problems summary
source.onCompleteDone() is not called when select item by pum#map#select_relative().
It is fine when select item by pum#map#insert_relative().
Expected
source.onCompleteDone() is called both.
Or, document to pum#map#select_relative() is not usable in cmdline-mode.
Environment Information

ddc.vim version (SHA1): e338c37
ddc-ui-pum version (SHA1): Shougo/ddc-ui-pum@298e605
pum.vim version (SHA1): Shougo/pum.vim@43f585f
denops.vim version (SHA1): vim-denops/denops.vim@448f84c
deno version(deno -V output):deno 1.28.1

Environment 1:

OS: Windows 10 22H2 19045.2251
neovim/Vim :version output:VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Nov 14 2022 23:33:49)
MS-Windows 64 ビット GUI 版 with OLE サポート
適用済パッチ: 1-883

Environment 2:

OS: Ubuntu 18.04 LTS
neovim/Vim :version output:VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Nov 24 2022 03:43:18)
Included patches: 1-929

Provide a minimal init.vim/vimrc without plugin managers (Required!)
" minimum vimrc
set nocompatible

set rtp^=path/to/denops.vim
set rtp^=path/to/ddc.vim
set rtp^=path/to/ddc-ui-pum
set rtp^=path/to/pum.vim
set rtp^=path/to/testdir

call ddc#custom#patch_global(#{
\ autoCompleteEvents: ['CmdlineChanged'],
\ ui: 'pum',
\ sources: ['test'],
\ cmdlineSources: {':': ['test']},
\})
call ddc#enable()

nnoremap : <Cmd>call ddc#enable_cmdline_completion()<CR>:

cnoremap <silent> <C-J> <Cmd>call pum#map#select_relative(+1)<CR>
cnoremap <silent> <C-N> <Cmd>call pum#map#insert_relative(+1)<CR>
cnoremap <silent> <C-Y> <Cmd>call pum#map#confirm()<CR>

" testing
function! TestSelect() abort
  echomsg "use select_relative"
  call feedkeys(":test")
  call timer_start(500,  {-> feedkeys("\<C-J>\<C-Y>\<Esc>", 't')})
endfunction
function!

Run vim -u vimrc.
Wait testing done (10 seconds).
Execute command :messages.

Actual messages
use select_relative
use insert_relative
[denops] test: onComleteDone() { foo: "bar" }
use insert_relative
[denops] test: onComleteDone() { foo: "bar" }
use select_relative

Expected messages
use select_relative
[denops] test: onComleteDone() { foo: "bar" }
use insert_relative
[denops] test: onComleteDone() { foo: "bar" }
use insert_relative
[denops] test: onComleteDone() { foo: "bar" }
use select_relative
[denops] test: onComleteDone() { foo: "bar" }

Question
pum#map#insert_relative() in cmdline-mode doesn't "insert" strings, isn't that what "select" does?
"insert" was working correctly. I think it is because <silent> was attached.

Sorry test vimrc may have been wrong.
<silent> should NOT be used in cmap?

I change mappings to:
cnoremap <C-J> <Cmd>call pum#map#select_relative(+1)<CR>
cnoremap <C-N> <Cmd>call pum#map#insert_relative(+1)<CR>
cnoremap <C-Y> <Cmd>call pum#map#confirm()<CR>

And the behavior has changed so that [denops] test: onComleteDone() { foo: "bar" } is completely not displayed. The opposite of the expected behavior.

It is not the problem of ddc.vim.  It is the problem of pum.vim.

Fixed.  Please update pum.vim.


[feat] <rh-navigation-primary> expanded menu

Description
Please enhance the primary navigation component in the Figma design library for Red Hat dot com for desktop, tablet, and mobile sizes.
Suggested solution
The updated primary navigation component should represent an expanded view of red.com in its current state for all main menu items in both logged-out and logged-in states. Refer to the attached screenshots for reference.
Screenshots

![CleanShot 2024-09-19 at 13 43 33@2x](https://github.com/user-attachments/assets/3fa95659-c37f-410f-

b573-1643997862c1)
Example API
No response
Additional context
No response

This was added to the Cross-domain navigation subsystem.


SVG Sprite CSS generation issue

Hi...
Just wanted to ask if it is possible to get the pixel position of an individual svg icon from the generated sprite?

Please specify what you mean with "get" the pixel position. At which stage, using which technology? During the generation of the sprite (Mustache template rendering) the absolute positions are available as template variables (please see the templating documentation for details). After the sprite is generated, it is up to you to parse / examine the sprite and extract the positions with a technology of your choice. It's out of svg-sprite's scope then.


Exception when hovering  tag or attributes

The <expand> element for macros is not supported in the XSD schema, so when trying to get information from the schema, like documentation or attributes, an exception will raise.
We should handle this particular element differently from the rest of the elements.

Should the expand element not be part of the XSD?

Yes, I am afraid so, this was one of the main reasons to write a language server as John explained here https://github.com/galaxyproject/galaxy/issues/9778#issuecomment-630167658


Add ability to download sequence diagrams as svg

Hi,
thanks for your work. This tool is so useful.
I am using it in my master thesis and I wish there was one more feature - ability to download sequence diagram as svg image.
This would allow you to attach such diagrams in papers or thesis as well as modifiy them e.g skip some events, add subtitles, etc.
One thing I was trying to do was to inspect diagram and save HTML svg element but it didn't work for me :/
I can try to make a PR but I would probably need some help

Hello @mickel8,
Good to hear the tools are useful to you. Please share your master's thesis when it's done (or before ;)), I would be interested in reading it!
There are some issues with your request:

the sequence diagram dynamically generates the SVG on the fly as you scroll (generally: 1 screen height back and 1 screen height forward are rendered) for performance reasons. Direct export of this would probably require post-hoc manual changes, while export of "only what's on screen" is difficult due to arrows starting and ending off-screen (would require extra logic to setup clipping rects etc.)
I'm using some nasty properties of SVG to make things look nice. Mainly: the ability to embed normal HTML (as SVG itself doesn't provide proper text-wrapping for example). This works nicely in the browser, but I've seen many "normal" SVG viewers/program choke on that.
For print, you typically want bigger fonts, thicker arrows, etc. I typically get this by zooming in using the browser built-in zoom and making my window smaller and then taking a pixel screenshot on a high-res screen. Hardly optimal, I agree, but somewhat workable, at least for me.

As such, for now, all I could offer would be a direct SVG export of whatever is rendered internally by the tool without added frills (as those would require implementation work I don't have).
That SVG can be gotten from the Chrome devtools HTML inspector manually as well. You mention you tried this, but it didn't work. Do you have additional info on what didn't work concretely? What did you try? What are you trying to accomplish? Maybe I can help you figure this out if that's sufficient for what you'd need?
In the future, I'd like to add proper export options to qvis for all diagrams (e.g., adjust font sizes, add filtering like you say, etc.) but that's a bigger project than I can take on atm.

Please share your master's thesis when it's done (or before ;)), I would be interested in reading it!

Sure! It's nothing special but as soon as it will be ready I will send it to you :wink:

That SVG can be gotten from the Chrome devtools HTML inspector manually as well. You mention you tried this, but it didn't work. Do you have additional info on what didn't work concretely? What did you try? What are you trying to accomplish? Maybe I can help you figure this out if that's sufficient for what you'd need?

I just tried to copy this svg element and save it as diagram.svg. I also tried to save it as raw .html file and print it to pdf.
The second option gave me pdf file with diagram but there some colors, labels etc. were missing.

In the future, I'd like to add proper export options to qvis for all diagrams (e.g., adjust font sizes, add filtering like you say, etc.) but that's a bigger project than I can take on atm.

Sounds great! At this moment I am just saving it as png. It's not so comfortable but it works :smile:

So I just tried this out myself and it's indeed the use of foreignObject that's messing things up.
This means you have to embed the svg inside a proper html tag, like so:
<!doctype html><html><body>
COPY-PASTED SVG HERE
</body></html>

You then also have to add namespace declarations to the svg element itself, for example:
<svg id="sequence-diagram-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink= "http://www.w3.org/1999/xlink" height="1420" width="2025" viewbox="0 0 2025 1420">

Using that, I get everything to show up when viewing the resulting .html file in the browser and I can also print it to PDF (though scaling is sometimes... dubious as I indicated above). There's also a problem with the font being times new roman default, which can be fixed by having on top (right after <body>):
<style>
* { font-family: "Trebuchet MS"; }
</style>

It's not perfect, but maybe with a few more tweaks you can get something workable out of it!
See an example I just made here:
svg_test - Copy.zip

Thanks a lot!


docs: document the customisation flow

Description
Add docs for presets - customisation process in our model-sdk.
Related issue(s)
See https://github.com/asyncapi/shape-up-process/issues/55

Great job with the documentation, Maciej! 🚀

@fmvilas @smoya Thanks for review! :)


Please Allow Timezone Property

According to Mixpanel you can pass in a timezone that will relate to the mp_timezone property.  If you could just allow timezone to be passed in to the client.request call that'd be great.
If you don't have time please let me know and I'll fork the repo.
Thanks again.
Jason

Merged into master and should now be available in version 2.0.2. Thanks!


nerdctl run dose not work with k3s

k3s by default run flannel as cni, nerdctl seems not happen with it.
[/opt]$ nerdctl run -it busybox sh

FATA[0000] needs CNI plugin "bridge" to be installed in CNI_PATH ("/opt/cni/bin"), see https://github.com/containernetworking/plugins/releases: exec: "/opt/cni/bin/bridge": stat /opt/cni/bin/bridge: no such file or directory

[/opt]$ sudo ln -s /var/lib/rancher/k3s/data/2b79a2adf999a6149c1de7936839f11990e2d5547d28dd58bce691eb5c423207 cni
[/opt]$ nerdctl run -it busybox sh
FATA[0000] needs CNI plugin "firewall" to be installed in CNI_PATH ("/opt/cni/bin"), see https://github.com/containernetworking/plugins/releases: exec: "/opt/cni/bin/firewall": stat /opt/cni/bin/firewall: no such file or directory

Please download plugins from https://github.com/containernetworking/plugins/releases


GitLab CI windows / webview2-com-sys: failed to run custom build command

Running the build for webview2-com-sys fails on GitLab CI fails with the error Io(Error { kind: NotFound, message: "program not found" } ). Unfortunately it doesn't say which program was not found. There also seems to not be a list of build dependencies in the README.
The minimal reproducible .gitlab-ci.yml is this:
stages:
  - build

build-job:
  stage: build
  image: rust
  tags:
  - shared-windows
  - windows
  - windows-1809
  script:
    - choco install -y rust
    - cargo new foo
    - cd foo
    - cargo add webview2-com-sys
    - cargo build

This is the full output:
   Compiling webview2-com-sys v0.26.0
error: failed to run custom build command for `webview2-com-sys v0.26.0`
Caused by:
  process didn't exit successfully: `C:\GitLab-Runner\builds\danyel\sky-fi\blabla\target\debug\build\webview2-com-sys-d3e6eca53f705af0\build-script-build` (exit code: 1)
  --- stdout
  cargo:rustc-link-search=native=C:\GitLab-Runner\builds\danyel\sky-fi\blabla\target\debug\build\webview2-com-sys-99dd0865e5d8b1a6\out\Microsoft.Web.WebView<IP_ADDRESS>8.49\build\native\x64
    Finished writing `C:\GitLab-Runner\builds\danyel\sky-fi\blabla\target\debug\build\webview2-com-sys-99dd0865e5d8b1a6\out\Microsoft.rs` in 1.95s
  --- stderr
  Copy from "C:\\GitLab-Runner\\builds\\danyel\\sky-fi\\blabla\\target\\debug\\build\\webview2-com-sys-99dd0865e5d8b1a6\\out\\Microsoft.Web.WebView<IP_ADDRESS>8.49\\build\\native\\arm64\\WebView2Loader.dll" -> "C:\\Users\\gitlab_runner\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\webview2-com-sys-0.26.0\\arm64\\WebView2Loader.dll"
  Copy from "C:\\GitLab-Runner\\builds\\danyel\\sky-fi\\blabla\\target\\debug\\build\\webview2-com-sys-99dd0865e5d8b1a6\\out\\Microsoft.Web.WebView<IP_ADDRESS>8.49\\build\\native\\arm64\\WebView2Loader.dll.lib" -> "C:\\Users\\gitlab_runner\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\webview2-com-sys-0.26.0\\arm64\\WebView2Loader.dll.lib"
  Copy from "C:\\GitLab-Runner\\builds\\danyel\\sky-fi\\blabla\\target\\debug\\build\\webview2-com-sys-99dd0865e5d8b1a6\\out\\Microsoft.Web.WebView<IP_ADDRESS>8.49\\build\\native\\arm64\\WebView2LoaderStatic.lib" -> "C:\\Users\\gitlab_runner\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\webview2-com-sys-0.26.0\\arm64\\WebView2LoaderStatic.lib"
  Copy from "C:\\GitLab-Runner\\builds\\danyel\\sky-fi\\blabla\\target\\debug\\build\\webview2-com-sys-99dd0865e5d8b1a6\\out\\Microsoft.Web.WebView<IP_ADDRESS>8.49\\build\\native\\x64\\WebView2Loader.dll" -> "C:\\Users\\gitlab_runner\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\webview2-com-sys-0.26.0\\x64\\WebView2Loader.dll"
  Copy from "C:\\GitLab-Runner\\builds\\danyel\\sky-fi\\blabla\\target\\debug\\build\\webview2-com-sys-99dd0865e5d8b1a6\\out\\Microsoft.Web.WebView<IP_ADDRESS>8.49\\build\\native\\x64\\WebView2Loader.dll.lib" -> "C:\\Users\\gitlab_runner\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\webview2-com-sys-0.26.0\\x64\\WebView2Loader.dll.lib"
  Copy from "C:\\GitLab-Runner\\builds\\danyel\\sky-fi\\blabla\\target\\debug\\build\\webview2-com-sys-99dd0865e5d8b1a6\\out\\Microsoft.Web.WebView<IP_ADDRESS>8.49\\build\\native\\x64\\WebView2LoaderStatic.lib" -> "C:\\Users\\gitlab_runner\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\webview2-com-sys-0.26.0\\x64\\WebView2LoaderStatic.lib"
  Copy from "C:\\GitLab-Runner\\builds\\danyel\\sky-fi\\blabla\\target\\debug\\build\\webview2-com-sys-99dd0865e5d8b1a6\\out\\Microsoft.Web.WebView<IP_ADDRESS>8.49\\build\\native\\x86\\WebView2Loader.dll" -> "C:\\Users\\gitlab_runner\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\webview2-com-sys-0.26.0\\x86\\WebView2Loader.dll"
  Copy from "C:\\GitLab-Runner\\builds\\danyel\\sky-fi\\blabla\\target\\debug\\build\\webview2-com-sys-99dd0865e5d8b1a6\\out\\Microsoft.Web.WebView<IP_ADDRESS>8.49\\build\\native\\x86\\WebView2Loader.dll.lib" -> "C:\\Users\\gitlab_runner\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\webview2-com-sys-0.26.0\\x86\\WebView2Loader.dll.lib"
  Copy from "C:\\GitLab-Runner\\builds\\danyel\\sky-fi\\blabla\\target\\debug\\build\\webview2-com-sys-99dd0865e5d8b1a6\\out\\Microsoft.Web.WebView<IP_ADDRESS>8.49\\build\\native\\x86\\WebView2LoaderStatic.lib" -> "C:\\Users\\gitlab_runner\\.cargo\\registry\\src\\index.crates.io-6f17d22bba15001f\\webview2-com-sys-0.26.0\\x86\\WebView2LoaderStatic.lib"
  Error: Io(Error { kind: NotFound, message: "program not found" })
Cleaning up project directory and file based variables 00:03
ERROR: Job failed: exit status 1

Please tell me the build does not hard-fail because generated code could not be formatted, i.e. rustfmt could not be found.
Please excuse my rant. I just spent an entire day trying to debug the GitLab pipeline (which is extremely frustrating as it is), assuming I was missing a core dependency like webview-runtime or whatever...
Anyway... rustfmt should definitely not be a hard dependency at build time, it should be optional at worst (and not used at all, at best -- who cares about formatting on generated files?)

Please tell me the build does not hard-fail because generated code could not be formatted, i.e. rustfmt could not be found. Please excuse my rant. I just spent an entire day trying to debug the GitLab pipeline (which is extremely frustrating as it is), assuming I was missing a core dependency like webview-runtime or whatever...

Sorry about that, I've never used GitLab pipelines myself.

Anyway... rustfmt should definitely not be a hard dependency at build time, it should be optional at worst (and not used at all, at best -- who cares about formatting on generated files?)

I haven't figured out a way to build directly from the OUT_DIR, so it needs to copy the file back to the source directory. Anything that's committed in the source directory I want to be human readable. This also makes it a lot easier to inspect or debug through the generated code when there's a problem.
I think rather than skipping rustfmt, it would be better to just skip regenerating the bindings and use the previously committed version if rustfmt is not available.

Just occurred to me, maybe I could include!(...) the generated file instead. It would make it a little harder to jump to source, and you couldn't review it in a static repo, e.g., on GitHub, but it would make the build more robust.

Would you prefer to include() generated bindings or some other change (or no change)? I am also interested in fixing this, since rustfmt is not included with the Rust standalone installer.

I'm still experimenting with this, another option I'm considering is to move all of this logic out of the build script entirely and create a separate bin utility that I can run locally only when updating the bindings. That should make the typical build as a dependency much faster, and not require fetching as many dependencies.

What's wrong with merging this anyhow? It will still try to rustfmt, only not fail the build when it errors. As long as you have rustfmt installed when generating new bindings, everything will work as usual.
You can still think of something more sophisticated / involved, but I doubt it relates to this PR.


Add LimitRange and ResourceQuota YAML for tnf namespace

Related to: https://github.com/test-network-function/cnf-certification-test/pull/386
As part of make install apply the YAML for the limit range.  Added the delete script to the clean.sh as well.

As I commented for the matching PR#386, have you considered using the ResourceQuota object instead of the LimitRange? That first object seems to fit better the requirement as it is more global.

After looking at the ResourceQuota objects like Juan suggested, I think we have to do a combination of both to:

Provide a namespace wide quota.
Provide per-pod/per-container limit range.

Both of these combine to make it pretty configurable as far as controlling how you use resources in a namespace.

I updated the PR and added resource-quota.yaml to apply as well.


fix [Toggle] type property

Currently "type" means one of "switch, checkbox, radio" but regarding documentation, it should contain the position of the label

Name
Type
Default Value
Required
Description

type
string
top

The location of the toggle label. Only placing the label to top and left of the toggle are currently supported.

MXSCOMP-74

It's not an Android specific issue. The type is used by Lumin and iOS and can be one of: switch, checkbox or radio. I think we should update documentation for this. Also if we want to support label position we should name it like labelPosition but not type.

@kpiascik


feat(pubsub/pubsublite): pubsub to pubsublite translation layer

This PR implements the translation layer to convert Pub/Sub messages to Pub/Sub Lite messages.
TODO: update CMake build configs with Pub/Sub Lite protos

This change is

Is there a design document explaining why we need this?

google/cloud/pubsub/internal/defaults.cc, line 161 at r1 (raw file):

}

StatusOr<SequencedMessage> DefaultPublishMessageTransformer(

The return type is PubsubMessage not SequencedMessage

https://github.com/googleapis/google-cloud-cpp/pull/8736


Add more windows

We should add more windowing functions such as sine, rectangular and triangular.

Tip top! How about more with names of people though too? Why these particular ones? (Not questioning whether or not we add them, just interested to know what their different properties are)

Added GitHub fixmarks tags to PR description, updated name as Jakub asked.


all: upgrade test dependencies

What You're Solving

Upgrading jest/storybook deps

staying on storybook@3 for now

fix jest/raf warnings
preparation for using  lerna bootstrap --hoist (#301 )

Progress

[x] actionmenu
[x] avatar
[x] badge
[x] banner
[x] breadcrumb
[x] build
[x] button
[x] card
[x] checkbox
[x] circularprogress
[x] ~core~
[x] datepicker
[x] dialog
[x] drawer
[x] dropdown
[x] errors
[x] form
[x] icon
[x] layout
[x] link
[x] ~normalize~
[x] ~packages-api~
[x] radio
[x] row
[x] ~site~
[x] storybook-addon-center
[x] storybook-addon-theme
[x] switch
[x] tab
[x] table
[x] tag
[x] text
[x] textarea
[x] textinput
[x] theme
[x] tooltip
[x] util
[x] viewtoggle

Hey Dane, I added a bunch o comments.  There's several questions I want to chat about before we merge this.


[Don't Merge, service deployment scheduled for ~May-30] BatchAI. Remove API for list clusters and fileservers

We cannot have API to list clusters and fileservers on subscription/resource group level
because of conflict with the previous API version.
This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[x] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[x] I have read the contribution guidelines.
[x] My spec meets the review criteria:

[x] The spec conforms to the Swagger 2.0 specification.
[x] The spec follows the guidelines described in the Swagger checklist document.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-node

Automation for azure-libraries-for-java

Automation for azure-sdk-for-go

@AlexanderYukhanov sorry i'm bit lost here, so we are removing some operations from api-version2018-05-01.
In the previous api version 2018-03-01 - I can see these removed operations along with other operations exists in 2018-05-01 swagger.
Why we are saying these removed operations conflicts with previous api version while other operations doesn't?

@AlexanderYukhanov thank you clarifying, Yes, you are right, list by RG + Subscription are not a requirement for child resources. I was looking at the old api version where these resources are top level.
I see FileServers_ListByWorkspace and Clusters_ListByWorkspace, so we are supporting required child list operation in parent resource scope.
Given we already published SDKs for 2018-05-01 with these obsolete methods, what will we return if customer try to use those methods? are they NOP until the old resources are drained?

The 2018-05-01 was merged by mistake. We are still working on the API and never released SDKs for it and never updated the production for this version. So, from our side, it's API is still in work.

@AlexanderYukhanov thanks for the info. Just sync-ed with @lenala and learned that there are more changes coming. Please feel free to update this PR with new changes. Inorder to merge a swagger to public repo, it is required that service is in production. Hence i'm updating the title of this PR.
Do you have some rough time frame when new service will be published to production? (if so we can add that info as well in the title)

it should go into prod by the end of the month

@AlexanderYukhanov thanks updated the title.

Automation for azure-sdk-for-ruby

@AlexanderYukhanov seems you are working on the spec, just ping me when you want to take this PR

Hi @anuchandy, we finished with the spec. Today we are rolling out the API to prod and on Monday we are making API available to everybody.
So, can you please take a look at PR to be sure we will merge it ASAP after making API open?

@AlexanderYukhanov sure, will take another look today.

Hello, @anuchandy. We want to merge it in on Monday. Do you have any open issues or questions?

will keep it for several days. the api in production is currently under feature switch

@AlexanderYukhanov just sync-ed with team, the service needs to be publicly available (without feature flag) in-order to merge the spec. I've updated the title.
Otherwise the spec looks good. We can merge as soon as it meet above criteria.

@anuchandy, we have removed feature switch from the production and updated the titles and descriptions in the swagger, please merge


Can't get warning to show to IE11 users

I'm testing with IE11 on Windows 8.1
I've tried setting the IE value to 11, -4 and -3 and am still not seeing the warning. Seems to work fine for other outdated browsers.

Same here. Win 7 + IE11.

Same here. Win10 + IE11. no warning :(

@josselex Thanks for the awesone lib. However, the issue with IE 11 + Win 7 still exists

Now it finally should work. Sorry for the delay. I was occupied with rewriting the whole browser-update.org site.

Not working w/ this config, no warning for IE11 on Windows 7:
  (function() {
    window['$buoop'] = {required:{e:-5,f:-3,o:-3,s:-1,c:-3},shift_page_down:true,insecure:true,api:2019.03 };
    var e = document.createElement('script');
    e.src = '//browser-update.org/update.min.js';
    document.body.appendChild(e);
  })();
</script>

Here is what I'm getting from test.html:
User-Agent-String (HTTP Header):Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
User-Agent-String (Javascript): Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E; rv:11.0) like Gecko
Detection

so it is still open?
couldn't get it to work on win7 IE11

Can you open your site with #test-bu appended to the url? Then you should always see the message with some debug information.

@philipdenys
No, this bug is solved.
Can you open your site with #test-bu appended to the url? Then you should always see the message with some debug information.

I'm still having this issue with IE 11 on Windows 10. Goig to the test.html site returns me:

Identification
User-Agent-String (HTTP Header):
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
User-Agent-String (Javascript):
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Zoom 3.6.0; rv:11.0) like Gecko
Detection
Detected Browser as (Javascript):
Internet Explorer 11
Warning: Your browser is misconfigured. Identification via Javascript and and HTTP-Headers does not match!
Browser (Header):
Internet Explorer 11
System (Header):
Windows 10
Language
Lang (HTTP Header):
nl-BE
Lang (Javascript):
nl

With #test-bu added to url in the debugging window it shows:

Browser Notification Debug-Mode (v3.3.26)
Browser would normally be notified: false
Browser info
is_latest:false, is_insecure:false, other:false, no_device_update:false, cookie set: true

I've tried clearing my cookies in IE.


add self-healing to corrupted FWJR

now the component should be able to self-recover FWJRs that are missing the taskName.
This has been tested in testbed.
@ticoann , please review and let me know if this is not the proper way to fix this issue
If you are happy :-), then I'll forward port it to master.

Thanks Seangchan! I updated the patch to warning instead of error msg.


Question: Is M620 supported?

Hi! Just wanted to ask if the Bafang M620 (UART) motor is supported by this software? Thank you!

Yes its supported (except configs related to torque sensor, if its UART)

Ok, thank you for the response!


local controll - security1: Invalid state of session 0 (expected 2). Restarting session. (MEGH-3533)

Every sliding down on the phone app screen makes this:
W (22314) security1: Invalid state of session 0 (expected 2). Restarting session.
E (22314) security1: Closing old session with id<PHONE_NUMBER>
Is it correct behaviour?
This is only when phone is connected to wifi (local controll). There is not issue when connected throw LTE .
Using "switch" example on ESP32-C3, ESP-IDF 4.4.1

@jacek12345 , there is indeed some issue with the local control logic which throws this error, but eventually the session gets re-established and data is sent successfully on local network? Does your observation match this? Are you missing some commands OR getting them via cloud instead of the local network?

It looks like re-established and working.

@jacek12345 , there is indeed some issue with the local control logic which throws this error, but eventually the session gets re-established and data is sent successfully on local network? Does your observation match this? Are you missing some commands OR getting them via cloud instead of the local network?

@jacek12345 , there is indeed some issue with the local control logic which throws this error, but eventually the session gets re-established and data is sent successfully on local network? Does your observation match this? Are you missing some commands OR getting them via cloud instead of the local network?

It looks like re-established and working.

sorry i closed by misclick


(Desktop) Portfolio - positions - open orders: padding

Indent the content of the child rows by 8px. Makes it easier to scan and see the hierarchy of information.

looks good closing