uv__drain() doesn't stop POLLOUT sometimes, resulting in 100% CPU usage

@vtjnash I'm running the latest libuv code from the v1.x branch and https://github.com/libuv/libuv/commit/1a91b51976a1adc6972081faa78b6b70022254d3 introduced a problem that didn't happen before - CPU usage gets up to 100% after running for a while:

strace shows lots of epoll_wait returning with a single EPOLLOUT event
the write queue in the uv__write is empty
uv__drain doesn't get to uv__io_stop(stream->loop, &stream->io_watcher, POLLOUT);
epoll_wait keeps returning immediately because the TCP socket that has POLLOUT set is always writable while it's connected
CPU usage drops back to 0 when the TCP connection that caused it disconnects

Fixed by https://github.com/libuv/libuv/pull/3675


Bug/testing travis PR validation

travis and rapper work as expected, no need for this PR anymore.


Updated Large-scale multi-label text classification example for Keras v3

@fchollet
Thanks for the feedback! (and sorry for messing up the files)
Maybe I'm missing something, but I don't think that ragged tensors are currently supported by Keras v3 so I'm not sure we can make this backend-agnostic.


NTLM Proxy Auth for the HTTP client

I'm doing some work at BigCorp who use Windows and NTLM proxies everywhere,  so I need my client to be able to authenticate against a proxy using NTLM.
I've written a patch for it in dropwizard-client, basic outline is:

Change the AuthConfiguration, adding NTLM requrired fields such as

realm
domain
hostname
a credentialType parameter, which determines which implementation of the Credential interface to use

The alter the proxy creation part of the createClient method to provide a NTLM aware
    if (auth != null) {
        if (credentialsProvider == null) {
            credentialsProvider = new BasicCredentialsProvider();
        }
        // set the AuthScope
        AuthScope authScope = new AuthScope(httpHost, auth.getRealm(), auth.getAuthScheme());

        // set the credentials type
        Credentials credentials = null;
        if (null != auth.getCredentialType() && auth.getCredentialType().equalsIgnoreCase(AuthConfiguration.NT_AUTH_TYPE)) {
            credentials = new NTCredentials(auth.getUsername(), auth.getPassword(), auth.getHostname(), auth.getDomain());
        } else {
            credentials = new UsernamePasswordCredentials(auth.getUsername(), auth.getPassword());
        }

        credentialsProvider.setCredentials(authScope, credentials);
    }
}

Works on my machine :)

This looks like a useful addition! I would accept the patch.

Closed via #2091


Having Issues With Authorization

I recently reinstalled the deleted and reinstalled the plugin and when I click on start authorisation and clear previous token I get below error (attached image)

I have inserted the IP address as well as the XBOX live aid Username and PW (is that sufficient for Xboxliveid configuration?)On Feb 28, 2023, at 19:19, Grzegorz @.***> wrote:
You can not clear token or start authorization before configure ip address and xboxliveid
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Username and PW is not implemented at this time,

Yeap so xboxliveid as taken from console info in Xbox and IP has been setup It was working previously when I removed token and reauthorized and then moments later I uninstall this plug-in on homebridge and reinstalled it and it can’t be authorized thereafter. On Feb 28, 2023, at 19:28, Grzegorz @.***> wrote:
Username and PW is not implemented at this time,
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

May be something happened during plugin install, uninstall from GUI and install again


Change Fig 4 in make_tag_push_summary.qmd to leaflet_graph

This chunk: https://github.com/mhpob/otndo/blob/dev/inst/qmd_template/make_tag_push_summary.qmd#L140-L151
Should mirror this chunk: https://github.com/mhpob/otndo/blob/dev/inst/qmd_template/make_tag_push_summary.qmd#L225-L231

@joyliujoyliu can you handle this?
cc @jdpye


Added release documentation in BYOH repo

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Additional information
Special notes for your reviewer

/approve

Please open a corresponding issue and tag this PR to that issue.


Fix some warnings

I have fixed the warnings in build. In test some are still there though and I am also getting an error when running the tests (following the instructions in readme). See output below.
I guess the shadowing warnings can easily be fixed, but not sure if there's a naming convention for this (e.g. 1 letter abbrev or postfix with 2 or something)?
Not sure how to fix the wildcard warning (number 3 below).
Also not sure what the best way is to solve the error ReferenceError: React is not defined

I'm happy to fix the remaining issues in another PR if you like
$ pulp test -r cat > html/index.js
* Building project in /Users/user/dev/codelex/purescript-thermite
psc: No files found using pattern: src/**/*.js
psc: No files found using pattern: test/**/*.js
Warning 1 of 7:

  in module Components.TaskList
  at /Users/user/dev/codelex/purescript-thermite/test/Components/TaskList.purs line 110, column 3 - line 111, column 3

    Type variable 'eff' was shadowed.

  in value declaration taskList

  See https://github.com/purescript/purescript/wiki/Error-Code-ShadowedTypeVar for more information,
  or to contribute content related to this warning.

Warning 2 of 7:

  in module Components.TaskList
  at /Users/user/dev/codelex/purescript-thermite/test/Components/TaskList.purs line 110, column 3 - line 111, column 3

    Type variable 'props' was shadowed.

  in value declaration taskList

  See https://github.com/purescript/purescript/wiki/Error-Code-ShadowedTypeVar for more information,
  or to contribute content related to this warning.

Warning 3 of 7:

  in module Components.TaskList
  at /Users/user/dev/codelex/purescript-thermite/test/Components/TaskList.purs line 112, column 9 - line 113, column 9

    Wildcard type definition has the inferred type

      Eff ( refs :: ReactRefs ( read :: Read
                              )
          , state :: ReactState ( write :: Write
                                , read :: Read
                                )
          , props :: ReactProps
          | _52
          )
      Unit

  in value declaration taskList

  See https://github.com/purescript/purescript/wiki/Error-Code-WildcardInferredType for more information,
  or to contribute content related to this warning.

Warning 4 of 7:

  in module Components.TaskList
  at /Users/user/dev/codelex/purescript-thermite/test/Components/TaskList.purs line 72, column 3 - line 73, column 3

    Type variable 'eff' was shadowed.

  in value declaration taskList

  See https://github.com/purescript/purescript/wiki/Error-Code-ShadowedTypeVar for more information,
  or to contribute content related to this warning.

Warning 5 of 7:

  in module Components.TaskList
  at /Users/user/dev/codelex/purescript-thermite/test/Components/TaskList.purs line 72, column 3 - line 73, column 3

    Type variable 'props' was shadowed.

  in value declaration taskList

  See https://github.com/purescript/purescript/wiki/Error-Code-ShadowedTypeVar for more information,
  or to contribute content related to this warning.

Warning 6 of 7:

  in module Components.TaskList
  at /Users/user/dev/codelex/purescript-thermite/test/Components/TaskList.purs line 99, column 3 - line 100, column 3

    Type variable 'eff' was shadowed.

  in value declaration taskList

  See https://github.com/purescript/purescript/wiki/Error-Code-ShadowedTypeVar for more information,
  or to contribute content related to this warning.

Warning 7 of 7:

  in module Components.TaskList
  at /Users/user/dev/codelex/purescript-thermite/test/Components/TaskList.purs line 99, column 3 - line 100, column 3

    Type variable 'props' was shadowed.

  in value declaration taskList

  See https://github.com/purescript/purescript/wiki/Error-Code-ShadowedTypeVar for more information,
  or to contribute content related to this warning.

* Build successful.
* Running tests...

/Users/user/dev/codelex/purescript-thermite/output/React/foreign.js:129
exports.renderToString = React.renderToString;
                         ^
ReferenceError: React is not defined
    at Object.<anonymous> (/Users/user/dev/codelex/purescript-thermite/output/React/foreign.js:129:26)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Users/user/dev/codelex/purescript-thermite/output/React/index.js:3:16)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
* ERROR: Subcommand terminated with error code 8

:+1: Great, thanks very much!
I'll make an issue for the remaining warnings.


Don't force CRLF

Currently looks like ktfmt is forcing CRLF line endings when validating formatting. This is far from desirable as it breaks MPP builds on windows hosts for generated sources. I think it would be best to force consistent line endings and instead maybe expose some config property/flag to enable it.

Are you sure? There's explicit code that detects the existing new line sequence and uses it when outputting. Can you upload a sample file? Or even better, submit a unit test?

Have a look at linked build and gradle build scan. The error basically says to replace all \n with \r\n. Note that this only affects generated code. On that note, it'd be great if we could somehow exclude generated code from ktfmt scope.

It sounds like the generated file has \n, which kftmf preserves?
If that's the case, that's working as intended.
One option is to convert the generated file to \r\n, the other is to exclude it from formatting. This project (https://github.com/facebookincubator/ktfmt/) doesn't provide a Gradle plugin, so I suggest filing a feature request for skipping files in the Gradle plugin's project repo (if there isn't a way to do so already).
Please reopen if I got anything wrong.


Ensure integration names are unique between -core and -extras

Name says it all.
Much of the installation logic assumes a unique integration name.  Need a commit hook or similar to prevent name overlap.

Going to close this as the commit hook adoption would be hard to enforce and our last resort will still be PR reviews on -extras when a new check is proposed.


typescript/migration page on v1.18.0 not found

When navigating to<EMAIL_ADDRESS>a 404 is displayed. The file at<EMAIL_ADDRESS>is not found.
When clicking on the "Edit on GitHub" button, we are redirected to https://github.com/denoland/manual/blob/v1.18.0/typescript/migration.md, where a content does exist.

It only seems to be an issue with v1.18.0 of the manual, several before it and v1.18.1 and main after it are both ok.

Closing as the issue doesn't seem persisting in recent versions:

<EMAIL_ADDRESS><EMAIL_ADDRESS>


lab2 to module_I

Feature/module_I-create-lab2 is about a html where images located in the img folder are incorporated.


Vim: How to run standard --format on save

Following this thread, one of the features I've enjoyed a lot using vim-go was its ability to run gofmt on each save, saving me a ton of work. Would love to have this functionality for JavaScript with Standard codestyle, but I'm not sure how to do it or if there is an option available out there already. Thoughts?
Thank you.

As far as I know, Syntastic doesn't support formatters, so someone needs to write a vim plugin to do this.

@diasdavid There is a suggestion here for how to make a plugin. https://twitter.com/feross/status/624033217016930304
Looks like it might be a one-liner!

Minor variation, primarily calling it after the file has finished writing and making it a silent operation.
autocmd bufwritepost *.js silent !standard % --format

This is very good stuff! Thank you!
We are almost there. Comparing to vim-go, the only thing missing is to do formatting without that confirmation. Would that be possible?

@diasdavid you'd probably need to modify the buffer directly,  overwriting its contents rather than overwriting the underlying file.

Haven't verified if it works yet, but vim-autoformat was updated recently to support this exact use case.

That's with the post write event? was getting it with bufwrite but not with bufwritepost

If thats still the case, setting :set autoread should do the trick and disable the W11 warning, always re-reeading the file.

rad! it works :D
autocmd bufwritepost *.js silent !standard % --format
:set autoread

@diasdavid  was autoread required?

Sweet! Glad you guys got it figured out. Thanks for the help @caspervonb!
I'll add this snippet to the readme. Should someone publish this as a standalone vim plugin? I'm not sure if the community does small modules like npm does ;)

