Disabling BLE client as Cannot find package '@abandonware/bluetooth-hci-socket' imported from /var/lib/homebridge/node_modules/homebridge-govee/lib/platform.js at new NodeError (node:internal/errors:387:5).

What issue do you have? Please be as thorough and explicit as possible.
Hello,
I am trying to connect govee led light strip H617A.
they show up in the log but when I try to add the device ID to the plugin nothing comes up. I followed all the instructions and tried finding the BLE on my own but noticed I was getting the following error and was not able to debug the lights and that's most likely the reason the light aren't connecting in the first place.
[10/16/2022, 1:57:20 PM] [Govee] [Bed light] [27:6D:D7:37:32:34:73:61] will not be added to Homebridge unless configured and Bluetooth enabled in config.
[10/16/2022, 1:57:20 PM] [Govee] [TV Light] [04:FE:D7:37:32:34:3C:88] will not be added to Homebridge unless configured and Bluetooth enabled in config.
Details of your setup.

Do you use (1) Homebridge UI-X (2) Homebridge CLI or (3) HOOBS?
Homebridge

Which version of Homebridge/HOOBS do you have?
[v1.5.0]

Which platform do you run Homebridge/HOOBS on (e.g. Raspberry Pi/Windows/HOOBS Box)? Please also mention your version of Node.js/NPM if known.

[Banana Pi BPI-M2 Zero - Quad Core Single Board Computer with Wifi & Bluetooth]
on Raspbian 9 OS.

Which version of this plugin (homebridge-govee) do you have? Has the issue started since upgrading from a previous version?

homebridge-govee v6.0.4

Which Govee devices do you have that are causing issues? Please include product models if applicable.

govee led light strip H617A.
Please paste any relevant logs below.

10/16/2022, 1:57:13 PM] [Govee] Initializing Govee platform...
[10/16/2022, 1:57:13 PM] [Govee] Initialising plugin v6.0.4 | System linux | Node v16.18.0 | HB v1.5.0 | HAPNodeJS v0.10.4...
[10/16/2022, 1:57:13 PM] Loading 2 accessories...
[10/16/2022, 1:57:13 PM] [Unlock Front Door] Initializing DummySwitch accessory...
[10/16/2022, 1:57:14 PM] [Lock Front Door] Initializing DelaySwitch accessory...
[10/16/2022, 1:57:14 PM] [Govee] Plugin initialised. Setting up accessories....
Setup Payload:
X-HM://00250E7LDZPY5
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 931-55-825 │
    └────────────┘

[10/16/2022, 1:57:14 PM] Homebridge v1.5.0 (HAP v0.10.4) (Homebridge 8A48) is running on port 51781.
[10/16/2022, 1:57:16 PM] [Govee] LAN client enabled.
[10/16/2022, 1:57:18 PM] [Govee] HTTP/AWS clients enabled as Govee username and password provided.
[10/16/2022, 1:57:19 PM] [Govee] API client enabled as Govee API key provided.
[10/16/2022, 1:57:19 PM] [Govee] Disabling BLE client as Cannot find package '@abandonware/bluetooth-hci-socket' imported from /var/lib/homebridge/node_modules/homebridge-govee/lib/platform.js at new NodeError (node:internal/errors:387:5).
[10/16/2022, 1:57:20 PM] [Govee] [Bed light] [27:6D:D7:37:32:34:73:61] will not be added to Homebridge unless configured and bluetooth enabled in config.
[10/16/2022, 1:57:20 PM] [Govee] [TV Light] [04:FE:D7:37:32:34:3C:88] will not be added to Homebridge unless configured and bluetooth enabled in config.
[10/16/2022, 1:57:20 PM] [Govee] [RGBICW Floor Lamp Basic] if you notice any flickering when changing the brightness/colour, let me know on Discord/Github with model number [H6076].
[10/16/2022, 1:57:20 PM] [Govee] [RGBICW Floor Lamp Basic] initialising with options {"adaptiveLightingShift":0,"aws":"enabled","ble":"disabled","brightnessStep":1,"lan":"enabled","logging":"standard"}.
[10/16/2022, 1:57:20 PM] [Govee] [RGBICW Floor Lamp Basic] initialised with id [36:7E:C1:37:34:32:38:19] [H6076].
[10/16/2022, 1:57:22 PM] [Govee] ✓ Setup complete. Want to see this plugin in your own language? Let me know

Hi @redvegas
Looks like a dependency that the plugin needs for bluetooth is failing to install.
Can you run this command in the homebridge terminal and paste the output? it may well be quite long!
npm install @abandonware/bluetooth-hci-socket

