dropdown doesn't close when clicking outside of a tab

The multi button dropdown throws an error when clicking outside of a tab and doesn't close itself.

For which milestone is this ticket relevant?

Added the proper one (not relevant for next release).


Running the brackets editor in a terminal fails

Issue description
Launching brackets after installation yields the following error:
→ brackets
/home/nix/.nix-profile/bin/brackets: /nix/store/xrkgb8r0qpm6c5n25ddansxqyv0pw3iw-brackets-1.5/opt/brackets/.brackets-wrapped: /bin/bash: bad interpreter: No such file or directory
/home/nix/.nix-profile/bin/brackets: line 3: /nix/store/xrkgb8r0qpm6c5n25ddansxqyv0pw3iw-brackets-1.5/opt/brackets/.brackets-wrapped: Success

Steps to reproduce
In a terminal:

→ nix-env -iA nixos.brackets
→ brackets

Technical details

System:

→ nixos-version
16.09.773.b8ede35 (Flounder)

Let me take a look. I think brackets is skipping the fixupPhase

I fixed the package and gave you an update while I was at it :) See the linked PR

Thanks, it works like charm.


Modify subscription tests not to rely on "onSuccess"

In our subscription hooks, specifically in the internal hook useSubscription, we use the setQueryCache method to update data.
In our tests we are waiting for onSuccess to be called, which no longer happens.
The suggestion in the tanstack docs is to have a useEffect hook depending on the data. I'm not sure how this will look in tests. Will have to investigate.

So I think the strategy is to waitFor the data to have the shape/properties we expect.


Typo in isEmail

There was a small typo in the isEmail utility function.

How, it looks like I let it go.
Thank you for your contribution @stefandevo !


Redundant small and micro-copy utilities?

We have a a-micro-copy utility (source) and a small text utility (source). Should these be combined?
Microcopy sets the color and font size to 14px (in ems). Small text utility sets the font size only.

this is a design question. each of the use cases seem valid to me but I would confirm with a GD


Replace pydantic with mashumaro

Proposed Changes
SSIA, bye bye pydantic 🎉

Codecov Report

Merging #537 (3702d0e) into main (8c0105f) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #537   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            5         5
  Lines          154       158    +4
  Branches        22        14    -8
=========================================
+ Hits           154       158    +4

Files
Coverage Δ

src/vehicle/models.py
100.00% <100.00%> (ø)

src/vehicle/rdw.py
100.00% <100.00%> (ø)


Breaking changes

LogStatus is now just Status
LoadConfig no longer exist, and I can't find a replacement for it.
StartTest is now CreateTest
EndTest is maybe RemoveTest?

LogStatus is now just Status - Yes
LoadConfig no longer exist, and I can't find a replacement for it - please see here: http://extentreports.com/docs/versions/4/net/html-reporter.html#configuration
StartTest is now CreateTest - Yes
EndTest is maybe RemoveTest? - EndTest is no longer required, RemoveTest will remove the test and prevent it from appearing in the report


fix: reproduction test case for (#2364)

this reproduction is interesting as it only happens when you write a test case that effectively simulates multiple requests. i suspect there could be more undetected issues due to tests not adequate adding this level of variation. we may want to look into a test harness which can run the same test logic in multiple scenarios (transactions, forks, clear vs uncleared, etc)

@B4nan this is a tough one
https://github.com/mikro-orm/mikro-orm/blob/d64d100b0ef6fd3335d234aeac1ffa9b34b8f7ea/packages/core/src/entity/EntityFactory.ts#L36-L51
the issue is that because it is an identity reference, we only have the id of the entity, not the discriminator value. a workaround for now, would be to eagerly join it vs a reference column.
as far as a solution, only thing i can think of is we have to make sure that the references are unmanaged or otherwise not kept in the identity map, so that the next time it is requested, it can be resolved correctly. or perhaps we mark the reference so that when we pull it out the map, we know to re-hydrate it

I see, that is indeed limitation of current implementation, I believe it's even documented in the STI section.
The problem is that to support select-in population we need to have it in the identity map. And once it's there, we can't change the prototype dynamically, so we could only create new instance and replace it. Joining the relation and getting just the discriminator could be viable, we do similar hack with 1:1 inverse side relations, where we automatically join the owner to get its PK.
https://github.com/mikro-orm/mikro-orm/blob/master/packages/knex/src/AbstractSqlDriver.ts#L527
https://github.com/mikro-orm/mikro-orm/blob/master/tests/QueryBuilder.test.ts#L211

Fixed via a0827f53c3


Local development compatibility

Adding support for using local development canisters vs mainnet

Hey @jorgenbuilder
I was just dabbling with making the your extension work with localhost
I figured I would throw this up here to see if you have any interest in adding it, otherwise ill just keep it in my fork

Hey Ethan, this has actually been on my radar for a long time. I'm excited to review and get this merged if it's ready to go.

It works, but im still testing it out for my canister development, so we can hold off from merging
Be curious to your review insights, you know the code base best so not sure if some of my patterns fit what you are looking for

How's this looking on your end? I'll wait until you give your stamp of approval before diving in, but very excited to make this happen :)

Everything is still working on my end, so you can go ahead and take a look

Had a quick look today. Not a fan of the amount of reorganization, makes the diff harder for me to follow 😅. I might attempt to pick out the functional pieces this weekend.

That's fair. Wasn't sure how to tackle it because i had to detect the local vs not by the url (which has its own issues) and the current model initialized everything as globals no matter the context


Snapshot commands, performance powerup

Type of Change

[ ] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
Avoid SMO enum. Seems that to access DatabaseSnapshotBaseName invokes a full enum. And it's recursive so for 10 databases, it's 10 enums for each, leading to hundreds of queries.
Approach
Push SMO down the toilet whenever possible. Sorry, SMO.
Commands to test
If the test suite runs, we're good to go
@potatoqualitee : give the user reporting performance nightmares a ping and let him try this version

Yesssssss! Thank you!!!


DevOps - Add gitpod as development environment

Description
Why was this PR created?
Gitpod is quite useful as a cloud development environment, it also come in handy for PR review where you have a sandbox created automatically.
Development notes
What have you changed, and how has this been tested?

add test_requirements.txt since cookiecutter is missing
Add.gitpod.yml to setup the develop environment.

Checklist

[ ] Read the contributing guidelines
[ ] Open this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Update the documentation to reflect the code changes
[ ] Add a description of this change and add your name to the list of supporting contributions in the CHANGELOG.md file. Please respect Keep a Changelog guidelines.
[ ] Add tests to cover your changes

Notice

[ ] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

2 workflows awaiting approval

Is is possible to auto-approve the CI to run?


ho_st stereo mixdown option behaving (maybe) not as expected

ho_st stereo mixdown should (imo) eliminiate mc-output and ONLY produce stereo output. else people can use other was to produce an extra stereo mix.

what do you think @klausfilip?

hmm yes, its definitely wrong like it is now. the higher channel-amount is sticky..

does not work with mc.gate~, does not work with mc.selector~, needs scripting !

like this ?? @chausch

sorry, forgot to give feedback – working great now!! 😊


DateTime64 Support

Thanks for this great plugin!
DateTime64 is the preferred Clickhouse data type for sub-second precision timestamps:
https://clickhouse.tech/docs/en/sql-reference/data-types/datetime64/
Is DateTime64 support on the horizon for this plugin?
Namely

Time range selection in the query builder (e.g. WHERE Timestamp BETWEEN toDateTime64(1598007073,3) AND toDateTime64(1598028056,3))
Display of sub-second precision return time series (e.g. sensor values logged at 10 Hz)

@chr-istoph
according to https://github.com/grafana/grafana/issues/3035
grafana itself supports only milliseconds resolution right now
so, for quick workaround you can try to use something like that
SELECT intDiv(toUInt64(datetime64_precision_3_field),$__interval_ms) AS t ... and
WHERE t BETWEEN toDateTime64($__from,3) AND toDateTime64($__to,3))
with grafana-clickhouse

@Slach
Thanks for the pointer 👍
This works a treat:

intDiv(toFloat64(datetime64_field)*1000, $__interval_ms) * $__interval_ms) as t

WHERE t BETWEEN toDateTime64($__from,3) AND toDateTime64($__to,3))

Hey, similar ussue.
I have changed timestamp column type to DateTime64 and found out that my dashboard stopped to work.
Is it complex task to add DateTime64 as allowed column type to search?
it should be interpolated in row query into workaround as in upper messages.
Or if it is already done - how can I chose my DateTime64 field as a timestamp column?

+1

@chr-istoph @kakvablyat @mikhno-s could you check latest master version?

@chr-istoph @kakvablyat @mikhno-s
you should change datetime column type to Column:DateTime64 in your queries

Cannot save that parameter. It returns to DateTime.
However, this does not work for me
...
intDiv(toFloat64(datetime64_field)*1000, $__interval_ms) * $__interval_ms) as t
...
WHERE t BETWEEN toDateTime64($__from,3) AND toDateTime64($__to,3))
...

The only way I made it work -
WHERE $dateTimeCol BETWEEN toDateTime64($__from/1000, 3) AND toDateTime64($__to/1000,3)

Also, possible solution for grafana > v7.1.2
WHERE $dateTimeCol BETWEEN toDateTime64(${__from:date:seconds}, 3) AND toDateTime64(${__to:date:seconds},3)

@mikhno-s @chr-istoph @kakvablyat could you check latest master again?
I added support DateTime64 to $timeFilter and $timeSeries
please look to https://github.com/Vertamedia/clickhouse-grafana/blob/master/docker/grafana/dashboards/test_datetime64_support.json for dashboard example

@mikhno-s could please try to use latest master version

and look to https://github.com/ClickHouse/ClickHouse/issues/16655

@Slach  doesn't work:
the generated sql for $timeFilter with min step of 60s is:
(intDiv(toFloat32(timestamp) * 1000, 60) * 60) as t
while it should be:
(intDiv(toFloat32(timestamp) * 1000, 600) * 600) as t

@vbichov which DateTime64 type do you use? DateTime64(3) or DateTime64(6) ?

@Slach DateTime64(3)

@mikhno-s , @vbichov could you try latest master again?

Works for me - thanks.


Filter input fields too long in IE

We're using iron-data-table in our project and want to make it compatible with IE 11.
Unfortunately the input fileds for filtering are too long (depending on the number of columns) which results in the sorting arrows not being seen.
Problem can even be reproduced on the demo page with IE 11.
https://saulis.github.io/iron-data-table/demo/filtering.html
Last table on the page looks like this in IE:

This is how it looks in Chrome and how I would expect it to look:

Any thoughts or comments on that?

Hi!
I recommend defining a custom template for the headers and figuring out styles which work also for IE11.

something like this will fix it:
data-table-column-sort {
margin-left: -20px;
z-index: 10;
}
data-table-column-filter {
width: 95%;
}