There was a suggestion on Twitter to persist cursor position as well: https://twitter.com/oObsi/status/624533766434910208
I haven't tested the snippet out yet. Is this actually necessary?

IIRC from some buffer replacement hacking, your cursor gets reset to line 0 but i might be or did things  wrong.

If there are 'errors' that --format can't fix, like non used vars, the autoformat gets weird:

That's "expected", but i did not expect standard to lint and format at the same time.
@feross anyway to suppress errors and just format?

@caspervonb Can't you just ignore stdout and stderr? The formatting happens in place to the file on disk, so it's safe to just throw away that output if you don't want to show it in the UI.

@caspervonb Also, if it's helpful, you can format a file by piping it to stdin using standard --format --stdin. The transformed code is written to stdout. Lint errors are written to stderr which can be safely ignored.

Could try muffle the output from standard with redirection
autocmd bufwritepost *.js silent !standard % --format > /dev/null>2&1

Now that the formatting feature of standard has been moved into standard-format, has anyone worked out how to apply this in vim?

@locksmithdon What is the difference? just invoke it as you would from a shell basically.

@caspervonb I was missing -w and it wasn't working. I know, RTFM :wink: This works:
autocmd bufwritepost *.js silent !standard-format -w %
set autoread

Just to close the loop since I got here from google, this is explained in the docs:
https://standardjs.com/#vim


Update developer on-boarding docs

Provides example on how to set up a skeleton module. Removed redundant/stale content, linking to the design guidelines.

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

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

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

@gracewilcox given that you were the most recent to onboard an SDK, what would you like to see in these docs?

/check-enforcer override


Remove noAssert

The noAssert argument support dropped in the upcoming Node.js 10.x
release. This removes it therefore.
It also fixes the failing test in the test suite.
Refs: https://github.com/nodejs/node/pull/18395

Thanks! :)


Variable Explorer fails to display Pandas DataFrame with Int64Index

Problem Description
When trying to open a DataFrame variable from the "Variable Explorer" that contains a Int64Index as index an error occurs and no data is displayed. The same works fine if the DataFrame contains a RangeIndex instead of a Int64Index.
What steps reproduce the problem?

Create DataFrame with Int64Index and store it in a variable
For example:

import pandas as pd
df = pd.DataFrame()
df['a'] = [1, 2, 3]
df.index = pd.Int64Index(df.index)

Double click the df variable in "Variable Explorer"

What is the expected output? What do you see instead?
Expected output: DataFrame is displayed as table in a new window.
Actual output: "Spyder was unable to retrieve the value of this variable form the console. [...] An unknown error occurred. [...]"
I am aware that the pandas Int64Index is depricated (see here) and I am using pandas 1.5.3. However, since the Python packets are still available and the code runs without errors, it would be nice if Spyder would not fail to display the variable or would at least provide a meaningful error message instead of the generic message "unknown error".
Versions

Spyder version: 5.4.5  (standalone)
Python version: 3.8.10 64-bit
Qt version: 5.15.2
PyQt5 version: 5.15.9
Operating System: Windows-10-10.0.19045-SP0

Hey @cirnod, thanks for reporting. This problem happens because our Windows installer comes with Pandas 2 and you're using Pandas 1.5 in your external environment. The main thing here is that those versions are incompatible with respect to serialization, which is what allows us to display objects in the Variable Explorer.
Unfortunately, there's no workaround for this if you want to use our latest version. What you can do to keep using that old Pandas version is to uninstall Spyder and install an older version (i.e. 5.4.4, 5.4.3, etc) that comes with Pandas 1.5.

it would be nice if Spyder would not fail to display the variable or would at least provide a meaningful error message instead of the generic message "unknown error".

I understand. This was reported before on issue #21160, so I'm going to close this one in favor of that.


chore: upgrade dependencies + upgrade React types

Motivation
Most notably, this PR bumps @types/react across major versions. Even if we don't use React v18, the types are back-compatible, but much stricter (e.g. got rid of {} in ReactNode, forbids implicit any in useCallback (which catches a few in our own code), etc.), which we will benefit from.
Have you read the Contributing Guidelines on pull requests?
Yes

Let's try this 👍
Please next time separate regular updates from more impactful ones like React 18 types into 2 separate PRs
Notably one is a more risky typings breaking change that may impact user code and also may produce issues with third-party libs used by some users that may rely on React 17 typings

We don't have a strong TypeScript community (from my observation) and have even fewer users who are impacted and don't know how to migrate. Also, we using React v18 only means fewer issues for the consumers, because it enforces explicit children. FYI I've already fixed (or observed others fixing) the implicit children issue in several React libraries, which won't happen if they use React v18 typings.

I don't think this is breaking change. Could you give an example where it breaks things? We don't install @types/react for users.

ok right 👍 if it's only a dev dependency, users should upgrade React types on their own
BTW isn't our TypeScript template supposed to declare "@types/react" ? apparently it doesn't

It's included in @docusaurus/types, but apparently we have a wildcard range there😅
Not very ideal but no-one has complained, and ever since @types/react@18 is out users should start getting the new version, so if they ever complain they should have already


Update Config “general”

Automatically generated by Netlify CMS

:construction_worker: Deploy Preview for hyphen-stage processing.
:hammer: Explore the source changes: 6198ff62343dc237e953ecfbc41c98ec8531138d
:mag: Inspect the deploy log: https://app.netlify.com/sites/hyphen-stage/deploys/60e8c10cad0f880008ae8931


test: power: Test cases for power subsystem

Add test cases for power managment transactions when system enter
idle thread.
Signed-off-by: Meng xianglin<EMAIL_ADDRESS>

@wentongwu  please review

@mengxianglinx , there are still some comments, which you have to address.

@jenmwms please revisit

Hi @mengxianglinx! Thanks for the updates. The only remaining edit I strongly suggest is to rephrase for clarity the 2 occurrences of "App doesn't be notified".


Can no longer authenticate with useServiceAccountAuth

So I've been using this lib and a script with no issues for a couple months.  Suddenly yesterday when I tried, simply authenticating has started to give me errors.
The code:
DOC.useServiceAccountAuth(CREDENTIALS, (err) => {
    if (err) {
      console.log("Auth error: ", err);
   }
});

The error output:
Auth error: [Error: invalid_grant]

Nothing else is spat out, not sure where to go from here.  Is anyone aware of if Google changed anything?

Everything still seems to be working on my end.
You may want to verify your service account is still active?
If you dig into the code a bit, you may be able to just call the auth methods and see what kind of errors you get?

any news here?

Tried again a day later and it worked.  /shrug.
Sorry couldn't dig deeper here


Cleanup and simplify the integration test instance start

NOTE: Some methods within the integration tests are changed/removed/simplified. Custom tests that extends the integration test might need to revised.

Codecov Report

Merging #8507 (bca4725) into master (fd3ecea) will increase coverage by 38.30%.
The diff coverage is 50.00%.

:exclamation: Current head bca4725 differs from pull request most recent head 192896c. Consider uploading reports for the commit 192896c to get more accurate results

@@              Coverage Diff              @@
##             master    #8507       +/-   ##
=============================================
+ Coverage     25.83%   64.14%   +38.30%
- Complexity        0     4280     +4280
=============================================
  Files          1660     1627       -33
  Lines         87129    85578     -1551
  Branches      13203    13037      -166
=============================================
+ Hits          22513    54895    +32382
+ Misses        62459    26692    -35767
- Partials       2157     3991     +1834

Flag
Coverage Δ

integration2
?

unittests1
67.00% <ø> (?)

unittests2
14.13% <50.00%> (?)

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

Impacted Files
Coverage Δ

...e/pinot/broker/broker/helix/BaseBrokerStarter.java
71.92% <50.00%> (-2.71%)
:arrow_down:

...va/org/apache/pinot/core/routing/RoutingTable.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...va/org/apache/pinot/common/config/NettyConfig.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...a/org/apache/pinot/common/metrics/MinionMeter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...g/apache/pinot/common/metrics/ControllerMeter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../apache/pinot/common/metrics/BrokerQueryPhase.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../apache/pinot/common/metrics/MinionQueryPhase.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...apache/pinot/common/helix/ExtraInstanceConfig.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ache/pinot/server/access/AccessControlFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...he/pinot/common/messages/SegmentReloadMessage.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1363 more

Continue to review full report at Codecov.

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


Gauge execute tests fail with an exception #### Gauge process exited with code 143

I am running spec from IntelliJ and JDK 17.
I have a verify simple spec: hello world with system.out.println();
I am getting the following in the event log:
Please report an issue to https://github.com/getgauge/gauge/issues with following details:
#### Gauge process exited with code 143
Gauge daemon initialized and listening on port: 61703
* IDE version: 2021.2.2
* API version: IC-212.5284.40
* Plugin version: 212.4746.52
* Gauge version: 1.4.1
Gauge version:
Gauge version: 1.4.1
Plugins
html-report (4.1.4)
java (0.8.1)
screenshot (0.1.0)
spectacle (0.1.4)
xml-report (0.2.3)
Any idea how to avoid/fix this issue?
Thanks
M.