Here is the output.
npm WARN checkPermissions Missing write access to /home/pi/node_modules
npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN pi No description
npm WARN pi No repository field.
npm WARN pi No README data
npm WARN pi No license field.
npm ERR! path /home/pi/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/home/pi/node_modules'
npm ERR!  { Error: EACCES: permission denied, access '/home/pi/node_modules'
npm ERR!   stack: 'Error: EACCES: permission denied, access '/home/pi/node_modules'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/home/pi/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2022-10-16T11_57_00_783Z-debug.log

npm WARN checkPermissions Missing write access to /home/pi/node_modules/agent-base/node_modules/ms
npm WARN checkPermissions Missing write access to /home/pi/node_modules/agent-base/node_modules/debug
npm WARN checkPermissions Missing write access to /home/pi/node_modules/https-proxy-agent/node_modules/ms
npm WARN checkPermissions Missing write access to /home/pi/node_modules/https-proxy-agent/node_modules/debug
npm WARN checkPermissions Missing write access to /home/pi/node_modules/@abandonware/bluetooth-hci-socket/node_modules
npm WARN checkPermissions Missing write access to /home/pi/node_modules/agent-base/node_modules
npm WARN checkPermissions Missing write access to /home/pi/node_modules/https-proxy-agent/node_modules
npm WARN checkPermissions Missing write access to /home/pi/node_modules/@abandonware
npm WARN checkPermissions Missing write access to /home/pi/node_modules
npm WARN checkPermissions Missing write access to /home/pi/node_modules/bluetooth-hci-socket
npm WARN checkPermissions Missing write access to /home/pi/node_modules/@mapbox
npm WARN checkPermissions Missing write access to /home/pi/node_modules/make-dir/node_modules
npm WARN enoent ENOENT: no such file or directory, open '/home/pi/package.json'
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN pi No description
npm WARN pi No repository field.
npm WARN pi No README data
npm WARN pi No license field.
npm ERR! path /home/pi/node_modules/agent-base/node_modules/ms
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/home/pi/node_modules/agent-base/node_modules/ms'
npm ERR!  { Error: EACCES: permission denied, access '/home/pi/node_modules/agent-base/node_modules/ms'
npm ERR!   stack: 'Error: EACCES: permission denied, access '/home/pi/node_modules/agent-base/node_modules/ms'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/home/pi/node_modules/agent-base/node_modules/ms' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2022-10-16T12_02_34_622Z-debug.log

Can you next show the output of running this?
sudo npm install @abandonware/bluetooth-hci-socket

Hi there,
I had the same issue and after looking through various forums, I managed to solve it.
I ran these commands and it worked:
cd /var/lib/homebridge/node_modules/homebridge-govee/node_modules/
npm install @abandonware/bluetooth-hci-socket

Can you next show the output of running this?
sudo npm install @abandonware/bluetooth-hci-socket

npm install @abandonware/bluetooth-hci-socket
node: /lib/arm-linux-gnueabihf/libm.so.6: version GLIBC_2.27' not found (required by node) node: /lib/arm-linux-gnueabihf/libc.so.6: version GLIBC_2.28' not found (required by node)
node: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.25' not found (required by node)

npm install @abandonware/bluetooth-hci-socket

/var/lib/homebridge/node_modules/homebridge-govee/node_modules $ npm install @abandonware/bluetooth-hci-socket
node: /lib/arm-linux-gnueabihf/libm.so.6: version GLIBC_2.27' not found (required by node) node: /lib/arm-linux-gnueabihf/libc.so.6: version GLIBC_2.28' not found (required by node)
node: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.25' not found (required by node)

Hello All,
I have decided to switch from using Raspbian 2020-04-10 update Raspbian Stretch, kernel 4.4 to Armbian_22.11.0-trunk_Bananapim2zero_jammy_edge_5.19.6_xfce_desktop.
After installing HomeBridge, I did have to use the following commands to get the BLE to work but after that everything was working with no errors in HomeBridge logs. Thanks to @cros-nash for providing this.
cd /var/lib/homebridge/node_modules/homebridge-govee/node_modules/
npm install @abandonware/bluetooth-hci-socket
After adding all my Govee lights with the HomeBridge Govee plugin and setting up the Bluetoooth IDs under the lights setting in the Govee plugin I was able to successfully see all my lights automatically added in the accessory section.
Unfortunately, after all of this I still am having an issue.
My Banana Pi BPI-M2 ZERO does seem to have enough Bluetooth signal strength to control the Govee_H617A_7361 lights. I try to turn the lights on and off from the accessory tab in HomeBridge and the lights will respond 1/15 try's clicking on/off.
This is what I am seeing in logs as well.
[TV Light] could not find device [d7:37:32:34:3c:88].
[10/30/2022, 10:26:14 PM] [Govee] [TV Light] could not be updated as no connection method available at file:///var/lib/homebridge/node_modules/homebridge-govee/lib/platform.js:1752:13.
[Bed light] could not find device [d7:37:32:34:73:61].
[10/30/2022, 10:27:31 PM] [Govee] [Bed light] could not be updated as no connection method available at file:///var/lib/homebridge/node_modules/homebridge-govee/lib/platform.js:1752:13.
I would like to confirm I do have a Govee_H6076_3819 that uses WiFi to control, and this light responds instantly. this issue only seems to be with Bluetooth.
I have purchased a micro-USB to USB adapter and Bluetooth adapter that I am going to try today and hopefully that will improve the Bluetooth signal and control the lights much better I will keep my post updated and inform if this gets me from 80% to 100% functionality.

#352


[WIP] Move JS library to TS

This PR migrates the javascript library from JS to TS.
The idea here is that we can emit the JS lib with TS types built in, so that JS consumers are unchanged, but TS consumers don't need a separate types declaration.
We're trying to do this with no breaking changes, and still including the original JSDoc typings.

Wait is this really needed, doesn't the jsdoc do enough? It's not as if there are any complex types involved.

@alexheretic you can't import the JS library into a TS project, unless you provide type definitions manually or enable importing of JS in your tsconfig. I'd say for external facing libraries this is a bit of friction that we should for better developer experience.
So normally providing for TS is done in two ways:

Publish two packages, one for JS, one as a standalone types package (in this case @types/truelayer-signing) which you add to https://github.com/DefinitelyTyped/DefinitelyTyped

You write your library with TS, and generate JS build output + TS type definitions, releasing both together. JS doesn't read these files, so there's no difference to JS consumers

Option #2 is generally industry standard - and makes maintenance easier as we don't have to worry about maintaining a separate package on DefinitelyTyped.

Ok that makes sense. I think we should include a plain javascript usage test too. Perhaps just the original sign should sign a full request... test will be enough there.

We could probably rename "javascript" -> "nodejs" in the readmes too. And mention the lib supports ts & js.

Fyi https://github.com/TrueLayer/truelayer-signing/pull/16 includes new scenario tests for nodejs & support for no-header signatures in the verifier. Should be easy enough to merge I think!

Sorry another conflict because I updated the changelog. We should add a point about ts support in the changelog too

@alexheretic Should I increment version to 0.2.0 and update the changelog?

@alexheretic Should I increment version to 0.2.0 and update the changelog?

I don't think this is a breaking change right, the js usage will continue to work without any change right? As such just a non-breaking 0.1.1 release will cover it, even if it's adding a major feature.
You can just use ## Unreleased for now too, though same difference as I'll push a release out once it's merged :+1:

I've got no problem with the import changes. I've made a few small changes since your review, let me know if you're happy and then we're good to merge!

Published on npm as v0.1.1


Auto Show Medium Insert

When use focus() on Medium Editor, Medium Insert not auto show.

Could you provide more information to reproduce the problem?

The plugin is not bound to focus event, but to keyup and click. Try to use one of those.


Difference between logged metrics: loss, best_loss ?

fairseq logs several metrics in tensorboard. Among them there is loss and best_loss . In loss, there is a trace for the training loss and another one for the validation loss. best_loss only applies to validation.
However, the values in best_loss are different from the minimum values of the validation loss, e.g. the lowest values in loss and much greater than the value in best_loss .
How are loss and best_loss computed?

Are these values also inconsistent in the textual log that gets printed to stdout?

Are these values also inconsistent in the textual log that gets printed to stdout?

Yes, for me they are also different.

We log running averages for the epoch to the terminal [1], but point estimates to Tensorboard since it applies its own smoothing [2]. This will be more consistent with an upcoming refactoring of the logging system in fairseq.
[1] https://github.com/pytorch/fairseq/blob/master/fairseq/progress_bar.py#L63
[2] https://github.com/pytorch/fairseq/blob/master/fairseq/progress_bar.py#L278

I don't think @noe's question was answered. I have the same question.

How are loss and best_loss computed?

@myleott Could you explain the difference between the best_loss and loss metric in tensorboard? And where I can find that in the code? I tried looking for it but didn't find it.


[DNM] allow setting small gc worker task

Signed-off-by: Yilin Chen<EMAIL_ADDRESS>
What is changed and how it works?
Close #xxx
What's Changed:
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note
Please add a release note.
If you don't think this PR needs a release note then fill it with None.
If this PR will be picked to release branch, then a release note is probably required.

/build release

/release

/release


fix(ngMock): don't break if $rootScope.$destroy() is not a function

Previously, angular-mocks was calling $rootScope.$destroy() after each test as part of it's cleaning up, assuming that it was always available. This could break if $rootScope was mocked and the mocked version didn't provide the $destroy() method.
This commit prevents the error by first checking that $rootScope.$destroy is present.
Fixes #14106

LGTM

Backported to v1.5.x (50ed871) and v1.4.x (24a7f28).


TNO-1658: Reporting Service is throwing... (Draft)

TNO-1658: Reporting Service is throwing File Doesn't Exist Errors

@CelloLiu Is this PR ready?

I'm going to merge this as it's block testing reports.


[FLOC-3711] Fix count of iterations in failure message.

Fixes FLOC-3711 by passing number of iterations through in the Exception and using that count in the error message.

Great, thanks @sarum90 :)

Thanks for the review!
A note on tests. run_sphinx is failing the same way that it is failing on master, so I don't think that should block submission here. The *CentOS_7_for_flocker.acceptance.obsolete tests that also failed I'm not too concerned about as they should be unaffected by this code change. I'll dive into them and be sure they are covered by JIRA issues, but I'm just going to merge this as is rather than wait on them to be green before merging.


Fix version bug

Without this movie_deletarr gives a format string error; I believe this is what was intended.

Thanks for the fix.


ion-select options disappears

I have an issues on ion-select
<ion-select  [(ngModel)]="book">       <ion-option *ngFor="let item of books" [value]="item.value">{{item.name}}</ion-option>    </ion-select>
When I choose it the second time,the alert is open but the options disappears.Is this a bug?

I'm having the same issue. I need to click an <ion-select> box twice before it shows up.
I noticed that once the current modal page it was on was dismissed, another instance of an <ion-select> was present on the page below it, leading me to believe the first click created an <ion-select> underneath the 'active' view.

I have resolved, the reason is I have two ion-select in ion-item, but when I click, only the first reply, so I add a class item-multiple-inputs to ion-item

Awesome! Glad to hear that this was resolved. Thanks for using Ionic!


February 2022 Documentation

Docs Build status updates of commit 74b3b2c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded
View

docs/concepts/Package-Versioning.md
:white_check_mark:Succeeded
View

docs/reference/cli-reference/cli-ref-environment-variables.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU1204.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU1211.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU1212.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU1213.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU5045.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU5126.md
:white_check_mark:Succeeded
View

docs/reference/msbuild-targets.md
:white_check_mark:Succeeded
View

docs/reference/nuget-config-file.md
:white_check_mark:Succeeded
View

docs/release-notes/Index.md
:white_check_mark:Succeeded
View

docs/release-notes/NuGet-6.1.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 2ce018f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded
View

docs/concepts/Package-Versioning.md
:white_check_mark:Succeeded
View

docs/reference/cli-reference/cli-ref-environment-variables.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU1204.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU1211.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU1212.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU1213.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU5045.md
:white_check_mark:Succeeded
View

docs/reference/errors-and-warnings/NU5126.md
:white_check_mark:Succeeded
View

docs/reference/msbuild-targets.md
:white_check_mark:Succeeded
View

docs/reference/nuget-config-file.md
:white_check_mark:Succeeded
View

docs/release-notes/Index.md
:white_check_mark:Succeeded
View

docs/release-notes/NuGet-6.1.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Add _.pipe for callback composition

Returns a function that pushes to its arguments the next function and
repeats this technique recursively until no more functions are left to compose.

Searching in the pull history of underscore I found that this feature was submitted before and rejected...
https://github.com/jiaaro/underscore/commit/d66762d717b53e46043ddefd62d85c49c24cfa28
I was interested on it for its interesting properties on decoupling asynchronous code, but it's also understandable that underscore is not aimed to be an asynchronous tool library.
At this point I can only hope that you guys change your point of view on this subject :)


Mobile (View) Navigation Menu changes required

Description

The hamburger menu should turn into a close icon when it is open(the SVG for the close icon is present in the code but is not implemented)
When we click on the EddieHub Icon, it redirects us to the home page but doesn't close the mobile navigation menu.
When we click outside the navigation menu, the mobile navigation menu should close.
On clicking the hamburger menu it has a white outline around it, which doesn't look good.

Screenshots
Issues
https://user-images.githubusercontent.com/116095538/211910355-5d1b408f-1857-4359-b6d3-fbc8c7282ff0.mp4
Additional information
No response

It should also close when navigated to another route (add this too in the points), there's already an issue on this #2507

Should I add this point? won't it duplicate the issue?

Should I add this point? won't it duplicate the issue?

ig it will, well the points addressed in this will automatically fix the one at #2507 so ig no point addressing it again
Leave it as it is then

I think This can be worked upon after #2507 gets merged as it only solves point no 3 and the one addressed by @Aadarsh805

It should probably also open on top of the page instead of pushing the rest of the content down.

This has been completed here: https://github.com/EddieHubCommunity/LinkFree/pull/3202 so I am closing this issue.


Make useproviders lazy when given provider names

Fixes #19

Codecov Report

Merging #20 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #20   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           8      8
  Lines         291    300    +9
  Branches       44     45    +1
=====================================
+ Hits          291    300    +9

Impacted Files
Coverage Δ

aiodine/exceptions.py
100% <100%> (ø)
:arrow_up:

aiodine/store.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b358b42...b0cc976. Read the comment docs.


Callbacks aren't called after initializing a new instance without callbacks

Because the searchActiveCallback, searchEmptyCallback, searchBlurCallback and searchFocusCallback are global variables, different instances of the plugin will interfere.
For example, if a plugin instance gets initialized with a onSearchEmpty callback and another instance gets initialized after that without a onSearchEmpty callback, it will not be called for the first instance anymore.
This can be solved by moving the variables into the plugin instance.

Fix will be available in v2.0.0


Discussion: merge main to production_testing?

I have a question about git best practice @alexpiet @XX-Yin: should we always merge main back to production_testing each time when we merge production_testing to main?
The reason is that if production_testing is not caught up with main, when one creates a new branch from main (in the screenshot below, han-automatic-training was created from main from point A) and then tries to issue a PR onto production_testing, the diff may include additional commits than what are really needed.