Thanks @KnottStudios it worked. Since it is a bit more ugly in terms of spacing than the original in Chrome I put it into a media query for IE like so:
       @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
            data-table-column-sort {
                margin-left: -20px;
                z-index: 10;
            }

            data-table-column-filter {
                width: 95%;
            }
        }


Spline scale

I would like to create a scale which would use the following settings. Would this be possible with any of the d3 scales?

Greetings, you mention "the following settings" but then there are no "settings" that follow. What would be the settings exactly? Does this type of scale exist in any other library?

Sorry about that. After doing some more reading on D3 scales, I guess the setting I'm referring to would be the exponent. My use case is that I have a dataset with a few outliers which are fairly big compared to the other values, and to be able to scale the small values so that they do no disappear visually, I've used a logarithmic spline to try and "blend out" the smallest and largest values.
The screenshot is from a software called Gephi, where you can apply this scale (where both the lower and top values gets a cap), and I'm trying to find the correct representation of the scale in D3.

I'd suggest using a Lamé transformation, which is a generalization of the circle equation x^k + y^k = 1:

y = Math.pow(1 - Math.pow(x, k), 1/k)

See https://observablehq.com/@enjalot/square-a-circle
To do it in D3 you might use an interpolator, see https://observablehq.com/@fil/squircle-interpolator


Key “device” either not found or in unsupported format as found in package.json for the “debug:ios” configuration.

Describe the Bug
I cannot run
detox recorder --configuration debug:ios --outputTestFile "~/Desktop/RecordedTest.js" --testName "My Recorded Test" --record
as it shows error:
Key “device” either not found or in unsupported format as found in package.json for the “debug:ios” configuration.
my .detoxrc.json
{
  "testRunner": "jest",
  "runnerConfig": "e2e/config.json",
  "apps": {
    "debug:ios": {
      "build": "react-native run-ios --simulator='iPhone 8'",
      "type": "ios.app",
      "binaryPath": "path/to/app"
    },
    "android": {
      "type": "android.apk",
      "binaryPath": "SPECIFY_PATH_TO_YOUR_APP_BINARY"
    }
  },
  "devices": {
    "simulator": {
      "type": "ios.simulator",
      "device": {
        "type": "iPhone 8"
      }
    },
    "emulator": {
      "type": "android.emulator",
      "device": {
        "avdName": "Pixel_3a_API_30_x86"
      }
    }
  },
  "configurations": {
    "debug:ios": {
      "device": "simulator",
      "app": "debug:ios"
    },
    "android": {
      "device": "emulator",
      "app": "android"
    }
  }
}

where did i do wrong?
To Reproduce
i run
detox recorder --configuration debug:ios --outputTestFile "~/Desktop/RecordedTest.js" --testName "My Recorded Test" --record
Expected Behavior
it run
Actual Behavior
it shows error

I am facing the same issue. Right now I am using the below way until I get a sample config.
detox recorder --bundleId "com.example.myApp" --simulatorId booted --outputTestFile "~/Desktop/RecordedTest.js" --testName "My Recorded Test" --record

Also have this issue using .detoxrc.json and not package.json
I've also verified the json is valid as mentioned in docs.

facing the same issues, any recommended fixes....?

Same here, cant run the recorder while using detoxrc.json

Same here. I think it a bug for DetoxRecorder. According to the document of Detox, we add the configuration in ".detoxrc.json", Please have a look @LeoNatan

I am no longer involved with this project or Wix. Thanks

is this project no longer maintained/updated?

any update ?

I am also facing the same issue. Any update?

Apparently this repo has been forsaken. last commit by any contributor to master was on 10 Feb 2021.
Maybe we should play with another things?

I managed to make the recorder work on the iOS simulator.
package.json:
"detox": "^19.5.7", "detox-recorder": "^1.0.151",
.detoxrc.json:
{   "testRunner": "jest",   "runnerConfig": "e2e/config.json",   "skipLegacyWorkersInjection": true,   "apps": {     "ios.release": {       "name": "yourproject",       "type": "ios.app",       "binaryPath": "ios/build/Build/Products/Release-iphonesimulator/yourproject.app",       "build": "xcodebuild -workspace ios/yourproject.xcworkspace -scheme yourproject -configuration Release -sdk iphonesimulator -derivedDataPath ios/build"     },     "ios.debug": {       "name": "yourproject",       "type": "ios.app",       "binaryPath": "ios/build/Build/Products/Release-iphonesimulator/yourproject.app",       "build": "xcodebuild -workspace ios/yourproject.xcworkspace -scheme yourproject -sdk iphonesimulator -derivedDataPath ios/build"     },     "android.debug": {       "type": "android.apk",       "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",       "build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd .."     },     "android.release": {       "type": "android.apk",       "binaryPath": "android/app/build/outputs/apk/release/app-release.apk",       "build": "cd android && ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release && cd .."     }   },   "devices": {     "simulator": {       "type": "ios.simulator",       "device": {         "type": "iPhone 11"       }     },     "emulator": {       "type": "android.emulator",       "device": {         "avdName": "Pixel_2_API_30"       }     }   },   "configurations": {     "ios.sim.release": {       "device": "simulator",       "app": "ios.release"     },     "ios.sim.debug": {       "device": "simulator",       "app": "ios.debug"     },     "android.emu.debug": {       "device": "emulator",       "app": "android.debug"     },     "android.emu.release": {       "device": "emulator",       "app": "android.release"     }   } }
Build and run your project in Xcode with simulator iOS 13.7. (I experienced crashes with iOS 15 and 12)
Then type in your React Native project:
detox recorder -b org.reactjs.native.example.yourproject -s booted -o "./yourtestcase.js" --record

Same issue + 1

This does seem to not work, regardless of .detoxrc.json or package.json. Trying to run on an already active simulator does seem to start the app but then immediately crashes. The js file gets created but obviously contains no tests.
Do we have any pointers as to what might be causing this?

I managed to make the recorder work on the iOS simulator.
package.json: "detox": "^19.5.7", "detox-recorder": "^1.0.151",
.detoxrc.json: { "testRunner": "jest", "runnerConfig": "e2e/config.json", "skipLegacyWorkersInjection": true, "apps": { "ios.release": { "name": "yourproject", "type": "ios.app", "binaryPath": "ios/build/Build/Products/Release-iphonesimulator/yourproject.app", "build": "xcodebuild -workspace ios/yourproject.xcworkspace -scheme yourproject -configuration Release -sdk iphonesimulator -derivedDataPath ios/build" }, "ios.debug": { "name": "yourproject", "type": "ios.app", "binaryPath": "ios/build/Build/Products/Release-iphonesimulator/yourproject.app", "build": "xcodebuild -workspace ios/yourproject.xcworkspace -scheme yourproject -sdk iphonesimulator -derivedDataPath ios/build" }, "android.debug": { "type": "android.apk", "binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk", "build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd .." }, "android.release": { "type": "android.apk", "binaryPath": "android/app/build/outputs/apk/release/app-release.apk", "build": "cd android && ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release && cd .." } }, "devices": { "simulator": { "type": "ios.simulator", "device": { "type": "iPhone 11" } }, "emulator": { "type": "android.emulator", "device": { "avdName": "Pixel_2_API_30" } } }, "configurations": { "ios.sim.release": { "device": "simulator", "app": "ios.release" }, "ios.sim.debug": { "device": "simulator", "app": "ios.debug" }, "android.emu.debug": { "device": "emulator", "app": "android.debug" }, "android.emu.release": { "device": "emulator", "app": "android.release" } } }
Build and run your project in Xcode with simulator iOS 13.7. (I experienced crashes with iOS 15 and 12)
Then type in your React Native project: detox recorder -b org.reactjs.native.example.yourproject -s booted -o "./yourtestcase.js" --record

Confirmed that I've used simulator iOS 14.5 (iPhone 12) (I've experienced crashes with iOS 15 and 16)


feat: make documentation directory configurable

Great work, only one least thing I forgot to mention last time: Please execute the self:update so that the config file is updated with the directory.

I thought it would be better to wait for the next release until we update so that the version number is also correct.


feat: add tcsh install support

This addresses https://github.com/prefix-dev/pixi/issues/897
Before
case supported shell: bash
$ echo $SHELL
/bin/bash

$ bash ./install/install.sh
This script will automatically download and install Pixi (latest) for you.
Getting it from this url: https://github.com/prefix-dev/pixi/releases/latest/download/pixi-aarch64-apple-darwin.tar.gz
The binary will be installed into '/Users/romain/.pixi/bin'
######################################################################## 100.0%
Updating '/Users/romain/.bash_profile'
Please restart or source your shell.

case unsupported shell: tcsh
$ echo $SHELL
/bin/tcsh

$ bash ./install/install.sh
This script will automatically download and install Pixi (latest) for you.
Getting it from this url: https://github.com/prefix-dev/pixi/releases/latest/download/pixi-aarch64-apple-darwin.tar.gz
The binary will be installed into '/Users/romain/.pixi/bin'
######################################################################## 100.0%
Unsupported shell: bash
Please restart or source your shell.

Now
case supported shell: tcsh
$ echo $SHELL
/bin/tcsh

$ bash ./install/install.sh
This script will automatically download and install Pixi (latest) for you.
Getting it from this url: https://github.com/prefix-dev/pixi/releases/latest/download/pixi-aarch64-apple-darwin.tar.gz
######################################################################### 100.0%
The 'pixi' binary is installed into '/Users/romain/.pixi/bin'
Updating '/Users/romain/.tcshrc'
Please restart or source your shell.

See references:

append path in .tcshrc: https://www.peachpit.com/articles/article.aspx?p=31442&seqNum=4

case unsupported shell: ksh
$ echo $SHELL
/bin/ksh

$ bash ./install/install.sh
This script will automatically download and install Pixi (latest) for you.
Getting it from this url: https://github.com/prefix-dev/pixi/releases/latest/download/pixi-aarch64-apple-darwin.tar.gz
######################################################################### 100.0%
The 'pixi' binary is installed into '/Users/romain/.pixi/bin'
Could not update shell: ksh
Please permanently add '/Users/romain/.pixi/bin' to your $PATH to enable the 'pixi' command.

I believe the error message is clearer and the user can proceed on their own to enable pixi. See issue https://github.com/prefix-dev/pixi/issues/897 for more explanations own why I find the previous error confusing/misguiding.

Thanks! This looks good to me 👍


Finalize "verification" source-of-truth

i think it is pretty clear that we should have an out-of-band app verification flow, ideally supported by Hubspot. however, we do need to make a decision on how we surface that information into the Dapp store itself—how do we signal our "acceptance" of a particular published release? a few options for your perusal:
Entirely off-chain
have the GraphQL API that powers the Dapp Store join release address against acceptance status in HubSpot
pros

easiest to implement

cons

external consumers rely on the GraphQL API as the source-of-truth

