Local runs of run_tests.py with testing/dart/*_test.dart are strange

I was debugging a failure reported on a presubmit CI that looks like this:
Command run successfully in 0.80 seconds: /b/s/w/ir/cache/builder/src/out/ci/host_debug/exe.unstripped/flutter_tester --disable-observatory --enable-impeller --use-test-fonts --icu-data-file-path=/b/s/w/ir/cache/builder/src/out/ci/host_debug/icudtl.dat --flutter-assets-dir=/b/s/w/ir/cache/builder/src/out/ci/host_debug/gen/flutter/lib/ui/assets --disable-asset-fonts /b/s/w/ir/cache/builder/src/out/ci/host_debug/gen/lerp_test.dart.dill (in /b/s/w/ir/cache/builder/src)
00:00 +0: color accessors should work

00:00 +1: paint set to black

00:00 +1: paint set to black

00:00 +2: color created with out of bounds value

00:00 +2: color created with out of bounds value

00:00 +3: color created with wildly out of bounds value

00:00 +3: color created with wildly out of bounds value

00:00 +4: two colors are only == if they have the same runtime type

00:00 +4: two colors are only == if they have the same runtime type

00:00 +5: Color.lerp

Ignoring the fact that the ANSI escapes probably should not be here, when run locally:
/Users/matanl/Developer/engine/src/out/host_debug/flutter_tester  /Users/matanl/Developer/engine/src/out/host_debug/gen/color_test.dart.dill

The Dart VM service is listening on http://<IP_ADDRESS>:63537/LqlqLQrYue4=/
00:00 +0: color accessors should work

00:00 +1: paint set to black

... and then that's it, i.e. there is no output beyond paint set to black.
This is a regression as a result of me upgrading these tests to use package:test. I haven't observed this behavior before, so it's probably a combination of having flutter-tester invoke these tests (versus dart test).

Interestingly enough when I use a host_debug_unopt build, I do get the full output:
Failed Command:

/Users/matanl/Developer/engine/src/out/host_debug_unopt_arm64/flutter_tester --force-multithreading --disable-observatory --enable-impeller --use-test-fonts --icu-data-file-path=/Users/matanl/Developer/engine/src/out/host_debug_unopt_arm64/icudtl.dat --flutter-assets-dir=/Users/matanl/Developer/engine/src/out/host_debug_unopt_arm64/gen/flutter/lib/ui/assets --disable-asset-fonts /Users/matanl/Developer/engine/src/out/host_debug_unopt_arm64/gen/color_test.dart.dill

Exit Code: 1

Output:
00:00 +0: color accessors should work

00:00 +1: paint set to black

00:00 +2: color created with out of bounds value

00:00 +3: color created with wildly out of bounds value

00:00 +4: two colors are only == if they have the same runtime type

00:00 +5: Color.lerp

00:00 +6: Color.lerp different colorspaces

00:00 +7: Color.lerp same colorspaces

00:00 +8: Color.alphaBlend

00:00 +9: Color.alphaBlend keeps colorspace

00:00 +10: compute gray luminance

00:00 +11: compute color luminance

00:00 +12: from and accessors

00:00 +13: fromARGB and accessors

00:00 +14: constructor and accessors

00:00 +15: p3 to extended srgb

00:00 +16: p3 to srgb

00:00 +17: extended srgb to p3

00:00 +18: extended srgb to p3 clamped

00:00 +19: hash considers colorspace

00:00 +20: equality considers colorspace

00:00 +21: subclass of Color can override value

00:00 +21 -1: subclass of Color can override value [E]

  Expected: <224>
    Actual: <0>

  package:matcher/src/expect/expect.dart 149:31      fail
  package:matcher/src/expect/expect.dart 144:3       _expect
  package:matcher/src/expect/expect.dart 56:3        expect
  flutter/testing/dart/color_test.dart 340:5         main.<fn>
  package:test_api/src/backend/declarer.dart 229:19  Declarer.test.<fn>.<fn>
  ===== asynchronous gap ===========================
  package:test_api/src/backend/declarer.dart 227:7   Declarer.test.<fn>
  ===== asynchronous gap ===========================
  package:test_api/src/backend/invoker.dart 258:9    Invoker._waitForOutstandingCallbacks.<fn>

00:00 +21 -1: toARGB32 converts to a 32-bit integer

00:00 +22 -1: Some tests failed.

./testing/run_tests.py --type=dart --dart-filter=color_test.dart --variant=host_debug_unopt_arm64

Maybe this is my mistake and host_debug isn't supported for these tests?

It appears to be something to do with debug versus debug unopt builds.
I'll document it as such and move on.

@jason-simmons:

The issue does reproduce if I run color_test.dart on macOS.
The flutter_tester process seems to be exiting early.
If I add an error to one of the later test cases in color_test.dart, then the error is never thrown.  The process exits (with a zero return code) after running the first few tests.
Will continue debugging this.

One thing I'll mention @jason-simmons is host_debug_unopt works fine (for me) on macOS.

On my macOS setup this reproduces when flutter_tester is built as an x64 binary.  The same test suite works as expected with an arm64 build of flutter_tester.
It looks like this is a race where the flutter_tester process exits after completion of the first test in the suite.  At that moment flutter_tester's liveness check thinks it can exit because there are currently no active Dart ports.
However, there are microtasks pending in the engine's queue.  The test suite runs correctly if I patch flutter_tester to continue running until the microtask queue is drained.


Remove sigmoid by calling sigmoid before split

Remove one sigmoid function, by calling sigmoid before split

Can one of the admins verify this patch?

Jenkins, test this please.

I signed it!

Jenkins, test this please


regionmask: Allow supplying a list of values to accept in indicateValues

That's particularly handy in conjunction with integer indicators like in the corine dataset.

Closing in favour of https://github.com/FZJ-IEK3-VSA/geokit/blob/c5c3a58f58b8d468dce4ca8654dca892df249ad0/geokit/core/regionmask.py#L836-L868 , i suppose.
Didn't test.


Error: the offset to copy is not contained in the decompressed buffer

No matter what buffer I try to decompress I always get this error: Error: the offset to copy is not contained in the decompressed buffer. The same buffer gets successfully decompressed by the lz4 library using decode. The same error happens both on uncompress and uncompressSync.

Probably there is different offset formatting, how do you compress the buffer, what is the library do you use?

I compress the buffer using lz4 compress(). The buffer is in LZ4 frame format. Does lz4-napi only support the block format?

Sorry for response delay, yes currently support only block format.

Hi @antoniomuso! Are there any plans to support LZ4 frame format? We currently use LZ4 library, which supports it. But recently it was archived, and is not going to be supported anymore. So I'm looking for replacement for it. Unfortunately, I haven't found other LZ4 library for node with LZ4 frame format support. Your library looks the most promising so far - I see that lz4_flex supports frame format, but don't know how easy it is to add it to this library

Hi @kravets-levko, sorry for the late response. I don't know how hard it is. I don't have time to do it now, but if someone wants to start working on it, I can help him.

Hi @kravets-levko, this feature is up with the last release 2.8.0

Thank you so much @antoniomuso! I will try it next week and will provide you a feedback. I really appreciate all your effort for maintaining this project!


Add 'covariant' keyword to dart.js

Dart 1.22 added a new keyword: covariant. http://news.dartlang.org/2017/02/dart-122-faster-tools-assert-messages.html

Thanks! Merged as 63999b89


Default Topbar

Hello,
I have this question: Why does FoundationPress comes with a modified version of the Top Bar? I'm finding kind of difficult to apply my own styles to it because I want to start from scratch.
Thanks for the awesome theme again man
EDIT: This is the first project using Foundation 6, started like 3 hours ago.. It's all very different now and I'm learning this again. Now the Topbar doesn't have all those nice variables to make it pretty. But then, the question remains.

Hi,
The topbar has been rewritten and broken down into smaller parts as part of the upgrade to the Foundation 6.
These links may be helpful:
http://foundation.zurb.com/sites/docs/top-bar.html
https://zurb.com/university/lessons/how-to-re-create-top-bar-with-foundation-6
http://foundation.zurb.com/forum/posts/36228-foundation-6-topbar-like-f5
Cheers,
Ole Fredrik


Right-to-left updates for content pagination

Adjustments to the content pagination. Corrected arrow direction and added the missed padding.
Reference: https://material.io/design/usability/bidirectionality.html#mirroring-elements
Before

After

 Fix directional arrows in pager for RTL

 Fix directional arrows in pager for RTL


Upgrade repo-labels workflow to a maintained GitHub Action

Repo labels dry run:
👉 Current labels
- name: A-build
  color: f7e101
  description: 'Area: CI build infrastructure.'
- name: A-deps
  color: f7e101
  description: 'Area: Source and library dependencies.'
- name: A-project
  color: f7e101
  description: 'Area: Infrastructure for running an open source project.'
- name: A-release
  color: f7e101
  description: 'Area: Nightly releases and version bumps.'
- name: A-security
  color: f7e101
  description: 'Area: Security vulnerabilities in dependent packages.'
- name: A-target
  color: f7e101
  description: 'Area: nightly build support for various target triples.'
- name: C-bug
  color: c1c8ff
  description: 'Category: This is a bug.'
- name: C-docs
  color: c1c8ff
  description: 'Category: Improvements or additions to documentation.'
- name: C-enhancement
  color: c1c8ff
  description: 'Category: New feature or request.'
- name: C-quality
  color: c1c8ff
  description: 'Category: Refactoring, cleanup, and quality improvements.'
- name: C-question
  color: c1c8ff
  description: 'Category: Further information is requested.'
- name: E-easy
  color: 02e10c
  description: 'Call for participation: Experience needed to fix: Easy / not much.'
- name: E-hard
  color: 02e10c
  description: 'Call for participation: Experience needed to fix: Hard / a lot.'
- name: E-help-wanted
  color: 02e10c
  description: 'Call for participation: Help is requested to fix this issue.'
- name: E-medium
  color: 02e10c
  description: 'Call for participation: Experience needed to fix: Medium / intermediate.'
- name: E-needs-test
  color: 02e10c
  description: 'Call for participation: writing correctness tests.'
- name: S-blocked
  color: d3dddd
  description: >-
    Status: marked as blocked ❌ on something else such as other implementation
    work.
- name: S-do-not-merge
  color: d3dddd
  description: 'Status: This pull request should not be merged.'
- name: S-duplicate
  color: d3dddd
  description: 'Status: This issue or pull request already exists.'
- name: S-invalid
  color: d3dddd
  description: 'Status: This issue or pull request is not well-formed.'
- name: S-speculative
  color: d3dddd
  description: 'Status: This is just an idea.'
- name: S-wip
  color: d3dddd
  description: 'Status: This pull request is a work in progress.'
- name: S-wontfix
  color: d3dddd
  description: 'Status: This issue or pull request will not be worked on.'
- name: T-aarch64-apple-darwin
  color: 037bfc
  description: 'Target: ARM64 macOS (11.0+, Big Sur+)'
- name: T-aarch64-unknown-linux-gnu
  color: 037bfc
  description: 'Target: ARM64 Linux (kernel 4.2, glibc 2.17+)'
- name: T-x86_64-apple-darwin
  color: 037bfc
  description: 'Target: x86_64 64-bit macOS (10.7+, Lion+)'
- name: T-x86_64-pc-windows-gnu
  color: 037bfc
  description: 'Target: 64-bit MinGW (Windows 7+)'
- name: T-x86_64-pc-windows-msvc
  color: 037bfc
  description: 'Target: 64-bit MSVC (Windows 7+)'
- name: T-x86_64-unknown-linux-gnu
  color: 037bfc
  description: 'Target: 64-bit Linux (kernel 2.6.32+, glibc 2.11+)'
- name: T-x86_64-unknown-linux-musl
  color: 037bfc
  description: 'Target: 64-bit Linux with MUSL'

🏃 Running GitHub Labeler
[dryrun] ✅ Skipping update for 'A-build' label. Same color and description
[dryrun] 🎨 Creating 'A-codesigning' label with color 'f7e101' and desc 'Area: Code signing, GPG signatures.'
[dryrun] ✅ Skipping update for 'A-deps' label. Same color and description
[dryrun] 🎨 Creating 'A-performance' label with color 'f7e101' and desc 'Area: Performance improvements and optimizations.'
[dryrun] ✅ Skipping update for 'A-project' label. Same color and description
[dryrun] ✅ Skipping update for 'A-release' label. Same color and description
[dryrun] 🔨 Updating 'A-security' label with color 'f7e101' and desc 'Area: Security vulnerabilities and unsoundness issues.'
[dryrun] ✅ Skipping update for 'A-target' label. Same color and description
[dryrun] ✅ Skipping update for 'C-bug' label. Same color and description
[dryrun] ✅ Skipping update for 'C-docs' label. Same color and description
[dryrun] ✅ Skipping update for 'C-enhancement' label. Same color and description
[dryrun] ✅ Skipping update for 'C-quality' label. Same color and description
[dryrun] ✅ Skipping update for 'C-question' label. Same color and description
[dryrun] ✅ Skipping update for 'E-easy' label. Same color and description
[dryrun] ✅ Skipping update for 'E-medium' label. Same color and description
[dryrun] ✅ Skipping update for 'E-hard' label. Same color and description
[dryrun] ✅ Skipping update for 'E-help-wanted' label. Same color and description
[dryrun] 🔨 Updating 'E-needs-test' label with color '02e10c' and desc 'Call for participation: Writing correctness tests.'
[dryrun] 🎨 Creating 'S-archive' label with color 'd3dddd' and desc 'Status: This pull request exists to archive an unmerged branch.'
[dryrun] 🔨 Updating 'S-blocked' label with color 'd3dddd' and desc 'Status: Marked as blocked ❌ on something else such as other implementation work.'
[dryrun] ✅ Skipping update for 'S-do-not-merge' label. Same color and description
[dryrun] ✅ Skipping update for 'S-duplicate' label. Same color and description
[dryrun] ✅ Skipping update for 'S-invalid' label. Same color and description
[dryrun] 🎨 Creating 'S-postponed' label with color 'd3dddd' and desc 'Status: This issue or pull request is being postponed until later.'
[dryrun] ✅ Skipping update for 'S-speculative' label. Same color and description
[dryrun] 🎨 Creating 'S-stale' label with color 'd3dddd' and desc 'Status: This PR is stale. Please open a new PR if you'd like to pick this back up.'
[dryrun] ✅ Skipping update for 'S-wip' label. Same color and description
[dryrun] ✅ Skipping update for 'S-wontfix' label. Same color and description
[dryrun] ✅ Skipping update for 'T-x86_64-unknown-linux-gnu' label. Same color and description
[dryrun] ✅ Skipping update for 'T-x86_64-unknown-linux-musl' label. Same color and description
[dryrun] ✅ Skipping update for 'T-aarch64-unknown-linux-gnu' label. Same color and description
[dryrun] ✅ Skipping update for 'T-x86_64-apple-darwin' label. Same color and description
[dryrun] ✅ Skipping update for 'T-aarch64-apple-darwin' label. Same color and description
[dryrun] ✅ Skipping update for 'T-x86_64-pc-windows-msvc' label. Same color and description
[dryrun] ✅ Skipping update for 'T-x86_64-pc-windows-gnu' label. Same color and description


Make client_mutation_id input field optional as in Relay Modern.

Hi guys,
In Relay Modern clientMutationId is not mandatory anymore. This pull request just removes the NON_NULL type validation from the :client_mutation_id field created by the payload macro.
Regards,
Hisa

Hey @hisapy thanks for the PR. Unfortunately it isn't this simple. If you're not using Relay modern it IS still required, and your schema should show that.
The solution we need is the ability to have payload configurable WRT whether there should be a client mutation id at all.

Ok I understand. Sorry, I actually didn't try this using Relay Classic.
I could also try to use a normal mutation but we're very used to the payload macro and we already have more than a few mutations using it. I'll see if I can make it configurable.
PS: Do you know if this fails while compiling or when trying to execute a mutation?

Hi @hisapy , for now until we figure out a better way to deal with this, you can use our fork:

https://github.com/jumpn/absinthe_relay

It's up to date with the official master and it basically do 2 things:

Remove clientMutationId
Allow mutation with no input


Hardcore Stumping Transparency Issue

This one is easier to show than to explain.

The bottom block is a stump.  I'd noticed some quirky behavior with the transparency on the ground, but up in the air with clouds it's even more obvious.
I should also note that stumps don't respect Hardcore Lumberjack, and will still drop bark (I can submit as a separate bug report if you'd prefer).

Probably related with how the whole block is stated as translucent to allow overlays over standard wood textures..
About drops, a separate bug report could be useful (with what you used to break it, hand or stump remover, what you got and what should be the expected loot). ATM I think in both cases drops are identical.

The approach was chosen mostly to keep one texture applied on all vanilla logs. If only for texture packs.
I'm not sure how blockstates could fix this. As far as I know it allows to change the rendering based on state, but here we need it all the time, and one would take precedence over the other.

Do you mean the variants feature of blockstates?  You could draw the appropriate texture for each log (which still works with resource packs) and overlay the stump texture using layers.  Variants would also be useful for having only a single blockstate file but setting the bottom layer based on the tree type.
Sorry if I've misunderstood you.  I can draw up an example if you're interested though.

I'm not aware of an other method to apply a layer other than drawing it in the model (like grass does and like what is done for stumps at the moment). If that exists then yeah that could be the solution.
Note we already have only one blockstate file for the stump, here :
https://github.com/BeetoGuy/BetterWithMods/blob/master/src/main/resources/assets/betterwithmods/blockstates/stump.json
The model is there:
https://github.com/BeetoGuy/BetterWithMods/blob/master/src/main/resources/assets/betterwithmods/models/block/stump.json

Hey Koward,
Sorry, but I think I misspoke.  I was sure it was possible to apply multiple textures in layers to a model (or directly to a blockstate), but I'm not able to find anything on it for blocks, only items.  I must have misremembered.  Sorry about that!
I was able to find a method described by TheGreyGhost of having two overlapping faces with a small offset, or using multiple render layers (which is what I assume you're doing above).  Might lead you in the right direction anyway.

No, it's possible, you just need to set the block render type to cutout so the texture is not filled in.

Cutout implies pixels are either completely transparent or not transparent at all. The current overlays have transparency 0<alpha<255. I may replace it by per-log overlays with opaque pixels, some stumps look a bit bad with current textures anyway.


Required fields aren't being validated

Ref #129499
Required properties behave strangely with object settings in the settings editor. Let's say A is required and B isn't. Then consider the following setting value:
"settingName": {
 "B": "v2"
}

and assume A has a default value of v1.
The JSON editor displays a warning saying A is missing. However, the GUI editor displays A with the value v1, still, with no warning. However, if A isn't given a default value, but is still required, the GUI editor doesn't display A, but there's still no warning on the GUI editor side.

Code pointer: https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/preferences/browser/settingsTree.ts#L136
The default value is being placed in here, which ends up rendering it, even though the user didn't specify it in the settings json file.
An alternative is to save the object back to the settings json file after it is rendered for the first time, and that way, we do not need to add validation for missing required keys.

It turns out the above code is necessary, otherwise default values would have to be saved into the settings JSON file for every setting.
The only time a default value needs to be saved into the settings JSON file would be if:

The user manually defined a setting in the settings JSON file
The default value corresponds to a required property


chore: update lockfile

Closes #2021
This PR bumps our minimatch version and updates our lockfile to address a reported security vulnerability

related discussion https://github.com/IBM/carbon-elements/pull/375


Final Presentation

while the project code and design is being built , we want to be prepared for the final presentation hence the issue

Yes I will create a Google Slide doc with placeholders for the Project. Confirmed!

done!


Same keto group gets listed as two different fragments in items tab for first molecule in tutorial data set

When I open MORTAR, import the tutorial data set, and fragment all molecules with the Ertl algorithm in default settings, I get this as the result in the items tab:

For the first molecule (CNP0287592, Anthraquinone), the equal keto groups are listed as two different fragments here. But only for this molecule.
If I fragment only this one molecule the same way or sort the molecules differently prior to fragmentation, I get the result as it should be:

Reference commit: https://github.com/FelixBaensch/MORTAR/commit/0f3ea5be3ed0b83dbb2a7ce0da8b78f7613988e4
Kind regards

Fixed with https://github.com/FelixBaensch/MORTAR/commit/1bf14d7e5c9f0b2328309061f6c5217c9c217b25


Persist data into SQLite database

A proper loading area such as a database is more effective to preserve the transformed dataset's datatype/metadata which cannot be persisted to a flat file.
Persist data to SQLite db using todb function and auto-create table. See documentation at petl docs

Refer to this repo: embedded-database


[Question] Newtonsoft.Json version mismatch issue where binding redirect is not applicable

We develop an app extension that references LibA which in turns references Microsoft.Rest.ClientRuntime. LibA and ClientRuntime reference different versions of Newtonsoft.Json.
Passing Newtonsoft.Json object between LibA and ClientRuntime will cause a type mismatch issue. The original app that references LibA uses app-level binding redirect to resolve the issue. However, we cannot adopt this approach, since the app our extension is developed for is not owned by us.
Do you have any suggestion on resolving this issue? I considered building a private ClientRuntime that references the same Newtonsoft.Json as LibA, but is concerned this will cause type mismatch issue within Azure SDKs itself. And we do use other Azure SDKs.

Which libraries are you working with?

Resolved with workaround.


Cleanup e2e tests env vars

It turns out that the three end to end suites, i.e. tests/e2e, tests/crds and tests/smoke have similar but different env var inputs. This is best shown in the pipeline config yaml.
Here is a list of improvements that can be made in order to minimize the set of env vars needed for the e2e tests:

Get rid of the SMOKE_TEST_USER env var. All tests are generating unique user   names now.
Use the API_SERVER_ROOT env var in all three suites and delete   SMOKE_TEST_API_ENDPOINT and CRDS_TEST_API_ENDPOINT env vars. They have   duplicated values anyway.
Remove the SMOKE_TEST_SKIP_SSL and CRDS_TEST_SKIP_SSL env vars and always skip ssl validation. This is what the e2e test suite does already.
Remove the SMOKE_TEST_APP_ROUTE_PROTOCOL and always use https. This is what   the e2e test suite does already.
Use the APP_FQDN env var in all three test suites and remove the duplicated   SMOKE_TEST_APPS_DOMAIN env var

@danail-branekov From what I can tell, the smoke tests still use the user specified by SMOKE_TEST_USER instead of creating a unique user and granting it the required permissions. Should I make the change as part of this chore?

@danail-branekov From what I can tell, the smoke tests still use the user specified by SMOKE_TEST_USER instead of creating a unique user and granting it the required permissions. Should I make the change as part of this chore?

We have probably overlooked that. I believe removing that reference to SMOKE_TEST_USER would make sense

We have probably overlooked that. I believe removing that reference to SMOKE_TEST_USER would make sense

As I dig into this, I suspect that we left it in on purpose. The tests need to use the admin account to create the org and space. I have worked on updating them to then create a unique user, granting it the required permissions, and using it to push the apps and run the tests. However, this does not remove the need for the person running the tests to specify the admin username, which means that it isn't really an improvement over just using the admin user for everything.

Can we not simply create and admin service account the way we do in the e2es: https://github.com/cloudfoundry/korifi/blob/c82cc91cfbe0a264b9c8c6ac53fd7c8548b8c2c3/tests/e2e/e2e_suite_test.go#L326?
The scripts running all end to end flavour tests should already have access to the cluster's kubeconfig, so they can use its default admin user to create a service account that is an admin user in korifi. This service account will be able to create orgs and spaces. I do not think we need to create any more users with less privileges for a basic test like the smoke test.


Feature Request: Support MSSQL Backend

Environment

Python version: 3.x
Nautobot version: 1.1.x

Proposed Functionality
Would like to see Nautobot support a MSSQL back end for a database technology

Use Case
Enterprise wide database storage technology is MSSQL. This would allow organizations that have a MSSQL backend enterprise offering to use this database rather than an application specific DB.

Database Changes
DB Backend

External Dependencies
Python library to support MSSQL. In brief research there have been at least 3 different libraries that line up with Django MSSQL backends. Each time a new fork from the previous defacto library.

Good news, there is an officially MSSQL backend plugin for Django! See: https://github.com/microsoft/mssql-django
Bad news: It's still not going to be that simple. I'll detail my analysis on this below.
Limitations

These were copied from the README on mssql-django

The following features are currently not fully supported:

Altering a model field from or to AutoField at migration
Django annotate functions have floating point arithmetic problems in some cases
Annotate function with exists
Exists function in order_by
Righthand power and arithmetic with datatimes
Timezones, timedeltas not fully supported
bulk_update multiple field to null
Rename field/model with foreign key constraint
Database level constraints
Math degrees power or radians
Bit-shift operators
Filtered index
Date extract function
Hashing functions
JSONField lookups have limitations, more details here (see below)

JSONField limitations

Also copied from the README

JSON Example:
# NullableJSONModel
        values = [
            {'a': 'b', 'c': 14},
            {
                'a': 'b',
                'c': 14,
                'd': None,
                'e': '"quoted"',
            },
            {'x': 'y'},
        ]

Quoted strings are NOT supported, like {'e': '"quoted"'}. The value will be saved, but lookups may not work as expected.
isnull lookup, if set to True, it will return a QuerySet for keys that are not exist and keys that have value None(null).
has_key lookup check the existence of a specific key. If the value of this key is null it will return an empty QuerySet.
exact lookup does NOT support value = None, NullableJSONModel.objects.filter(value__d=None) will return an empty QuerySet.

>>> NullableJSONModel.objects.filter(value__a__isnull=True).values()
<QuerySet [{'id': 3, 'value': {'x': 'y'}, 'value_custom': None}]>

>>> NullableJSONModel.objects.filter(value__a__isnull=False).values()
<QuerySet [{'id': 1, 'value': {'a': 'b', 'c': 14}, 'value_custom': None}, {'id': 2, 'value': {'a': 'b', 'c': 14, 'd': None, 'e': '"quoted"'}, 'value_custom': None}]>

>>> NullableJSONModel.objects.filter(value__d__isnull=False).values()
<QuerySet []>

>>> NullableJSONModel.objects.filter(value__d__isnull=True).values()
<QuerySet [{'id': 1, 'value': {'a': 'b', 'c': 14}, 'value_custom': None}, {'id': 2, 'value': {'a': 'b', 'c': 14, 'd': None, 'e': '"quoted"'}, 'value_custom': None}, {'id': 3, 'value': {'x': 'y'}, 'value_custom': None}]>

>>> NullableJSONModel.objects.filter(value__has_key='d')
<QuerySet []>

Concerns
I expect that these two query functions will need to be accounted for explicitly:

CollateAsChar
JSONBAgg

The only other area of concern is making sure that the IPAM network object fields (on Aggregate, IPAddress, and Prefix objects), is making sure that VARBINARY field type works as expected in MSSQL, and also that the custom annotation we have on Prefix  (specifically Prefix.objects.annotate_tree is a complicated query using nested annotations and sub-queries.) We can likely trust the unit tests on these objects, but some extra attention to making sure the objects work in all user-facing web UI views, especially on Prefix objects would be wise.
Assessment
Let's give it a proper spike to scope it out and see if we could get it working with minimal effort. I'd say no more than 1 day of work for that.
If it were me:

I'd fire up an MSSQL server, point Nautobot to it,
Run the test suite just to see what works and what doesn't.
And then put emphasis on the level of effort based on test results and how easily the primary concerns above can be addressed

It could take days to weeks based on that output. If I were forced to guess I'd say a minimum of one sprint for one person, which is about two engineering weeks (or 80 engineering hours) on the low side.
This isn't counting the complexity for bringing this home, such as other things such as documentation, spinning up a server running MSSQL that can be used for testing, CI/CD integration of MSSQL testing, and anything else I haven't covered.

From the assessment done:
Update pyproject.toml with new dependencies:

Mssql-django backend, supported by Microsoft

OBCD Driver to use?

 By default is “ODBC Driver 17 for SQL Server”, install it

Variables

ACCEPT_EULA

MSSQL_SA_PASSWORD

MSSQL_PID: $$$$$$$$$$$$$$ or “Developer”

MSSQL_TCP_PORT: default is 1433

Update Django settings

MSSQL Django limitations:

JSONField lookups limitations

Update custom customization maps:

Class CollateAsChar.as_sql()

"postgresql": '"C"',

"mysql": "utf8mb4_bin",

“Mssql”: choose the appropriate collation

class JSONBAgg.as_sql()

"postgresql": "JSONB_AGG"

"mysql": "JSON_ARRAYAGG",

“Mssql”: there are no functions like JSON_ARRAYAGG, so this would have to be overcome so find a custom alternative

TestVarbinaryIPField

"postgresql": "bytea",

"mysql": "varbinary(16)",

“Mssql”: I believe that it supports the varbinary, but not sure if there is something to do on the code to use it, here it is only testing.

As a follow-up, for reference here are the documented JSON functions for MSSQL: https://docs.microsoft.com/en-us/sql/relational-databases/json/validate-query-and-change-json-data-with-built-in-functions-sql-server?view=sql-server-ver15

The core team discussed this and we'll take this on for at least some initial investigation in the near future in order to make a decision about its feasibility.


Refactor: Show rules

User model has a show_rules flag that will be used by the application to show the rules in the dashboard for new users. Once the user clicks Got it or the link in the description, the flag is set to false.
With the new template, I'd refactor this behavior to use a Notification and place it at the top of the Dashboard.

Once the user dismiss the notification, we set the flag to false.

I totally agree. Great idea.


I can't call pannellum.viewer unless the id is specifically "panorama"

I can't call pannellum.viewer unless the id is specifically "panorama," so if I want to create more than one div and use them to show panoramas I am unable to do so.
Thank you! Pannellum is awesome :)

The key is to define a style for each
 or change the style to define a class. Using Matthew's "simple example", here it is supporting multiple images....
<!DOCTYPE HTML>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>A simple example</title>
    <link rel="stylesheet" href="https://cdn.pannellum.org/2.2/pannellum.css"/>

As @MmmDee demonstrated, there's nothing special about the ID being panorama.

Closing due to lack of response from the OP and since this seems to be a non-issue.


[Table Mode] Instead of doing ARP or BGP or assigning IPs to interfaces just export them into a linux kernel table.

Is your feature request related to a problem? Please describe.
I want to have a linux like approach to hook into endpoints which are available on the host.
Describe the solution you'd like
An additional mode named Table which exports assigned /32 /128 ips into the kernel table if they have a valid endpoint on the node.
This can then be leveraged by a more complex routing system.
Describe alternatives you've considered
arp.
bgp
Additional context

Sure, I think this sort of thing should work with a bad BGP configuration for testing.

@thebsdbox for more information of how that can look like -> https://github.com/cybozu-go/coil/blob/main/docs/usage.md#user-manual

Just to double check, this is largely just adding an entry to the routing table for an interface? (im a little confused about that I'm implementing 😂, if you're on the Kubernetes slack pop into the #kube-vip channel so we can discuss this if possible)

So @thebsdbox  and @Cellebyte  agreed on a new Option which can toggle TableMode.
As described it would output the /32 or /128 Routes into a different kernel table then the default one if the table_id is altered by the user.
An interface is still required and in this case it should be lo or an interface of kind Dummy.
All Announcing parts (BGP or ARP) must be disabled as Cilium does, when you put it in non routing mode.
To actively export the routes to an external entity/router you need to first import them into frr or BIRD and then export it from there. This allows better integration in more complex routing environments.


fix: Complete functions and methods from block level impls

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/11372

bors r+


Invite pluckyswan to CDCgov GitHub Organization

What type of help do you need?

[ ] Question
[ ] New Repo
[ ] Delete Repo
[x] User Membership (please make sure new members are familiar with the CDC open practices and set up their profile with name and org info to help people collaborate with them)
[ ] Other

Please describe how you'd like us to help.
Please invite @pluckyswan to the CDCgov GitHub organization.  Their CDC e-mail is<EMAIL_ADDRESS>

Invite sent to the specified CDC email address.


Travis CI: Add Python 3.9 to the tests

Thanks!

Thanks!

The results are a bit disappointing.

The results are a bit disappointing.

Forgot to generate golden data for these; many of the tests check against expected output, but this didn't exist for 3.9.
python3.9 setup.py test -m pasta.base.annotate_test.generate_goldens
386d94c
Still some other failures which are not related to this and have me baffled at the moment...

Forgot to generate golden data for these; many of the tests check against expected output, but this didn't exist for 3.9.
python3.9 setup.py test -m pasta.base.annotate_test.generate_goldens
386d94c
Still some other failures which are not related to this and have me baffled at the moment...

Perhaps the py2 tests can be fixed with from __future__ import unicode_literals in the appropriate files.

Perhaps the py2 tests can be fixed with from __future__ import unicode_literals in the appropriate files.

Or pytest supports directives like # doctest: +ALLOW_UNICODE

Or pytest supports directives like # doctest: +ALLOW_UNICODE


Update _wayland-final-steps.mdx

with summary of keyboard_layout: options and link to Options/#options-reference.

Great! Should I merge? ✨

Great! Should I merge? ✨

Sure! You saw the later addition that got included?

Yes! It's always nice to do a glance at the files tab, look around for any last minute edit before giving the final call 👍🏼


[Backport 2.0] Add Restart-Upgrade BWC Tests

Signed-off-by: Naveen Tatikonda<EMAIL_ADDRESS>Description
Add Restart-Upgrade BWC Tests
Backport https://github.com/opensearch-project/k-NN/pull/377
Check List

[x] All tests pass
[x] Commits are signed as per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #387 (c106df8) into 2.0 (56c0784) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                2.0     #387   +/-   ##
=========================================
  Coverage     84.01%   84.01%
  Complexity      911      911
=========================================
  Files           130      130
  Lines          3879     3879
  Branches        359      359
=========================================
  Hits           3259     3259
  Misses          458      458
  Partials        162      162

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 56c0784...c106df8. Read the comment docs.


Runtime/Build terminal should use the same icon as flatpak terminal

Should they have the 'box' icon or the 'terminal' one?

I do like that the box one looks like a Flatpak logo

the package one is what i had in mind

while we're at it maybe rename the output terminal from Flatpak to Flatpak Output Terminal or something?

The Terminal prefix makes it too long, maybe we could also drop Flatpak prefix, and just the package icon to differentiate from other terminals


Getting Error "operating on too many entity groups in a single transaction." while performing transaction.save(entities)

Hi,
I'm facing an issue while saving the entities to the datastore through transaction. It seems multiple data objects are getting duplicated in "requests_" object of the same transaction, identical multiple objects are getting added
as shown in screenshot attached (highlighted in yellow). This issue is getting reproduced for certain case only, other cases are working correctly even though the entities are almost similar and bigger than this one.
Adding the code snippet and the output I'm getting for reference.
code snippet :
transactionEntities.push({
  key: dataObj[0][dataStore.KEY],
  data: dataObj[0]
});
transaction.save(transactionEntities);
await transaction.commit();

output :
{"code":3,"details":"operating on too many entity groups in a single transaction.","level":"error","metadata":{}}

Pls suggest any solution or acknowledge if this is an open issue.

According to this comment about saving with transactions, we shouldn't modify code to divide the save transactions into chunks behind the scenes because even though that should make your error go away, it may not preserve the order desired for some users.
Try doing this after pushing all data to transactionEntities:
const chunkSize = 10;
for (let i = 0; i < transactionEntities.length; i += chunkSize) {
    const chunk = transactionEntities.slice(i, i + chunkSize);
    transaction.save(chunk);
    await transaction.commit();
}


GT210, Nvidia 340 failure is back on Quadro NVS 300!

We hardcoded some string detection to fix the same issue with the Geforce 210 (See https://github.com/Unvanquished/Unvanquished/issues/971), but the driver string detection does not match the Quadro NVS 300 and then the bug is reproduceable on current 0.52.0/sync branch.
We currently test for the Geforce string to apply the workaround and then NVS does not match.
I noticed both GPU are using the 340 version of the driver, it may be better to look for it instead.

While waiting for a fix, players facing the issue can workaround it by running the game that way:
./daemon -set r_arb_texture_gather 0

freem owns two GPUs running with the nvidia 340 driver:

GeForce 8400 GS rev.2 (NV98, G98) from 2007,
GeForce 8400 GS rev.2 (NVA8, GT218) from 2010;

Only the GT218 based one reproduce the bug with the same driver.
Because we can assume all GT218 use the 340 driver, we may detect the 340 driver to apply the patch, but it will apply the patch for nothing on some hardware (preventing the use of some optimization). It would still be better to detect all Geforce and Quadro cards…

The G98-based GPU is also driven by the Nvidia 340 drivers but does not support ARB_texture_gather, so disabling this extension for all GPUs using this driver will not degrade experience for this card (this extension would be disabled because it's missing anyway).
It's very likely the condition to reproduce the bug is not the GT218 GPU itself, but the Nvidia 340 driver advertising the ARB_texture_gather extension.
We have to make sure the bug does not affect newer driver that supports ARB_texture_gather, I'll test a GPU using the Nvidia 390 driver soon. But well, I have a feeling we would have known about it before…

Fixed by #370.


Use more intuitive module structure

The current modules (app and base in particular) have classes scattered around in a generally unorganized mess. We should create a few new feature modules to separate components that are used for the different components like only instant apps or Android Things, the app, and/or a multiple of the modules listed. While the base module has a logical package structure, many classes in the app module should not be located at the root package.
Specifically, the goals are:

Clean up the base module's classes and package structure
Create a necessary amount of modules based on big features
Revise dependency structure for all the modules

While we're at it, we need to clean up all the dead code and deprecated components throughout the project.


How to catch MediaStreamError ?

How to catch this error properly?

I think I've tried already all .on() events I've found in the docs, but only ended is working when this error occurs (but I don't think this is a proper to use as a error handler) - any ideas/thoughts?
EDIT:
adding some context: I'm testing it locally via http (I know that browsers now lock mic/cam access on it by default) but wanted to handle it as well - any ideas?

This is a question not a bug. In the future please use our mailing list for these types of things.
The SDH emits a userMediaFailed event. A better way might be to extend the Web SDH and override the getMediaStream function.


Stub attempts to call method on Class'es superclass when method accepts keyword arguments on Ruby 2.7

Subject of the issue
If you rspec stubs to test whether a class method, which accepts both positional and keyword arguments, is called with a positional argument, then RSpec::Mocks::Proxy will attempt to call the superclass's method. This will result in a confusing error (undefined method 'start' for Object:Class) if the Class in question does not inherit from another Class. This bug occurs under ruby-2.7, but not ruby-3.x. However, the bug does not occur if I remove **kwargs from the method definitions.
Your environment

Ruby version: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
rspec-mocks version: 3.11.1

Steps to reproduce
require 'rspec'

class Shell
  def self.start(io,**kwargs)
  end
end

class IO
  def shell(**kwargs)
    Shell.start(self,**kwargs)
  end
end

describe IO do
  subject { File.new(__FILE__) }

  describe "#shell" do
    it do
      expect(Shell).to receive(:start).with(subject)

      subject.shell
    end
  end
end

Rescuing NoMethodError in the test points us to RSpec::Mocks::Proxy line 228.
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-mocks-3.11.1/lib/rspec/mocks/proxy.rb:228:in `message_received'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-mocks-3.11.1/lib/rspec/mocks/proxy.rb:366:in `message_received'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-mocks-3.11.1/lib/rspec/mocks/method_double.rb:80:in `proxy_method_invoked'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-mocks-3.11.1/lib/rspec/mocks/method_double.rb:64:in `block (2 levels) in define_proxy_method'
/home/postmodern/test/ruby/rspec/spec/test_spec.rb:10:in `shell'
/home/postmodern/test/ruby/rspec/spec/test_spec.rb:22:in `block (3 levels) in <top (required)>'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:263:in `instance_exec'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:263:in `block in run'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:486:in `block in run'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:624:in `run_around_example_hooks_for'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:486:in `run'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:259:in `run'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:646:in `block in run_examples'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:642:in `map'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:642:in `run_examples'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:607:in `run'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:608:in `block in run'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:608:in `map'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:608:in `run'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:121:in `map'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/configuration.rb:2068:in `with_suite_hooks'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:116:in `block in run_specs'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/reporter.rb:74:in `report'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:115:in `run_specs'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:89:in `run'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:71:in `run'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:45:in `invoke'
/home/postmodern/.gem/ruby/2.7.5/gems/rspec-core-3.11.0/exe/rspec:4:in `<top (required)>'
/home/postmodern/.gem/ruby/2.7.5/bin/rspec:23:in `load'
/home/postmodern/.gem/ruby/2.7.5/bin/rspec:23:in `<main>'

Expected behavior
IO
  #shell
    is expected to receive start(#<File:/home/postmodern/test/ruby/rspec/spec/test_spec.rb>) 1 time

Finished in 0.00547 seconds (files took 0.08959 seconds to load)
1 example, 0 failures

Actual behavior
IO
  #shell
    is expected to receive start(#<File:/home/postmodern/test/ruby/rspec/spec/test_spec.rb>) 1 time (FAILED - 1)

Failures:

  1) IO#shell is expected to receive start(#<File:/home/postmodern/test/ruby/rspec/spec/test_spec.rb>) 1 time
     Failure/Error: Shell.start(self,**kwargs)

     NoMethodError:
       undefined method `start' for Object:Class
     # ./spec/test_spec.rb:10:in `shell'
     # ./spec/test_spec.rb:21:in `block (3 levels) in <top (required)>'

Finished in 0.00563 seconds (files took 0.09395 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/test_spec.rb:18 # IO#shell is expected to receive start(#<File:/home/postmodern/test/ruby/rspec/spec/test_spec.rb>) 1 time

This issue looks like it relates to #1466.


cant specify columns

Each chart I create (python 3.7.4, PyWaffle 0.2.3) is coming out square regardless of what is passed in the columns parameter.  Its as if the columns parameter is being overwritten by what is passed to rows
    plt.figure(
        FigureClass=Waffle,
        rows=5,
        columns=10,
        values=[150, 75, 25],
        figsize=(16, 9)
    );
    plt.savefig('example.png')

Interesting. Thanks for submitting the issue and I will take a look.
For now, could you please rollback the version to 0.2.1

The problem is not present in 0.2.1:
(same sample code as above)

Fixed. Please upgrade to 0.2.4.


UnhandledPromiseRejectionWarning: Invalid handshake response

Getting this error trying to connect with firmware 0.2.5 using path: /dev/cu.usbmodem14101 taken from loupedeck settings:

Thanks for the report! Does it work if you don't provide path but just let it try to find it on its own?
Can you provide additional info on your environment? I.E.:

OS
Node version
Device type (if different from LDD-2001)
Device version (if different from 01.30)

@foxxyz Yea doesnt work either way.
OS: MacOS Monterey 12.1
Node Version: v14.18.2
Device type: Loupedeck Live (LDD-2001)
Device Version: Tried with both 0.2.5 and 01.30

Hm, looks like that should all work fine.
The Invalid handshake response:  error should include additional information - are you able to supply the full stacktrace?

Device Version: Tried with both 0.2.5 and 01.30

Also... device version is the number listed on the back of the Loupedeck device, not the firmware version. Does the back of your device say "Ver: 01.30"?

yes the device back says 01.30
When I dont specify the host it gives me this error:
Loupedeck Serial Error: Error: Resource busy, cannot open /dev/tty.usbmodem14101

When I specify the host as the value I got from Loupedeck settings instead (/dev/cu.usbmodem14101, different from the autodetected one) I get this error instead:
events.js:377
      throw er; // Unhandled 'error' event
      ^

Error: getaddrinfo ENOTFOUND dev
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:71:26)
Emitted 'error' event on WebSocket instance at:
    at emitErrorAndClose (/Users/md/Dev/loupedeck/node_modules/ws/lib/websocket.js:922:13)
    at ClientRequest.<anonymous> (/Users/md/Dev/loupedeck/node_modules/ws/lib/websocket.js:781:5)
    at ClientRequest.emit (events.js:400:28)
    at Socket.socketErrorListener (_http_client.js:475:9)
    at Socket.emit (events.js:400:28)
    at emitErrorNT (internal/streams/destroy.js:106:8)
    at emitErrorCloseNT (internal/streams/destroy.js:74:3)
    at processTicksAndRejections (internal/process/task_queues.js:82:21) {
  errno: -3008,
  code: 'ENOTFOUND',
  syscall: 'getaddrinfo',
  hostname: 'dev'
}

When I dont specify the host it gives me this error:
Loupedeck Serial Error: Error: Resource busy, cannot open /dev/tty.usbmodem14101

This error means the device is in use. Are you sure the Loupedeck software is not running?

When I specify the host as the value I got from Loupedeck settings instead (/dev/cu.usbmodem14101, different from the autodetected one) I get this error instead:
...
Error: getaddrinfo ENOTFOUND dev
...

This error is because it's incorrectly looking for a network address. The correct parameter for 0.2.X firmware is path. (host is for the 0.1.X firmware, path is for the 0.2.X firmware).
Can you unplug/replug the device, make sure the Loupedeck software is completely shut down, then either run the simple example or manually run:
const { LoupedeckDevice } = require('loupedeck')
const device = new LoupedeckDevice()
// Or include the path yourself
// const device = new LoupedeckDevice{{ path: '/dev/cu.usbmodem14101' })

and attach the full stacktrace of the error you get?

Closing due to inactivity. Feel free to reopen if you have more information on reproduction!


Class path contains multiple SLF4J bindings #155

I have the same issue with branch master and commit commit 753de7d .
Has the problem been solved yet？

@superwood Could you try using the latest commit after we upgrade to play 2.4.8, and let us know if the issue still exists.
You can follow the new installation root/README.md instruction for that.

We are aware of the "multiple SLF4J bindings" warnings during program start-up. A ticket has been created for further investigation.

Dear issue owner,
Thanks for your interest in WhereHows. We have recently announced DataHub which is the rebranding of WhereHows. LinkedIn improved the architecture of WhereHows and rebranded WhereHows into DataHub and replaced its metadata infrastructure in this direction. DataHub is a more advanced and improved metadata management product compared to WhereHows.
Unfortunately, we have to stop supporting WhereHows to better focus on DataHub and offer more help to DataHub users. Therefore, we will drop all issues related to WhereHows and will not accept any contribution for it. Active development for DataHub has already started on datahub branch and will continue to live in there until it's finally merged to master and project is renamed to DataHub.
Please check the datahub branch to get familar with DataHub.
Best,
DataHub team


Document the history of TNBC

This doc will contain everything from when TNBC was started, how it all began, whose idea, the first set of people involved and so on, which later can be featured on the website and social media as well.

This could be a good start for the document
https://drive.google.com/file/d/1mO1x9Ja0o1_KSMU9xL7T9lRynEMLMlom/view

Author : Josh Adewale


Add rotating tensor for GEMM tuning

This PR is to add the rotating tensor to the gemm tuning script tune_gemm.py

Hi all, I change the icache flush processing as: since python-hip is needed to run the icache-flush kernel, if the python-hip module is not installed and icache-flush is enabled, it will print a message mentioned no python-hip, so icache-flush is disabled. The message is as:
************************************************************************************************
  `icache-flush` is disabled for this run.
  `icache-flush` needs python-hip module, which is unavailable.
  python-hip module can be installed as:
      `python3 -m pip install -i https://test.pypi.org/simple hip-python~=$rocm_version`
************************************************************************************************

In this way, the script can still run to completion without icache-flush, or user can install python-hip as in the message.
Also, if no further comments, could anyone help approve this PR, so I can get it merged.

Also, can you change the title and description of this PR to include support for icache_flush and bias.
And I think this is a big change so I'd suggest we bump the version of tune_gemm to be v3.2 (I'm suggesting without any experience about versioning, we can discuss later about it) and can you add the added features in the README?


TypeError: jhipsterFunc.addAngularJsConfig is not a function

I follow the steps needed for configuration and I get this:
Composing JHipster configuration with module bootstrap-material-design
Reading the JHipster project configuration for your module
events.js:141
      throw er; // Unhandled 'error' event
      ^

TypeError: jhipsterFunc.addAngularJsConfig is not a function
    at module.exports.yeoman.generators.Base.extend.writing (C:\Users\aturbut\AppData\Roaming\npm\node_modules\generator-jhipster-bootstrap-material-design\generators\app\index.js:70:22)
    at C:\Users\aturbut\AppData\Roaming\npm\node_modules\generator-jhipster-bootstrap-material-design\node_modules\yeoman-generator\lib\base.js:430:16
    at processImmediate [as _immediateCallback] (timers.js:383:17)

P.S. I have previously used this generator and it worked properly. Any help is apreciated :)

Can you give me your jhipster version?
If you have the new version (3.0), lot of stuff are changing, and the module is not compatible anymore. I need to update it :).

I just saw that your library only supports 2.X :( I guess when I used it before I had the old jhipster version. My currently Jhipster is 3.0.0


OSError: I2C bus error

I tried to connect the RGB Backlight using your lib but I get an OSError.
I plugged it on VIN GND P21 and P22

Hi @Natim,
Could you please share the code you are trying to run?
Thanks,
Alex

Here is the code I am trying to run:
import i2c_lcd
from machine import I2C

i2c = I2C(0, I2C.MASTER)
d = i2c_lcd.Display(i2c)

d.home()
d.write('Hello World')

I used to get back a table with [4, 6, 8, 62, 98, 112] but also sometimes an empty table.

Which LCD screen are you using - could you provide me a link to the specific device? It might be that the screen you are using has a different I2C address (62 == 0x3e, which is the expected address for the screen).
Can you also share your code and the OS Error that you get, please? This might help me determine where the error is occurring.

http://wiki.seeedstudio.com/Grove-LCD_RGB_Backlight/
JHD1313M3 - P150709

Another thought, are you sure that you are supplying 5V to the screen? You might need to use a logic level converter as the screen might be at 5V and the I2C bus at 3.3V

You are right it was because the VIN is -5V and not 5V.


Activating CUDA

| Camera Model                       |  D435 |
| Firmware Version                   | <IP_ADDRESS> |
| Operating System & Version |   Linux (Ubuntu 18.04)  |
| Kernel Version (Linux Only)    |  4.9.140-tegra     |
| Platform                                 |  NVIDIA Jetson   |
| SDK Version                            |  2.32.1             |
For activating CUDA cores should I build from sources with correct flags or it is enough install from debian packages? How can I evaluate  it is using CUDA cores or not?

CUDA support can be enabled with a CMake flag called BUILD_WITH_CUDA, which is set to False by default.

CUDA support can be enabled from within a build instruction for the Librealsense SDK using a build instruction similar to the one below:
cmake ../ -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=true  -DBUILD_GRAPHICAL_EXAMPLES=true -DBUILD_WITH_CUDA=true
An easy way to check whether the effect of CUDA support is being applied is to check CPU usage.  There should be a clear reduction in CPU % usage with CUDa support enabled, as highlighted by the example chart below:

Hi MartyG,
Thank you for quick reply. Actually my question is I already install with "sudo apt-get install librealsense2-utils librealsense2-dev -y". For CUDA support should I remove this packages and build according above your instructions.
Yesterday I build with -DBUILD_WITH_CUDA=true and today with new jetson image I just "sudo apt-get install librealsense2-utils librealsense2-dev -y" I couldn't see any dramatic change between yesterday and today.

Hi @brsbilgin
Debian packages are already built with CUDA.

Thank you  Dorodnic


Pickaxes can be enchanted with Curse of Gigantism but are not effected

Pickaxes can be enchanted with Curse of Gigantism but are not effected. This should be changed, either by adding an effect to the pickaxe (maybe a 2 height (ie. one down additionally) 1 width mining field for easier Tree Mining) or removing pickaxes from being able to receive the enchantment (via overriding Enchantment#isAcceptableItem).

Thanks for the issue, just made it only applicable to hammers as you said.


Add Mancy.app v1.0.0

A cross platform JavaScript REPL application based on electron and react frameworks.

Thank you for the contribution. It needed some fixes, so they were made in e33ef322658e550ff8619a7a3e2cd04faa520282. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.


Page Hero should have an option without a required image

https://design.undp.org/?path=/story/components-ui-components-hero-page--page-hero-full-width

@paboden , Storybook control should have proper label, "No background" instead of "no_background"

The PR for this issue is ready to review again. The storybook controls have been cleaned up.
#1130

Verified

@paboden , please check this: #1130 , there is a regression related to change of default hero style

new PR here - https://github.com/undp/design-system/pull/1146
Page hero wasn't defaulting to image variant if no specific variant was declared in a component call.

@mrelevo , over to you for testing, changes are in Develop

verified in DEV

verified in the stroybook and already implemented in Drupal


[camera_platform_interface] Added stopRecordingVideo

Adds a VideoRecordedEvent to allow the native implementations to finalize the recording of a video. Also adds stopRecordingVideo, which does the same as stopVideoRecording, but gets the result from the stream instead.
This allows us to implement the maxVideoDuration feature.
Pre-launch Checklist

[X] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[X] I read the Tree Hygiene wiki page, which explains my responsibilities.
[X] I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides.
[X] I listed at least one issue that this PR fixes in the description above.
[ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.
[X] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[X] I updated CHANGELOG.md to add a description of the change.
[X] I updated/added relevant documentation (doc comments with ///).
[X] I signed the CLA.
[X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Removing needs-publishing as there's an outstanding PR for this package that needs to be landed before it's published again. This fix will be picked up when that is published.


Microphone does not work in Firefox when I popup the CCP in a separate window

We have a use case that shows the built-in CCP inside our application and allows customers to "pop-out" the CCP into a separate window, as well as "pop-back" the CCP.
Receiving calls from the popup using the softphone works just fine in Chrome, however when I use Firefox ESR, clicking the accept call button doesn't work. According to the official documention, Firefox ESR is supported.
A simplified version looks like this:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <title>microphone test</title>

    <button id="pop-out">Pop out!</button>
    <button id="pop-in">Pop in!</button>

Environment:

OS: MacOS 10.14.6
Browsers: Chrome 83.0.4103.97 / Firefox ESR 68.8.0esr
amazon-connect-streams: 1.4.8

Steps to reproduce:

Load the example html on an https origin that is whitelisted in Amazon Connect. Wait for the CCP to load and the prompt for microphone permissions to show, click the "Allow" button.

Verify that the microphone show up on the URL bar:

Click the "Pop out!" button, wait for the popup to open an load:

On the popup, set yourself as "Available" and perform a phone call that would result in the call being routed to the agent:

When the call comes in, click the "Accept call" button:

Expected result
The call is connected and you can talk with the customer.
Actual result
Clicking the button one or multiple times "does nothing", and after a while (i.e. a timeout), you get a microphone permissions error:

Waiting a bit more (i.e. another timeout), results in a WebRTC error:

Finally, for reference, here are the permissions that I had set on the browser for both origins:
CCP container origin:

CCP origin:

Allowing all permissions does not solve the issue.

There is an ongoing internal investigation into the root cause of this bug. We acknowledge that it exists, and we are working to fix it.

Hello, I want to add an update related to this topic:
As a workaround, for Firefox, we are embedding the CCP (i.e. /ccp-v2) directly on the host application (i.e. displaying the  instead of opening a separate window). While this "works" most of the time, under the following conditions, the experience is still a bit clunky:
Pre-conditions:

The user does not have an active Amazon Connect session (or it has expired).
The built-in authentication requires opening a login popup to work (i.e. it cannot be embedded inside the ).
The login URL redirects the user to the CCP v2 after a successful authentication.
The user's last set status is "Available".

Action:
Initialize and show the CCP using the following code:
connect.core.initCCP(container, {
  // ...
  loginPopup: true,
  loginPopupAutoClose: true,
  softphone: {
    allowFramedSoftphone: true,
  }
});

The authentication popup window will open, authenticate, redirect to the CCP, wait for the CCP to load/initialize, and close.
Expected result:
The host application window asks for microphone permissions.
Actual result:
The host application window does not ask for microphone permissions unless the user changes their status (e.g. from "Available" to "Offline").

Note that this does not occur if the CCP was initialized without the need of opening an authentication popup window (i.e. the session is still active). In this case, the CCP loads and the host application window asks for microphone permissions immediately after the  loads.

This issue should be resolved with the latest release.


Cohesity: Improvements (metadata, storage, alerts, unprotected) - Fix (alerts)

Hello @Bastian-Kuhn
Here are some commits for Cohesity plugin improvements and fix:

New check for Metadata usage
Review of Alert status with differentiation of Critical, Warning and Info alerts. Return Critical status if at least one critical alert, Warning if at least one warning alert but no critical, Ok if only info alert. Also a fix of the timeperiod for the query as it must be in Usec instead of sec. More details in the summary output.
Add perfdata to Storage check, and GUI option to set percent thresholds
Add perfdata to Unprotected check

Best regards
Nicolas

Thank you very much for that changes.


Add build number to index.html / main.ts #FeatureRequest

Is it anyhow possible to add a build number / current git hash / version number / timestamp to index.html / main.ts while building and increment it with every build?

@manuelfink as far as I know there isn't a way out of the box, but wouldn't be something to difficult to add as your own step after the fact. There are also plans for a post 1.0 plugin system that would be a good fit for this type of feature

There are no plans for this sort of functionality. My advice would be to add in a script that does it.


Adapted before-render callback for ThreeJS 0.110.0

Adapted the definition of the onBeforeRender callback for the
fill technique, in order to make it compliant with the latest definition
for the Object3D class in ThreeJS 0.110.0
Thank you for contributing to harp.gl!
Before requesting a pull request, please remember to check the following documents:

contribution guidelines
coding style

If you are adding new functionality we would highly appreciate if you can describe what is the capability you are adding and even better if you can add some examples. Please also remember to add tests for it.
CI Check
Our bots will check whether your PR can be directly integrated into the mainline. We have some internal integration tests running on the background, our bots will inform you of the next steps and someone from our team will take a look and help if needed!
And please do not forget to sign-off your commit! You can read more about DCO here. But, in short, you just need to use git commit -s or append --signoff when you are committing to the repo.
Happy contributing!

Codecov Report

Merging #1076 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master    #1076   +/-   ##
=======================================
  Coverage   45.87%   45.87%
=======================================
  Files         238      238
  Lines       22212    22212
  Branches     5000     5000
=======================================
  Hits        10190    10190
  Misses      12022    12022

Impacted Files
Coverage Δ

...e/harp-mapview/lib/geometry/TileGeometryCreator.ts
11.32% <0%> (ø)
: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 f02c2cc...be55ce6. Read the comment docs.

@heremaps-bot retest this please

Already fixed by other PR


GEOMESA-619,637,638,639 Ensure WCS DescribeCoverage Returns all useful information.

DescribeCoverage now returns useful information about each raster table
WCS DescribeCoverage Returns Bounds of Table
** DescribeCoverage now returns valid bounds
** Added BBOXCombiner to core iterators
** Added unit tests for BBOXCombiner
** Added unit tests for getBounds call in RasterStore
RasterStore Returns Available Resolutions in Table
** RasterStore now exposes sets of Available Resolutions in Table
** Added unit tests for getAvailableResolutions
WCS DescribeCoverage Returns GridRange of Table
** RasterStore now exposes GridRange of data in Table
** Added unit tests for getGridRange

Committed as a9cced787604399380b0eeaaa2b7a45fd121fb05 on f_wcs_4.


Relocate SSL setup into nginx.conf

Our SSL configuration for our twolfson.com site is not exclusive to those servers. We should place it inside of /etc/nginx/nginx.conf for a consistent SSL setup.
https://github.com/twolfson/twolfson.com-scripts/blob/cd3bbdc062426ddc9466942ab7e5dc517be7f297/data/etc/nginx/conf.d/twolfson.com.conf#L3-L9
https://github.com/twolfson/twolfson.com-scripts/blob/cd3bbdc062426ddc9466942ab7e5dc517be7f297/data/etc/nginx/conf.d/twolfson.com.conf#L27-L33

This has been completed in 1.7.0


func 'face_recognition.face_locations(rgb_frame)' too slow

face_recognition version: 1.3.0
Python version: Python 3.7.3
Operating System:
Raspberry pi's OS

Description
face_location perform slow with 'hog' model , so that the RTMP streaming's FPS is very low.
What I Did
I use OpenCV-python capture video frame and use the library for face recognition as follows, but the performance is slow, when called face_locations:
  t0 = time.time()
    rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
    t1 = time.time()
    face_locations = face_recognition.face_locations(rgb_frame)
    t2 = time.time()

print("cvtColor:{}\nface_reg:{}\n rect:{}".format(t1-t0, t2-t1, t3-t2))

performance logs:
cvtColor:0.0030031204223632812
face_reg:1.3525376319885254
 rect:5.9604644775390625e-06
cvtColor:0.0028831958770751953
face_reg:1.3532397747039795
 rect:6.198883056640625e-06
 cvtColor:0.0025620460510253906
face_reg:1.3531949520111084
 rect:6.198883056640625e-06
cvtColor:0.0029387474060058594
face_reg:1.3532142639160156
 rect:6.198883056640625e-06

seems like the time spent a lot( 1 more seconds ) for face_location

found the solution with historical issues:

https://github.com/ageitgey/face_recognition/issues/1336
https://github.com/ageitgey/face_recognition/issues/1105
https://github.com/ageitgey/face_recognition/issues/884
https://github.com/ageitgey/face_recognition/issues/659
https://github.com/ageitgey/face_recognition/issues/619
https://github.com/ageitgey/face_recognition/blob/master/examples/facerec_from_webcam_faster.py

I will try it one by one.

Solved.


Learning Path 3 - Lab 1 - Exercise 2 - Mitigate threats using Microsoft Defender for Cloud

Contact Details
<EMAIL_ADDRESS>What happened?
Learning Path 3 - Lab 1 - Exercise 2 - Mitigate threats using Microsoft Defender for Cloud
Task 2 Step 7
It can take up to 20 minutes to enable Defender CSPM.
A workaround if you get the error is to logout and log back in to the Azure Portal. This seems to allow you to Assign Owner successfully.

Lab
Lab 03 Exercise 02 Mitigate threats using Microsoft Defender for Cloud
Relevant screenshots
paste here 😉
Do you want to help us? 👏

[ ] Create a Pull Requestt by following this project's Contribution Guide

Thanks. Will check this one too.

Hello, I'm not sure why you're setting up CSPM on this task. The task is specific to assigning ownership to a recommendation where the status is not "Completed" for WINServer. CSPM should have already been enabled in the previous lab.


how can we combine two pulses?

If I have created a pulse1 at wavelength1 and a pulse2 at wavelength2, how to combine the two into a new pulse instance?

There isn't currently a built-in function to do this, but, it's straightforward to do. We just need to shift the spectrum of one of the pulses onto the grid of the other pulse. Here is some example code:
import numpy as np
import matplotlib.pyplot as plt
import scipy
import laserfun as lf

# create two pulses
pulse0 = lf.Pulse(pulse_type='sech', fwhm_ps=0.1, center_wavelength_nm=1550, time_window_ps=10, epp=1e-9)
pulse1 = lf.Pulse(pulse_type='sech', fwhm_ps=0.1, center_wavelength_nm=1750, time_window_ps=10, epp=1e-9)

# create a third pulse that starts the same as pulse 0, but will have pulse 1 added to it later
pulse2 = pulse0.create_cloned_pulse()

# re-interpolate the spectrum of pulse1 onto the grid of pulse0
interpolator = scipy.interpolate.interp1d(pulse1.f_THz, pulse1.aw, bounds_error=False, fill_value=0.0)
new_aw = interpolator(pulse0.f_THz)

# combine the pulses:
pulse2.aw = (pulse0.aw + new_aw)

# plot the results:
fig, axs = plt.subplots(3, 1, figsize=(5, 8), tight_layout=True)

axs[0].plot(pulse0.f_THz, np.abs(pulse0.aw)**2)
axs[1].plot(pulse1.f_THz, np.abs(pulse1.aw)**2)
axs[2].plot(pulse2.f_THz, np.abs(pulse2.aw)**2)

for ax in axs:
    ax.grid(alpha=0.2)
    ax.set_xlim(130, 230)

axs[-1].set_xlabel('Frequency (THz)')
axs[-1].set_ylabel('Intensity')

plt.show()

This could be an easy function to add to laserfun. What is the best way to do it? Perhaps a function in the Pulse class that is called "add_pulses", which could be called like:
pulse0.add_pulse(pulse1)

This could either modify pulse0 or return a new pulse object. I'm not sure which is better.

Thanks, I get your point, by doing this, pulse0, pulse1, and pulse2 all have the same frequency grid right? I also had a look at the PyNLO's interpolate_to_new_center_wl function, which basically use the same interpolate method, however, the documentation of this function says "Change grids by interpolating the electric field onto a new frequency grid, defined by the new center wavelength and the current pulse parameters. This is useful when grid overlaps must be avoided, for example in difference or sum frequency generation", in such wave-mixing processes, shouldn't we use different grids according to this comment?

There isn't currently a built-in function to do this, but, it's straightforward to do. We just need to shift the spectrum of one of the pulses onto the grid of the other pulse. Here is some example code:
import numpy as np
import matplotlib.pyplot as plt
import scipy
import laserfun as lf

# create two pulses
pulse0 = lf.Pulse(pulse_type='sech', fwhm_ps=0.1, center_wavelength_nm=1550, time_window_ps=10, epp=1e-9)
pulse1 = lf.Pulse(pulse_type='sech', fwhm_ps=0.1, center_wavelength_nm=1750, time_window_ps=10, epp=1e-9)

# create a third pulse that starts the same as pulse 0, but will have pulse 1 added to it later
pulse2 = pulse0.create_cloned_pulse()

# re-interpolate the spectrum of pulse1 onto the grid of pulse0
interpolator = scipy.interpolate.interp1d(pulse1.f_THz, pulse1.aw, bounds_error=False, fill_value=0.0)
new_aw = interpolator(pulse0.f_THz)

# combine the pulses:
pulse2.aw = (pulse0.aw + new_aw)

# plot the results:
fig, axs = plt.subplots(3, 1, figsize=(5, 8), tight_layout=True)

axs[0].plot(pulse0.f_THz, np.abs(pulse0.aw)**2)
axs[1].plot(pulse1.f_THz, np.abs(pulse1.aw)**2)
axs[2].plot(pulse2.f_THz, np.abs(pulse2.aw)**2)

for ax in axs:
    ax.grid(alpha=0.2)
    ax.set_xlim(130, 230)

axs[-1].set_xlabel('Frequency (THz)')
axs[-1].set_ylabel('Intensity')

plt.show()

This could be an easy function to add to laserfun. What is the best way to do it? Perhaps a function in the Pulse class that is called "add_pulses", which could be called like:
pulse0.add_pulse(pulse1)

This could either modify pulse0 or return a new pulse object. I'm not sure which is better.

Thanks, I get your point, by doing this, pulse0, pulse1, and pulse2 all have the same frequency grid right? I also had a look at the PyNLO's interpolate_to_new_center_wl function, which basically use the same interpolate method, however, the documentation of this function says "Change grids by interpolating the electric field onto a new frequency grid, defined by the new center wavelength and the current pulse parameters. This is useful when grid overlaps must be avoided, for example in difference or sum frequency generation", in such wave-mixing processes, shouldn't we use different grids according to this comment?

Ah, good eye! I did borrow the interpolation approach from PyNLO :).
But no, pulse0 and pulse1 are on different grids. The center_wavelength_nm= argument determines the grid (along with time_window_ps and npts). We need to re-interpolate the shape of pulse1 to put it on the same grid as pulse0.
I also wondered about that comment in PyNLO. Perhaps @ycasg can elaborate if he still remembers. In addition to simulating Chi3 nonlinear optics with the NLSE, PyNLO also had functions for simulating chi2 processes like sum and difference frequency generation. My guess is that certain gridding situations could cause artifacts for the chi2 processes. I don't know if this logic applies to the NLSE.
What pulse wavelengths are you trying to simulate? If you're using pulses that are very separated in frequency, then your temporal waveform will likely have rapid modulations. My understanding is that this kinda violates the "slowly varying envelope" approximation that the NLSE makes. So, the results may be somewhat unpredictable. That said, I have previously used the NLSE to simulate the interaction of a pulse at 1 micron with a pulse at 0.5 micron, and the results seemed to match my experiment reasonably well, so who knows! :)

Right! You are correct about the pulses having different grids in your approach mentioned above. I have been using PyNLO and using the method like pulse0 = pynlo.light.DerivedPulses.SechPulse(pulseWL + other parameters here) and pulse1 = pynlo.light.DerivedPulses.SechPulse(pulseWL/2 + parameters here), pulse1 = pulse1.interpolate_to_new_center_wl(pulseWL) before accessing their spectral field amplitude AW. This makes them already appear on the same grid before combination. But they both turn out to be equivalent ;)

Btw I am using pulseWL=1035nm and pulseWL/2=517.5nm. I also found that pulse0 = pynlo.light.DerivedPulses.SechPulse(pulseWL + other parameters here) and pulse1 = pynlo.light.DerivedPulses.SechPulse(pulseWL + parameters here), pulse1.interpolate_to_new_center_wl(pulseWL/2) still works, but by doing so they are on different grids, and the second harmonic pulse still has center wavelength of pulseWL/2. The representation depends on which grid and which centre wavelength we use (when plotting spectral intensity w.r.t. frequency or when using the spectrogram function). And the two pulses are in each other's frequency position due to interpolation, so the energy allocation needs to be reversed. This method matches the comment in PyNLO but is quite counterintuitive.

Sounds good. I'm slightly confused about your last comment, but if it seems to be working for you, that's great!


Dictionary identity not preserved through roundtrip

On jsonpickle 1.1:
>>> import jsonpickle
>>> x = {}; y = jsonpickle.decode(jsonpickle.encode([x, x]))
>>> y[0]['hi'] = 3
>>> y[1]
{}

I didn't see any warnings about this in the doc and lists seem to survive fine.  Adding a custom handler to try to trigger the id serialization didn't work.
Actually, trying with some more mutable builtin types - set identity doesn't appear to be preserved either.
This is an important use case for us since we need to serialize user data and can't reasonably request them to prevent duplicate dictionaries in their graphs.

We should do a v2 encoder as described in #246.  Preserving dict and set identity would be a welcome addition.  Only atoms like strings and ints should be excluded from the reference detection.

Thanks for the report.  A simpler solution was found that preserves dict identity.  Please test out the proposed changes in #342 and let me know if it works for your use case.
I added a test case to tests/jsonpickle_test.py that mimics the use case you identified above.  Before the changes that test was failing, and now it passes.  I'm kinda happy that making this change was relatively simple.  e72b5967ca3d5ff283ac8c1e79ce7928ec81d1e2

Thanks for the report.  A simpler solution was found that preserves dict identity.  Please test out the proposed changes in #342 and let me know if it works for your use case.
I added a test case to tests/jsonpickle_test.py that mimics the use case you identified above.  Before the changes that test was failing, and now it passes.  I'm kinda happy that making this change was relatively simple.  e72b5967ca3d5ff283ac8c1e79ce7928ec81d1e2


Only single validation sent to client at a time

Bug report

[x] I have checked other issues to make sure this is not a duplicate.

Describe the bug
Note: not sure if this is a bug or working as intended.
Consider a validation like this:
inputRule((yup) => {
  return yup.object({
    email: yup.required(),
    username: yup.required(),
    password: yup.required(),
  })
})

If I invoke the graphql mutation that uses this yup validation, with no input arguments, I will only see one validation error at a time. This makes it difficult to build a nice user experience on things like login forms, etc, since the user will only see one issue at a time.
Expected behavior
I expect the graphql api to return three validations, ideally with the path to the property associated with each validation error. Something along the lines of "email is required", "username is required", and "password is required".
Actual behaviour
Only one validation at a time is returned.
Additional context
This behavior can be controlled on the yup side of things via the abortEarly validation option, e.g. yup.validate(schema, { abortEarly: false }).

I would also prefer if abortEarly was set to true by default.

Hey :wave:,
Excuse my absence, I had my final examinations, but I am up and running now. I have done some experimentation and I propose the following. inputRule should be extended so that it exposes options which will include all available Yup options.
Furthermore, we should somehow enable the possibility of manipulating the errors list returned by Yup since I cannot find a better default alternative. I have attached an example of error object and its complement on GraphQL side below so you get the idea of the data that we are dealing with.
ValidationError {
      name: 'ValidationError',
      value: { email: 'notemail' },
      path: undefined,
      type: undefined,
      errors: [ 'It has to be an email!', 'password is a required field' ],
      inner:
       [ ValidationError {
           name: 'ValidationError',
           value: 'notemail',
           path: 'email',
           type: undefined,
           errors: [Array],
           inner: [],
           message: 'It has to be an email!',
           params: [Object] },
         ValidationError {
           name: 'ValidationError',
           value: undefined,
           path: 'password',
           type: 'required',
           errors: [Array],
           inner: [],
           message: 'password is a required field',
           params: [Object] } ],
      message: '2 errors occurred' }

GraphQLError {
           message: '2 errors occurred',
           locations: [Array],
           path: [Array] } ]

Perhaps you have any idea how we could make this more approachable?

:tada: This issue has been resolved in version 7.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


exclude file logs where we have otlp logs

the duplicate logs are quite confusing

pls run make generate-examples to render examples.

@JaredTan95 can you have another look?

I have a question about this, I didn't seem to see the configuration about collection logs in otel-demo values. If there is no configuration, why do we need to exclude logs?

I have a question about this, I didn't seem to see the configuration about collection logs in otel-demo values. If there is no configuration, why do we need to exclude logs? Could you remind me if I missed something :-P

I have a question about this, I didn't seem to see the configuration about collection logs in otel-demo values. If there is no configuration, why do we need to exclude logs? Could you remind me if I missed something :-P

I have a question about this, I didn't seem to see the configuration about collection logs in otel-demo values. If there is no configuration, why do we need to exclude logs? Could you remind me if I missed something :-P

I've excluded logs for applications that are double reported - once for otlp logs and once for logs from the filelog receiver in the collector.


Define a NURBS hemisphere and test it

In this MR, the definition of a hemisphere is added to the NURBS geometries.

@eulovi everything looks good to me, you can merge this! (Can you select the option: "squash and merge"?)


Add circuit optimization and docs

Adds a simple circuit optimization and doc showing a benchmark. We should add more to the optimize function, but this is a start.

Seeing some flakes in unit tests for simulating noise - should be independent of this but addressed in a separate issue/PR.

Awesome this is a really nice speedup. Only case we might want to warn against using it is on near-clifford circuits, since merging T gates with Clifford gates would yield weird gates that aren't supported by act_on_near_clifford

Only case we might want to warn against using it is on near-clifford circuits, since merging T gates with Clifford gates would yield weird gates that aren't supported by act_on_near_clifford

Great point! Added a short note about this in the doc.


State ignores sensor‘s device_class

Which version of Room Card?
1.08.04 but has always been like this
Describe the bug
The device_class of a sensor is being ignored  when showing the state of a sensor on the room card. In my example, a binary flood sensor has the state "dry" in the general Home Assistant UI, but on the Room Card it is shown as "off". That's technically correct, but ignored the global settings applied to the entity.
To Reproduce
Take any sensor and modify its device_class in the entity's customize section: https://www.home-assistant.io/integrations/sensor/
Expected behavior
The state shown on the room card should be the same as in the entity's settings.
Screenshots

Desktop (please complete the following information):
Mac, Windows, Web
Smartphone (please complete the following information):
iOS
Additional context
Maybe related to #249? The state on the room card remains "off", even if I change the UI to another language than English.
YAML
type: custom:room-card
title: Waschküche
icon: mdi:washing-machine
show_icon: true
state_color: true
entity: sensor.waschkuche_waschmaschine_power
info_entities:
  - entity: sensor.waschkuche_wassersensor_temperature
    format: precision1
rows:
  - entities:
      - entity: sensor.washing_machine_current_state_translated
        name: Waschmaschine
        show_state: true
      - entity: sensor.dryer_current_state_translated
        name: Trockner
        show_state: true
      - entity: binary_sensor.waschkuche_wassersensor_flood
        name: Wasser
        show_state: true

What is the state in the developer tools of HA?

The state is "off", as displayed on the room card. According to the HA documentation, the Device Class influences how the entity is represented in the dashboard.

Thats excepted behavior. You need to pass which attribute you want to show if you dont want to see the state there
``attribute: ``` in config

Thanks for your help. Btw, great card!! Really the only one that I'm using on my main dashboard and probably the main reason why the whole family startet using HA 👍
So I tried adding:
attribute: device_class
As I'd expect, then the label reads "moisture", and not "dry":

I feel like I'm not getting how to use the attribute here?
In a normal entity card, the state is "dry" and not "off", just as it is configured in the entity's settings:

You need to use the flood entity apparently. State should give the wanted result with that entity

Gave this another try on a fresh dashboard, where I added the same entity on different cards. The stock HA Entity, Entities and Glance cards, as well as custom Room, Bubble and Mushroom cards.
  - title: Test
    path: test
    cards:
      - type: custom:room-card
        title: Room-card
        rows:
          - entities:
              - entity: binary_sensor.waschkuche_wassersensor_flood
                show_state: true
      - type: entity
        entity: binary_sensor.waschkuche_wassersensor_flood
      - type: entities
        entities:
          - entity: binary_sensor.waschkuche_wassersensor_flood
      - type: glance
        show_name: true
        show_icon: true
        show_state: true
        entities:
          - entity: binary_sensor.waschkuche_wassersensor_flood
      - type: custom:mushroom-entity-card
        entity: binary_sensor.waschkuche_wassersensor_flood
      - type: custom:bubble-card
        card_type: button
        button_type: state
        entity: binary_sensor.waschkuche_wassersensor_flood

The room-card is the only one which displays the state as off instead of dry:

Here are the entity's state and attributes in the developer tools:

So yes, technically the state is off and not dry, but the entity is configured as the device_class: moisture / Show as: Moisture.

If I change the device_class to anything else, e.g. Show as: Smoke, all cards on the dashboard above will show the state as Clear, or Show as: Safety, all cards on the dashboard above will show the state as Save ...
... but the Room-card will remain as Off.
I might be wrong but don't think this is an issue with the attribute of the entity, rather how the Room-card handles the device_class.
Thoughts?

I don't know how to explain haha. But you are doing it wrong xD


add support for uploading heic images to scrapbook

Might want to use the heic-convert module

@JosiasAurel could you please assign this to me?

just did @yednapg

ty!
On Fri, Apr 12, 2024 at 10:12 PM Josias Aurel @.***>
wrote:

just did @yednapg https://github.com/yednapg
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/scrappy/issues/574#issuecomment-2052105678,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYYO2ZTEDHIK4W3OEHJHIQTY5AFJDAVCNFSM6AAAAABFH42H7CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANJSGEYDKNRXHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

@yednapg how's this going?

Hey! I am waiting for @JosiasAurel's code walkthrough recording to get started with Scrapy!

Hey! I am waiting for @JosiasAurel's code walkthrough recording to get started with Scrappy


Test coverage improvement: github.com/redhat-openshift-ecosystem/openshift-preflight/certification/internal/client

This has no test files, and contains structs with methods in need of testing.
Related to #573

These have been moved to another package. This package no longer exists.


HTML Special character update

Updated HTML special character >.

In HTML > is not special character although < does.

Hi @GBratsos thank you for your contribution.
You need to submit the contributor license agreement. See http://dev.brackets.io/brackets-contributor-license-agreement.html
Did the > caused you any trouble?
There is a mixed usage of > and > on the samples so if you really think this is worthwhile I'll merge this.

Since we didn't hear back from I close this.


Release v52.5.0

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] Apache v2 license headers are included in each file.

Fixes https://github.com/Azure/sdk-release-request/issues/1360
Fixes https://github.com/Azure/sdk-release-request/issues/1305
Fixes https://github.com/Azure/sdk-release-request/issues/1368
Fixes https://github.com/Azure/sdk-release-request/issues/1356

@jhendrixMSFT could you please review this PR since ArcturusZhang is OOF this week?


Fix the Remove method of SqliteRepository

Description of Change
Fixed the Remove method in SqliteRepository class
Issues Resolved

fixes the Remove method in SqliteRepository class

API Changes
None
Platforms Affected

All

Behavioral Changes
None
Testing Procedure

PR Checklist

[ ] Rebased on top of the target branch at time of PR
[ ] Changes adhere to coding standard

Thanks for the PR


JSONDecodeError During Web Crawling

I am receiving a JSONDecodeError when trying to crawl https://support.apple.com/
from spider import Spider
app = Spider(api_key={API_KEY})
params = {"limit":100_000, "return_format":"empty"}
crawl_result = app.crawl_url('https://support.apple.com/', params=params)

Error trace:
---------------------------------------------------------------------------
JSONDecodeError                           Traceback (most recent call last)
File ~/virtual/agility-V1/lib/python3.13/site-packages/requests/models.py:963, in Response.json(self, **kwargs)
    962 try:
--> 963     return complexjson.loads(self.content.decode(encoding), **kwargs)
    964 except UnicodeDecodeError:
    965     # Wrong UTF codec detected; usually because it's not UTF-8
    966     # but some other 8-bit codec.  This is an RFC violation,
    967     # and the server didn't bother to tell us what codec *was*
    968     # used.

File /opt/homebrew/Cellar/python@3.13/3.13.0_1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/__init__.py:346, in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
    343 if (cls is None and object_hook is None and
    344         parse_int is None and parse_float is None and
    345         parse_constant is None and object_pairs_hook is None and not kw):
--> 346     return _default_decoder.decode(s)
    347 if cls is None:

File /opt/homebrew/Cellar/python@3.13/3.13.0_1/Frameworks/Python.framework/Versions/3.13/lib/python3.13/json/decoder.py:347, in JSONDecoder.decode(self, s, _w)
    346 if end != len(s):
--> 347     raise JSONDecodeError("Extra data", s, end)
    348 return obj

JSONDecodeError: Extra data: line 1 column 4849983 (char 4849982)

During handling of the above exception, another exception occurred:

JSONDecodeError                           Traceback (most recent call last)
Cell In[40], line 4
      2 app = Spider(api_key="sk-7af60ba3-8d41-4d75-8c19-8beb66fea95c")
      3 params = {"limit":100_000, "return_format":"empty"}
----> 4 crawl_result = app.crawl_url('https://support.apple.com/', params=params)

File ~/virtual/agility-V1/lib/python3.13/site-packages/spider/spider.py:140, in Spider.crawl_url(self, url, params, stream, content_type, callback)
    137 if jsonl:
    138     content_type = "application/jsonl"
--> 140 response = self.api_post(
    141     "crawl", {"url": url, **(params or {})}, stream, content_type
    142 )
    144 if jsonl:
    145     return self.stream_reader(response, callback)

File ~/virtual/agility-V1/lib/python3.13/site-packages/spider/spider.py:40, in Spider.api_post(self, endpoint, data, stream, content_type)
     38     return response
     39 elif 200 <= response.status_code < 300:
---> 40     return response.json()
     41 else:
     42     self._handle_error(response, f"post to {endpoint}")

File ~/virtual/agility-V1/lib/python3.13/site-packages/requests/models.py:971, in Response.json(self, **kwargs)
    969             pass
    970         except JSONDecodeError as e:
--> 971             raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
    973 try:
    974     return complexjson.loads(self.text, **kwargs)

JSONDecodeError: Extra data: line 1 column 4849983 (char 4849982)

Try adding error handling, credits are consumed only when the response has valid content. This GitHub is for the OSS engine and not the service btw.


Make monologue length configurable

Configurable Monologue Length
This PR introduces the ability to configure the maximum monologue length for the MonologueAgent. The hard-coded MAX_OUTPUT_LENGTH has been replaced with a configurable option that uses config.agent.max_monologue_length if available, otherwise defaulting to 5000.
Changes Made
Updated agent.py to use the new configuration option for maximum monologue length.
Set local Ollama as the AI agent.
Resolved Docker build and setup issues, including hostname resolution for SSH connection, port conflicts, and Docker socket mounting.
Adjusted Dockerfile paths and environment variables for container startup.
Link to Devin Run
Devin Run
Requested by
User: Serg
Please review the changes and provide feedback.
This Devin run was requested by Serg.

Close it, seems not more feedback.


Missing file

from losses import distance
can't find the distance

Due to my negligence, I did not notice this mistake. I have rechecked and updated it. Please download the latest code. Thank you for your suggestion.


Update LICENSE

Update copyright year

Hi @ItsJulian, can you check this PR, looks like the force-push might have overwritten your changes.

I don't know how this happened, but it should be fixed now @kmova


Auto complete support in SQL editor

Thanks for providing this plugin. I wonder how can I configure it to support duckdb sql syntax auto completion in the editor?

@wj-c we meant to test how well autocomplete works -- did you figure it out?

@wj-c we meant to test how well autocomplete works -- did you figure it out?

What I care more about is autocompletion of table and view name that follow from clause.
I find out that while in memory db does not support it, duckdb from a file actually supports it.
So it's great, problems solved for me :)

Thank you!