Here I just meant to include the two commits in red circle, but I got a very long diff that includes some old commits

Looks like this is indeed what ChatGPT recommends https://chat.openai.com/share/fc9a852f-3b92-4fb5-a4ac-480ea3144780

Yeah, this is an area where I do not have complete clarity. I think there are a couple things going on right now.

Yesterday I merged a small PR into main, that skipped production_testing. I shouldn't have done that because now there are changes that need to get merged from main into production_testing. I merged it into main thinking that it was just documentation, but it messed up the flow.

But, if you look at the files changed, only the READme is changing, and its from the two commits/1 PR I did yesterday

So I dont really understand why it shows all the commits in this merge. Since all of those commits went into main through production merge.
If we always merge to production_testing, not main then we can avoid this problem.
If we always make our updates by branching and then merging back in quickly, then we dont have to worry about the code diverging.
Maybe we should always merge main into production_testing after the weekly production merge. The code shouldn't change, but maybe it helps keep the commit history straight? Open to suggestions

Yeah, in sum, the additional commits come from two sources:

Commits that were directly merged to main without going through production_testing.
To avoid this, as you said, we should:

merge to production_testing instead of main whenever possible
if something is merged directly to main, such as a hotfix, merge main back to production_testing ASAP.

As long as we follow these two guidelines, we don't need to merge main to production_testing after each weekly production merge.

Those empty "Merge pull request xxx" commits generated automatically by --no-ff PR merge, which can be ignored since their diff = 0.

This read looks very helpful
https://nvie.com/posts/a-successful-git-branching-model/
Their develop = our production_test, and we kind of combine their release_branches and master into one, our main.

Note that their release or master are merged back to develop when and only when there are some bugfixes outside develop (red circles).
Another point I learn from their workflow is they always create a freature branch from develop, not main. Should we enforce the same?


Missing finger textures on Gauntlets

What happened?
The Wolf Heavy Bikini Gauntlet II has two fully covered fingers, and the rest should be fingerless gloves-esque. Most likely the same issue happens on the light version, did not test.

i made a github account just for this, happy now?! :P
Modlist version
1.0.2

fixed in 1.03


Unexpected listeners configuration when multiple k8s svc match a Gateway

(NOTE: This is used to report product bugs:
To report a security vulnerability, please visit https://istio.io/about/security-vulnerabilities
To ask questions about how to use Istio, please visit https://discuss.istio.io)
Bug description
When there are multiple Gateway resources selecting the same Envoy deployment on different ports and each port has a Kubernetes Service pointing to that port, we see observe some unexpected behavior.
[ X] Networking
Expected behavior
Gateway g_A listening on port p_A
Gateway g_B listening on port p_B
K8s Service mapping 80 -> p_A
K8s Service mapping 80 -> p_B
I expect to have the following listeners:

Gateway g_A config applied on p_A
Gateway g_B config applied on p_B

Steps to reproduce the bug
Install Istio 1.8.2 with istioctl.
istioctl  proxy-config listeners istio-ingressgateway-68c6579865-l9kkx.istio-system
ADDRESS PORT  MATCH DESTINATION
<IP_ADDRESS> 15021 ALL   Inline Route: /healthz/ready*
<IP_ADDRESS> 15090 ALL   Inline Route: /stats/prometheus*

Install default Gateway:
cat <<EOF | kubectl apply -f -
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gw-80
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
EOF

As expected, Istio uses the 80 -> 8080 mapping defined in:
kubectl get svc -n istio-system istio-ingressgateway -o yaml
...
  - name: http2
    port: 80
    protocol: TCP
    targetPort: 8080
...

Now:
ADDRESS PORT  MATCH DESTINATION
<IP_ADDRESS> 8081  ALL   Route: http.80
<IP_ADDRESS> 15021 ALL   Inline Route: /healthz/ready*
<IP_ADDRESS> 15090 ALL   Inline Route: /stats/prometheus*

This doesn't seem correct for two reasons:

In the k8s world, ordering doesn't matter and here it does, leading to non-deterministic behavior
Shouldn't Istio be able to figure out that there is a Gateway listening on 8081 so it shouldn't consider the k8s svc pointing to that port for the Gateway listening on 80?

Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
Tested on 1.7.x and 1.8.x.
How was Istio installed?
istioctl
Environment where the bug was observed (cloud vendor, OS, etc)
GKE
/cc @howardjohn
This is a minimal repro for https://github.com/knative/serving/issues/10160

@Monkeyanator I think you were looking at this, but maybe I made that up. Let me know if not

I think this is fixed by https://github.com/istio/istio/commit/ae8b0e2cf984f13224b35423edb52f25832ac616
@bianpengyuan ?

Yes.

Actually this is not fixed.
Before https://github.com/istio/istio/commit/ae8b0e2cf984f13224b35423edb52f25832ac616, ingressgateway will either fail due to duplicated listeners, or work on both target ports. (depending on the time order of service definition, which will affect the service port -> listener port mapping when generating listener).
After https://github.com/istio/istio/commit/ae8b0e2cf984f13224b35423edb52f25832ac616, ingressgateway will not fail, but it will listen on a target ports, which will break hosts defined at one of the gateways. It will also be problematic if user have two gateways defined on different target ports (before we don't merge and generate two listeners, now we merge and generate one listener with virtual host not functioning), this means we'd need to revert or revise the origin change to only do conversion if service port -> target port mapping is 1:1.

For this particular case, I don't know how to solve it, as

Shouldn't Istio be able to figure out that there is a Gateway listening on 8081 so it shouldn't consider the k8s svc pointing to that port for the Gateway listening on 80?

is not necessarily true, since it is totally valid to have multiple gateways listening on the same port (thus gateway on 80 translate to gateway on 8081 is totally valid even though there is already a gateway on port 8081).

I marked this as a release blocker since we are introducing a regression as far as I can tell. I want to make sure we either fix this or revert https://github.com/istio/istio/commit/ae8b0e2cf984f13224b35423edb52f25832ac616.

Would this fix be cherry picked to older releases?

Hi
Any update on this issue?
it is a weird behavior :) I just have 1 gateway with 8443 but 2 gateway with 443. 443 works perfect and I am getting the following error:
warning	envoy config	gRPC config for type.googleapis.com/envoy.config.listener.v3.Listener rejected: Error adding/updating listener(s) <IP_ADDRESS>_8443: duplicate listener <IP_ADDRESS>_8443 found

I found this blog and it explained what is the root cause
http://linjing.io/post/istio-ingressgateay-port-relationship/


Catch UnicodeDecodeError in is_already_migrated

Fix #593

@camilonova I have tagged a new version with this change.


Inference not working for union without discriminant properties

TypeScript Version:  3.6.3

Search Terms:
Code
type AElement = HTMLAnchorElement;
type BElement = HTMLButtonElement;

interface A {
    a: 'a';
    onClick(el: AElement): void;
}

interface B {
    onClick(el: BElement): void;
}

type Props = A | B;
const props: Props = {
    a: 'a',
    // unexpected error, `el` is implicitly `any`
    onClick: el => {}
};

If we add a common discriminant property, it does work:
type AElement = HTMLAnchorElement;
type BElement = HTMLButtonElement;

interface A {
    type: 'a';
    onClick(el: AElement): void;
}

interface B {
    type: 'b';
    onClick(el: BElement): void;
}

type Props = A | B;
const props: Props = {
    type: 'a',
    onClick: el => {},
};

It will also work if the union members do not share the same property:
type AElement = HTMLAnchorElement;

interface A {
    a: 'a';
    onClick(el: AElement): void;
}

interface B {
    foo: number;
}

type Props = A | B;
const props: Props = {
    a: 'a',
    onClick: el => {},
};

Expected behavior:
Actual behavior:
Playground Link:
Related Issues:

https://github.com/microsoft/TypeScript/issues/20863
https://github.com/Microsoft/TypeScript/issues/30631
https://github.com/microsoft/TypeScript/issues/29025#issuecomment-543922052

As a workaround of your first code (add a optional property a with type undefined):
type AElement = HTMLAnchorElement;
type BElement = HTMLButtonElement;

interface A {
    a: 'a';
    onClick(el: AElement): void;
}

interface B {
    a?: undefined;
    onClick(el: BElement): void;
}

type Props = A | B;
const props: Props = {
    a: 'a',
    onClick: el => {}
};

Playgorund (tested with 3.7-beta, 3.6.3 and nightly).

I don't understand the intended use of this code. When some code that receives a Props goes to call onClick, how does it determine what to do? What about aliasing? How do you get into this state in a way where callers are known to do the right thing? It seems like a correct error to say that TS can't really predict whether or not onClick will be invoked with an AElement or BElement since there's no runtime way to safely distinguish these objects.

When some code that receives a Props goes to call onClick, how does it determine what to do?
Ideally I could do this:

declare const aElement: AElement;
declare const bElement: BElement;
props.a === 'a' ? props.onClick(aElement) : props.onClick(bElement);

Although as I just discovered, this won't work.

since there's no runtime way to safely distinguish these objects.

Is that because a: 'a' could exist on B? In that case, I guess what I'm really after is exact types?

In the context of usage, this is used for polymorphic components in React (where the most popular use case is rendering buttons vs anchors that visually look the same).
If there is a href prop given to this polymorphic component, then the component will render an anchor tag, otherwise it will render a button tag, so the discriminator is the presence of a property in the given props.

We could use solid discriminants or a?: undefined/a?: never for B as @j-oliveras suggested, so at least we have a way out @OliverJAsh 👍

The problem with a nonpresent discriminant is that it's subject to aliasing effects:
type AElement = HTMLAnchorElement;
type BElement = HTMLButtonElement;

interface A {
    a: 'a';
    onClick(el: AElement): void;
}

interface B {
    onClick(el: BElement): void;
}

type Props = A | B;