Entirely on-chain
have a designated keypair "sign" the release NFT
pros

easiest for external consumers; all information available on-chain without the use of GraphQL
can add on-chain "notes" as part of the review process

cons

rabbithole of corner-cases related to keypair management and maintenance
limited amount of space on the NFT metadata creators array

Right in the middle
issue a well-formed transaction with a designated keypair
pros

doesn't mess with release NFTs
retains the ability to add "notes" or other metadata to the review process

cons

operationally, slightly difficult to query for specific transactions and map them to releases

Closing as we have adopted the off-chain model.


Sortable

Add @Sortable()
Check paginate and it works
e2e test

Example: https://github.com/dryerjs/dryerjs/pull/132

@vanpho93 Do you want me to do this one?

@bachhm-dev assigned to you. Thanks.

Please be noted that your work will be affected by this refactor.

Good start at here: https://github.com/dryerjs/dryerjs/commit/060abcfcc30603aa4d2daeefc2a91285f49f3712

https://github.com/dryerjs/dryerjs/pull/152


add overlay_rviz_plugins repository to rolling

Adding new repository https://github.com/teamspatzenhirn/overlay_rviz_plugins to rolling as requested in https://github.com/ros2-gbp/ros2-gbp-github-org/issues/112#issuecomment-1242351309,
for the purpose of releasing the packages

overlay_rviz_msgs
overlay_rviz_plugins

Checks

[x] All packages have a declared license in the package.xml
[x] This repository has a LICENSE file
[x] This package is expected to build on the submitted rosdistro

Holding until build farm maintenance is complete.

closing, will open new PR with updated name


[FLINK-6157] [core] Make TypeInformation fully serializable

This PR ensures that all type information in flink-core, flink-java, flink-scala is serializable. It introduces a test base for type information.
@StephanEwen as you suggested, I added a test that scans the class path for type information and checks test coverage, however, I had to modify many Maven pom.xml to achieve this. I don't know if we want that. Type information in other modules such as Gelly or Table API is not checked yet.

Related test failure on travis:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (default-testCompile) on project flink-core: Compilation failure: Compilation failure:
[ERROR] /home/travis/build/apache/flink/flink-core/src/test/java/org/apache/flink/api/java/typeutils/EnumTypeInfoTest.java:[31,41] incompatible types: cannot infer type arguments for org.apache.flink.api.java.typeutils.EnumTypeInfo<>
[ERROR] reason: inference variable T has incompatible bounds
[ERROR] equality constraints: org.apache.flink.api.java.typeutils.EnumTypeInfoTest.TestEnum
[ERROR] upper bounds: java.lang.Enum<capture#1 of ?>,java.lang.Enum<T>
[ERROR] /home/travis/build/apache/flink/flink-core/src/test/java/org/apache/flink/api/java/typeutils/EnumTypeInfoTest.java:[32,41] incompatible types: cannot infer type arguments for org.apache.flink.api.java.typeutils.EnumTypeInfo<>
[ERROR] reason: inference variable T has incompatible bounds
[ERROR] equality constraints: org.apache.flink.api.java.typeutils.EnumTypeInfoTest.AlternativeEnum
[ERROR] upper bounds: java.lang.Enum<capture#1 of ?>,java.lang.Enum<T>
[ERROR] -> [Help 1]

+1 LGTM.
My only thought is if a user passes test data with more than one implementation of TypeInformation (and passing the canEquals test) then the check for hashCode and equals would only run on the first instance.

@greghogan thanks for reviewing. I will add a loop around the test you mentioned such that every test datum is compared with every other test datum.


Vercel preset in @t3-oss/env-nextjs should include NEXT_PUBLIC_VERCEL_* variables