I found the problem. It was mine.


About TintLuminosityOpacity

Hello, thank you for your work, it is pretty good, I can create a nice WPF project by it when UWP Acrylic does not work well in WPF project.
As we kown, there is a property called 'TintLuminosityOpacity' in the Acrylic when we use WinUI 3 Controls Gallery, it seems that is not the same as 'TintOpacity'. Have you ever learn about it?

Hi @LiMei1998
Thanks for the feedback.
But FluentWPF doesn't use WinUI 3. FluentWPF is implemented by SetWindowCompositionAttribute API, and that API doesn't provide TintLuminosityOpacity.
So that, It is no planed to add TintLuminosityOpacity in FluentWPF.


macOS build fails

  Cannot find source file:

    imgui_plot_ex.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx

CMake Error at examples/CMakeLists.txt:30 (add_executable):
  No SOURCES given to target: imgui_plot```

An oversight on my part. It's been fixed!


Add support for OpenEdge ABL language

The tests won't pass until pygments.rb gets updated to a new version of Pygments (already pull requested).  They pass using a custom pygments.rb gem built from that branch.

Sorry, I created the initial pull request before I realized that I didn't have any blob tests.  Should I squash the two commits into one?

Its fine, still waiting on the pygments update first.

pygments.rb has been updated to 0.2.6 and tests are now passing :feelsgood:

Needs to be merged with master (again).

Sorry it took so long to get pygments updated.

Niceee, you guys handle rebases cleanly here (I was crossing my fingers, hehe).
No worries about pygments. That's tmm1's fault anyway, right? Hehe.

That's tmm1's fault anyway, right? Hehe.

lol.
Thanks @abevoelker, your doing some really nice patches.

Should I expect "OpenEdge ABL" to show up in the list of GitHub languages sometime in the near future, or is that only for popular languages?  I assume there is probably some sort of re-indexing that has to happen first so I know it's not a quick thing.
Thanks!


Implement subcommand for certificate rotation and document it's usage

To track work on #1201 and to superseed #1031, we should implement a separate subcommand, which will:

schedule all cluster certificates for renewal
re-create certificates using Terraform
deploy new certificates to the cluster
ensure that all cluster-components are restarted to pick up new certificates

Additionally, we should tell user, what are the manual steps after certificate rotation. I think doing a rolling reboot on all nodes in the cluster (perhaps using FLUO) should be sufficient, as it will re-create/restart all the pods, which should be enough to propagate new certificates.

From new k8s release: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.20.md#introducing-rootcaconfigmap

There is ongoing effort to fix this in https://github.com/kinvolk/lokomotive/pull/1201, but I won't be able to work on it until January, so if someone wants to pick it up, go ahead. My commits in the PR contains TODO list with remaining tasks.


added tool to import json data to mySql

Please check and merge, thank you! Changes in index.ts were just taking out some comments that were not needed anymore, Prettier made the other changes. :)

Looks good to me! :) Thank u Noora!


Integrate Sygma pallets into SubBridge

Integrate Sygma pallets into SubBridge
This issue describes the technical details of how we integrate Sygma pallets into SubBridge.
SubBridge core module xtransfer support assembles any bridge that implements trait BridgeTransact. The bridge can be configured as a bridge instance of SubBridge routing protocol, here is the configuration in Khala network. SubBridge can forward messages between those bridges.
Sygma Wrapper
Sygma bridge pallet only provides the primitives and extrinsic to transfer assets between Substrate chains and EVM chains, to make the Sygma protocol adapts SubBridge routing protocol, we need to introduce a wrapper pallet that mainly implements the trait BridgeTransact. A draft implementation can be found here.
The simple logic of transferring assets to EVM chains can be described as:
xtransfer.transfer() -> sygma_wrapper.transfer_fungible() -> sygma_bridge.deposit()
The draft code can be found here
The simple logic of transferring assets from EVM chains to other parachains (including local Substrate chains) can be described as:
sygma_bridge.relayers -> sygma_bridge.execute_proposal() -> sygma_bridge.AssetTransactor.deposit_asset() -> XTransferAdapter.deposit_asset() -> other bridges
Note that we configured XTransferAdapter as the AssetTransactor of Sygma bridge, it makes SubBridge routing protocol take over the asset transactor. See draft code here.
Besides, the Sygma wrapper also implements traits ExtractRecipient and ExtractDomainID, so the dest location identification will depend on the format that SubBridge used.
Sygma Wrapper does contains any extrinsic, we don't need to config any authority strategy.
Sygma Bridge Config
A draft config can be found here. Compared with simple example config in Sygma repo, following items should be highlighted:

AssetTransactor

As we mentioned above, we use SubBridge XTransferAdapter will be configured as asset transactor implementation.

ResourcePairs

We configured ResourcePairs with AssetsRegistry, the latter implements Get<Vec<(XcmAssetId, ResourceId)>> which returns the resource id pair information for all registered assets in Khala network. In other words, it is dynamic instead of hard code in runtime. See draft code here.
Authority management
Like the example configuration in the Sygma repo, the BridgeCommitteeOrigin of sygma_access_segregator, sygma_basic_feehandler, sygma_fee_handler_router and sygma_bridge are configured as EnsureRootOrHalfCouncil. On the production network (Khala and Phala), there is no root exists, on-chain governance (council) will be the role that management bridges.
We still can use sygma_access_segregator to apply different permission to a specific account.
Bridge fee
Bridge still can be set through sygma_basic_feehandler and be routed by sygma_fee_handler_router. SubBridge routing protocol doesn't impact fee logic.

@tolak few questions here:

You mentioned Sygma Wrapper does contains any extrinsic, we don't need to config any authority strategy. you mean does or does not?
authority strategy here in this sygma wrapper should depend on the authority strategy that defined in each pallet in sygma-pallets repo, like the access-segregator access control logic, correct? the only difference is that there will be no root, instead there will be on-chain gov, in such case, in the init stage of launching, on-chain gov shall be able to call grant_access extrinsic to grant other access to other accounts, correct?


Usage with parent in Model but no BelongsTo::make on Resource

Currently, my breadcrumbs is constructed from the first BelongsTo::make found on the Resource.
This resource is not shown in the main menu, and can only be create via relationship.
I don't want to add a BelongsTo as it adds a field when I create the Resource via a relationship (default to the viaResourceId value but still).
So instead, I create a parent() public method on my Model, but it does nothing.
Am I misunderstanding something ? How would I hide the field and still have the proper breadcrumbs.

Oh, I think I can just use ->hide() on the BelongsTo field.
But I'm not sure why the plugin doesn't just take the first ->belongsTo in the Model instead of the Resource, or the public function parent() if it's defined, but I'm pretty new to this so I might be confusing some things.

BelongsTo::make(...)->hide() doesn't work after all because Nova won't fill or save the value if it's hidden.
So I get an error.

Ah, firgured it out.
I was duplicating my belongsTo like so:

Instead of referencing the existing belongsTo:

Even thought it's very clear in the documentation.


[SPARK-25250][CORE] : On successful completion of a task attempt on a parti…

…tion id, kill other running task attempts on that same partition
We recently had a scenario where a race condition occurred when a task from previous stage attempt just finished before new attempt for the same stage was created due to fetch failure, so the new task created in the second attempt on the same partition id was retrying multiple times due to TaskCommitDenied Exception without realizing that the task in earlier attempt was already successful.
For example, consider a task with partition id 9000 and index 9000 running in stage 4.0. We see a fetch failure so thus, we spawn a new stage attempt 4.1. Just within this timespan, the above task completes successfully, thus, marking the partition id 9000 as complete for 4.0. However, as stage 4.1 has not yet been created, the taskset info for that stage is not available to the TaskScheduler so, naturally, the partition id 9000 has not been marked completed for 4.1. Stage 4.1 now spawns task with index 2000 on the same partition id 9000. This task fails due to CommitDeniedException and since, it does not see the corresponding partition id as been marked successful, it keeps retrying multiple times until the job finally succeeds. It doesn't cause any job failures because the DAG scheduler is tracking the partitions separate from the task set managers.
What changes were proposed in this pull request?
The fix that this PR addresses is as follows:
Whenever any Result Task gets successfully completed, we simply mark the corresponding partition id as completed in all attempts for that particular stage. As a result, we do not see any Killed tasks due to TaskCommitDenied Exceptions showing up in the UI. Also, since, the method defined uses hash maps and arrays for efficient searching and processing, so as a result, it's time complexity is not related to the number of tasks, hence, it is also efficient.
How was this patch tested?
The screenshot for the bug is attached below:

In the above screenshot, you can see that for the partition id 17352, one of the task attempts in the previous stage succeeded so, for the current stage attempt, we get a TaskCommitDenied Exception each time and instead of killing the task, Spark keeps on retrying multiple times till the application exits.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Test build #97922 has started for PR 22806 at commit 5ad6efd.

Test build #97922 has finished for PR 22806 at commit 5ad6efd.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/97922/
Test FAILed.

Test build #97939 has started for PR 22806 at commit 8667c28.

Test build #97939 has finished for PR 22806 at commit 8667c28.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/97939/
Test PASSed.

cc: @jiangxb1987 @cloud-fan @srowen
Could you please review this PR?

Test build #100508 has started for PR 22806 at commit 5509165.

Test build #100508 has finished for PR 22806 at commit 5509165.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/100508/
Test FAILed.

Thank you @sujithjay for your comment, have updated the PR.

Test build #100509 has started for PR 22806 at commit ee5bc68.

Test build #100509 has finished for PR 22806 at commit ee5bc68.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/100509/
Test FAILed.

Stage 4.1 now spawns task with index 2000 on the same partition id 9000. This task fails due to CommitDeniedException and since, it does not see the corresponding partition id as been marked successful, it keeps retrying multiple times until the job finally succeeds.

Can you explain the code path that does it? This part is a little convoluted...

I think we can expand  #21131's behavior here. Instead of killing other running task attempts actively, updating a stage's completed partition once it is submitted to TaskScheduler. So, this may need to ask TaskScheduler to record a stage's completed partition ids across all TaskSets before it succeed. WDYT? @squito

Test build #100644 has started for PR 22806 at commit 7677aec.

@cloud-fan I do not fully understand your question but this is what happens according to the current behaviour:
Task with task id 5005(let us say) working on partition id 9000 is running on stage 4.0. Stage 4.0 fails, therefore, stage 4.1 is created. So stage 4.1 sees that the partition id 9000 has not completed and thus, it creates a new task with task id, let us say, 2002 scheduled to run on partition id 9000.  However, it so happens that after stage 4.1 starts running, task id 5005 is successfully completed and it marks the partition id 9000 as complete. This information is not propagated to stage 4.1 as the map successful in TaskSetManager.scala which keeps track of the task indices that got completed does not get updated for tasksets running for stage 4.1. So, task id 2002 computes the result but is not able to commit it to HDFS as, results for the same partition have already been written to HDFS, thus, it sees a CommitDeniedException. However, it sees this as a failure and will keep retrying multiple times, even though it should not. This will continue on till the Spark application as a whole succeeds so the driver simply shuts down all the executors at the end, thus, killing task id 2002. I hope this answers your query.

@Ngone51 I see your point, and yes the key difference is that the PR #21131 marks partition as completed across all task attempts for the same stage attempt whereas this PR does that for all task attempts across all the stage attempts for the corresponding stage. We can extend the same behaviour here, but as far as killing running task attempts is concerned, that saves a lot of resources for long running tasks which might be consuming resources even though they have become redundant. I could be wrong here as well so let me know your thoughts. Thank you.

@cloud-fan yes, ideally, that should happen. However, this problem occurs only when a task from previous stage attempt just finishes before new attempt for the same stage gets created as described in the Jira, so when the code in PR #21131 executes, the tasksets for stage 4.1 have been submitted but not yet created, so taskSetsByStageIdAndAttempt does not have the required entry as of yet.

Test build #100644 has finished for PR 22806 at commit 7677aec.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/100644/
Test PASSed.

as far as killing running task attempts is concerned, that saves a lot of resources for long running tasks which might be consuming resources even though they have become redundant.

I see.
Another question:
I know the CommitDeniedException is related to ResultStage, but from the desc of pr, is it possible that the same problem(I mean launching a redundant task for the already completed partition) happens on ShuffleMapStage ?

@Ngone51 That is indeed a good question. I have not seen the error before for a ShuffleMapStage, but let me try to reproduce it if I can. Thank you.

this problem occurs only when a task from previous stage attempt just finishes before new attempt for the same stage gets created as described in the Jira, so when the code in PR #21131 executes, the tasksets for stage 4.1 have been submitted but not yet created, so taskSetsByStageIdAndAttempt does not have the required entry as of yet.

ooh this is a very good point -- really this is a bug in my change from https://github.com/apache/spark/pull/21131.  It seems to me that really the original change should be removed, and you should do this instead -- but only kill tasks if its in a result stage.

@squito Thank you for your suggestion, I have one question though. This was brought up by @Ngone51. I have seen this bug coming up in case of FetchFailure for a ResultStage, however, I was not able to reproduce the same for ShuffleMapStage. Could it be that this issue might also be affecting ShuffleMapStage? Should I also add the same fix on task completion for a ShuffleMapStage? WDYT?

well, you wouldn't see the exact same problem with a ShuffleMapStage, but you could still have the same problem in general.  Certainly you wouldn't see TaskCommitDenied, since thats only with result stages.  I think the problem you've mentioned could lead to multiple active task sets as described in SPARK-23433; it requires a task to get completed from the zombie taskset, but before the DAGScheduler has launched a new taskset.  How are you trying to test this, that you aren't able to reproduce?
Also I'd change the PR description to focus on that key point, something like:
[SPARK-25250][CORE] Late zombie taskcompletions handled correctly even before new taskset launched
SPARK-23433 tried to ensure that late task completions from a zombie taskset were properly updated in all tasksets for the stage (zombie or not).  However, because it did this outside of the DAGScheduler event loop, the DAGScheduler could launch another taskset for the stage at the same time, before it had updated the set of tasks left to run.  The new active taskset would never learn about the old completion from the zombie taskset.  This could lead to multiple active tasksets (as described in SPARK-23433) or resultstage failure from repeated TaskCommitDenied exceptions for the task which the final stage attemps to re-run.
This change fixes it by moving that logic into the DAGScheduler event loop.  As an optimization, it also kills tasks in all task sets, only if its a result stage (an extension of SPARK-25773).

also cc @jiangxb1987 @markhamstra

thanks, merging to master!

uggh ... I just realized a problem.  Everything in TaskSetManager is supposed to be protected by a lock on TaskSchedulerImpl, but now markPartitionCompleted() is getting called without that lock.  The old version guaranteed that, because it was called from within a method in the TSM where we already had that lock.  But now, we've moved that out to the DAGSchedulerEventLoop, where you do not necessarily have that lock.
I haven't thought through the consequences of this -- without proper updates to tasksSuccessful and successful, what could go wrong?  maybe we'd never mark the taskset as finished?  will this lead to failures, or just inefficiencies?
I'm not sure how to fix this.  You could make TaskSchedulerImpl.markPartitionCompletedInAllTaskSets() synchronized, but then you're getting a lock on the taskSchedulerImpl in the DAGScheduler event loop. That's not good for scheduling throughput, and also want to make sure there is no change of deadlock.
I feel like there should be a better solution ...

@squito Hmm indeed that is an interesting problem. I was going through the code and saw that the method markPartitionCompleted in TaskSetManager is updating successful for task indices. What if we make successful into a ConcurrentHashMap? That should avoid the problem of synchronizing on the whole TaskSchedulerImpl. Similar work has been done previously in PR #22221 (https://github.com/apache/spark/pull/22221). What do you think?

Oh, yes. I can image that this could be definitely potential race condition between thread dag-scheduler-event-loop and task-result-getter by accessing tasksSuccessful and successful.

What if we make successful into a ConcurrentHashMap?

This could resolve the race condition, but problem still exists for scheduling throughput as @squito said.
How about this way(actually, already mentioned above previously):
Let's back to #21131 firstly and remains #21131 's behavior with no change.
In TaskSchedulerImpl we maintain a map, e.g. called stageIdToFinishedPartitions. And each time we call sched.markPartitionCompletedInAllTaskSets(stageId, tasks(index).partitionId, info), we do an extra thing, updating the finished partitionId into stageIdToFinishedPartitions. Then, when creating a new TaskSetManager In TaskSchedulerImpl, we always excludes Tasks that corresponding to the finished partitions firstly by looking into stageIdToFinishedPartitions.
In this way, if an active tsm exists when we called sched.markPartitionCompletedInAllTaskSets, then it realizes the finished partition and won't launch a duplicate one or just killing it if it's running.
if no active tsm exists when we called sched.markPartitionCompletedInAllTaskSets, it could also be notified about the finished partition when we creating it later.
WDYT? @squito

@Ngone51 We can definitely consider the solution that you mentioned. Regarding your earlier point, making successful into a ConcurrentHashMap should neither impact scheduling throughput as well as should guarantee concurrent updates as far as I know.  WDYT?

A ConcurrentHashMap alone isn't enough to solve all the issues.  TSM also expects successful and taskSuccessful to be in sync.  If they are not controlled by one lock, they may not be.  You could make taskSuccessful an AtomicInteger so they'd be eventually consistent, but then we've got to make sure there are no errors there (eg. would anything crazy happen if you somehow declare a taskset completed because taskSuccessful == numTasks, but you haven't yet marked successful for every task?).  And even successful is used in multiple places -- a CHM doesn't protect the values from concurrent modification, so you'd need to make sure that you wouldn't eg. double increment taskSuccessful from two simultaneous completions for the same task.
you probably meant something to handle all this, and maybe it can be done, but at least so far, its not totally obvious to me what the right solution is.
@Ngone51 that is an interesting possibility ... I will think through that some more as well.  I think it could be made to work, though the more duplicated state we have, it will only get even harder to reason about this already complex beast.

That does make sense. I was wondering whether we can use @Ngone51 's solution which was almost what my PR was doing initially(earlier commits where we had a different method that would just update successful(index) = true) rather than calling markPartitionCompleted from event loop as it will be called from TSM on handleSuccessfulTask as in PR #21131.

sorry I haven't had a chance to look at this more.  I did look at ways in which the DAGScheduler currently interacts w/ the TaskSchedulerImpl, and though it does get a lock on it sometimes, its when stages are created etc., -- nothing so common as every task finishing.  I think it would be really bad to require getting that lock per-task.
I still don't have better solutions than what @Ngone51 is proposing above, though.

ok then let me try @Ngone51 's solution and test it out first. We can review from there later. Thank you.

Sorry for late reply, was on my vacation past days. Just ping me if you post another pr.

Actually this PR was not merged due to network error when I was running the merge script, feel free to update this PR with the new solution.

Test build #102485 has started for PR 22806 at commit b55dbb0.

Test build #102485 has finished for PR 22806 at commit b55dbb0.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102485/
Test FAILed.

Test this please

Test build #102486 has started for PR 22806 at commit 551f412.

Test build #102486 has finished for PR 22806 at commit 551f412.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102486/
Test PASSed.

@squito @Ngone51 @cloud-fan Have updated the PR combining @Ngone51 's suggestions with some observations of my own. Seems to work. So now, on failure of a task, TSM will check whether the corresponding partition is complete, if so, it will call markPartitionCompleted(). All this happens in the handleFailedTask() synchronized block. Request you to review the PR. Thank you.

can you update the PR description? Now we mark partition as completed in both DAGScheduler and TaskSetManager. We should explain why it works.

Thank you @cloud-fan Have updated the description.

test this please

Test build #102508 has started for PR 22806 at commit 28017ed.

This change fixes it by moving that logic into the DAGScheduler event loop.

In this PR, it's not moving, but duplicating. Do we still need that logic in TaskSchedulerImpl?

Sorry, I have updated the description. Yes, we still need the old logic in TaskSchedulerImpl, if we do not want to add any extra synchronization or lock to fix the issue as discussed previously in this PR.

Test build #102508 has finished for PR 22806 at commit 28017ed.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/102508/
Test FAILed.

IMHO, the updated PR is far way from my proposal mentioned above. And considering this pr's discussion may be too long for other people to follow, I'd like to post another pr separately.

I would like to disagree with you on the above @Ngone51 , the PR is an implementation of your proposal, but with one change.

In TaskSchedulerImpl we maintain a map, e.g. called stageIdToFinishedPartitions. And each time we call sched.markPartitionCompletedInAllTaskSets(stageId, tasks(index).partitionId, info), we do an extra thing, updating the finished partitionId into stageIdToFinishedPartitions. Then, when creating a new TaskSetManager In TaskSchedulerImpl, we always excludes Tasks that corresponding to the finished partitions firstly by looking into stageIdToFinishedPartitions.

In your proposal above, you have mentioned that we can look the map stageIdToFinishedPartitions and exclude those partitions which are finished while creating a new TSM. This was exactly the reason I had to come up with the PR in the first place as when the new TSM is created, the tasks from the previous stage attempt are still running so partitions are not yet marked as complete.
I have basically come up with a solution to ensure that once the partition completes, other tasks running on the same partition fail once and then do not get rescheduled as it is happening currently. The problem with the old change was that we were not using a lock while calling markPartitionCompleted() from TaskSchedulerImpl, the new solution ensures that all calls happen within the lock and no new locks need to be created.

Test this please

mind closing this now @pgandhi999 ?

Sure. Thank you @squito .


Replace regex parser by a more robust implementation

As soon vscode release:
Provide an API for advanced/semantic source highlighting
https://github.com/Microsoft/vscode/issues/585
We can publish a more robust implementation.

As discussed in #16, I think it may be time to move forward with this plan. At least, change things up a bit in the token matching functionality. There are some limitations imposed by the usage of \b tokens as word boundaries, and we also have some problems with multiple modes (such as ignore-blocks, single-line expressions and opening tokens being the same as closing tokens).
As such, I think maybe we could move to using an external library to do the parsing heavy-lifting. I'm not familiar with the JS tooling for this, but Jison seems like a good lead.


Removing attachments from passing tests

Forgive me on this question, as it is described in your [documentation] (https://github.com/allure-framework/allure-core/wiki/Attachments), but I cannot seem to get this to work.  I've tried three things to delete my attachments for passed tests:

put allure.properties in my resource folder with an entry allure.report.remove.attachments=.*\.png
set a command line parameter in my pom

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.16</version>
  <configuration>
    <encoding>UTF-8</encoding>
    <inputEncoding>UTF-8</inputEncoding>
    <outputEncoding>UTF-8</outputEncoding>

    <suiteXmlFiles>
      <suiteXmlFile>testng.xml</suiteXmlFile>
    </suiteXmlFiles>
    <testFailureIgnore>true</testFailureIgnore>
    <forkMode>always</forkMode>
    <argLine>
      -javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/1.8.5/aspectjweaver-${aspectj.version}.jar
      -XX:PermSize=64M -XX:MaxPermSize=256M -Xms512M -Xmx512M
      -Dallure.report.remove.attachments=.*\.png
    </argLine>
  </configuration>
  <dependencies>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.8.5</version>
    </dependency>
  </dependencies>
</plugin>

set a system property entry in my code

Properties props = System.getProperties();
props.put("allure.report.remove.attachments", ".*\\.png");

In all instances, attachments remain if the test case passes.  Am I missing something on this? Should this be set somewhere else?
In addition, if I have other file types, for example .xml file, I want to remove, can the entry be a delimited list, for example comma separated?

@ehasenkamp sorry for the delay
could you please provide a sample project to reproduce the problem?

In addition, if I have other file types, for example .xml file, I want to remove, can the entry be a delimited list, for example comma separated?

The property is simply java pattern. So you can use | as well

I appologize for the delay, I was not active last week.  Here is a sample project.  The README explains how the tests are executed.

I just realized, this is happening in 1.5.0-RC1, but not in 1.4.19.  In the sample above, it's using your RC version.  When I downgraded to 1.4.19, the png files were removed.

@ehasenkamp I found the problem, thanks!

We should call fire(new RemoveAttachmentsEvent()...) instead of
https://github.com/allure-framework/allure-core/blob/master/allure-java-adaptor-api/src/main/java/ru/yandex/qatools/allure/Allure.java#L189
And there is no test for some reason =(


Kotlin support

Thanks for your plugin, it is very useful!
Since recently, I've been using Kotlin, and unfortunately the plugin seems to not performing any ordering.
Is it possible to make the plugin work with a code written in Kotlin?

@veontomo I'm sure there is a way! I will look into Kotlin support soon.


Intellisense is not providing possible values on const part of TableRelation and CalcFormula properties

When creating a conditional TableRelation or a CalcFormula Intellisense is not providing possible values on const part of TableRelation and CalcFormula properties when the field involved is a Option field.
Intellisense always shows true and false as possible values.
As setting up the TableRelation and CalcFormula properties is quite a challenge in VSCode this omission surely does not make it easier.
BTW: it would be really useful to have code snippets for both the TableRelation and CalcFormula properties to have an example to start from.

Thanks for reporting, Luc. This is a known gap and is on our long-term backlog

This is fixed in the latest release, so I will close it.


Add alias ghc: Shorthand way to clone repos from GitHub

Example:
ghc jamen/sandbox

Have you heard about hub? It provides this same functionality with a much greater flexibility. With it you can git clone jamen/sandbox or even git clone sandbox.
Disclaimer: I'm not associated with oh-my-zsh -- just stumbled upon it. I'm also not associated with hub, either.

I have heard of hub (that's actually partially what inspired me to make this), however I don't believe hub is included with oh-my-zsh by default, but it does support it through the git plugins.
I thought it would be nice to have a simple little function by the get-go.


Plan for upgrading to lit-html's upcoming new syntax

Because lit-element.js export html from lit-extended, upgrading to the upcoming new main module of lit-html with it's new syntax is going to be a little tricky. There necessarily has to be a breaking change, but I think we can minimize it.
I propose we phase the change over three releases of lit-element:

When the next version of lit-html is released, add htmlExtended and htmlNew exports. Users can import them like import {LitElement, htmlExtended as html} from 'lit-element';. htmlExtended is marked deprecated.
htmlNew gives the option of adopting the new syntax right away. htmlExtended gives the option of making sure that the change in the next release won't cause a break.

Switch the html export from lit-extended to the main lit-html html export. Deprecate htmlNew.

Remove htmlExtended and htmlNew.

We can also offer two codemods for jscodeshift to make this easier: One to change from importing html to htmlExtended as html, and another to change from htmlNew as html to html. We could theoretically upgrade templates too, but that's a bit more work.
cc @sorvell @kevinpschaaf

My 2 cents is to just do a breaking change with semver, and do away with this htmlNew, htmlExtended business

yeah we dont have version 1.0 yet so people knew that changes were about to be made

I kinda like the smooth migration path proposed by @justinfagnani even I understand the idea behind @ernsheong and @Noooil suggestion. If you can keep it smooth, do it (IMHO and all that...)

I’m also for a clean cut, if it’ll be staged, I’ll have to do project-wide changes twice, instead of doing it once and moving forward.

Another problem with the clean cut approach is that projects that get multiple versions of lit-element and lit-html might have problems if they're sharing templates (due to instanceof not working).
We could decide to live with that pain for a short while and make projects upgrade all their templates at once to upgrade lit-element.

If you've got the time to do three releases, publish them all at the same time. Those of us that can can just upgrade to the latest and those that have more complex dependency graphs can upgrade as makes sense for them.

It's a simpler mental model to track significant API changes using semver than a phased/transitional approach. I'd prefer to not have to update versions/references/code twice. $0.02.

+1 to what @claytongulick said. Proper semver and good release notes go a long way.

I agree—semver is the way to go. For projects using both lit-element and lit-html, the offset in APIs could be mitigated via peer dependency warnings.
Personally, I've been very aware that the current API isn't final when using lit-element in our projects. Having a breaking change before 1.0 seems reasonable, and could initially be introduced as 1.0 pre-releases if that helps projects transition + gather feedback.

Changes are now merged to master, currently published under the dev tag and will be included in the upcoming 0.6 release.


Remove Aidan from CODEOWNER

Proposed changes
I am not actively participating in reviewing Kaia Docs, and there are more appropriate persons on the CODEOWNER list.
I also recommend assigning less CODEOWNER for the global scope and separating their responsibilities into each section.
Types of changes
Please put an x in the boxes related to your change.

[ ] Minor Issues and Typos
[ ] Major Content Contribution
[x] Others

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to reach out. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING GUIDELINES
[x] I have read the CLA and signed by comment I have read the CLA Document and I hereby sign the CLA in first time contribute
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

@aidan-kwon , can you please drop CLA comment here. Thanks


Does not lemmatize all

things returns things. does not work for that word.

2.7.2 :004 > lemma.lemma("things")
=> "things"


30 4.6 print applications

US_4.6 (connects to #30)
Implemented the ability to print all applications for an event at once from the event's detail page.

Coverage remained the same at 100.0% when pulling 265b98b02873f4036110797eacfebf3558f4cbed on 30_4.6_PrintApplications into d675db0fec5e35809397b8839cce1c8e17280516 on dev.

Coverage remained the same at 100.0% when pulling 627cba0590930473aa7ced9b57f8a076d5871437 on 30_4.6_PrintApplications into d675db0fec5e35809397b8839cce1c8e17280516 on dev.

Coverage remained the same at 100.0% when pulling 9dc21ac1d1988e09b923f584c2841318a2ec2d5d on 30_4.6_PrintApplications into d675db0fec5e35809397b8839cce1c8e17280516 on dev.

Coverage remained the same at 100.0% when pulling ba7777a7f5aa41b0d4d113813adbb596734faf17 on 30_4.6_PrintApplications into ebba0740c78923e43e66e68a4663ed007c482446 on dev.


CodeMirror.version is behind actual release number

That was a mistake in the release script. I've released a 5.20.2 with a correct version number.


Fixes sub-second sleep waiting for process end (#73)

Addresses #73 by simplifying multi-process shutdown logic.

But how do you stop sanic now? You removed the signal handlers and ignores ctrl-c.

Because the event propagates to the forked processes, you'd have to issue it twice otherwise. When you call Event.wait(..) it's waiting for the internal flag to be set, which doesn't really matter if we're shutting the server down anyway. All shutdown functions are handled in the event loop prior to the process halting.

Will reopen if necessary.


Azure Static web apps role management with custom IdP

Describe the bug
Currently Azure SWA does not have an option to select custom IdP as authentication provider for role management.
To Reproduce
Steps to reproduce the behavior:

Open Azure SWA
Click on 'Role Management'
Click on "Invite" button.
Under authentication provider we can see it list only standard IdPs like AAD, GitHub, twitter. (FB(preview), Google(preview))
I am filing it as a bug rather a feature request because Azure SWA provider an option to configure custom provider as documented at https://docs.microsoft.com/en-us/azure/static-web-apps/authentication-custom?tabs=aad.

Expected behavior
An option to provider custom provider config for role management.
Screenshots

Device info (if applicable):

OS: N/A
Browser NA
Version NA

Additional context
NA

@mkarmark @anthonychu Any suggestion would be appreciated.

Hi thanks for this article. I am sending custom claims in the openid auth app from Okta. I can access those claims when using Okta SDKs and typical ExpressJS apps, but how can I access them in SWA?

@router19 we've recently added support for assigning roles to users programmatically using serverless functions, see documentation on role management and Tutorial: Assign custom roles with a function and Microsoft Graph

@adrwh you can now access claims at <YOUR_SITE_URL>/.auth/me , please let us know if that fits your use case.


[BUG] (potential roblox issue) Error Code: 403 when trying to join a game/launch roblox through the website

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
When trying to join a game, (whitelisted however it has happened in the past on Deadzone Classic) Bloxstrap launches and loads, but Roblox doesn't, and throws and error code. (see img 1)

I have had this issue with Roblox/Bloxstrap in the past in Deadzone Classic,(https://www.roblox.com/games/3221241066/DEADZONE-CLASSIC) which I somehow previously fixed in some way that might involve opening the Roblox app itself and doing something in that, but I do remember that deleting the Roblox folder in %appdata% did nothing to help and threw the same error code, I have MSI afterburner installed and the preliminary Rivastatics tuner that's with the program, which I've also had issues with in the past, but both are completely off and are not started on startup, and are not seen in task manager or another program such as Process Lasso. I would like to note that in both cases, Roblox and Bloxstrap were running together in tandem perfectly, and afterwards ~4-5 hours afterwards of my PC being on, it seems to of caused this error code.
(below will contain all .log files from today and the 5th (2 days ago)
Bloxstrap_20240605T203149Z.log
Bloxstrap_20240607T144134Z.log
Bloxstrap_20240608T012118Z.log
Bloxstrap_20240608T012213Z.log
Bloxstrap_20240608T012341Z.log
Bloxstrap_20240608T012358Z.log
Bloxstrap_20240608T012409Z.log
Bloxstrap_20240608T012732Z.log
Bloxstrap_20240608T012809Z.log
Bloxstrap_20240608T012913Z.log
Bloxstrap_20240608T013454Z.log
(edit)
I would also like to add that I have not touched any major components of Bloxstrap, and practically everything that is in the options for the program is as it comes with the initial install.
(edit#2)
Launching Roblox with the Play Roblox shortcut/direct program that Roblox uses, launches, and plays a game with Bloxstrap perfectly without issues, but after launching the same exact game but with the web browser this time, it throws the same exact error as before, with these 2 logs attached.
Bloxstrap_20240608T015215Z.log
Bloxstrap_20240608T015344Z.log
(edit#3)
After restarting my pc and double checking that MSIA or RST is not running, I tried launching Roblox through the site as I did in edit2, on the same game, and I got the same error code.
Bloxstrap_20240608T020127Z.log
(edit#4)
Did a driver update and the same exact error was thrown. (GeForce drivers with a intel CPU)
Bloxstrap_20240608T021908Z.log
(edit#5)
After a day, I decided to try and load up a Roblox game again using Bloxstrap and through the website once again on Deadzone Classic, and for whatever reason somehow it worked just fine, but reset all my Roblox settings.
Bloxstrap_20240608T185243Z.log

As the preliminary instructions asked, does this happen only when using Bloxstrap?

As the preliminary instructions asked, does this happen only when using Bloxstrap?

Sorry for the late reply, but yeah it does only happen when using Bloxstrap, and it just happened to me again, and I can't see any new drivers to install for my pc. This only happens through the website, and won't happen if I'm using the actual Play Roblox shortcut/app.

Hey, I found the fix for this issue, and for whatever reason I was getting logged out of the Bloxstrap.exe app itself, but not anything else, causing the error. To fix it I had to go to %appdata% in run, then Local, and then Bloxstrap, and launch Bloxstrap.exe where I logged into Roblox from there.

None of this really makes any sense because it doesn't matter how Roblox is installed, it handles authentication the exact same way.

yeah it does only happen when using Bloxstrap,

When/how did you try it without?

With Bloxstrap, did the error happen consistently for subsequent launches?

Issue has been awaiting clarification for over a month, closing as stale. If you have anything further to add, just respond and I'll reopen.


gtk+: depends on cairo --with-x11 for Linuxbrew

As reported in #632

:+1+

Merged. Thanks, Piotr!

On second thought, this issue should have been resolved differently.
:x11 should be a :recommended dependency of cairo for non-Mac systems.
Would you like to take a stab at a patch that does that, then I'll revert this patch.

Not sure if I am capable but will give this a try tomorrow (so probably late evening for you, @sjackman ;) ).

See for example https://github.com/Linuxbrew/linuxbrew/blob/master/Library/Formula/htop.rb#L18

Something like #986?

Yep, that looks about right to me. Thanks, Piotr.


IDF 5.0 RMT peripheral features (IDFGH-8537) (IDFGH-8538)

Is your feature request related to a problem?
With the current RMT peripheral, I can pre-load data into the RMT memory with direct access and control exactly when the transaction is sent. With the new 5.0 driver, direct memory access is depreciated, and there is no means to pre-load transaction data before we initiate the transaction.
Describe the solution you'd like.
We need some functional equivalent to pre-load the RMT memory before starting the transaction.
Describe alternatives you've considered.
There is still the legacy driver; this is obviously not a great long-term solution. We should be able to use the new encoder and driver types to preload the RMT channel memory before sending the transaction. This is huge for time-critical implementations where we need to start a transaction at an exact moment.
Additional context.
No response

Hi @mitchellcairns Direct access to RMT hardware memory is not taken into consideration in the new driver, this is mainly because, on ESP32S3, the RMT also has the DMA access ability. We introduced the encoder interface to extract the difference between various kinds of memory access modes. Can your requirement be addressed by customizing another encoder? Or do you think we should allow user to pass a NULL encoder handle, and in that case, we don't do encoding for the user, and just start the transmission? (this way, user has to manipulate the RMT memory in the application layer, but not easy to implement a ping-pong buffer)

I think as an example, the i2c peripheral handles the workflow fairly well. Being able to set up the information that needs to be sent out ahead of time, then only needing to call one function to start the transmission is great.
Something that functions as below
rmt_tx_encode(rmt_channel_handle_t tx_channel, rmt_encoder_handle_t encoder, const void *payload, size_t payload_bytes)
Ideally, there should be a NULL encoder which allows us to form our own rmt_symbol_word_t buffers without the need to create an encoder. There are a lot of situations where having to set up an encoder only makes the codebase more obtuse when we just need to get some pre-constructed data out.
I think keeping rmt_transmit with the current function is fine, but being able to split up the acts of loading the RMT channel memory and starting the transmission is vital.
Then just a simple
rmt_tx_start(rmt_channel_handle_t tx_channel, bool continuous_transmission)
There should also be
rmt_tx_stop(rmt_channel_handle_t tx_channel) to stop continuous transmission events. There are instances where we'd want to stop transmission but not stop the whole RMT channel.


no requirejs

Can you please bundle this awesome API for use without requirejs? I just want to load a minified version and use the directives and now I can't :)
Grtz

Doesn't use require -- you can check the release folder. I don't provide minified files, but you can easily download and handle that in your build.


Tweak HCT conversion algorithm for better accuracy and improve speed

Hopefully my last pass at this. This simplifies our conversion algorithm back from HCT and improves accuracy.

@gir-bot lgtm


update package json

Installation issue update package json ..
Syntax error cleared.
PR https://github.com/cpdevelops/simple.css/pull/43

Cleared in #43


feat: upgrade go version 1.17 to 1.18

What type of PR is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug
/kind documentation
/kind enhancement
/kind good-first-issue
/kind feature
/kind question
/kind design
/sig ai
/sig iot
/sig network
/sig storage

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

other Note

@fengshunli Thank you for posting pull request. but i think it's not good idea to upgrade go version at present, maybe we can consider the version upgrade of golang after OpenYurt v1.3 release completed.
because except golang version upgrade, we also need to consider the k8s.io/xxx version upgrade.

@fengshunli please fix ci errors.

@fengshunli please fix ci errors.

done


Update the dependency to core-java 0.10.56-SNAPSHOT.

Auto-generated PR to update core library dependency to the latest version.

Version already updated in https://github.com/SpineEventEngine/jdbc-storage/pull/85.


Question about having multiple vertical span objects

Question
Hi Louis, I have a dummy question. Is there a way to have multiple VerticalSpan objects for different vertical spans with different colors? Thanks!
Code example
No response

You can apply multiple spans on the same chart/subchart, but if they overlay best to set the alpha <1

You can apply multiple spans on the same chart/subchart, but if they overlay best to set the alpha <1

Thanks @karunkrishna, I am able to have multiple spans on the same chart. However, I do not know how to reference in order to delete the spans. Do you have a suggestion? Very much appreciated!!!

Assign each vertical span to a variable (for example span1).
When you create a vertical_span, it returns the object VerticalSpan
You can then do delete on said variable
for example:
span1.delete()
...
span3.delete()
therefore you need to keep track of the span programmatically

@karunkrishna Very much appreciated your sugestion!!!


Rich Text Editor (RTE) License compatibility

Is your feature request related to a problem? Please describe.
Hi, I would like to bring to your attention a matter related to the license used by the Rich Text Editor (RTE) in Structor. I have noticed that the current RTE implementation utilizes CKEditor, which is licensed under the GNU General Public License (GPL). On the other hand, Structor itself is licensed under the permissive MIT License.
Describe the solution you'd like
The use of CKEditor's GPL license in conjunction with Structor's MIT License may raise certain concerns related to compliance and potential licensing issues. To address this, I would like to propose an alternative solution. It would be beneficial to consider adopting a more widely-used RTE like Draft.js, which is hosted at https://github.com/facebookarchive/draft-js and also carries the MIT License.
By transitioning to a non-GPL licensed RTE, we can align with Structor's permissive MIT License and potentially avoid any licensing complexities. Draft.js presents itself as a popular and well-supported option that is in line with our licensing requirements.
In support of this proposition, I am more than willing to contribute to the implementation and create a Pull Request (PR) to facilitate the necessary changes.
Additional context
I kindly request your consideration of this proposal and would be pleased to discuss further details or provide any additional context if needed.

Hi @imanesaurus
We are looking at the issue.

We are allowed to use GPL licensed components, libraries, etc even though we ourselves license Structor under MIT as long as we make the code available, like we have done by open sourcing Structor's code.

If you distribute YOUR APPLICATION, and you used something GPL as part of your application (even if only linking at run-time to a library) - and even if you do not charge money - and even if you do not change that GPL s/w in any way - then you MUST make the source of YOUR APPLICATION available.


fix should not push down sink when last exchange do limit (#31622)

pick from master #31622
commit id 585d12431c310c006b55bb81208b5805f381c3ed

run buildall


setMaximumDate() adding an extra day

I need to set minimum and maximum date in CalendarView. However, minimum is working fine but when I set maximum day, I am getting an extra day. I checked with native android's calendar which is also showing an extra day. I tried setting UTC TimeZone in my app but in vain.
Following is the code I tried.
// Today's calendar
Calendar startDate = Calendar.getInstance();
startDate.set(Calendar.MILLISECOND, 0);
startDate.set(Calendar.SECOND, 0);
startDate.set(Calendar.MINUTE, 0);
startDate.set(Calendar.HOUR_OF_DAY, 0);

// Adding two days
Calendar endDate = Calendar.getInstance();
endDate .setTimeInMillis(startDate.getTimeInMillis());
endDate .add(Calendar.DAY_OF_YEAR, 2);

// Setting minimum and maximum dates
calendarView.state().edit()
            .setMinimumDate(startDate)
            .setMaximumDate(endDate)
            .setCalendarDisplayMode(CalendarMode.MONTHS)
            .commit();

I found the problem. I was doing some mathematical mistake.  Everything's working fine...


iPhone X 12.1.1b3 random app crashes and CC freeze

So for a while I've had some odd stuff happening on my iPX running u0 beta 50.
Occasionally when I try to open Instagram/Photos/YouTube/Camera, I will get sent into Safe Mode as soon as I click the icon. Then I restart the SpringBoard, try it again and sometimes it works, another it repeats the issue until it resolves itself by 1/2 more SpringBoard restarts.
Onto the second issue - sometimes when I'm turning Data on, or my Wi-FI off from the control center, my entire phone will freeze. The screen will stay on, but it won't respond to touch or turn off by holding down the Power button - it just ignores everything and is stuck like that for a minute or two before respringing and being fine again. I noticed that when it happens the music/podcasts don't stop - the issue has occurred while I was at the gym and despite freezing music kept playing through my wireless earbuds.

Same here... anyone knows something about it already?


Out-of-TH asset processing

There are multiple issues with processing assets in TH such as slowness, out-of-memory errors with ghcjs. Sometimes it's hard to build processing code for ghcjs (for example, flaw-collada now uses xml-conduit which is impossible to build with ghcjs). The solution is to separate processing tools from game, and use TH only for type safe inclusion of assets, but do actual processing in a separate executable spawned from TH.

The problem has been addressed by introducing asset packs since 540df65c4d4cb5833b78ffa5d066e180526228d2. Web builds are available again, but need some thinking nevertheless. For example, choice between plain texture format and encoded (TextureInfo + bytes) must be made explicitly, so it may break cross-platform abstraction. Plain RGB textures are not supported in OpenGL, and so on.


Hangs when using deasync

Prerequisites

[X] Checked that your issue hasn't already been filed by cross-referencing issues with the faq label
[X] Checked next-gen ES issues and syntax problems by using the same environment and/or transpiler configuration without Mocha to ensure it isn't just a feature that actually isn't supported in the environment in question or a bug in your code.
[X] 'Smoke tested' the code to be tested by running it outside the real test suite to get a better sense of whether the problem is in the code under test, your usage of Mocha, or Mocha itself
[X] Ensured that there is no discrepancy between the locally and globally installed versions of Mocha. You can find them with: node node_modules/.bin/mocha --version(Local) and mocha --version(Global). We recommend that you not install Mocha globally.

Description
Using deasync makes the code hang instead of run
Steps to Reproduce

Load test repo: https://github.com/daveisfera/mocha_deasync
Run yarn test and verify it works without mocha
Run yarn mocha and verify that it hangs when running with mocha

Expected behavior: [What you expect to happen]
Runs to competition with mocha as it does without
Actual behavior: [What actually happens]
Running with mocha hangs and prevents us from being able to run our tests
Reproduces how often: [What percentage of the time does it reproduce?]
100%
Versions

The output of mocha --version and node node_modules/.bin/mocha --version: 8.1.3
The output of node --version: 14.12.0
Your operating system

name and version: macOS 10.15.6
architecture (32 or 64-bit): 64-bit

Your shell (e.g., bash, zsh, PowerShell, cmd): zsh 5.7.1 (x86_64-apple-darwin19.0)
Your browser and version (if running browser tests): N/A
Any third-party Mocha-related modules (and their versions): N/A
Any code transpiler (e.g., TypeScript, CoffeeScript, Babel) being used (and its version): N/A

Additional Information
We used to use --require to load the settings before the tests, but that doesn't work with native support for ESM in node 14 and esm doesn't yet support optional chaining/nullish coalescing, so loading this "inline" (i.e. doing the deasync in the settings itself upon import) was a solution that worked for running our apps, but didn't work when running our tests in mocha

I don't trust this esm package. It's not well maintained anymore and I remember having had problems with it in the past.
Could you pass -r esm directly to Node, please? And see what happens?
node -r esm node_modules/mocha/lib/mocha test.js or via NODE_OPTIONS.

Here's the results of the tests with different ways of running with esm:
NODE_OPTIONS="-r esm" node_modules/.bin/mocha test.js - hangs in the same way
node -r esm node_modules/mocha/lib/mocha.js test.js - exits without doing anything
node -r esm node_modules/mocha/bin/mocha test.js - hangs in the same way
Here's a test from running with the ESM support from node 14:
NODE_OPTIONS=--experimental-specifier-resolution=node node_modules/.bin/mocha test.js
And that fails with this error:
yarn run v1.22.10
$ NODE_OPTIONS=--experimental-specifier-resolution=node node_modules/.bin/mocha test.js
internal/process/esm_loader.js:74
    internalBinding('errors').triggerUncaughtException(
                              ^

TypeError [ERR_INVALID_RETURN_PROPERTY_VALUE]: Expected string to be returned for the "format" from the "loader getFormat" function but got type object.
    at Loader.getFormat (internal/modules/esm/loader.js:110:13)
    at async Loader.getModuleJob (internal/modules/esm/loader.js:230:20)
    at async Loader.import (internal/modules/esm/loader.js:164:17)
    at async Object.loadESM (internal/process/esm_loader.js:68:5) {
  code: 'ERR_INVALID_RETURN_PROPERTY_VALUE'
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

NOTE: If I added the .js to the import in test.js and remove the need for specifying node resolution through NODE_OPTIONS, then it hangs like the other tests

node test.mjs
Above doesn't work, without esm and but with extension .mjs?

We used to use --require to load the settings before the tests, but that doesn't work with native support for ESM in node 14 [...]

Btw I'm quite sure Mocha's require does support ESM modules.

node test.mjs
Above doesn't work, without esm, but with extension .mjs?

Using .mjs hangs as well

We used to use --require to load the settings before the tests, but that doesn't work with native support for ESM in node 14 [...]

Btw I'm quite sure Mocha's require does support ESM modules.

That comment was meant in relation to doing node --require settings.js test.js so that settings would pre-load before the rest of the modules and worked with esm but doesn't work with node's built-in ESM support

well, this hangs without mocha by renaming test.js to test.mjs and running node --experimental-specifier-resolution=node test.mjs (node v14).  so I'm inclined to think it's not really a mocha-specific issue

I really have no idea what is causing readFile to hang, or what deasync is doing

you could try --experimental-json-modules and import the .json file, or import { createRequire } from 'module' and const require = createRequire(import.meta.url); require('data.json') but none of this helps you if you need to load some binary blob

Yes, I agree that I could rewrite this example is ways that would work using synchronous file operations, but this is just an example to demonstrate the problem I'm having reading from a database with calls that are only promise based.
Also, I agree that I can do things to node that will reproduce the same sort of behavior (see the linked issues in the original comment), but I was hoping that I could get this to work with esm and mocha because fixing node appears to be a very big change to support pre-loading imports

I think what's happening is that Node.js' native module system is taking over, when you want to be using esm instead.  I got it to work by doing this:

Rename settings.js to settings.mjs
Rename test.js to test.mjs
Ensure the import statement points to settings.mjs (not settings or settings.js); it must have a file extension
Add {"esm": {"force": true}} to your package.json
rm -rf node_modules/.cache/esm
Run node_modules/.bin/mocha -r esm test.mjs

I am not sure what force actually does, but...

I'm going to close this, as it's an esm/node issue...

Just FYI, the update to 8.2.0 makes this happen with node 12 as well


RTSP Caching

Hello I'm working on a video application with an RTSP stream. Is it possible to reduce latency in another way than :
                        initOptions={[                             "--rtsp-tcp",                             "--network-caching=" + 0,                             "--rtsp-caching=" + 0,                             "--tcp-caching=" + 0,                             "--realrtsp-caching=" + 0,                         ]}
Thanks.

Do you have any idea where to look?

@StevenB45  Hi
I solved it by editing his code.
ReactVlcPlayerView.java
m.addOption(":network-caching=150"); // line 394
mMediaPlayer.setMedia(m);
mMediaPlayer.setScale(0);

@StevenB45  Maybe you can use my fork.

Hello,
Thank you for this answer I will try!
Thank you very much!!!!

Hello,
Thank you for this answer I will try!
Thank you very much!!!!

If you use my fork, you should use mediaOptions.
<VLCPlayer
      style={{flex: 1}}
       mediaOptions={[
          ":network-caching=300"
        ]}
      source={{uri: Config.rtsp}}
     onPlaying={this.onPlaying}
 />

Hello,
I tried your solution but it doesn't work.
In your ReactVlcPlayerView.java, line 394 is commented and latency is not reduced with android.
I send motion commands to a camera that broadcasts RTSP and I try to reduce the latency between pressing a button and displaying the video. This works on iOS by modifying
':network-caching': 0,
':live-caching': 0,
directly into the module.
I use the VlcSimplePlayer component.
Thanks

@fh345392977 Thank you, i've tried your fork and it works very well on android, but i have a problem :
on iOS: initType={2} not working like the original
 initOptions={[
 "--network-caching=" + 30
 ]}
is not working. On android, the video is displayed in 3-4 seconds with this setting, but on iOS it doesn't seem to work (10-15 seconds).
Have you an idea?
Thank you so much for your work!

Hi,
working with this code on iOS:
<VlcSimplePlayer
 style={{position: 'absolute', height: '100%'}}
 url={streamUrl}
 videoAspectRatio={wp('100%') + ':' + hp('100%')}
  autoAspectRatio={true}
 isLive={true}
 autoplay={true}
 autoReloadLive={true}
 initType={2}
 initOptions={[
  '--network-caching=' + 30,
 ]}
 mediaOptions={{
 ':network-caching': 30,
   }}
   />
But, the application crashes... I open a first stream, everything goes well, I have the video in 3-4 seconds but once I open this stream or another one after the second or third time, the application freezes and crashes. No problem with an initType={1} I don't understand...

@StevenB45 Actually I edit some code in my fork, I will check it again when I'm free this week.

@fh345392977 Thank you so much! I do not have any errors in the log, I don't understand. Thank you again for your answers. !

Hi @fh345392977 , @xuyuanzhou .
How to reproduce my problem :

git clone https://github.com/StevenB45/vlc-crash-test.git
Download MobileVLCKit.framework
Copy file into 'vlcKit' folder
yarn install
Open project with Xcode, and set 'iOS Deployment Target' to 9.3
Run the project
Click on "PLAY" and "GO BACK"
After once or twice tries the app crashes
if you set initType={1} in "App.js", no problems but `initOptions" won't work.