function fail(x: A | B) {
  if (x.a === "a") {
    x.onClick(someAnchor);
  }
}

// Clearly OK, by definition
let tricky1 = { a: "a", onClick: (el: BElement) => e.buttonThing() };
// Clearly OK - 'a' property is aliased away, 'onClick' property matches
let tricky2: B = tricky1;
// Clearly OK by the definition of union types
let tricky3: A | B = tricky2;
// Crashes
fail(tricky3);

This is why you need an undefined or never placeholder property to make the assignment into tricky2 illegal

For use cases of polymorphic components, overload signatures will work fine but they will break in cases where a conditional type attempts to infer its props, so I was hoping this would be a solution but your reasoning makes sense to me.

// Clearly OK by the definition of union types
let tricky3: A | B = tricky2;

Blocking this (w/o having to manually sprinkle never props) is another place that could benefit from ts-toolbelt's Union.Strict<T>:
import { Union } from "ts-toolbelt";
const tricky4 = { a: "a", onClick: (el: BElement) => el.checkValidity() };
const tricky5: Union.Strict<A | B> = tricky4; // ts(2322)


optimize bbox_from_point

resolves #540

Coverage decreased (-0.07%) to 92.441% when pulling c3149e78813a3ac0a4b2ebfceb518fd881da944a on fix into 4a8aaa0355933165f710a33a2f7f538b9862fa49 on master.

As a simple test:
import osmnx as ox
dist = 500
point = 37, -117
north, south, east, west = ox.utils_geo.bbox_from_point(point, dist=dist, project_utm=True)
print((north - south) / 2 - dist) #-1.177
print((east - west) / 2 - dist) #0.997
print(ox.utils_geo.bbox_to_poly(north, south, east, west).area) #999636

This desired 1 km^2 projected bounding box is within ~1 meter of expected dimensions and has area of 0.9996 km^2.
The new implementation of ox.utils_geo.bbox_from_point is several thousand times faster than the old.


Show the dashboard owners on the consumption view of a dashboard

Is your feature request related to a problem? Please describe.
It's difficult to see the owners of a dashboard
Describe the solution you'd like
An affordance somewhere in the dashboard consumption view with the owner's names/links to their profiles
Describe alternatives you've considered
N/A
Additional context
N/A

@nytai or @rusackas is this something that you'd be interested in?


[RV_DM]rv_dm_sba_debug_disabled_vseq

This test verify that access to SBA interface is disabled if lc_hw_debug_en is set to not strict true value.

@jdonjdon kindly review it.

Following up on https://github.com/lowRISC/opentitan/pull/21042#discussion_r1470716891:

In sequence, we made sba access which comes through. then we disable lc_hw_debug_en signal and again did sba access. so no transaction was seen on tl interface. but did not verify through assertion checks. i can add comments did describe this thing.

I guess my problem is that I don't know how we can tell there was no SBA access the second time. Merely noting that req.is_err is SbaErrNone doesn't seem to be enough: how do we know that there wasn't an SBA access that didn't happen to cause an error?

Following up on #21042 (comment):

In sequence, we made sba access which comes through. then we disable lc_hw_debug_en signal and again did sba access. so no transaction was seen on tl interface. but did not verify through assertion checks. i can add comments did describe this thing.

I guess my problem is that I don't know how we can tell there was no SBA access the second time. Merely noting that req.is_err is SbaErrNone doesn't seem to be enough: how do we know that there wasn't an SBA access that didn't happen to cause an error?

Yes you are right. There is no specific check regarding sba access. But surely there were no sba access after turning off lc_hw_debug_en siganl because that's why we were facing error in scoreboard called "no transaction were seen on tl interface".

I'm sorry, I don't quite understand your last message. If you think the testpoint is implemented with this virtual sequence, that's great news! But it's not obvious to me why it is implemented. Please can you tweak the code so that it is obvious that it does all the checks described in the testpoint?

I'm sorry, I don't quite understand your last message. If you think the testpoint is implemented with this virtual sequence, that's great news! But it's not obvious to me why it is implemented. Please can you tweak the code so that it is obvious that it does all the checks described in the testpoint?

Sure, I will look into it and get back to you.

I'm sorry, I don't quite understand your last message. If you think the testpoint is implemented with this virtual sequence, that's great news! But it's not obvious to me why it is implemented. Please can you tweak the code so that it is obvious that it does all the checks described in the testpoint?

Actually for SBA access there are errors like busy, timeout, bad alignment, bad req and sberrothers.  Second time when we do sba access then it goes into scoreboard to indicate that "no transaction seen on tl interface". That is expected behavior. We do some changes in scoreboard so that if lc_hw_debug_en signal is not true then throw transactions away. For sequence after second access we are checking that no sba access so no error is reporting that are defined.

I think that I'm still not properly understanding the logic here. Surely, it's normally possible to do an SBA access and have req.is_err equal to SbaErrNone afterwards. So I don't think I understand why checking this equality proves that no SBA access happened.
Isn't there something stronger you can do? I'm thinking something like

Enable lc_hw_debug_en
Do an SBA access and check you get something sensible
Disable lc_hw_debug_en
Do the same SBA access (which you know should have worked) and check that it doesn't work this time.

I think that I'm still not properly understanding the logic here. Surely, it's normally possible to do an SBA access and have req.is_err equal to SbaErrNone afterwards. So I don't think I understand why checking this equality proves that no SBA access happened.
Isn't there something stronger you can do? I'm thinking something like

Enable lc_hw_debug_en
Do an SBA access and check you get something sensible
Disable lc_hw_debug_en
Do the same SBA access (which you know should have worked) and check that it doesn't work this time.

Sure. Thankyou. I will look into it.

I'm a bit confused about this code. I can't really see how it is intended to address the testpoint:
            - Set lc_hw_debug_en to true and activate the dm.
            - Attempt to inject a legal randomized SBA access - verify that it comes through.
            - Set lc_hw_debug_en to non-true value and activate the dm.
            - Attempt to inject a legal randomized SBA access - verify that no SBA TL accesses
              appear on the TL interface.
            - Reapeat, a random number of times.
            - Verify via assertion checks, no transactions were seen on the SBA TL interface.

Is the point that there are assertions that will check this behaviour? If so, where are the assertions? Probably it makes sense to reference them explicitly somewhere.

Test is all about checking sba access before and after disabling the signal. I check sba_access by calling task sba_write() and sba_read(). First time when I check the read access by reading sbdata0 register, I got randomized data which indicates that access successfully completed. Second time when i did the same after disabling the signal then i expected the randomized data on sbdata0 register but this time read access not happened so I got nothing in this register. But yes you are right that checking through assertions is not implemented.

I think that I'm still not properly understanding the logic here. Surely, it's normally possible to do an SBA access and have req.is_err equal to SbaErrNone afterwards. So I don't think I understand why checking this equality proves that no SBA access happened.
Isn't there something stronger you can do? I'm thinking something like

Enable lc_hw_debug_en
Do an SBA access and check you get something sensible
Disable lc_hw_debug_en
Do the same SBA access (which you know should have worked) and check that it doesn't work this time.

I have forced pushed again to resolve the conflicts.
I am doing as you suggested in this comment.


Twitter Sentiment Analysis

Deep Learning Simplified Repository (Proposing new issue)
🔴 Twitter Sentiment Analysis :
🔴 Aim: Perform Sentiment Analysis with 3-4 Deep Learning Models and find the best-fit model.
🔴 Dataset: https://www.kaggle.com/datasets/kazanova/sentiment140
🔴 Approach: Try to use 3-4 algorithms to implement the models and compare all the algorithms to find the best-fitted model algorithm by checking the accuracy scores. Also do not forget to do an exploratory data analysis before creating any model.

Check my PR


vs code (1.28.2) version is not launching in offline mode

VSCode Version:1.28.2
OS Version: windows 10

Steps to Reproduce:

Does this issue occur when all extensions are disabled?: Yes/No

Can't Microsoft just fix this?
You have a full heap of duplicate issues like this, and the bug is like 2 years old.

i don't know, why this problem is arising ?But   initially it had worked in offline mode.

I guess it had to do with the tons of external dependencies..

This will be fixed as soon as we are on electron 3.0.

/duplicate of #7570

I guess it had to do with the tons of external dependencies..

which vesion vs code are you using?

/duplicate of #

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for existing issues here. See also our issue reporting guidelines.
Happy Coding!

Still my problem is not solved.And you are saying this is duplicate but how? Initially it had worked properly but now it did not may be any setting problem may occur because in my laptop this problem occur but  my friend it doesn't.

/duplicate of #7570

but how?

If you know the solution then please tell me but don't say any irrelevant thing.

/duplicate of #7570

If you know the solution then please tell me but don't say any irrelevant thing.


[DEV] Consolidate Postgres into One Container

Short Description
Consolidate the separate SMD and BSS Postgres containers into a single container.
Definition of Done
The demo can be run with a single Postgres container instead of the current two.
Additional context
Modify BSS's initialization functionality to make no assumptions about the database's existence. Perhaps imitate SMD's smd-init program with a bss-init program.

Closing in favor of https://github.com/OpenCHAMI/roadmap/issues/20.
This repository is no longer being used since the demo has passed, and https://github.com/OpenCHAMI/deployment-recipes will be used for docker-compose deployment recipes instead.


Carousel does not work properly if there is only 1 item

If a carousel only has one item and the controls are displayed, they still trigger a next or previous slide. The next or previous carousel item, however, does not exist so a really small blank item is displayed.
Admittedly, this issue can be handled by not showing the controls if there is only one item. This gets a bit tricky if the items are generated dynamically or if they change after the carousel has been created.
Suggestion:
The carousel controls should do nothing if there is no next or previous item or it should go to the same page. The first option is preferable.

fixed in 2.0.1-wip


TST: ensure serialization doesn't affect training