Just updated to the 0.8.0 version and added a vercel preset on my nextjs project. Unfortunately, I found that the preset only includes server-side vercel env variables. Can you also include client-side vercel variables in the nextjs package (https://vercel.com/docs/projects/environment-variables/system-environment-variables#framework-environment-variables)? I want to use NEXT_PUBLIC_VERCEL_ENV and NEXT_PUBLIC_VERCEL_URL, but have to add them separately.
I'd be happy to make a PR!

@ronanru  How did you manage to import presets from '@t3-oss/env-nextjs'.
Trying to import the following way, but it is not resolved.
import { vercel } from "@t3-oss/env-nextjs/presets";
Do I need to install env-core and import preset from there?

You need "moduleResolution": "Bundler", in tsconfig probably @3kumar

actually the NEXT_PUBLIC_* are only avaiable during buildtime so i think it's kind of an antipattern if you use those variables in your app since they'll be undefined for 99% of cases, so I don't want to include them since it would only introduce confusion


feat(bar-race): provide subPixelOptimize option to solve #14679

Brief Information
This pull request is in the type of:

[ ] bug fixing
[x] new feature
[ ] others

What does this PR do?

Apache ECharts uses sub-pixel optimization on horizontal and vertical axes (including splitLines, ticks, and minorTicks) so that these lines should be drawn only at the positions like 10px, 10.5px, 11px for lines whose lineWidth is 1.
But for the case of bar-racing, this may cause the weried moving of split lines as reported in #14679 . So this PR provides a new option axis.subPixelOptimize so that bar-racing charts can set this to be false to disable the optimazation.
Fixed issues
#14679
Details
Before: What was the problem?
https://user-images.githubusercontent.com/779050/180944154-3e2344d5-772a-4533-94b6-cff628052755.mov
Pay attention to the red lines.
After: How does it behave after the fixing?
https://user-images.githubusercontent.com/779050/180944235-d260aefc-8bc5-4b96-83dd-b4d81569af48.mov
Document Info
One of the following should be checked.

[ ] This PR doesn't relate to document changes
[x] The document should be updated later
[ ] The document changes have been made in apache/echarts-doc#xxx

Misc
ZRender Changes

[ ] This PR depends on ZRender changes (ecomfe/zrender#xxx).

Related test cases or examples to use the new APIs
N.A.
Others
Merging options

[ ] Please squash the commits into a single one when merging.

Other information

I think we can turn it off
automatically instead of configure it manually. Users still need a sharp line when the chart is static after animation

@pissang Do you mean to turn it off when series.realtimeSort is true or always turn off? It may not be easy to turn it off when series.realtimeSort is true because the subPixelOptimize is under axis and in the axis it cannot know about which series are using it.

I meant disable it during animation and enable it when animation is done.

@pissang I'm not quite sure about if it's proper to make a done callback for group animations. Please help review again.
Also, current implementation doesn't consider the case when axis doesn't have animation. Should I check axisModel to get if there is animation and call setGroupSubPixelOptimize if not? This feels a little strange to me so I would like to hear about your opinion first and then make a thorough test.

I'm not quite sure about if it's proper to make a done callback for group animations
It looks good to me. This method is used on the axis component only so I think this change has very little chance of breaking other components.

Should I check axisModel to get if there is animation and call setGroupSubPixelOptimize if not
This is not necessary. groupTransition will still call the done callback when animation is set to false.

In general I will give +1 on this PR.

发件人: Wenli Zhang
发送时间: 2022年8月4日 14:37
收件人: apache/echarts
抄送: Zhongxiang Wang; Comment
主题: Re: [apache/echarts] feat(bar-race): provide subPixelOptimize option to solve #14679 (PR #17426)

https://user-images.githubusercontent.com/779050/182793384-f661adad-b42f-442f-9ce2-d3196540aff5.mov
I found a small shaking of the axisLine when legend is toggled. Is this acceptable?

@Ovilia I think it will be better to fix it. Seems it's because the animation will still perform even if the axis lines are exactly the same. We can do a further check if the points of lines are changed and still set subPixelOptimize to true if they are not changed.

@pissang I added the logic so that done callback is called if old or new group doesn't exist in groupTransition. Should I also traverse and check if g1 and g2 are the same? If so, done should be called and return before further logic. One concern is, with zrender animation, if an element is set with the same attribute, the done is still called after the duration, rather than instantly. So I guess it's not a good idea to call done instantly in groupTransition.
Other way to fix this is before calling graphic.groupTransition, I first traverse the group to check if anything changes and call graphic.setGroupSubPixelOptimize(this._axisGroup, true) and skip graphic.groupTransition if the group doesn't change, right?

Sorry for the late reply.

Other way to fix this is before calling graphic.groupTransition, I first traverse the group to check if anything changes and call graphic.setGroupSubPixelOptimize(this._axisGroup, true) and skip graphic.groupTransition if the group doesn't change, right?

What I thought is this way.


[FEATURE] - EfficientQAT?   Supposedly allows for a 123b to be 35% of the size, with 4% accuracy loss.

Apparently it is a new method for doing quantization?  Here is the reddit and Github, so that you can see whether it is worth rolling into AutoGGUF.
Quantize 123b to 35%
EfficientQAT Github
Thank you for AutoGGUF, I am looking forward to handling quantizations without being an acolyte of the command-line.  :)

Thanks for the suggestion! I've been tinkering with it, but it seems like it requires some GPUs (to perform training), which I don't currently have to test quantization.
I can't promise this in the near future, but if GGUF conversion from GPTQ is implemented (AutoGGUF is mostly focused on llama.cpp), I can take a closer look.

I have an RTX 4090.  Would that be able to train a 7b through EQAT, assuming GPTQ->GGUF becomes a thing?

Just an approximation, but the fp16 is ~14GB, and the script loads it into CPU memory first, and then moves the layers over to GPU in 4bit as it trains dynamically. So it would fit on an RTX 4090, or at minimum a GPU with around 12-16GB of VRAM including gradients, activations, optimizer states, and CUDA overhead.


Multiple Rtsp player

Hi good day,
This is a cool application, the only rtsp player that has no delay that i found.
I have a problem though, i am new to C#. I tested the SimpleRtspPlayer for the application that i am developing, I was able to send frames to python script via websocket for object detection and receive result to display an overlay text to the player. But since im new to C# i am having problem creating a multiple player on a single WPF Window, I dont have much background on ffmpeg and MVC on C# so its a bit confusing for me.
Can you please help me out with this? or maybe point me to a right direction on what to do. I am bit of a hurry to study how codecs work and test it.
I am willing to make a donation.
By the way, the project that i am trying to create is a DVR like windows application.
Thank you,
Leonyl

Hello,
Did you resoulve your issue? It seems that you should place several instances of VideoView on your window and create several RealtimeVideoSources and then just assign RealtimeVideoSources to VideoViews. You don't need even MVC to test.

I am actually implementing something similar - I got multiple streams on one view, I was wondering if there is an easy way to make them sync?
I'm thinking that I may need to buffer what frames are going to the main view, so that I can use the timestamp to sync them up, and utilize the buffer to make sure I have enough time to complete the operation.


ElmahAggregateExceptionLogger

I found this extension to ElmahExceptionLogger useful:
public class ElmahAggregateExceptionLogger : Elmah.Contrib.WebApi.ElmahExceptionLogger
{
	public override void Log(ExceptionLoggerContext context)
	{
		var aggregateException = context.Exception as AggregateException;
		if (aggregateException != null)
		{
			context = new ExceptionLoggerContext(new ExceptionContext(aggregateException.GetBaseException(), context.CatchBlock));
		}
		base.Log(context);
	}
}

It decreases exception nesting by one in case of AggregateException has been thrown.
Will you accept a pull request?

My bad. It's related to another WebApi Contrib project, https://github.com/rdingwall/elmah-contrib-webapi. Never mind.


Drug prescriptions

NOTE that this PR requires the prescription_convset_translated_answers-2.zip uploaded in https://trello.com/c/wOLIOFDZ

Coverage decreased (-2.5%) to 23.759% when pulling bd2a8f141c2810dcc1875ccf38fe62c488767a2c on valvijo:drug-prescriptions into 99f9f3f26e3661609932ead4687ceb7d53fbf760 on esaude:master.


Complexity Requirements?

Thought I'd follow up my last question with another question.
I see that in flux, filter's implementation of first just does a find_if: https://github.com/tcbrindle/flux/blob/1c128b50af95fc39b6683d437f9210239e219836/include/flux/op/filter.hpp#L50-L53
So is the intent that there is no complexity requirement on first (and potentially last and is_last)?
My go-to example for the complexity requirements in Ranges is r.drop_last_while(p).stride(2), but in flux actually I think it's enough to ask about r.drop_last_while(p) even by itself (which flux doesn't have yet, but don't treat this as a request to go rush to add it). If the flux::is_last check is going to be implemented as a find_if (or, whatever, find_last_if_not) then iterating over this sequence becomes quadratic time: https://github.com/tcbrindle/flux/blob/1c128b50af95fc39b6683d437f9210239e219836/include/flux/op/for_each_while.hpp#L24-L28

Another good question that I really ought to document somewhere! I actually changed this recently -- previously filter, drop_while etc did the same sort of caching as Ranges.
The new policy is as follows:

is_last() implementations must be O(1)
If an implementation provides last() it should be O(1)
For random-access sequences, first() must be O(1) as well

For sequences weaker than random access, first() may be at worst O(N). (This exception exists pretty much solely to allow filter to be const iterable.)
I believe the constant-time is_last requirement avoids quadratic behaviour in drop_last_while, unless I'm misunderstanding? That was the intention, anyway.
Does that sound reasonable, or are there problematic cases I haven't considered?

is_last() implementations must be O(1)

Which I guess means either flux::drop_last_while must be non-const-iterable (so it can cache the last cursor, and would I guess be the one non-const-iterable sequence in flux? Or maybe you already have generators and I haven't looked?) or there just can't be a flux::drop_last_while? The internal iteration version doesn't have this problem, so maybe it could be only provided in that context? Just throwing out more questions.

To explain the seemingly asymmetric requirement that last() should be O(1), it's because I suspect that people coming from ranges will write things like
while (cur != seq.last()) { ... }
and I don't want that to be needlessly slow.

is_last() implementations must be O(1)

Which I guess means either flux::drop_last_while must be non-const-iterable (so it can cache the last cursor, and would I guess be the one non-const-iterable sequence in flux? Or maybe you already have generators and I haven't looked?) or there just can't be a flux::drop_last_while? The internal iteration version doesn't have this problem, so maybe it could be only provided in that context? Just throwing out more questions.

Yeah, drop_last_while, when I come to write it, will probably need to do internal caching and therefore not be const iterable -- but since it's likely to be much less commonly used than filter or (front) drop_while, I'm less worried about it.
We already have a cache_last() adaptor that is non-const iterable (and does exactly what the name suggests) as well as several single-pass-only sequences, so it wouldn't be the only one.

So the theory that is_last() must be O(1) but first() can be linear is all very well, but not when I do things like this:
https://github.com/tcbrindle/flux/blob/1c128b50af95fc39b6683d437f9210239e219836/include/flux/op/reverse.hpp#L61-L64
This is... really not great :(

Thanks Barry for asking tricky questions and making me think deeply about this!
I think that silent, unexpected quadratic behaviour is absolutely unacceptable. That means that is_last(seq, cur) must be constant time (since we call it for every element when iterating), and so we need to think carefully about what happens with things like reverse_adaptor::is_last above.
There are a few different options:

We could go back to requiring that first() is O(1) for all sequences. This would mean re-adding caching to filter, drop_while and various others, in turn making them not const-iterable. My main objections to this are:

It means we need to use flux::mut_ref rather than flux::ref to pass them to e.g. a zip adaptor, and as a general rule we try to discourage using mut_ref. It's pretty unfortunate if one of the two most common adaptors requires it.
The fact that it's not const iterable, and/or you need to use mut_ref is not very discoverable unless you already know that it does internal caching

This basically just applies to filter because it's so commonly used: unlike certain other people, I'm not opposed to non-const iterable sequences in principle. We already have several of them in Flux.

We could add caching to reverse_adaptor instead. But this is actually worse, because in most cases the underlying sequence does have a cheap O(1) first() operation (e.g. vector), and so caching is going to add overhead and probably worse codegen (although that's already pretty terrible for reverse_adaptor outside of the internal iteration fast path).

We could have a concept that says "I have constant-time first()", and make reverse_adaptor require it. So then vector would model the concept but filter_adaptor would not, and the user would need to manually add some sort of caching adaptor if they wanted to reverse a filtered sequence.

It turns out that for option 3, we don't actually need a new concept at all: instead, we can add a semantic requirement to the bounded_sequence concept that both first() and last() are O(1). This makes the bounded sequence concept pretty easy to explain ("the sequence can produce cursors to the beginning and end in constant time") and is actually a lot nicer than having uneven requirements on first and last as mentioned above.
So the trade off is that in order to have a const-iterable filter, it isn't reversible without adding a caching adaptor. That actually seems pretty reasonable to me.
Any thoughts @brevzin?

Returning to this after a while... my latest thinking is as follows:

The last() function, if provided, must be O(1) (otherwise there's no point to it, as for any finite multipass sequence we can always find the end in O(N) simply by iterating over it)
For random-access sequences, first() must be O(1) as well
For weaker sequences, first() may be O(N), but in this case they must also provide a marker, something like disable_bounded_sequence = true
The bounded_sequence concept requires both that a last() function exists, and !disable_bounded_sequence

I think this would cover everything.... the only downside is that just about every adaptor would need to do something like disable_bounded_sequence = !bounded_sequence<Base> which is the sort of tedious, easy-to-forget boilerplate that I really wanted to avoid in Flux :(


Cannot find the H-MOG dataset

I am not able to access the H-MOG dataset from the link as well as in the folder named 'data'.
Please help !!!

Thanks for the hint! Indeed, the original link seems to be down. Unfortunately the datset's
licence doesn't allow to share or mirror it.
The information page (without the dataset itself!) can still be viewed on the Internet Archive. Maybe you could try to contact the authors?
I'll keep this ticket open for some time, maybe the dataset get's republished or someone finds a mirror.

@nisheshawale you can download the dataset on this link: http://www.cs.wm.edu/~qyang/hmog.html after accepting the author license.

@nisheshawale you can download the dataset on this link: http://www.cs.wm.edu/~qyang/hmog.html after accepting the author license.

Thanks a lot, @engividal, for your comment! Good to know, that the dataset is available again! :-)

Thanks a lot, @engividal, for your comment! Good to know, that the dataset is available again! :-)


Add Local and GitHub implementation of ChangeRequest interface

This change defines a new ChangeRequest interface, which must implement an AssignReviewers() function to call a platform's (e.g. GitHub, GitLab, etc.) API.

Synced offline with Mike, have new ideas - need to refactor


fix: exclude items with no url

Some data items in Eleventy collections can be without url, for example, "Now" column on my website has .md file-based entries which are listed chronologically to the homepage and those entries have no pages ("permalink": false via a JSON file in the root). For posterity, that's folder contents: https://gitlab.com/codsen/codsen.com/-/tree/master/src/now
Currently, eleventy-plugin-sitemap does not account for items without permalinks and generates false instead of URL in those cases:
<url>
  <loc>https://codsen.com/false</loc>
  <lastmod>2020-05-05T23:00:00.000Z</lastmod>
</url>

To fix that, let's add additional check when filtering. I tested it on my website and it fixes the issue. It's just item.url check! I didn't write unit test for it but it's trivial isn't it?
Please review. Thank you.

@revelt Everything that you said makes sense to me :). Thanks a lot for the PR. Appreciate it.


Improve the interpreter tesing using fuzzing and cross-validation.

Request description
The idea here is to  use a fuzzer to generate StableHLO programs, run them and validate the results against another implementation (e.g. a compiler maybe).
Additional context
No response

Should ping shabalin@ internally to open-source their tool that can do all this...

Started the conversation. This will be updated in few days.


Polish the homepage

Homepage is a landing page where you introduce your site so user doesn't need to go deeper into another page just to know what's the purpose of your site.
Here is some common info that we can place on the page:

[ ] Hero section: contains the site brand name, the main tagline, very short description
[ ] The USP (unique selling point), in our case we can add it as "How it works" section: basically let the user know how this site works
[x] Show small subset data (this is already done)
[ ] Additional info for increasing the trust level: maybe adding the Founders info

I think Mas @ainunnajib would be the best person to define all the remaining items above. 😁
Mas @ainunnajib can define them in the README file first, then the other developers can implement the changes to the home page accordingly.


Make release guide for fibsem project

The matplotlib release guide is a good step by step process (we should make our own doc like this): https://matplotlib.org/2.0.0/devel/release_guide.html

The release procedure should include manually updating Sergey's local user input file if necessary.

pytest locally
Push to remote and check successful Travis and Appveyor builds
Increment version number
Build the docs again with sphinx
Build the wheel files
Merge to master
Create release & tag

And then set yourself up for success for the next one...

Pull tags from master
Make sure develop is up to date & branching off in the right spot
Increment develop version number (typically, if you have just released version 0.5.0 then you will set the develop branch version number to 0.6.0-dev. If you need to make smaller patches to the release (eg: 0.5.1) then you can add/change it to that when you need to.


Optimize unsigned integer sqrt

Try to optimize unsigned integer square root, for instance, with the algorithm SqrtRem known from the MPFR author's literature.

New insight has been gained in the area of Karatsuba square root. This is currently under investigation in another project and should be applicable to this issue eventually.

Assuming that it is a bug to pass a negative value to a sqrt function, might it be best to assert this as a precondition and proceed on the assumption that the value is indeed non-negative? (example)

Assuming that it is a bug to pass a negative value to a sqrt function, might it be best to assert this as a precondition

In wide_integer, this has, indeed, become an open issue with recent supportof signed wide integers. At the moment, I decised to simply return 0 for square roots having argument  of 0 or less than 0. This line is shown here.

I would think twice about using this function because of that part of the contract. This raises three problems:

Correctness: I don't want the wrong value to be returned. sqrt(-1) isn't zero!
Trust: I want to be given help catching the bug when I run the code in tests or debug builds. If I have spinach in my teeth, I trust a friend to stop and tell me if they notice.
Choice: Assuming my code is correct and bug-free, I don't want to be paying the cost of an unnecessary branch. The user can actually help the optimiser produce better code if they allow it to assume that no contracts are broken, i.e. that no assert conditions are false.

It's a design philosophy choice and not universally accepted -- or even consistently the right choice! But CNL identifies this kind of condition as a bug -- just like divide-by-zero. And bugs are treated with zero tolerance in CNL.

bugs are treated with zero tolerance

Fair enough. It's always a toss-up, provide the wrong answer or throw.  I wonder if there is a nice way to handle with these constraints. I do not have the generalized concept of exception, but that would be one option, with special cases for rtti/noexcept.
Ideas?

Firstly, it's important distinguish between errors and bugs.

An error is something that could occur in a bug-free program (e.g. missing file, dropped connection, bad command-line parameter or when somebody yanks a cable out of a socket somewhere). Exceptions may sometimes be a good way to handle errors. Regardless, a thoroughly-written program will provide for such occurrences so that no bug or other catastrophe occurs as a result.
A bug is something that can -- and must -- be fixed by the software engineer by changing the source code so that it won't occur again. Throwing an exception in a C++ program is unlikely to ever be a good strategy for handling bugs.

Both of these are types of contract violation. The former is of the contract between the program user and the program author. The latter is of the contract between an API implementer and an API user and it is that contract which concerns us here.
There is no single strategy for dealing with the discovery of a bug in a running program. In C++, the basic choices are:

Trap the error so the user (who might also happen to be a developer) knows there's a problem.
Assume that there are no bugs in the code -- maybe even optimising around that assumption.
Try and continue, possibly logging an error.

These choices are mutually exclusive. You might want to pick-and-mix for different types of errors within different areas of the program... but you probably don't. And you cannot easily let the user make the choice at run-time without violating 2) for some users. The choice must be made at build time. The right choice depends on who is using the program and for what purpose:

Somebody who is testing the program, e.g.:

a developer investigating a bug,
a QA/test engineer, or
a CI machine performing automated tests

will all prefer 1) because bugs are a likelihood and performance and stability are secondary concerns.

A safety-critical system with backup/redundancy will also prefer 1) because knowingly allowing the program to continue in an incorrect state is an unacceptable risk. A life-support system or the autopilot in an autonomous vehicle provide good examples.

A safety-critical system without backup/redundancy may prefer 3)

A performance-critical application may favour 2). Note that this might also be someone who previously tested the program as described above. Regardless, they must have a high degree of confidence in the correctness of their program.

A business-critical system - where money is at stake but lives are not - may prefer either 1) or 3) depending on various factors. A RESTful server with persistent state may eventually identify bad state that has lain unnoticed for a while. On discovery, the developer should choose: do we kill the process and restart it in the hope that the problem goes away for a while, or do we 'soldier on' and hope the problem doesn't cause some catastrophe or other? (The choice will likely be affected by the scale of the fleet.)