Thanks 🙏

@StevenB45
About ios crash, you can try this.
https://github.com/xuyuanzhou/react-native-yz-vlcplayer/issues/34#issuecomment-472399327

@fh345392977 thank you very much.
The test build of application that I'm working on does not crash anymore but the player does not close properly. Sound is being reproduced in the background on different channels.

@StevenB45 I also tried bu commenting out code mention by @fh345392977 , it worked but had player not closing issue , what I did for this was, I did save player object to a reference  and pause the player when un mounting the component and setting null to player object, It solve the issue but still there is a memory stacking issue memory does not create when close the player
vlcPlayer;

componentWillUnmount() {
       /**
         * Pause player when un-mounting the component to resolve a VLC bug
         *
         * TODO: even though player got paused memory get stacking , find a solution to clean memory
         */
        if(Platform.OS === 'ios') {
            this.vlcPlayer.pause();
            this.vlcPlayer = null;
        }
    }

render() {
    <View>
         <VlcSimplePlayer
                                    ref={ref => (this.vlcPlayer = ref)}
                                    url={streamUrl}
                                    autoplay={true}
                                    isLive={true}
                                    autoReloadLive={true}
                                    style={{width: "100%", height: 200, marginTop: 30}}
                                    onStartFullScreen={this.onStartFullScreen}
                                    onCloseFullScreen={this.onCloseFullScreen}
                                    initType={2}
                                    hwDecoderEnabled={1}
                                    hwDecoderForced={1}
                                    initOptions={[
                                        "--no-audio",
                                        "--rtsp-tcp",
                                        "--network-caching=" + 150,
                                        "--rtsp-caching=" + 150,
                                        "--no-stats",
                                        "--tcp-caching=" + 150,
                                        "--realrtsp-caching=" + 150,
                                    ]}
                                />
    </View>
}