What does this PR implement?
It implements a test to ensure model serialization doesn't affect model training.
Currently, this test fails for optimizer="adam" and passes for optimizer="sgd". I believe this is because Adam has some internal state; it has to track the second moment estimate/etc (which is also true for RMSProp, Adagrad, Adadelta, SGD with momentum, etc). SGD without momentum doesn't have any state – the only relevant state variables are the initialization parameters.
Reference issues/PRs
This test comes from the implementation in https://github.com/adriangb/scikeras/issues/70#issuecomment-723151716.

This is awesome, thank you! I will review later tonight. The fix should be to bring in https://github.com/tensorflow/tensorflow/pull/39609 to SciKeras (at least until something like it is upstremed). I think that will fix the issue. If not, we can implement custom serialization logic for optimizers.

It looks like SaveModel does not save optimizer weights. Yikes. We'll have to implement custom serialization for optimizers. I wonder if this is also the case for other stateful things, like callbacks (I think some keep internal track of epochs and such).

It looks like there is no easy (as in without digging deep, deep into TF) way to make this work for stateful optimizers: https://github.com/tensorflow/tensorflow/issues/44670.

We'll have to implement custom serialization for optimizers.

Can you expand on https://github.com/tensorflow/tensorflow/pull/42749#issuecomment-723414141? I'm confused on the difference between "slots" and "weights".
It looks like Optimizer._create_all_weights (source) is used during initialization (source). Would that be useful?

Can you expand on tensorflow/tensorflow#42749 (comment)? I'm confused on the difference between "slots" and "weights".