Because of the plethora of scenarios and choices, I don't think it is wise to impose a single choice on the user. But in CNL I do provide the following:

a means of expressing the statement: "THIS IS A BUG",
a set of defaults which roughly equate to 1),
a number of preprocessor-based switches and levers that allow the user to opt for 2),
support for sanitizers so that the code can trap bugs in CNL usage in the same way that they can trap overflow and divide-by-zero errors,
use of sanitizers in unit tests,
a few carefully selected, opt-in-only run-time behaviours (e.g. saturation) to satisfy 3).

My goodness, all of this makes me wonder if I shouldn't write a library just for contract checking! I'm currently involved in trying to standardise some of this so that it will be much easier to enact in other libraries. But the most important first step is to provide some kind of assert mechanism to express "THIS IS A BUG!". You might even want to use the assert macro from <cassert>.
HTH and thanks for asking the question. I have been planning to write an article and maybe even present a talk on this subject and this has really helped gather my thoughts.

HTH and thanks for asking the question.

It really did. Thank you @johnmcfarlane

I have been planning to write an article and maybe even present a talk on this subject and this has really helped gather my thoughts.

That would be terrific in my opinion. I'm pretty honed into the areas of error-intolerant, performance-critical, no backup if you'd ever like to exchange ideas on those top-level requirements.

Ah, that gets me thinking of numerical errors which are a special case of errors because they are incorrect by degree. I shall make sure to call those out and invite you to review!

call those out and invite you to review

I'd like that. Thx.


Ensure binary data is a DataView

Partially addresses #151.
Widgets using the model.on API expect the second argument for the msg:custom callback to be an an array of DataView not Array<ArrayBuffer>. This data comes from the unpacking of the comm message data in jsonParse.
https://github.com/jupyter-widgets/ipywidgets/blob/c579fcd1265af77a0d793aa47a7b9a401d952550/packages/base/src/widget.ts#L318-L321
This PR should address sending binary to the front end, but not the reverse. Also it would be awesome if there was a way to avoid base64 encoding the binary data... but I assume that requires many more changes at a deeper, Shiny level.  This is a starting point.
That said... quak doesn't transfer very much data and it seems to work reasonably well (locally).
https://github.com/user-attachments/assets/1173cc1a-9b2a-4757-a013-064338af6fe5

Aha, thanks so much for this!
I added some logic to do that base64 encoding before sending client -> server. Although now I'm realizing that shinywidgets' backend, should probably also be going base64 string -> bytes when it handles messages.
Any chance you know off hand of an example that would need to send buffers client -> server? The one I've been using doesn't seem to need that.
import polars as pl
import quak
import shiny.express

from shinywidgets import render_widget

df = pl.read_parquet("https://github.com/uwdata/mosaic/raw/main/data/athletes.parquet")

@render_widget
def df_widget():
    return quak.Widget(df)

Any chance you know off hand of an example that would need to send buffers client -> server? The one I've been using doesn't seem to need that.

Off the top of my head, not that I can think of. Could probably put together an example of exporting canvas data to binary blob.

Ok thanks, I'll revert 30aedcf for now, then start another PR with a reminder to look more into this


Enforce consistent execution order

Now, the execution order of the callback depends on image cache. If all the images are already cached, the callback is executed immediately when loadimages is called. The code after the call is executed after it. If at least one of the images is not found in browser's cache, the callback is delayed and the code after the call executed before it.
For user's sanity, the execution order should be consistent. Thus, we need to detect if all the images are cached and push the execution of the callback at end of the js event loop with setTimeout(fn, 0).

Tested correct behaviour in v1.0.0


Unique user_data per instance