Thank you @cchamikara, we have recompiled the MobileVLCKit.framework to directly integrate the cache inside and now it's working for me.

@StevenB45 could you please share how did you do that ?

@cchamikara we have followed the documentation : VLCKit. It's very complicated to compile without errors.

@StevenB45 have you integrate "--rtsp-tcp" along with other init options directly as well ? if so will you be able to share compiled framework with me ? as I'm also facing same issue as you and above fix cause to a memory stacking

@cchamikara we have added  @"--rtsp-tcp",                       @"--network-caching=150",                       @"--rtsp-cachin=150",                       @"--clock-jitter=150",                       @"--tcp-caching=150",                       @"--realrtsp-caching=150", into VLCLibrary.m

@StevenB45 thanks will give it a try , did you use master branch of VLCKit and ran  compileAndBuildVLCKit.sh command ? is that it ? (because VLCKit wiki says to run ./compileAndBuildMobileVLCKit.sh -f but that bash file is not there )

@cchamikara I sent you an email to download the file, did you receive it? We used "3.0" branch.

@StevenB45 no I didn't get the link can you try<EMAIL_ADDRESS>or<EMAIL_ADDRESS>?

@cchamikara :
  <VlcSimplePlayer
style={{position: 'absolute', height: '100%'}}
url={streamUrl}
videoAspectRatio={wp('100%') + ':' + hp('100%')}
isLive={true}
 autoplay={true}