It seems that the issue is related to optimizers that have "slots" (based on https://github.com/tensorflow/tensorflow/pull/42749#issuecomment-683964931). I think that "slots" are an implementation detail in TF; this is the only information I could find in the docs. TL;DR I'm just as confused as you about this slots thing.

It looks like Optimizer._create_all_weights (source) is used during initialization (source). Would that be useful?

Maybe. I'd have to spend some time with it, I'm pretty unfamiliar with the inner workings of this part of TF. I also am not sure that we should be depending on implementations of private functions within TF, even if we are able to figure out how it all works.
Let's at least wait until next week to see if there are any updates to https://github.com/tensorflow/tensorflow/issues/44670 or https://github.com/tensorflow/tensorflow/pull/42749. I also saw https://github.com/tensorflow/community/pull/281 where there is a question about this specific issue (https://github.com/tensorflow/community/pull/281#issuecomment-715596624).

A useful representation of the actual "state" that these optimizers have: https://github.com/geohot/tinygrad/blob/35a5c82a2aba057f89725a485aed994aba50eebe/tinygrad/optim.py

@stsievert should we close this since these tests were incorporated in #128 ?

@stsievert should we close this since these tests were incorporated in #128 ?

Codecov Report

Merging #126 (30d134a) into master (7fa51a4) will decrease coverage by 0.45%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #126      +/-   ##
==========================================
- Coverage   99.55%   99.10%   -0.46%
==========================================
  Files           6        5       -1
  Lines         679      671       -8
==========================================
- Hits          676      665      -11
- Misses          3        6       +3

Impacted Files
Coverage Δ

scikeras/_saving_utils.py
96.20% <0.00%> (-3.80%)
:arrow_down:

scikeras/__init__.py

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7fa51a4...13935f2. Read the comment docs.

Codecov Report

Merging #126 (30d134a) into master (7fa51a4) will decrease coverage by 0.45%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #126      +/-   ##
==========================================
- Coverage   99.55%   99.10%   -0.46%
==========================================
  Files           6        5       -1
  Lines         679      671       -8
==========================================
- Hits          676      665      -11
- Misses          3        6       +3

Impacted Files
Coverage Δ

scikeras/_saving_utils.py
96.20% <0.00%> (-3.80%)
:arrow_down:

scikeras/__init__.py

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7fa51a4...13935f2. Read the comment docs.

I've added a note in the test to refer back to this PR for more detail (to provide more context). Merge this PR instead?

I've added a note in the test to refer back to this PR for more detail (to provide more context). Merge this PR instead?

I've added a note in the test to refer back to this PR for more detail (to provide more context). Merge this PR instead?

Awesome, thank you for adding the notes, they look great. I'll merge this as you suggest.

I've added a note in the test to refer back to this PR for more detail (to provide more context). Merge this PR instead?

Awesome, thank you for adding the notes, they look great. I'll merge this as you suggest.


HHMI updates for demo

In preparation for a meeting with the HHMI community, I making a few changes to the HHMI hub deployment.

[x] Fixed broken logo image
[x] Add support for multiple images
[x] Create a binder-like repo for a Spyglass/NWB image

The logo was originally pointing to https://www.hhmi.org/sites/default/files/Logos/JPG/HHMI-vertical-signature-color.jpg which no longer appears to be a valid URL.
All the HHMI logos are available for download as a .zip from https://www.hhmi.org/about/for-host-institutions#logo
I know we have had questions before of "where do we store a logo file" for a community if it not available from a public URL.  I know I can do it by dropping it a gist, or embedding it in a GitHub comment.  This time round I experimented with putting in the 2i2c-Team Google Drive under the Partnerships and making the link shareable:
https://drive.google.com/file/d/1tg5PRRT3_VjDaxq6Ax_JA3S92FuQ_NFt/view?usp=drive_link
This is not a link that can be embedded directly in an img tag.  I found that changing the link to
https://drive.google.com/uc?export=view&id=1tg5PRRT3_VjDaxq6Ax_JA3S92FuQ_NFt
does allow it to be referenced directly within the common.values.yaml logo_url key.

Most of communities that use ProfileList support both multiple machine types AND multiple images.  For this community (and for my demo on Friday), I wanted to focus only on presenting multiple images options and not first requiring the user to choose what size of machine to run this container on (thus leaving that as fixed, shared node for all users on this hub).  Here's the design I'm using for the moment:

For the Spyglass-NWB image, I want make available an environment that is based off the environment.yml file found in https://github.com/LorenFrankLab/spyglass
Assuming the demo goes well, I expect that this image repo will eventual migrate to something like
https://github.com/LorenFrankLab or https://github.com/hhmi or possibly a new org.  In the very short term, I'll create it within https://github.com/2i2c-org

To get Spyglass to work as intended there also needs to be some sort of MySQL database accessible.  For production use there are external databases for testing. For testing, the documentation suggests starting a local MySQL server using docker (See https://lorenfranklab.github.io/spyglass/0.4/installation/#database-access and example notesbooks)
We don't have docker-in-docker set up for user hubs so this won't work out of the box. If it really became necessary, we could explore to create "per-user" database instances (likely similar to what we did with Postgres as documented here: https://infrastructure.2i2c.org/howto/features/per-user-db/ ) as a sidecar container. But that's beyond what I want to tackle for the demo tomorrow.

I'm also enabling
allowNamedServers: true
to allow showcase multiple different environments without having to wait for each to pull down an image and start.


Feature/added eslint prettier husky

Added eslint, prettier, cspell and husky
Eslint to find and fix problems in JS
Prettier to format code
CSpell for spell checking code
Husky to check the above checks before committing

NOTES:
Please add non-grammatical variables names to either .eslintrc or cspell.json depending on the error.
Please configure prettier as per the config of the company.

@filipermit @asafc @RazcoDev Can you please review this or point me to the reviewers?


Move dependencies

Visual Studio is starting to use bbt scenario optimisations when ngening the assemblies.  Having the F# copies of System.Reflection.Metadata, Microsoft.Build.* System.Coolections.Immutable.  In the probing path undoes this goodness, so we have to move them out of the ngen probing paths.
For FSI and FSC we fix resolution using binding redirects.
Under VS, devenv.exe.config already has the correct binding redirects.

@KevinRansom Does this resolve #5832?


Work together on eslint-config-defaults

Hello! I wanted to propose a collaboration between this repo and https://github.com/walmartlabs/eslint-config-defaults.
I originally set out to build config-defaults because I was tired of copy pasting my eslint config around and trying to keep them up to date across lots of projects.  New rules are added, removed, moved and deprecated all the time and organization is terrible.
Just getting up and running for a new project is not straightforward anymore and I strongly believe that code quality tooling should be well suited to those who are just starting out as they're often the ones who need it most after all.

So with this project I centralized a few configs from major players, I committed to staying on top of the latest rules (and deprecations) and most importantly I made the config composable which allows them to be easily mixed and matched!

It's obvious that you all saw the same problems and it has been enormously helpful to a lot of people but I want to take your config one step further and I am asking for your help. With eslint-config-defaults I want to try to centralize the config from a few thought leaders around the web so that folks have fast, standard and up to date options from the start.
I've been maintaining a few "unofficial" configs for a while now but it's duplicate effort and my hope is to try to collaborate/consolidate. A while back I actually painstakingly went through the old Google Style Guide and converted it to ESLint as best I could. For my part, I am committed to staying on top of the latest rules as they change. I should mention that you all have quite a few missing rules already :).
Potential Objections(?):

We need quick access to the repo to make changes. - I'm happy to try to get your maintainers added to the project.
The project is under walmartlabs and I'm not too sure I like that. - It's possible we could spin this out into it's own org. No promises, I'd have to talk to legal and such about what we can do but we may be able to find a way.
This project is an important part of our OSS portfolio that we're not going to shut down. - You could easily take config-defaults as a dependency and keep this exactly how it is.

Anyway, I wanted to start a conversation and see if we can make it work for both of us.
@addyosmani @sindresorhus

:-1: I don't understand what problem you're trying to solve by centralizing this config? It's already well maintained here. Why would we want to move it into a monolithic package? Node.js and npm is built on the idea of small focused packages.

Btw, it would also have been nice to mention in the issue description that this issue is just a semi-generic template you've been reposting on a bunch of repos ;)
https://github.com/gulpjs/eslint-config-gulp/issues/7
https://github.com/segmentio/eslint-config/issues/37
https://github.com/airbnb/javascript/issues/638
https://github.com/segmentio/eslint-config/issues/37
https://github.com/strongloop/eslint-config-strongloop/issues/5

Hey @sindresorhus - thanks for the reply. I also wanted to say a quick and special thanks for your tweet about promises! Yes!
Okay, so back to the issue at hand. I'm sorry that I was not more clear with where else I was asking for collaboration. I did call it out but I didn't post links and that probably would have been helpful.

With eslint-config-defaults I want to try to centralize the config from a few thought leaders around the web

I guess I should start by giving a little context. When I first made this project, it's sole purpose was to greatly improve management of ESLint config by decomposing it. At that point the airbnb/javascript project was a mess of deprecated lint rules and the google config didn't exist. Then after ESLint 1.0 I saw not only were there no defaults but that eslint --recommended generated a terrible (in organization not content) file.
I decided to try to aggregate to make things better. I ported the eslint recommendations, I translated the Google guide (btw this project doesn't match Google JavaScript Style Guide) and I helped the Airbnb folks get theirs cleaned up. Fast forward to now and many companies have published their own configs and I think it's great! It's so much better than it was at the time. But, with a couple of rare exceptions I have not seen these companies solve the organization problem.
Perhaps you're right and now that so many people have their own configs it would be better to decentralize but the reason I'd love to collaborate is that using the structure I have, a user could mix and match or depend on only the parts that they need in ways that were not possible before:
---
"extends":
  - "defaults/rules/eslint/best-practices/walmart",
  - "defaults/rules/eslint/errors/airbnb"

  - "defaults/rules/eslint/es6/off"
  - "defaults/rules/eslint/node/off"

Of course some of this could be solved by just suggesting/helping other projects fork the decomposed version but then the maintenance burden of keeping up to date on lint rues is on more people.
I appreciate your feedback :). Also, happy holidays!


⚠ GitLab Server has degraded performance

In 3ff719a, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 6784 ms

Resolved: GitLab Server performance has improved in 98a7e25.


[TISPARK-36] Improve test logic

TestSuite cannot handle tests with limit but without orderBy, e.g., select * from t limit 20.
If sql contains limit but not orderBy, the test result should be undefined.

/run-all-tests

PTAL @Novemser

/run-all-tests

@birdstorm PTAL to these cases before merge.


Update UnrealEngine.gitignore

Update UnrealEngine.gitignore to include Codelite generated files. Codelite workspace files are generated by Unreal Editor. I am a Linux user and primarily use Codelite for developing c++ to use in my Unreal Projects. The *.tags in particular are massive files.
Reasons for making this change:
I used this gitignore as a template for my Unreal Project. The *.tags files are so huge that they actually resulted in an error:
error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large
fatal: The remote end hung up unexpectedly

@xekon is the the Codelite editor you're referring to? https://codelite.org/
I only ask because it looks like it supports working with different languages, and would be an ideal candidate for it's own editor file under Global/ if you're interested.

Yes, I use codelite, but I initiated the repository using the Gitea web interface and chose Create Repository and from there selected Unreal from the .gitignore templates.


Loader and Saver used on multi sequence wizard

although these are things to consider - they also ruin something else - so closing


WIP: Add create-branches command

This PR:

adds pachctl create-branches
adds cmdutil.MakeBatchCommand - a helper function for wrapping cobra to make implementing batch commands like create-branches simpler
threads through the CreateBranches RPC
adds driver.performRequests for running multiple requests within a single STM session

See #3267 for context

Code LGTM, will wait on tests for final approval but this is coming along nicely.


[MINOR] Turn on authenticaiton in shiro.ini.template by default

What is this PR for?
https://github.com/apache/zeppelin/pull/1568 moved conf/shiro.ini to conf/shiro.ini.template.
Now i think it make sense to turn authentication on by default in conf/shiro.ini.template.
What type of PR is it?
Improvement
Todos

[x] - Turn authentication on by default in the template

What is the Jira issue?
related to issues.apache.org/jira/browse/ZEPPELIN-1590
Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? no
Does this needs documentation? no

LGTM

Yeah it makes sense. LGTM

Nice! LGTM!

LGTM

Good catch!

merging if no more discussion ?

I thought Zeppelin does not read conf/shiro.ini.template, but it actually does.
Therefore now default behavior is changed to require authentication and i think it's not a minor change.
Should i revert it? or https://github.com/apache/zeppelin/pull/1595 will bring default behavior back? @anthonycorbacho @minahlee @prabhjyotsingh

#1595 will fix this issue

Since #1595 will fix the issue let's test it out quickly, and merge it.


Fix missing Tap To Continue in transactions

Description
The goal of this PR is to fix missing "Tap To Continue" in transactions (when using the old Use Case or Page API). This was due to a dupplicated usage of footer, both for "Tap to Continue" and then for "Cancel", the second one overriding the first one.
The fix consists in using "Up Footer" instead of Footer, for "Tap to Continue"
Changes include

[*] Bugfix (non-breaking change that solves an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)
[ ] Tests
[ ] Documentation
[ ] Other (for changes that might not fit in any category)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 60.20%. Comparing base (df538ab) to head (04258ba).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #745   +/-   ##
=======================================
  Coverage   60.20%   60.20%
=======================================
  Files          12       12
  Lines        1729     1729
=======================================
  Hits         1041     1041
  Misses        688      688

Flag
Coverage Δ

unittests
60.20% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


IPAddress requires Gateway configuration

I would like to see the enforcement of a default gateway address when setting an IP address (also discussed in issue #18) removed. The gateway address really has nothing to do with the IP address assignment other than MS putting it in the same GUI!
This should be a relatively easy, non-breaking change too.

This is fixed with #26. Thanks!


cmd/go: go build output creates unexpected file when directory of same name exists

What version of Go are you using (go version)?

$ go version
go version go1.13 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/b/.cache/go-build"
GOENV="/home/b/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build792560259=/tmp/go-build -gno-record-gcc-switches"

What did you do?

Created a basic main.go
Built the main.go specifying an output with the same name as an existing directory.

$ docker run --rm -it golang:1.13-alpine3.10 sh
/go # cd
~ # vi main.go
~ # cat main.go
package main

import "fmt"

func main() {
	fmt.Println("Hello")
}
~ # mkdir test
~ # go build -o test main.go
~ # ls -l test/
total 1964
-rwxr-xr-x    1 root     root       2008649 Sep 25 18:45 command-line-arguments

What did you expect to see?
An error message saying the file cannot be created.
$ mkdir test
$ go build -o test main.go
go build _/root: open /root/test: file exists

What did you see instead?
A file created with the surprising name /root/test/command-line-arguments.
This is a minor strange issue. Seemed best to document, rather than ignore.
#31296 is related.

The intended behavior is documented in go help build:
Build compiles the packages named by the import paths,
along with their dependencies, but it does not install the results.

If the arguments to build are a list of .go files from a single directory,
build treats them as a list of source files specifying a single package.

When compiling a single main package, build writes
the resulting executable to an output file named after
the first source file ('go build ed.go rx.go' writes 'ed' or 'ed.exe')
or the source code directory ('go build unix/sam' writes 'sam' or 'sam.exe').
The '.exe' suffix is added when writing a Windows executable.

When compiling multiple packages or a single non-main package,
build compiles the packages but discards the resulting object,
serving only as a check that the packages can be built.

When compiling packages, build ignores files that end in '_test.go'.

The -o flag forces build to write the resulting executable or object
to the named output file or directory, instead of the default behavior described
in the last two paragraphs. If the named output is a directory that exists,
then any resulting executables will be written to that directory.

There is a bug here, which is that the output file is named test/command-line-arguments. It should be named test/main instead.


Drop glyph names for CFF fonts, promote to CID

Copy-pasting of Behdad's code in https://github.com/fonttools/fonttools/issues/147.
Replaces all glyph names with ones like "cid12345".
Why do we want to promote CFFs to being CID-keyed?

the tests' expected results need to be adjusted accordingly.

The changes in this PR are about the --no-glyph-names option, so the tests that are failing shouldn't be, I think.
test_desubroutinize_CFF
test_no_hinting_CFF
test_no_hinting_desubroutinize_CFF
test_no_notdef_outline_otf
test_subset_math

the tests that are failing shouldn't be

everything in ttx is referenced with glyph names. if you replace things like "a" with "cid00001", of course all the tests asserting something is equal to an expected TTX dump will fail.

Still need to check if we actually save bytes with this...

everything in ttx is referenced with glyph names. if you replace things like "a" with "cid00001", of course all the tests asserting something is equal to an expected TTX dump will fail.

But none of the failing tests call the --no-glyph-names option. Look at test_no_hinting_CFF for example. If --no-glyph-names is NOT being used why should the glyph names in the resulting file be in the form cidXXXXX? Am I missing something?

none of the failing tests call the --no-glyph-names option

--no-glyph-names is the default:
https://github.com/fonttools/fonttools/blob/2bed5e79d6b88f40945a121b3ab3e0c2d153ddc4/Lib/fontTools/subset/__init__.py#L2758

--no-glyph-names is the default

That explains it, thanks. I guess I was never aware that it was the default because the CFF part of that option only now is being implemented.
Having --no-glyph-names as default seems a bit excessive to me, because it will produce significant changes to the font's structure, which will be in addition to the expected subset changes.

remember that the subsetter was originally designed for webfonts, where one wants to squeeze every bit out of it.

it will produce significant changes to the font's structure

so is this optimization being discussed here more aggressive than dropping the glyph names (switching to post format 3) in a TrueType-flavored OpenType font, which is what the subsetter has always been doing?

so is this optimization being discussed here more aggressive

no, I see those as the same approach that only differ because of the format. (Using post format 3 is actually something I've used in CFF2 fonts). I think I'm just hung up on it being the default, but you've explained why that is. I'll get over it eventually.

it does look more of a change compared to the other, perhaps because when we drop glyph names from TT font and dump it with ttx, the new glyph names are generated from the cmap and AGLFN, so they are more alike the ones that were dropped. Whereas with cidXXXX, they become just meaningless indexes and look all the same.

Maybe what we should do is leave the current default behaviour: i.e. drop glyph names from TrueType fonts (from post 2 to 3), but keep the glyph names in the CFF  table. Unless an explicit --no-glyph-names command line option is provided, in which case we also upgrade the CFF  font to CID-keyed.
We would need a tri-state option: None (default) means the above, False means drop glyph names and do the cid trick, True means keep post-2 or CFF names.
The tricky thing is that custom command-line parser which the subsetter is currently using, which handles options differently based on the type of its default value.
If Nikolaus figures out a way to accomplish that, I'll gladly review and merge, tha

Why?

We can change fonttools to load names from cmap is CID font is custom encoding.  Then you get same behavior as TrueType.

We can change fonttools to load names from cmap is CID font is custom encoding.

yeah, that's better

Sounds better to me too

Volunteers?

I volunteer but it'll be a while until I get time to do it. Too much in my queue ATM.

Wait, I think this is incomplete.
To convert a name-keyed font to a CID-keyed one, I think we also at least add FDArray and FDSelect to the TopDict.. This patch only modifies the charset data (to use an Identity mapping).
@behdad correct?

Sounds right.


'already consumed' accessing response.text with Content-Length: 0

>>> import requests
>>> requests.__version__
'0.10.4'
>>> response = requests.get('http://httpbin.org/stream/0')
>>> response.text
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/cduffy/VC/releng-db/virtualenv/local/lib/python2.7/site-packages/requests/models.py", line 774, in text
    content = str(self.content, encoding, errors='replace')
  File "/home/cduffy/VC/releng-db/virtualenv/local/lib/python2.7/site-packages/requests/models.py", line 740, in content
    'The content for this response was already consumed')
RuntimeError: The content for this response was already consumed

Does this happen every time for you?

Yes, this is 100% reproducible in my environment.

Funny thing; I have two virtualenvs with requests 0.10.4 and in one of them I get above traceback while in the other one I get None.

@piotr-dobrogost, i bet in one you don't have the 'chardet' dependency available.

This is an extremely serious bug.

https://github.com/kennethreitz/requests/blob/develop/requests/models.py#L742 might be the source: if iter_content() returns nothing - as should be the case with Content-Length: 0 - it will set _content to None which is also used as a sentinel value.

I'm seeing this error as well, basic traceback:
  File "runfats.py", line 117, in runfat
    out.append(ctx.response.content)
  File "/Users/eric/.virtualenvs/fats/lib/python2.6/site-packages/requests/models.py", line 740, in content
    'The content for this response was already consumed')
  RuntimeError: The content for this response was already consumed

I'm working on this as we speak.

Fix released.


Bug 158

Which Issue was this PR made for?

Closes #158

What is within the scope with this PR

#158

What is NOT in the scope with this PR
Related Issue
Other sidenotes that reviewer should be aware of

New bug

New bug
How do I reproduce this?

How do I reproduce this?

Tryin

https://user-images.githubusercontent.com/9146455/134542025-93a8b880-dfe2-49d6-9844-9eb929bbdac3.mp4

LGTM


⚠ Bofrost.lu has degraded performance

In 5d9331a, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1077 ms

Resolved: Bofrost.lu performance has improved in ce15e30 after 16 minutes.


core: dispatch PolicyDefinition events

What this PR changes/adds
Dispatch PolicyDefinition events
Why it does that
To permit asynchronous notifications
Further notes

Introduced event payload, that's a way to separate event "metadata" (like timestamp and, in future other useful information) from the event specific data. the documentation has been updated accordingly.
Added a validate method on event builder to permit the payload validation without having to override the build method.

Linked Issue(s)
Closes # <-- insert Issue number if one exists
Checklist

[x] added appropriate tests?
[x] performed checkstyle check locally?
[x] added/updated copyright headers?
[x] documented public classes/methods?
[x] added/updated relevant documentation?
[x] added relevant details to the changelog? (skip with label no-changelog)
[x] formatted title correctly? (take a look at the CONTRIBUTING and styleguide for details)

Codecov Report

Merging #1497 (06b24b4) into main (896ed71) will decrease coverage by 56.06%.
The diff coverage is 0.00%.

:exclamation: Current head 06b24b4 differs from pull request most recent head 1e8a963. Consider uploading reports for the commit 1e8a963 to get more accurate results

@@              Coverage Diff              @@
##               main    #1497       +/-   ##
=============================================
- Coverage     67.35%   11.29%   -56.07%
- Complexity        0      484      +484
=============================================
  Files           723      728        +5
  Lines         16099    16146       +47
  Branches       1066     1066
=============================================
- Hits          10844     1824     -9020
- Misses         4774    14219     +9445
+ Partials        481      103      -378

Impacted Files
Coverage Δ

...tamanagement/asset/service/EventAssetListener.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...nagement/policy/PolicyDefinitionApiController.java
0.00% <0.00%> (-80.65%)
:arrow_down:

...anagement/policy/PolicyDefinitionApiExtension.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../policy/service/EventPolicyDefinitionListener.java
0.00% <0.00%> (ø)

...ement/policy/service/PolicyDefinitionListener.java
0.00% <0.00%> (ø)

...policy/service/PolicyDefinitionObservableImpl.java
0.00% <0.00%> (ø)

...nt/policy/service/PolicyDefinitionServiceImpl.java
0.00% <0.00%> (ø)

...rg/eclipse/dataspaceconnector/spi/event/Event.java
0.00% <0.00%> (-80.00%)
:arrow_down:

...taspaceconnector/spi/event/asset/AssetCreated.java
0.00% <0.00%> (ø)

...taspaceconnector/spi/event/asset/AssetDeleted.java
0.00% <0.00%> (ø)

... and 485 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 896ed71...1e8a963. Read the comment docs.


VS Code via TabNine constant hassle with Little Snitch due to missing code signature

please complete the following information:

OS version: MacOS Mojava 10.14.6 (18G7016)
Editor version [e.g. 1.45.0-insider]:  1.52.1
Programming language: any
TabNine extension version: 3.2.6

Issue Details:
I can't set up a permanent rule for Little Snitch due to missing code signature.
Warning
For security reasons, an existing rule for any process was not applied to “TabNine”!
The process has no code signature. This means that the developer is anonymous and their real-life identity cannot be determined. Since the existing rule matches any process, it cannot specify identification characteristics for a particular process. Depending on whether you trust the program, create a specific rule to allow or deny the connection for this program only.

Thanks for reporting the issue @crs1138 .
We are working to resolve this. There is some bureaucracy regarding anything when it comes to Apple.
Thank you for the understanding, and sorry it is yet to be fixed.

The same applies to Android Studio. It's not a single alert but four or five for me. It gets very annoying to repeatedly deal with those alerts every one hour or so.

Sorry you are experiencing that @mhdhejazi , we are working towards resolving that issue.

@bilucodota issue's closed - yay! Does that mean I can give Tabnine another chance as the problem has been resolved?

I think yes! I have not seen for a while LS messages about Tabnine )

That doesn't seem to be the case for me.

Hi guys - @crs1138 @pycckuu
Not just yet. But support is coming soon. Will keep you posted.

Thank you for the info @bilucodota – however, please forgive me though, according to what you just wrote, the issue doesn't seem very closed to me.


Fix additional_header parameter and refactor OCSClient

This PR renames the headers parameter used in Streams client to additional_headers to fit the recent addition of additional_headers. This was throwing argument error when the SharedStreams client was calling the Streams client using additional_headers=*** as the parameter was still called headers.
It also refactors the OCSClient based on feedback from Kelsey to avoid having to maintain both ADH and OCS clients separately.

If I'm understanding these headers -> additional_headers renamings correctly, these would be breaking changes for anyone that is using a named argument for 'headers' since that parameter doesn't exist anymore. The library's base client also handles 'headers' differently from 'additional_headers' (headers prevents the base client from getting its own standard headers, additional headers doesnt), so there could in theory be different behavior with this change.

I am a little torn between changing the Streams or SharedStreams client... Changing the Streams would as you say be a breaking change, but follows the pattern of additional headers better since we just provide the one header we want to add, since headers will be None at the request level and be set to its default Sds Headers.
If we leave Streams as is we would have to get the Sds Headers and add the CommunityId header in the SharedStreams client to then send as the headers parameter, which would essentially undo the additional headers pattern.
We could also add a additional_headers parameter to the Streams client, that wouldn't be breaking any current code, but it doesn't really make any sense to me since you are providing the headers and then overrides to those headers, so pretty redundant.
What are your thoughts?

In the case of keeping both, headers and additional_headers, we'd need to make the notes clear that 'headers' is for entirely blocking the base client's built in headers call, and the caller is now responsible for providing all required headers; and that additional_headers are entirely supplemental. A normal useage of this would be headers=None, additional_headers={'something': 'some value'}

I guess my thoughts were that the workflow for the headers parameter wouldnt change in case anyone was using it where it blocks the base client's headers call. Then there would be a separate parameter for values that the user wanted to override or add to the base client's headers call. I think the second one is a lot smoother in general and a much more usable scenario, but the first way is how it's been working for the entire time the client has been released, so it's not that great of an option to entirely end it.
I'm kind of split though in general because anyone trying to use these will almost certainly get confused as to why there's a headers and additional_headers parameter on the functions, and if we pick one I definitely would pick the functionality of the additional_headers parameter.

@kelseyduffy based on our conversation, I kept the rename from headers to additional_headers and provided a better context in the history file


ws swagger.yaml file is missing

I've noticed that we have a dead link in the WS Readme
We should add the swagger.yaml file or delete the link in the readme file

We should remove link to swagger.yml, because it was deleted.

Now that we have better description how the ws service is used in the getting started guide we can link it here


Suggested feature: using multiple instances of image search to execute multiple search_queries at the same time

In a few words, if person_1 and person_2 are in my search queries, why not allow the script to run 2 windows looking for person_1 images and 2 windows for person_2? is this possible and easy to implement?

It is possible to implement it. However, we are already running the person_1 on 5 threads (Which you can configure btw). So if you want to increase the speed you can change the number of threads to say 10 or as per your system. Thus, perhaps the script will take the same amount of time to run on both the cases i.e. If you run 10 threads per single search query or you use 2 instances and use 5 threads for each.

it is just that at the moment the 5 sessions opened scroll over the same images. I don't know if this is just what appears in the interface and it is actually scraping different thumbnails, but it does not seem so at the moment. Even running only one instance gives the same results in roughly the same time to me.

It is true that same thing appears on all of the 5 sessions however, a locking mechanism is implemented which ensures synchronisation between all the 5 threads. So each and every instance scrolls to load thumbnails but, when it comes to gathering links each and every instance clicks on different thumbnail and collects the links.


Multiple file support

IMPORTANT: API changes here !!

@fkoester @durasj your changes are for this mr (multiple file support)

Are you sure you don't want to call it v2?

@durasj mm you are right, let me think it again


refactor: reconnect even if we failed to start transport

We should try to reconnect even we failed to start initially.
fixed #11
Example running log
info: FeatBit.Sdk.Server.FbClient[0]
      Starting FbClient...
info: FeatBit.Sdk.Server.FbClient[0]
      Waiting up to 3000 milliseconds for FbClient to start...
fail: FeatBit.Sdk.Server.FbClient[0]
      FbClient failed to start successfully within 3000 milliseconds. This error usually indicates a connection issue with FeatBit or an invalid secret. Please double-check your EnvSecret and StreamingUri configuration.
warn: FeatBit.Sdk.Server.Transport.FbWebSocket[16]
      FbWebSocket is trying to reconnect. Flag evaluation results may be stale until reconnected.
info: FeatBit.Sdk.Server.Transport.FbWebSocket[18]
      Reconnect attempt number 0 will start in 00:00:00.
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5014
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: D:\Work\featbit-sdks\dotnet-server-sdk\examples\WebApiApp\
info: FeatBit.Sdk.Server.Transport.FbWebSocket[18]
      Reconnect attempt number 1 will start in 00:00:01.
info: FeatBit.Sdk.Server.Transport.FbWebSocket[18]
      Reconnect attempt number 2 will start in 00:00:02.
info: FeatBit.Sdk.Server.Transport.FbWebSocket[18]
      Reconnect attempt number 3 will start in 00:00:03.
info: FeatBit.Sdk.Server.Transport.FbWebSocket[7]
      FbWebSocket started.
info: FeatBit.Sdk.Server.Transport.FbWebSocket[20]
      FbWebSocket reconnected successfully after 3 attempts and 00:00:19.6971031 elapsed.

I've built this branch locally and manually tested with a disabled network interface that it will connect once and do the data sync once the network is fixed:
12:11:30 -> warn: FeatBit.Sdk.Server.Transport.FbWebSocket[16]
      FbWebSocket is trying to reconnect. Flag evaluation results may be stale until reconnected.
12:11:34 -> fail: FeatBit.Sdk.Server.FbClient[0]
      FbClient failed to start successfully within 5000 milliseconds. This error usually indicates a connection issue with FeatBit or an invalid secret. Please double-check your EnvSecret and StreamingUri configuration.
12:12:24 -> dbug: FeatBit.Sdk.Server.DataSynchronizer.WebSocketDataSynchronizer[0]
      Do data-sync with version: 0
12:12:25 -> dbug: FeatBit.Sdk.Server.DataSynchronizer.WebSocketDataSynchronizer[0]
      Received full data-sync message

LGTM


feat(webui): ability to extract json field for display

Ability to extract a field from LLM JSON output
For example, given this setting:

An output of the form:
{
  "foo": 1,
  "bar": "baz"
}

Would just display 1
Related to #879 and #786

can this configuration be applied per test ? e.g. each test could potentially have a different report field; or there might be different types of tests in the same system

@pelikhan have you considered using the transform property on your tests?  docs
It allows you to extract from json on a per testcase basis.  For example:
tests:
  - vars:
      # ...
    options:
        transform: output.category # Select the 'category' key from output json and use it for this assertion

Yes absolutely I use the transform for assertions; it would be good to have a similar "view-transform" that grabs a field with a pre-computed human readable output

Would it be possible to have a combo of these features: ability to specify a JSON field/path that contains a markdown trace of the prompt. That way, the prompt tooling is in charge of creating a markdown payload that will be optimized for the promptfoo UI style.
The current PR proposal separate prettyJson vs prettyMarkdown but, IMO, the real scenario is big JSON payload -> markdown field -> nice human output.


Add new fields to index

Signed-off-by: jingfu wang<EMAIL_ADDRESS>Please specify the area for this PR
Area: registry
What does does this PR do / why we need it:
This PR adds the following fields to index file:

version
icon
attributes
globalMemoryLimit

Which issue(s) this PR fixes:
Fixes https://github.com/devfile/api/issues/375
PR acceptance criteria:

[x] Test (WIP)

[x] Documentation (WIP)

How to test changes / Special notes to the reviewer:

Build the index generator binary then create index.json then verify newly added fields are in index.json

Are we publishing the index schema (and changes like these) to the devfile website yet?

(Unrelated to these changes) Are we publishing the index schema (and changes like these) to the devfile website yet?

Yes, they are already in https://docs.devfile.io/devfile/2.1.0/user-guide/api-reference.html under metadata fields.

Changes generally look good. Do we need to update the generator for these new fields too?

We don't need to do additional update for the generator, the generator will automatically parse the new fields according to the schema we update.

Yes, they are already in https://docs.devfile.io/devfile/2.1.0/user-guide/api-reference.html under metadata field.

I mean the index.json schema, wasn't there a plan to publish the index schema on the devfile website?

Yes, they are already in https://docs.devfile.io/devfile/2.1.0/user-guide/api-reference.html under metadata field.

I mean the index.json schema, wasn't there a plan to publish the index schema on the devfile website?

Yeah, there is a plan https://github.com/devfile/api/issues/195 but it's completed yet, IIRC from last discussion docs team needs to put some design for it, so for the timing being we can only rely on the comments from index schema, there is no public host for the index schema on our website.


#40 - userAgent of Cordova IOS 8.x lacks version

Workaround for #40

Shouldn't we further check if it is iOS at all and then set to 8.0 instead of just omitting 0, because that causes every property to get prefixed. Also could you add a //dirty workarround  comment? I'm sure this will soon get fixed in bowser :P

I doubt it will be ever fixed knowing Apple/Cordova for a while, it is old although still supported version after all.
I beware hardcoding version 8 as I don't have IOS 7 and earlier devices so I'm not sure what is the reported there, so may be it better to be safe.
Besides putting 8 there will be really //dirty, now it is quite a legitimate fix - bowser may and does not return the version in certain cases - so inline-prefixer handles that cases. If anything dirty 8 should be added in bowser, they already have //WTF comment.

Well yeah the WebView userAgents may be quite a mess, but knowing them makes bowser capable of fixing that. Even if they don't do it right now it should be added some day. Still inline-style-prefixer was and is not responsible for detection correctness (as mentioned in the repository) and therefore should not do that in general. That's why I want to have a some kind of comment flag there.
But actually the main problem is setting to 0. This will break a lot of stuff e.g. if you prefix display: flex you will get display: -webkit-box which is not supported. This would even make it worse than just leave the prefixes at all (which iOS is quite good at lately)

You are right regarding new IOS (9+), but fortunately it does not have this version problem at all - it is sent and detected normally. As of display: -webkit-box it is supported on IOS 8 - this is one of two bugs that I had needed fixed and it was fixed.
Do you agree that NaN as a version is much worse than 0 as it breaks prefixing completely?
And because I fully accept your reasons:

Still inline-style-prefixer was and is not responsible for detection correctness (as mentioned in the repository) and therefore should not do that in general.

I wary to put an 8.
But of course it is your call.

It really supports -webkit-box? That really surprises me. So if it fixes everything we can do that. Thanks for mentioning. I suggest adding something to the docs later, after that I'll merge it!


Can't go to implementation, definition or reference

Type: Bug
Environment data
dotnet --info output: .NET SDK:
Version:           8.0.401
Commit:            811edcc344
Workload version:  8.0.400-manifests.6c274a57
MSBuild version:   17.11.4+37eb419ad
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.26100
OS Platform: Windows
RID:         win-x64
Base Path:   C:\Program Files\dotnet\sdk\8.0.401\
.NET workloads installed:
Configured to use loose manifests when installing new manifests.
There are no installed workloads to display.
Host:
Version:      8.0.8
Architecture: x64
Commit:       08338fcaa5
.NET SDKs installed:
6.0.425 [C:\Program Files\dotnet\sdk]
8.0.400 [C:\Program Files\dotnet\sdk]
8.0.401 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.33 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.33 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 5.0.17 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.33 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Other architectures found:
x86   [C:\Program Files (x86)\dotnet]
registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]
Environment variables:
Not set
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download
VS Code version: 1.93.1
C# Extension version: C# 2.45.25; C# dev kit 1.10.18
Issue Description
Can't go to implementation, definition or reference. It shows "No definition found", "No implementation found" or "No reference found". It used to be able, but recently it can't go to implementation.
Steps to Reproduce

Git clone https://github.com/stakira/openutau , and open the cloned repo folder in vscode.
open OpenUtau\ViewModels\LyricBoxViewModel.cs
On line 19 [Reactive] public UVoicePart? Part { get; set; }, right click UVoicePart and click "Go to definition"

Expected Behavior
Vscode opens OpenUtau.Core\Ustx\UPart.cs where UVoicePart is located.
Actual Behavior

Logs
vscode extension logs.zip

Vscode suddenly returned to normal now