Is there any way to put user_data unique per instance ?
I would like to push cloud_init with hostnames set according to names registered in R53.
So for example node-1.test.com I would have hostname set accordingly.
EC2
module "ec2_instances" {
associate_public_ip_address = "false"
source                  = "terraform-aws-modules/ec2-instance/aws"
version                 = "~> 2.0"
name                    = "${var.name}"
instance_count          = "${var.instance_count}"
ami                     = "${data.aws_ami.ami.id}"
instance_type           = "${var.instance_type}"
key_name                = "${var.ec2_key_name}"
monitoring              = "false"
private_ips             = tolist(var.static_ip_list)
vpc_security_group_ids  = ["${module.security_group.security_group_id}"]
subnet_ids              = tolist(data.aws_subnet_ids.subnets_tag.ids)
user_data               = "$data.template_file.cloud_init_template_file.rendered"
Terraform 0.12.3

@iAdmin-PL No, this is not supported and won't be supported in the nearest future. You need to call this module with the different user_data every time you need to have a difference.


Electrolama zig-a-zig-ah on HASS.IO Bad Gateway

zigbee2mqtt add-on version (if edge, please report commit hash):
1.16.0
Operating environment (HassOS, Virtual Machine, Device/platform running Home Assistant):

Description of problem:
When i try to go to the zigbee2mqtt web page i get 502 bad gateway error.
I can add the zig-a-zig-ah as a Zigbee Home Automation and get the following path:
/dev/ttyUSB0 - USB Serial, s/n: n/a
I've tried to follow the guide on the website, but am stuck on the config side. What core information do I need to add into configuration.yaml to enable the broker to work?
Your entire configuration from the frontend (with sensitive fields redacted):
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
binary_sensor: !include SelfMon.yaml

# SelfMon
sensor:
- platform: template
  sensors:
    alarm_status:
      value_template: >
        {%- if is_state("binary_sensor.a_alarm_downstairs_contacts", "off") and is_state("binary_sensor.a_alarm_downstairs_pir_s", "off") and is_state("binary_sensor.a_alarm_upstairs_pir_s", "off")  %}
          Disarmed
        {%- elif is_state("binary_sensor.a_alarm_downstairs_contacts", "on") %}
          Part Set
        {%- elif is_state("binary_sensor.a_alarm_downstairs_pir_s", "on") %}
          Part Set
        {%- elif is_state("binary_sensor.a_alarm_upstairs_pir_s", "on") %}
          Part Set
        {%- elif is_state("binary_sensor.a_alarm_downstairs_contacts", "on") and is_state("binary_sensor.a_alarm_downstairs_pir_s", "on") and is_state("binary_sensor.a_alarm_upstairs_pir_s", "off")  %}
          Armed Away
        {%- else -%}
          Unknown Status
        {%- endif %}
      icon_template: >
        {%- if is_state("binary_sensor.a_alarm_downstairs_contacts", "off") and is_state("binary_sensor.a_alarm_downstairs_pir_s", "off") and is_state("binary_sensor.a_alarm_upstairs_pir_s", "off")  %}
          mdi:home-lock-open
        {%- elif is_state("binary_sensor.a_alarm_downstairs_contacts", "on") %}
          mdi:home-lock
        {%- elif is_state("binary_sensor.a_alarm_downstairs_pir_s", "on") %}
          mdi:home-lock
        {%- elif is_state("binary_sensor.a_alarm_upstairs_pir_s", "on") %}
          mdi:home-lock
        {%- else -%}
          mdi:lock-question
        {%- endif %}

Your logs from Home Assistant
log file is blank! (not sure why - another issue i am trying to resolve!)

You need to use the configuration in your add-on (Supervisor > Dashboard > Zigbee2mqtt > Configuration)

Ok - so in my configuration.yaml i put in this:
homeassistant: false

# Required: allow new devices to join.
# WARNING: Disable this after all devices have been paired! (default: false)
permit_join: true

# Required: MQTT settings
mqtt:
  # Required: MQTT base topic for Zigbee2MQTT MQTT messages
  base_topic: zigbee2mqtt
  # Required: MQTT server URL (use mqtts:// for SSL/TLS connection)
  server: 'mqtt://<IP_ADDRESS>:1883'
  user: user
  # Optional: MQTT server authentication password (default: nothing)
  password: pass
  keepalive: 60

serial:
  # Required: location of the adapter (e.g. CC2531).
  # To autodetect the port, set 'port: null'.
  port: /dev/ttyUSB0
  # Optional: disable LED of the adapter if supported (default: false)
  disable_led: false
  # Optional: adapter type, not needed unless you are experiencing problems (default: shown below, options: zstack, deconz)
  adapter: null

advanced:
    # Optional: Logging level, options: debug, info, warn, error (default: info)
  log_level: info
  # Optional: Location of log directory (default: shown below)
  log_directory: data/log/%TIMESTAMP%
  # Optional: Log file name, can also contain timestamp, e.g.: zigbee2mqtt_%TIMESTAMP%.log (default: shown below)
  log_file: zigbee2mqtt_log.txt
  # Optional: Log rotation (default: shown below)
  log_rotation: true
  # Optional: Output location of the log (default: shown below), leave empty to supress logging (log_output: [])
  # possible options: 'console', 'file', 'syslog'
  log_output:
    - file
  baudrate: 115200
  network_key: [1, 3, 5, 7, 9, 11, 13, 15, 0, 2, 4, 6, 8, 10, 12, 13]
  # Optional: Enables report feature (see information -> report for more details) (default: false)
  report: true
  # Optional: Home Assistant discovery topic (default: shown below)
  homeassistant_discovery_topic: 'homeassistant'
  # Optional: Home Assistant status topic (default: shown below)
  homeassistant_status_topic: 'homeassistant/status'
  # Optional: Home Assistant legacy triggers (default: shown below), when enabled:
  # - Zigbee2mqt will send an empty 'action' or 'click' after one has been send
  # - A 'sensor_action' and 'sensor_click' will be discoverd
  homeassistant_legacy_triggers: true
  # Optional: log timestamp format (default: shown below)
  timestamp_format: 'YYYY-MM-DD HH:mm:ss'

and tried to restart and got this:
Log Details (ERROR)
Logger: homeassistant.components.hassio
Source: components/hassio/__init__.py:383
Integration: Hass.io (documentation, issues)
First occurred: 10:06:43 (1 occurrences)
Last logged: 10:06:43

Component error: permit_join - Integration 'permit_join' not found. Component error: advanced - Integration 'advanced' not found. Invalid config for [mqtt]: [base_topic] is an invalid option for [mqtt]. Check: mqtt->mqtt->base_topic. (See /config/configuration.yaml, line 57).

Does all of that need to be in its own .yaml file and then imported in?

Configuration

I have no option to configure. If i click on the webui i get a 502 error.

You should not use configuration.yaml at all. In your screenshot you should look higher up in the tabs, where you have Documentation & Configuration.

Great that fixed things! - missed the obvious!
I can see it in my Mosquito!
Now i just need to wait for my first Zigbee device to arrive!

Getting this error in the log:
ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-11-03T11_14_46_558Z-debug.log
2020-11-03T11:14:46: PM2 log: App [npm:0] exited with code [1] via signal [SIGINT]
2020-11-03T11:14:46: PM2 log: App [npm:0] starting in -fork mode-
2020-11-03T11:14:46: PM2 log: App [npm:0] online
><EMAIL_ADDRESS>start /zigbee2mqtt-1.16.0
> node index.js
Zigbee2MQTT:info  2020-11-03 11:14:48: Logging to console and directory: '/share/zigbee2mqtt/log/2020-11-03.11-14-47' filename: log.txt
Zigbee2MQTT:info  2020-11-03 11:14:48: Starting Zigbee2MQTT version 1.16.0 (commit #1.16.0)
Zigbee2MQTT:info  2020-11-03 11:14:48: Starting zigbee-herdsman...
Zigbee2MQTT:error 2020-11-03 11:14:54: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2020-11-03 11:14:54: Failed to start zigbee
Zigbee2MQTT:error 2020-11-03 11:14:54: Exiting...
Zigbee2MQTT:error 2020-11-03 11:14:54: Error: Error while opening serialport 'Error: Error: I/O error, cannot open /dev/ttyUSB0'
    at Znp.<anonymous> (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:136:32)
    at Generator.next (<anonymous>)
    at /zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:27:71
    at new Promise (<anonymous>)
    at __awaiter (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:23:12)
    at SerialPort.<anonymous> (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:134:49)
    at SerialPort._error (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14)
    at /zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12
npm

ERR!

code ELIFECYCLE
npm ERR! errno 1
npm

ERR<EMAIL_ADDRESS>start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm
ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Config file is set with:
data_path: /share/zigbee2mqtt
external_converters: []
devices: devices.yaml
groups: groups.yaml
homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
  server: 'mqtt://<IP_ADDRESS>'
  user: <user>
  password: <pass>
serial:
  port: /dev/ttyUSB0
advanced:
  log_level: info
  pan_id: 6754
  channel: 11
  network_key:
    - 1
    - 3
    - 5
    - 7
    - 9
    - 11
    - 13
    - 15
    - 0
    - 2
    - 4
    - 6
    - 8
    - 10
    - 12
    - 13
  availability_blocklist: []
  availability_passlist: []
device_options: {}
blocklist: []
passlist: []
queue: {}
frontend:
  port: 8099
experimental:
  new_api: true
socat:
  enabled: false
  master: 'pty,raw,echo=0,link=/dev/ttyZ2M,mode=777'
  slave: 'tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5'
  restartdelay: 1
  initialdelay: 1
  options: '-d -d'
  log: false

Your device is wrong /dev/ttyUSB0. Please use docs to identify your correct device (maybe used the named serial device).
From docs:
To find out which serial ports you have exposed go to Supervisor → System → Host system → ⋮ → Hardware

Even if i go to add via - configuration -> integration -> + -> Zigbee Home Assistant it finds ttyUSB0.
After a couple of restarts, log is showing this:

npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm

ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-11-03T11_49_00_442Z-debug.log
2020-11-03T11:49:01: PM2 log: App [npm:0] exited with code [1] via signal [SIGINT]
2020-11-03T11:49:01: PM2 log: App [npm:0] starting in -fork mode-
2020-11-03T11:49:01: PM2 log: App [npm:0] online
><EMAIL_ADDRESS>start /zigbee2mqtt-1.16.0
> node index.js
Zigbee2MQTT:info  2020-11-03 11:49:02: Logging to console and directory: '/config/log' filename: log.txt
Zigbee2MQTT:info  2020-11-03 11:49:02: Starting Zigbee2MQTT version 1.16.0 (commit #1.16.0)
Zigbee2MQTT:info  2020-11-03 11:49:02: Starting zigbee-herdsman...
Zigbee2MQTT:error 2020-11-03 11:49:09: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2020-11-03 11:49:09: Failed to start zigbee
Zigbee2MQTT:error 2020-11-03 11:49:09: Exiting...
Zigbee2MQTT:error 2020-11-03 11:49:09: Error: Error while opening serialport 'Error: Error: I/O error, cannot open /dev/ttyUSB0'
    at Znp.<anonymous> (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:136:32)
    at Generator.next (<anonymous>)
    at /zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:27:71
    at new Promise (<anonymous>)
    at __awaiter (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:23:12)
    at SerialPort.<anonymous> (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:134:49)
    at SerialPort._error (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14)
    at /zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12
npm

ERR!

code ELIFECYCLE
npm
 ERR! errno 1
npm

ERR<EMAIL_ADDRESS>start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm
 ERR! A complete log of this run can be found in:
npm ERR!
     /root/.npm/_logs/2020-11-03T11_49_09_463Z-debug.log
2020-11-03T11:49:10: PM2 log: App [npm:0] exited with code [1] via signal [SIGINT]
2020-11-03T11:49:10: PM2 log: App [npm:0] starting in -fork mode-
2020-11-03T11:49:10: PM2 log: App [npm:0] online
><EMAIL_ADDRESS>start /zigbee2mqtt-1.16.0
> node index.js
Zigbee2MQTT:info  2020-11-03 11:49:11: Logging to console and directory: '/config/log' filename: log.txt
Zigbee2MQTT:info  2020-11-03 11:49:11: Starting Zigbee2MQTT version 1.16.0 (commit #1.16.0)
Zigbee2MQTT:info  2020-11-03 11:49:11: Starting zigbee-herdsman...
Zigbee2MQTT:error 2020-11-03 11:49:18: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2020-11-03 11:49:18: Failed to start zigbee
Zigbee2MQTT:error 2020-11-03 11:49:18: Exiting...
Zigbee2MQTT:error 2020-11-03 11:49:18: Error: Error while opening serialport 'Error: Error: I/O error, cannot open /dev/ttyUSB0'
    at Znp.<anonymous> (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:136:32)
    at Generator.next (<anonymous>)
    at /zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:27:71
    at new Promise (<anonymous>)
    at __awaiter (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:23:12)
    at SerialPort.<anonymous> (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:134:49)
    at SerialPort._error (/zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14)
    at /zigbee2mqtt-1.16.0/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12
npm

ERR! code ELIFECYCLE
npm ERR! errno 1
npm

ERR!
<EMAIL_ADDRESS>start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-11-03T11_49_18_481Z-debug.log
2020-11-03T11:49:19: PM2 log: App [npm:0] exited with code [1] via signal [SIGINT]
2020-11-03T11:49:19: PM2 log: App [npm:0] starting in -fork mode-
2020-11-03T11:49:19: PM2 log: App [npm:0] online
><EMAIL_ADDRESS>start /zigbee2mqtt-1.16.0
> node index.js
Zigbee2MQTT:info  2020-11-03 11:49:21: Logging to console and directory: '/config/log' filename: log.txt
Zigbee2MQTT:info  2020-11-03 11:49:21: Starting Zigbee2MQTT version 1.16.0 (commit #1.16.0)
Zigbee2MQTT:info  2020-11-03 11:49:21: Starting zigbee-herdsman...
Zigbee2MQTT:info  2020-11-03 11:49:23: zigbee-herdsman started
Zigbee2MQTT:info  2020-11-03 11:49:23: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20201026,"transportrev":2},"type":"zStack3x0"}'
Zigbee2MQTT:info  2020-11-03 11:49:23: Currently 0 devices are joined:
Zigbee2MQTT:info  2020-11-03 11:49:23: Zigbee: disabling joining new devices.
Zigbee2MQTT:info  2020-11-03 11:49:23: Started frontend on port 8099
Zigbee2MQTT:info  2020-11-03 11:49:23: Connecting to MQTT server at mqtt://<IP_ADDRESS>
Zigbee2MQTT:info  2020-11-03 11:49:23: Connected to MQTT server
Zigbee2MQTT:info  2020-11-03 11:49:23: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
Zigbee2MQTT:info  2020-11-03 11:49:23: MQTT publish: topic 'zigbee2mqtt/bridge/info', payload '{"commit":"1.16.0","config":{"advanced":{"adapter_concurrent":null,"availability_blacklist":[],"availability_blocklist":[],"availability_passlist":[],"availability_timeout":0,"availability_whitelist":[],"cache_state":true,"cache_state_persistent":true,"cache_state_send_on_startup":true,"channel":11,"elapsed":false,"ext_pan_id":[221,221,221,221,221,221,221,221],"homeassistant_discovery_topic":"homeassistant","homeassistant_legacy_triggers":true,"homeassistant_status_topic":"hass/status","last_seen":"disable","legacy_api":true,"log_directory":"/config/log","log_file":"log.txt","log_level":"info","log_output":["console","file"],"log_rotation":true,"log_syslog":{},"pan_id":6754,"report":false,"soft_reset_timeout":0,"timestamp_format":"YYYY-MM-DD HH:mm:ss"},"ban":[],"blocklist":[],"device_options":{},"devices":{},"experimental":{"new_api":true,"output":"json"},"external_converters":[],"frontend":{"port":8099},"groups":{},"homeassistant":true,"map_options":{"graphviz":{"colors":{"fill":{"coordinator":"#e04e5d","enddevice":"#fff8ce","router":"#4ea3e0"},"font":{"coordinator":"#ffffff","enddevice":"#000000","router":"#ffffff"},"line":{"active":"#009900","inactive":"#994444"}}}},"mqtt":{"base_topic":"zigbee2mqtt","include_device_information":false,"server":"mqtt://<IP_ADDRESS>","user":"<user>"},"passlist":[],"permit_join":false,"queue":{},"serial":{"disable_led":false,"port":"/dev/ttyUSB0"},"whitelist":[]},"coordinator":{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20201026,"transportrev":2},"type":"zStack3x0"},"log_level":"info","network":{"channel":11,"extended_pan_id":"0x32229297fc3ded6d","pan_id":6754},"permit_join":false,"version":"1.16.0"}'
Zigbee2MQTT:info  2020-11-03 11:49:23: MQTT publish: topic 'zigbee2mqtt/bridge/devices', payload '[{"definition":null,"endpoints":{"1":{"bindings":[],"clusters":{"input":[],"output":[]}},"11":{"bindings":[],"clusters":{"input":["ssIasAce"],"output":["ssIasZone","ssIasWd"]}},"110":{"bindings":[],"clusters":{"input":[],"output":[]}},"12":{"bindings":[],"clusters":{"input":[],"output":[]}},"13":{"bindings":[],"clusters":{"input":["genOta"],"output":[]}},"2":{"bindings":[],"clusters":{"input":[],"output":[]}},"242":{"bindings":[],"clusters":{"input":[],"output":[]}},"3":{"bindings":[],"clusters":{"input":[],"output":[]}},"4":{"bindings":[],"clusters":{"input":[],"output":[]}},"47":{"bindings":[],"clusters":{"input":[],"output":[]}},"5":{"bindings":[],"clusters":{"input":[],"output":[]}},"6":{"bindings":[],"clusters":{"input":[],"output":[]}},"8":{"bindings":[],"clusters":{"input":[],"output":[]}}},"friendly_name":"Coordinator","ieee_address":"0x00124b00215fffbb","interview_completed":true,"interviewing":false,"network_address":0,"supported":false,"type":"Coordinator"}]'
Zigbee2MQTT:info  2020-11-03 11:49:23: MQTT publish: topic 'zigbee2mqtt/bridge/groups', payload '[]'
Zigbee2MQTT:info  2020-11-03 11:49:23: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"commit":"1.16.0","coordinator":{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20201026,"transportrev":2},"type":"zStack3x0"},"log_level":"info","network":{"channel":11,"extendedPanID":"0x32229297fc3ded6d","panID":6754},"permit_join":false,"version":"1.16.0"}'

In your zigbee2mqtt add-on Configuration change from:
serial:
  port: /dev/ttyUSB0

to
serial:
  port: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

I've done that, get the same - few failed attempts then it works (i think!)

@harvybob all working now?

HI, Yep, i got a zigbee thermometer yesterday, paired and working fine! thanks for your assistance!


fix: allow enable auto alloc for host-local net

What this PR does / why we need it:
fix: allow enable auto alloc for host-local net

Does this PR need to be backport to the previous release branch?:
NONE

/cc @zexi @wanyaoqi @ioito

/lgtm


Update MD file on new branch 2017-22-15_14-11-28

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Workflow: Submission Service

Summary
After a WorfklowExecution has been prepared. we need to submit it to our WES api.
Acceptance Criteria

Create a WorkflowExecutions::SubmissionService

Accept a workflow_execution as parameters
Validate that the workflow_execution is in STATE_TO_BE_DETERMINED
Submit the workflow_execution to the WES api
Store the returned run_id
Mark the worfklow_execution as prepared

Closed via #325


Improvements

I've been using a subl plugin for quite a while (and a subl function before OMF was a thing, and a Bash script even before that). I figure it's about time to contribute that back so everyone can enjoy an awesomer subl experience :)