autoReloadLive={true}
mediaOptions={{
   ':network-caching': {cameraCache},
    ':live-caching': {cameraCache},
 }}
  />

I faced the same problem in here is my solution:
                <VLCPlayer
                    style={{ width:"100%", height:'100%' }}
                    source={{ uri : 'rtsp://...' }}
                    mediaOptions={{
                        ':network-caching': 150,
                        ':live-caching':    0,
                        ':file-caching':    0,
                        ':live-caching':    0,
                        ':network-caching': 150,
                        ':clock-jitter':    0,
                        ':clock-synchro':   0,
                    }}
                    initType={2}
                    initOptions={[
                        "--no-audio",
                        "--no-stats",
                        "--rtsp-tcp",
                    ]}
                />

@cchamikara :
 <VlcSimplePlayer
style={{position: 'absolute', height: '100%'}}
url={streamUrl}
videoAspectRatio={wp('100%') + ':' + hp('100%')}
isLive={true}
 autoplay={true}
autoReloadLive={true}
mediaOptions={{
 ':network-caching': {cameraCache},
 ':live-caching': {cameraCache},
 }}
 />

Hi Steven,
Have you resolved the iOS crash issue, I have built MobileVLCKit.framework by myself, the crash issue is the same!

@cchamikara I sent you an email to download the file, did you receive it? We used "3.0" branch.