Update the synopsis and README with more complete usage.
Better error handling: use a return status and echo the error message to stderr if sublime is not found.
Defer to the subl executable on the path if one exists.
If exactly one directory is passed, e.g. subl ., and that directory contains exactly one *.sublime-project file, load that project rather than the directory. This is basically what subl should be doing, but it's not :)

:+1:
Time to start using vim? :trollface:

Nah. I upgraded from vim to sublime ages ago.


npm publish needed

In version 0.4.3 is still Play Services version 8.3.0. Npm publish is needed.

v0.4.4 just landed


the webui can't show fig!

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Error logs/Screenshots
If applicable, add logs/screenshots to give more information about the issue.
Desktop (please complete the following information where):

OS: [e.g. Ubuntu]
Version: [e.g. 20.04]
Python: [3.9]
Vanna: [2.8.0]

Additional context
Add any other context about the problem here.

已处理，plotly-latest.min.js请求失败导致，下载本地后，修改请求路径解决


Compatibility with GridSearchCV of sklearn

In order to optimize hyperparameters using sklearn's GridSearchCV, I think it's preferable to define a score function in the estimator
from sklearn.model_selection import GridSearchCV
from rulefit import RuleFit
from sklearn.datasets import load_diabetes
model = RuleFit()
X,y = load_diabetes(return_X_y=True)
param_grid = {"tree_size":[4,6]}
gcv = GridSearchCV(model, param_grid=param_grid)
gcv.fit(X,y)

TypeError: If no scoring is specified, the estimator passed should have a 'score' method. The estimator RuleFit(max_iter=1000) does not.

As shown below, we can avoid errors by applying scoring to GridSearchCV, so it is possible to use GridSearchCV even now.
gcv = GridSearchCV(model, param_grid=param_grid, scoring='neg_mean_squared_error')
gcv.fit(X,y)

However, fitting with gcv's best_estimator_ gives an error.
gcv.best_estimator_.fit(X,y)

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_9504/1281572257.py in <module>
----> 1 gcv.best_estimator_.fit(X,y)

~\Anaconda3\envs\\lib\site-packages\rulefit\rulefit.py in fit(self, X, y, feature_names)
    416                     self.tree_generator.set_params(random_state=i_size+random_state_add) # warm_state=True seems to reset random_state, such that the trees are highly correlated, unless we manually change the random_sate here.
    417                     self.tree_generator.get_params()['n_estimators']
--> 418                     self.tree_generator.fit(np.copy(X, order='C'), np.copy(y, order='C'))
    419                     curr_est_=curr_est_+1
    420                 self.tree_generator.set_params(warm_start=False)

~\Anaconda3\envs\env\lib\site-packages\sklearn\ensemble\_gb.py in fit(self, X, y, sample_weight, monitor)
    492                                  'warm_start==True'
    493                                  % (self.n_estimators,
--> 494                                     self.estimators_.shape[0]))
    495             begin_at_stage = self.estimators_.shape[0]
    496             # The requirements of _decision_function (called in two lines

ValueError: n_estimators=1 must be larger or equal to estimators_.shape[0]=552 when warm_start==True

-- version
scikit-learn  0.24 and 1.0
python 3.7
RuleFit 0.3

I created pull request.


Links to all generated docs

Description
Links to all generated docs
Type of change

Documentation update

Testing steps
Will be visible on GitHub pages after merge.

Codecov Report

Merging #89 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #89   +/-   ##
=======================================
  Coverage   48.79%   48.79%
=======================================
  Files          11       11
  Lines         912      912
=======================================
  Hits          445      445
  Misses        413      413
  Partials       54       54

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 a4bcb62...1bb70d5. Read the comment docs.


OpenTDF 1.2.0 version bump

update tests to run on latest pinned version of frontend and backend charts (1.2.0)

Closed as obsolete.


Disable quic_platform_test by default. Take 2.

Description:
Disable quic_platform_test by default. Enable it only when "--define quiche=enabled" is specified in the bazel command line.
This is needed to workaround a issue with --experimental_remap_main_repo + ci asan build, see here for details.
Risk Level: minimal: build only
Testing:
I introduced a failure in quic_platform_test, then confirmed quic_platform_test still passes by default(since it does nothing), and failed when "--define enable_quiche=enabled" is specified.
Docs Changes: none
Release Notes: none
[Optional Fixes #Issue]
[Optional Deprecated:]

/assign @mpwarres

cool, thanks for exempting this by default
unfortunately I'm, having desktop access isssues so lazy question - do we have this on for at least one of the CI builds?

No, I think we want to disable it in CI builds before this issue is fixed. WDYT?


[BUG] - The Popover cannot respond to touch events properly

NextUI Version
2.4.8
Describe the bug
In the Popover component, set the backdrop prop to "blur" or "opaque".
Touching on the Popover can pop up normally. However, when the view is scrolled and the Popover automatically closes, touching on the Popover again does not respond to touch events properly.
At this point, it cannot pop up normally again unless quickly touch on it until pops up.
I found the possible relevant logic in the source code: https://github.com/nextui-org/nextui/blob/canary/packages/components/popover/src/use-popover.ts#L242, I wonder if can get a quick fix (such as deleting it), because not being able to use it at all and just having visual flaws are completely different.
Your Example Website or App
https://storybook.nextui.org/?path=/story/components-popover--backdrops
Steps to Reproduce the Bug or Issue

Access https://storybook.nextui.org/?path=/story/components-popover--backdrops with a mobile device directly or simulate a mobile device through the browser console. In short, touch event support is required.
Touch on any button among the three buttons except for Transparent.
Scrolling view, at this time Popover will automatically close.
Touch the button that was just clicked again.

Expected behavior
Popover can be opened for the first time, until the view is scrolled and automatically closed, it can be opened normally again.
Screenshots or Videos
No response
Operating System Version
Windows, Android
Browser
Chrome

@ryo-manba Sorry to bother you, may I ask if there is any progress?

@AnYiEE
Sorry, I haven’t had time to work on it.
If you know the cause, please make a PR!


The memory is constantly increasing with v2.17

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
{ D435}

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
Ubuntu16.04

Kernel Version (Linux Only)
4.4.38

Platform
NVIDIA Jetson

SDK Version
2.17.0

Language
{C/C++ }

Segment
Robot

Issue Description
<Describe your issue / question / feature request / etc..>
Hi
When I used D435 to read pictures, I found that memory kept increasing. What is the matter? My code is as follows.
#include "ros/ros.h"
#include "std_msgs/String.h"
#include "std_msgs/Bool.h"
#include <librealsense2/rs.hpp>
#include <opencv2/opencv.hpp>
#include<string>
using namespace std;
using namespace cv;
void chatterCallback(const std_msgs::String::ConstPtr& msg)
{
   ROS_INFO("I heard: [%s]", msg->data.c_str());
    rs2::pipeline pipe;
    rs2::config cfg;
    cfg.enable_stream(RS2_STREAM_COLOR, 640, 480, RS2_FORMAT_BGR8, 30);
    cfg.enable_stream(RS2_STREAM_DEPTH, 640, 480, RS2_FORMAT_Z16,30);
    rs2::align align(RS2_STREAM_COLOR);
    pipe.start(cfg);
    for (auto i = 0; i < 30; ++i) pipe.wait_for_frames();
    rs2::frameset frames;
    while(true)
    {
        frames = pipe.wait_for_frames();
        frames = align.process(frames);
        rs2::frame color_frame = frames.get_color_frame();
        rs2::depth_frame depth = frames.get_depth_frame();
        float width = depth.get_width();
        float height = depth.get_height();
        rs2::colorizer color_map;
        Mat color(Size(640, 480), CV_8UC3, (void*)color_frame.get_data());
        Mat dep(cv::Size(640, 480), CV_16SC1, (void*)depth.get_data());
        cout<<"ok"<<endl;
    }

    return;
}

int main(int argc, char **argv)
{
  ros::init(argc, argv, "realsense_test");
  ros::NodeHandle n;
  ros::Subscriber sub = n.subscribe("chatter", 1000, chatterCallback);
  ros::spin();
  ROS_INFO("Please send message!");
   return 0;
}

I've tested it on v2.13.0, no problem, but the memory is increasing on v2.17.0. What is the matter? Odd!


Cannot build with double-conversion-<IP_ADDRESS>

Building library for formatting-7.1.3..
[ 1 of 13] Compiling Data.Text.Format.Functions ( src/Data/Text/Format/Functions.hs, dist/build/Data/Text/Format/Functions.o, dist/build/Data/Text/Format/Functions.dyn_o )
[ 2 of 13] Compiling Data.Text.Format.Types ( src/Data/Text/Format/Types.hs, dist/build/Data/Text/Format/Types.o, dist/build/Data/Text/Format/Types.dyn_o )
[ 3 of 13] Compiling Formatting.Buildable ( src/Formatting/Buildable.hs, dist/build/Formatting/Buildable.o, dist/build/Formatting/Buildable.dyn_o )
[ 4 of 13] Compiling Data.Text.Format ( src/Data/Text/Format.hs, dist/build/Data/Text/Format.o, dist/build/Data/Text/Format.dyn_o )

src/Data/Text/Format.hs:30:1: error:
    Could not load module ‘Data.Double.Conversion.Text’
    it is a hidden module in the package ‘double-conversion-<IP_ADDRESS>’
    Use -v (or `:set -v` in ghci) to see a list of the files searched for.
   |
30 | import           Data.Double.Conversion.Text (toFixed, toShortest)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

I think double-conversion-2.0.3 should really have been double-conversion-2.1 as there's a breaking API change. I think the fix is to import Data.Double.Conversion.Convertable now.

I see <IP_ADDRESS> just came out that restores the API, so I think this is fixed now.


Use ResultEmpty and OkEmpty in new_project_template

Looks like this was missed in https://github.com/AmbientRun/Ambient/commit/abe3e624c12cc463da2862d076070eedac249421

Good catch! That's what I get for only running the rename in the guest workspace 😅

Thx! Happy to help :)


Bugs and bugs around react-docgen

Question
How to pass custom config to react-docgen-typescript-loader ?
Description
Hi,
First of all, I love the project, much nicer experience than with styleguidist!
I'm trying to use it with typescript, which is working fine except PropsTable which renders empty.
I had similar issue when working with styleguidist, and solution for that was to pass my custom tsconfig.json to do react-docgen-typescript . Unfortunately I don't know how to do that with docz, I made changes locally inside docz code so react-docgen-typescript-loader   reads my config and it works perfectly, but it's not a solution :) Is there a way to do that via modifyBundlerConfig ?
Thanks!

I chose to leave only this issue since it is related to the configuration of the react docgen. The idea is don't use babel plugins or loader anymore and put all process related to docgen in the DataServer, with this in mind we can solve all issue marked here and get an awesome performance boost, since we don't need parse the entire code anymore.

I am also being affected by this issue when using an external library of react components (same issue as #253 @itReverie). Is there any quick solution available? :pray:

@JeroenReumkens react-docgen-typescript-loader has released v3.0.0.
when I change
export class Button

to
class Button
export default Button

It works as described in the document

I'm looking for this feature as well. I'm retrofitting Docz into an existing TS project (hoping to merge our old docs site and Styleguidist together) and PropsTable is showing up empty. Definitely not able to migrate yet. Hopefully soon!

The solution given above seems to be broken in the latest release of Docz. @pedronauck  Do you remember changing anything related to the way docgen is added to the webpack config?

Hey guys I had the same problem with the react-docgen-typescript-loader  passing all the props of react on docz. I searched a bit and found a config for this. And because docz is extensible as f I could update the bundler config. Top @pedronauck 🚀 	.
  modifyBundlerConfig: config => ({
    ...config,
    module: {
      ...config.module,
      rules: config.module.rules.map(rule => ({
        ...rule,
        use: rule.use.map(ruleUse =>
          ruleUse.loader.includes('react-docgen-typescript-loader')
            ? {
                ...ruleUse,
                options: {
                  propFilter: prop => {
                    if (prop.parent == null) return true
                    return !prop.parent.fileName.includes('node_modules')
                  },
                },
              }
            : ruleUse,
        ),
      })),
    },
  }),

Hey guys, I put the @guilhermedecampo solution inside docz, see if is good now 🙏

Hey @pedronauck  You mean Docz should do this by itself now? If so, can you tell me in what version I can find the fix?
The solution given above doesn't look that easy a first glance. So if that is the way forward, I'll try to implement it in my project to see if it works. But if it does work, I'll try to make the above code a bit more simple / readable.

@pedronauck has submitted a pull request. See it on IssueHunt

@pedronauck has rewarded $28.00 to @pedronauck. See it on IssueHunt

:moneybag: Total deposit: $40.00
:tada: Repository reward(20%): $8.00
:wrench: Service fee(10%): $4.00

In the next release (v0.14) I'll introduce a new way to parse props using react-docgen. Instead of using a babel plugin for prop-types and a loader for typescript, everything now is centralized in a process using data server:
https://github.com/pedronauck/docz/blob/v0.14/core/docz-core/src/states/props.ts
With these changes, I think that we will improve a lot the performance since all props extracting logic will not belong to webpack anymore.
I'll finish the v0.14 that will have some other improvements, then I came back here to test and close this issue 🙏

Pretty sure these updates are coming in v1! https://github.com/pedronauck/docz/pull/656

New docgen parse using DataServer instead of babel plugin and loader (85499a8)

Is this in v1? I just tried out v1 and Props are still not working with Styled Components.

@glockjt Check if this line helps you.
Instead of exporting the styled-component directly, try to make a new component using the styled-component. And declare the prop types in the new component like the example.

Can the Props component accept something besides a static prop-types object? I have a function that generates props types for my component, that I reuse across many components, and if it's not a exact prop-types object it won't render in the Props component.

@rfoel that doesn't work either.  Even if it did, this is still an issue, you shouldn't have to change the way you create your styled components just for documentation to work.

@glockjt That I agree. I'm having a hard time trying to make the props work.

Ran into similar issues.
Trying to get<EMAIL_ADDRESS>working with remirror. It's a react library for prosemirror:

written mostly in typescript
src is documented liberally with jsdoc comments
with multiple packages in a 'yarn workspace + lerna' monorepo
that does work with the previous version of docz thanks to some significant docz babel + webpack configuration.

I kept a bunch of notes on my brute-force search of webpack/babel configuration space for docz@1, since I am webpack-illiterate: https://github.com/100ideas/remirror/blob/doczv1/support/docz-v1-WIP-notes/NOTES-docz-v1.0.0-experiments.md
will update if we make any progress.
What's hard is figuring out how to get docz working not just with example.mdx demonstration docs, but also set up somehow to provide API-browsing like experience of the source itself based on all the jsdoc comments.

I'm releasing some new release candidate today @100ideas, one of your problems I think that is fixed!

woot rc5! will try hopefully later today.

Are there plans to allow the Props component to work with prop types that are imported from another file and spread into a component's propTypes? I just tried on 1.0.0-rc.7 and it didn't work.
// utils.js
export const color = () => {
    // ...
}

color.propTypes = {
    color: PropTypes.oneOfType([
        PropTypes.string,
        PropTypes.arrayOf(PropTypes.string),
        PropTypes.shape(screensPropObjectShape),
    ]),
};

// Button.js
import React from 'react';
import PropTypes from 'prop-types';

import { color } from '../path/to/utils';

export const Button = props => {
    // ...
};

Button.propTypes = {
    ...color.propTypes,
};

export default Button;

It seems like there was some attempt to get it working here?

@pedronauck do you have an update about the comment above? Working on this would help a lot.

This handler should fix this issue @rfoel, but since the newest version of react-docgen it doesn't work anymore, need to be updated, but I think that the owner of the repo dropped it out of the project.

I'll close this issue since most cases were fixed.

@pedronauck I agree that the handler you linked is pretty outdated, but it seems like other, newer packages have tried to solve the same problem, like react-docgen-imported-proptype-handler which is already referenced in the docz code here, but commented out.
Was there an issue when you tried using it before?

@pedronauck is there any update on this potential solution or how to get react-docgen-typescript-loader to not ignore props being imported from packages?
I'm having a similar issue in our TS monorepo where the props being imported from another component or node_modules package is not being read by react-docgen-typescript-loader.
Does the changes to DataServer address this (if so, how do I configure docz properly to accept props imported from node_modules) or would it still be acceptable to apply a custom config to docGenLoader via modifyBundleConfig?

@pedronauck I agree that the handler you linked is pretty outdated, but it seems like other, newer packages have tried to solve the same problem, like react-docgen-imported-proptype-handler which is already referenced in the docz code here, but commented out.
Was there an issue when you tried using it before?