can u send me the correct libary ?

我在这里遇到的问题是我的解决方案：
                <VLCPlayer
                    style={{ width:"100%", height:'100%' }}
                    source={{ uri : 'rtsp://...' }}
                    mediaOptions={{
                        ':network-caching': 150,
                        ':live-caching':    0,
                        ':file-caching':    0,
                        ':live-caching':    0,
                        ':network-caching': 150,
                        ':clock-jitter':    0,
                        ':clock-synchro':   0,
                    }}
                    initType={2}
                    initOptions={[
                        "--no-audio",
                        "--no-stats",
                        "--rtsp-tcp",
                    ]}
                />

@MaximusBaton It works, but there is no sound in the hard interpreted video. I will change "inittype" to "1" to have sound

@cchamikara we have added  @"--rtsp-tcp", @"--network-caching=150", @"--rtsp-cachin=150", @"--clock-jitter=150", @"--tcp-caching=150", @"--realrtsp-caching=150", into VLCLibrary.m

can u send me the correct libary ?memory stacking still can't be released

@cchamikara I sent you an email to download the file, did you receive it? We used "3.0" branch.

Dude u can set the email to me?

I forked https://github.com/Nghi-NV/react-native-vlcplayer and include in my project just replacing VlcSimplePlayer to VlCPlayerView, he rebuild the plugin with rtsp. It worked on Android and iOS with no lag and crashes.

Although I do not use this package or react for that matter... I updated my app to use your settings and I can say the whole RTSP init process is quite a bit better.
Not sure if its setting the buffers to 150ms or forcing tcp/ip mode, but regardless, thanks!


Update bootstrap4.html

Update template breadcrumbs for bootstrap 4 (https://getbootstrap.com/docs/4.0/components/breadcrumb/)

Thanks, do you mind fixing tests so I can merge this?
test_render_bs4
test_render_empty_url_bs4

Squashed commits and updated tests, they should be passing now.
Can you double check that it still works for you?

@ozeranskiy are you happy with my update here?

@prymitive yes, tnx

I've just released 0.9.1 with this change

@prymitive nice)