Library security updates.

Fixes https://github.com/google/google-api-java-client/issues/1084
httpclient 4.5.5
jackson 2.9.6
There are currently three public CVEs for httpclient 4.0.1.
Filename: httpclient-4.0.1.jar | Reference: CVE-2011-1498 | CVSS Score: 4.3 | Category: CWE-200 Information Exposure | Apache HttpClient 4.x before 4.1.1 in Apache HttpComponents, when used with an authenticating proxy server, sends the Proxy-Authorization header to the origin server, which allows remote web servers to obtain sensitive information by logging this header.
Filename: httpclient-4.0.1.jar | Reference: CVE-2014-3577 | CVSS Score: 5.8 | org.apache.http.conn.ssl.AbstractVerifier in Apache HttpComponents HttpClient before 4.3.5 and HttpAsyncClient before 4.0.2 does not properly verify that the server hostname matches a domain name in the subject's Common Name (CN) or subjectAltName field of the X.509 certificate, which allows man-in-the-middle attackers to spoof SSL servers via a "CN=" string in a field in the distinguished name (DN) of a certificate, as demonstrated by the "foo,CN=www.apache.org" string in the O field.
Filename: httpclient-4.0.1.jar | Reference: CVE-2015-5262 | CVSS Score: 4.3 | Category: CWE-399 Resource Management Errors | http/conn/ssl/SSLConnectionSocketFactory.java in Apache HttpComponents HttpClient before 4.3.6 ignores the http.socket.timeout configuration setting during an SSL handshake, which allows remote attackers to cause a denial of service (HTTPS call hang) via unspecified vectors.

I signed it!

@chingor13 thanks!


Don’t drop articles from Today feed while it is selected

Merge fetched articles instead.

I believe this is already working, now that we dropped the midnight database fetch for this feed.


admin.credential.cert Invalid or unexpected token

I took this package to the latest version 11.10.1,  I always use this variation to connect to the database
admin.initializeApp({               credential: admin.credential.cert({                 'projectId': '----',                 'privateKey':                   '-----BEGIN PRIVATE KEY-----\n....\n-----END PRIVATE KEY-----\n',                 'clientEmail'<EMAIL_ADDRESS>              }),               databaseURL: https://pickapp-cl-qa-279013.firebaseio.com`,
});`
but now It's throwing this exception
 const initialSettings = this.firestoreSettings.get(databaseId) ?? {};   SyntaxError: Invalid or unexpected token   at Object.Module._extensions..js (node:internal/modules/cjs/loader:1250:10)
I have tested this from version 11.3.0 and below and it works as expected

Hey @tom-andersen this could be related to the multidb feature. Could you take a look when you have a moment? Thanks!

Hey @folmosr what version of @google-cloud/firestore dependency are you using in your project? Could you try upgrading @google-cloud/firestore to 6.7.0 and see if that solves the issue? Thanks!

Hey @lahirumaramba , I'm using these 2 packages
@firebase/firestore 4.0.0,
firebase-admin 11.0.0
I've taken @firebase/firestore to version 4.1.1 but I'm still having the same issue

Hey @lahirumaramba. The problem looks to be related to parsing the following line:
const initialSettings = this.firestoreSettings.get(databaseId) ?? {};
This might have something to do with the version of NodeJS. the ``??` operator requires v14 or higher.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing#browser_compatibility

Hey @folmosr what version of @google-cloud/firestore dependency are you using in your project? Could you try upgrading @google-cloud/firestore to 6.7.0 and see if that solves the issue? Thanks!

Hey @lahirumaramba  I tested this packed but I ended up getting the same result, now I can see there a new version of firebase-admin, I'll test this version and I will let you know how it goes, thanks.

I am having the same issue when I go to use any Admin SDK function after initializing with a service account.  Code works fine with v10.3.0 but fails with all v11 and v12 that I have tried.
The same issue is detailed in this SO post, including my comments from today.

I am having the same issue when I go to use any Admin SDK function after initializing with a service account. Code works fine with v10.3.0 but fails with all v11 and v12 that I have tried.
The same issue is detailed in this SO post, including my comments from today.
With v11.11.1 I get this exception:
/Users/greg/work/prod/tick8s/node_modules/firebase-admin/lib/auth/base-auth.js:421
        if (properties?.providerToLink) {
                       ^

SyntaxError: Invalid or unexpected token
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)

Note I am running my code as ESM yet I see the error above mentions /cjs/
UPDATE
This seems to be an ESM vs CJS issue. My code runs as ESM (it is an older codebase using node -r esm ...) and the stack trace here and in the OP indicates node:internal/modules/cjs/loader.
Trying to build a repro is proving challenging....the issue goes away with a clean codebase and nice/proper handling of ESM. The code works fine with v10, v11 and v12 in this configuration.

Hello! I have absolutely the same issue.
Could you please give more details on "the issue goes away with a clean codebase and nice/proper handling of ESM".
I can't understand where to start to dig at all.
Downgrading firebase-admin version is not an option now :(

@iaroslav-ianishyn by "ESM" I mean that my code base is now using "type: module" in package.json and all my code uses ESM syntax (e.g. import instead of require(), etc.)


Mechanism for storage of session state

Hi all,
Thanks for bringing this project a second life!
I am curious as to whether there are any plans for a mechanism to attach state to particular connection to the agent? I noticed @wiktor-k suggested something of this nature in #10, specifically in the comment here.
It would be useful for an agent handler to:

be able to tell different connections apart, and
to store information alongside a session, in a form such as a K/V store.

--
An example use case for this is the<EMAIL_ADDRESS>extension, included in recent versions of OpenSSH; which:

allows the agent to establish a trustworthy linkage between an agent connection and a SSH connection.

An example of the message structure is included in the repository already here.
--
Likely, this would require some form of breaking change (as the async fn handle(&mut self, message: Message) functions signature would likely need to change).

Hi @jcspencer !
Actually this should already be possible. Take a look at the example: https://github.com/wiktor-k/ssh-agent-lib/blob/main/examples/key_storage.rs#L32
The Session trait is meant to represent one connection while the Agent trait represents a collection of Sessions.
I believe @baloo had the same idea with session bind extension.
Hope this helps!

Thank you! I completely missed the fact that a new Session was instantiated each time a new connection was made.
Thanks so much!

Maybe I should highlight it better in the README 😅 so thanks for asking!
By the way, do you mind telling what are you using ssh agent lib for? Asking just out of curiosity since the library is quite niche...

That might be useful - thanks!
--
It's a bit of a long story! At $WORK, we are using smartcard authentication on Windows servers, which supports smartcard passthrough via RDP; this allows you to use Kerberos PKINIT to authenticate with an X.509 certificate remotely.
However, on Linux, while you can login with an certificate (that may come from a smartcard), you can't then use that same certificate to authenticate to Kerberos; this means you can't authenticate to other systems (or mount file shares, etc.) without using a password.
So we're testing out a set of SSH agent extensions that allow us to tunnel PKCS#11 through the agent protocol, with a client sitting on the server to act as a PKCS#11 module (using cryptoki) which kinit can use to authenticate the user via their (remote) smartcard.

However, on Linux, while you can login with an certificate (that may come from a smartcard), you can't then use that same certificate to authenticate to Kerberos

Oh, that's bad :/

So we're testing out a set of SSH agent extensions that allow us to tunnel PKCS#11 through the agent protocol

Sounds like a good idea and IIRC someone else also mentioned layering additional protocols over SSH agent extensions before :thinking:
While working on #26 and getting more intimate knowledge about the SSH protocol I learned about a small issue you may keep in mind. Extensions, just like a couple of other points in the SSH wire format, tie data layout to specific values on the bytestream. So, for example the datatype of the extension depends on the string value of the extension name.
That means that with the current set of structs your extension data types would have to live in this repo to be properly deserialized. I don't have anything against it but I'm planning to refactor the code to lift this limitation (it may take a bit of time).
Just something to keep in mind. It's not a big problem but definitely not immediately straightforward.

with a client sitting on the server to act as a PKCS#11 module (using cryptoki)

As a co-maintainer of cryptoki I can definitely recommend it :ok_hand:
In case something is unclear I'm happy to answer any questions but otherwise... have a nice day! :) :wave:


Test failing with clang and BLS381

Building in Ubuntu 18.10 with CC=clang make build TYPE=LINUX_64BIT_BLS381 results in the test test_output_functions_BLS381 failing.

I am not seeing an error when I build the library with this curve.

Hi The issue is resolved


Need Container widget

Now even for one child with background, padding, borderRadius background. I need to wrap my child with Column widget. It would be nice to have something like below for a single widget to have those common properties.
Container:
  styles:
    backgroundColor: 0xFF282A33
    padding: 12
    borderRadius: 40
  child:
    Icon:
      styles:
        color: white
      icon: local_mall

@vinothvino42 we discussed this issue before and decided to expose those properties on all widgets. E.g. you can pass backgroundColor, padding, and borderRadius to an Icon widget. Do you see a gap in the current approach?

Is this approach implemented now?

Yes, for majority of widgets. If there are gaps, please open tickets so we can address them.


deprecation warning on both CREATE CREDENTIAL AND CREATE CREDENTIALS

Description
> CREATE CREDENTIALS debug_creds PROVIDER debug
::: OPTIONS (table_type = 'never_ending');
Credentials created
DEPRECATION WARNING. `CREATE CREDENTIALS` is deprecated and will be removed in a future release. Please use `CREATE CREDENTIAL` instead.

> CREATE CREDENTIAL debug_creds PROVIDER debug
::: OPTIONS (table_type = 'never_ending');
Credentials created
DEPRECATION WARNING. `CREATE CREDENTIALS` is deprecated and will be removed in a future release. Please use `CREATE CREDENTIAL` instead.

Why do we need to put a warning on CREATE CREDENTIAL?

fwiw, I'm not seeing this in v0.8.1:
GlareDB (v0.8.1)
Type \help for help.
> create credential debug_cred provider debug options (table_type = 'never_ending');
Credential created

Why do we need to put a warning on CREATE CREDENTIAL?

that's the point. It shouldn't show a warning, but it does.


Mistake in Readme:  Should be in declarations, not imports

Following the instructions in the Readme, I originally put ScrollTo in the imports list in app.module.ts, but I kept getting the error "Uncaught Error: Unexpected directive 'ScrollTo' imported by the module 'AppModule'"
Putting ScrollTo in the declarations list fixed the error, and it works now.  I assume this is just a mistake in the Readme.

Thanks for the report. I will fix it this weekend.
The Angular team has made a lot of changes in the past months, so the package stop to work as expected.

i've converted the package into an angular module and updated the README.

Thank you!  Fyi, while the updated code in the README is now correct, it still says above it, "Import the directive and add it to the directives array of your component."

fixed the error in the README. Thank you for the report.


PDF file whose compressed streams have "incorrect data check"

The file shileline.pdf, referenced in OpenPrinting/cups-filters#6, has "incorrect data check" errors when processed with qpdf's Pl_Flate filter, but other PDF readers are able to decode the streams just fine. Figure out why qpdf's zlib filter can't decode the files.

(saved as misc/bugs/191.pdf)


One particular job is never run

G'day, we've just upgraded our production que deployment 1.0-beta (it's been running very reliably on 0.14.x for some time). It's processing in the order of hundreds of thousands of jobs per day, and all working very smoothly with one exception: a single job has appeared in our queue that is ready, but is never run.
It occurred to me that the transactional nature of job running might mean that that the job is locked but has become stuck, and that finished_at, executions, etc might well not be visibly updated outside the transaction in that case. I've restarted the que processes to no avail.
Are there any docs around that provide some guidance on interrogating the state of a job? I can start digging into the details of the new 1.0 schema but any pointers would be much appreciated as there's a bit to it.
The job can be seen in QueJob.ready output as other jobs move through (around 5 per second):
never_run = {
  "priority"=>6,
  "run_at"=>Mon, 11 Mar 2019 10:00:57 AEDT +11:00,
  "id"=>21569457,
  "job_class"=>"ActiveJob::QueueAdapters::QueAdapter::JobWrapper",
  "error_count"=>0,
  "last_error_message"=>nil,
  "queue"=>"default",
  "last_error_backtrace"=>nil,
  "finished_at"=>nil,
  "expired_at"=>nil,
  "args"=>[{"job_id"=>"ff22nnnn-nnnn-nnnn-nnnn-nnnnnnnnfd98",
  "locale"=>"en",
  "priority"=>6,
  "arguments"=>[{"_aj_globalid"=>"gid://api/Transaction/171nnnn"}],
  "job_class"=>"SendNewTransactionNotificationJob",
  "executions"=>0,
  "queue_name"=>"",
  "provider_job_id"=>nil}],
  "data"=>{}
}

Here's another of the same type that was enqueued and immediately run successfully as I was investigating:
succeeded = {
  "priority"=>6,
  "run_at"=>Tue, 12 Mar 2019 12:52:10 AEDT +11:00,
  "id"=>21951825,
  "job_class"=>"ActiveJob::QueueAdapters::QueAdapter::JobWrapper",
  "error_count"=>0,
  "last_error_message"=>nil,
  "queue"=>"default",
  "last_error_backtrace"=>nil,
  "finished_at"=>nil,
  "expired_at"=>nil,
  "args"=>[{"job_id"=>"ba3annnn-nnnn-nnnn-nnnn-nnnnnnnnb78e",
  "locale"=>"en",
  "priority"=>6,
  "arguments"=>[{"_aj_globalid"=>"gid://api/Transaction/174nnnn"}],
  "job_class"=>"SendNewTransactionNotificationJob",
  "executions"=>0,
  "queue_name"=>"",
  "provider_job_id"=>nil}],
  "data"=>{}
}

One correction - I didn't look closely enough at the pods after I restarted our que containers. There was one que container that took some time to terminate, and when it eventually did the above job also disappeared from the ready scope (presumably it was picked up again and run).
It looks like it actually was in some kind of stuck state. The cause of that could well be specific to our app.
Could you give some advice on investigating this for next time on the 1.0 schema? It'd be great to be able to extract some more info on the current state of a running job, and kill its current run if necessary to put it back on the queue.
Cheers :)

Hmm! Well, glad that it worked out.
You can call Que.job_states to return the list of jobs that are currently locked, including the hostname and pid of the process that locked them, it sounds like that would have pointed you directly to your problem. You might want to consider a shorter timeout than thirty minutes, though, since Que relies on Postgres noticing that a connection has been lost to free the locks on the jobs it had (this was true before 1.0 as well). When I've run 1.0 in production it was on Heroku, where the time between SIGTERM and SIGKILL was ten seconds, I believe?

Oh, it would have indeed. Thanks. I had Que.job_states confused with Que.job_stats and so was thinking only that aggregate info was easily available.
The 30 min timeout is on the container itself, to make sure that a long-running job won't be killed if we deploy while it runs. We could probably ratchet it down though, you're right.
Thanks for the quick reply. I'll keep an eye on it and do some more digging if it happens again.
Cheers mate!


feat: experimental use of 'discriminator' for vpng-gw module

Description
Reviewed the code with the use of 'discriminator' for the UDT.
Added the following test-cases:

BGP: VPN Active Passive with BGP config but no APIPA
BGPAA: VPN Active Active with BGP config but no APIPA
BGPAPIPA: VPN Active Passive with BGP config and APIPA (2 addr. for the single Active)
BGPAAAPIPA: VPN Active Active with BGP config and APIPA (2 addr. for the first Active and 1 addr. for the second Active)
Plus other test-cases without BGP

Pipeline Reference

Type of Change

[ ] Update to CI Environment or utilities (Non-module affecting changes)
[x] Azure Verified Module updates:

[ ] Bugfix containing backwards-compatible bug fixes, and I have NOT bumped the MAJOR or MINOR version in version.json:

[ ] Someone has opened a bug report issue, and I have included "Closes #{bug_report_issue_number}" in the PR description.
[ ] The bug was found by the module author, and no one has opened an issue to report it yet.

[ ] Feature update backwards compatible feature updates, and I have bumped the MINOR version in version.json.
[ ] Breaking changes and I have bumped the MAJOR version in version.json.
[ ] Update to documentation

Checklist

[x] I'm sure there are no other open Pull Requests for the same update/change
[x] I have run Set-AVMModule locally to generate the supporting module files.
[x] My corresponding pipelines / checks run clean and green without any errors or warnings

Hey @fabmas,
I hope you're well! Is still this PR still being worked on or should we close it?

Hey @fabmas, I hope you're well! Is still this PR still being worked on or should we close it?

Same as the older PR @AlexanderSehr. This is on hold but still active. Moving this to draft as well, but we're not closing them for the moment

Hi @eriqua,
Yes, both are waiting for input. PR #2667 is an experimental version that partially incorporates your suggestion of using UDT with a 'discriminator'. However, I'm not entirely convinced by it, so it would be great to review it together.
The older PR is the initial one that addressed the issue but doesn't include the implementation of UDT with a 'discriminator'. I hope we can review both together soon to help unblock the related issues tied to the same module.


Remove exercise dir in setup of commit-on-wrong-branch kata

This one is a bit tricky. It does not create an exercise dir and git init that. But it should.
But then setup.sh doesn't quite works, because after one commit, we cannot checkout HEAD~1.

hi @martinmosegaard,
i tried to reproduce this issue but for me the setup.sh works correctly both by executing it directly (./setup.sh) and by sourcing it (source setup.sh).

Probably fixed then, also since 1.5 years old :)


trim overallocations, intern strings in deserialization, improve timings

This adds API for trimming overallocations. Intention is to run this as a final enhancement pass. @mpollmeier do we need to set a dirty flag on this?
Further, the timing code was silly (time in milliseconds for node deserialization -- if this is average > 1 ms, then we can throw away the code and start again). However, do we really want these semantics? I.e. do we really want to exclude the time for extracting the bytes[] buffer from the timing? Speed of nanoTime needs to be tested in our actual deployment, because it may well depend on whatever $cloud_provider is doing. As commented, I would prefer a small assembly file that we build into shared library and call with JNI (afaiu we only care about x86_64 with linux / windows / macos).
Further, added string interning on deserialization. Somebody needs to intern these strings, and g1gc only interns the buffers, not the String objects.
This ain't threadsafe, but deserialization should not be multithreaded anyway.

Deserializing multiple nodes in parallel should be fine though.

Damn, then we'll have to change the string internalization: THashMap is not threadsafe. Afaik ConcurrentHashMap is one of the better alternatives out there, but this will probably be much slower :(

deserializationTimeSpent is just for debugging - changing it to nanos is good, but additionally let's hide those measurements behind a config option (off by default). You can add it to this PR or I do it in a separately - as you please.

I'll leave that to you and read your PR, since I'm not up to date with how we configure odb.

@mpollmeier @lifecoder Can you take a look at the non-reproducible travis fail? I.e. think whether that is an obvious race condition?

Can you take a look at the non-reproducible travis fail?

Looks like my bad, will TAL.
Also, will move the measurement of deserialization time behind a feature flag.


Add cuTENSOR test

Part of chainer/chainer#8540.
Fixes #2771

Jenkins, test this please.

Jenkins CI test (for commit eda0977c4161f8d9a426deda7a78be6af11b267c, target branch master) failed with status FAILURE.

Jenkins, test this please.

Jenkins CI test (for commit 72588d42428a59ec01ac10ef018af63a47922f20, target branch master) failed with status FAILURE.

Jenkins, test this please.

Jenkins CI test (for commit 1b354ffda145ff3506a74a895cd4a93630d7489a, target branch master) succeeded!

@toslunar The Jenkins test TEST=cupy-py3-cutensor looks to work correctly. PTAL.
03:15:48 tests/cupy_tests/test_cutensor.py .....s...........................      [  7%]

Jenkins CI test (for commit 1b354ffda145ff3506a74a895cd4a93630d7489a, target branch master) failed with status FAILURE.


Synthesis failed for Google.Cloud.Speech.V1

Hello! Autosynth couldn't regenerate Google.Cloud.Speech.V1. :broken_heart:
Please investigate and fix this issue within 5 business days.  While it remains broken,
this library cannot be updated with changes to the Google.Cloud.Speech.V1 API, and the library grows
stale.
See https://github.com/googleapis/synthtool/blob/master/autosynth/TroubleShooting.md
for trouble shooting tips.
Here's the output from running synth.py:
2021-09-21 08:52:51,578 autosynth [INFO] > logs will be written to: /tmpfs/src/logs/Google.Cloud.Speech.V1
2021-09-21 08:52:52,179 autosynth [DEBUG] > Running: git config --global core.excludesfile /home/kbuilder/.autosynth-gitignore
2021-09-21 08:52:52,181 autosynth [DEBUG] > Running: git config user.name yoshi-automation
2021-09-21 08:52:52,184 autosynth [DEBUG] > Running: git config user.email<EMAIL_ADDRESS>2021-09-21 08:52:52,187 autosynth [DEBUG] > Running: git config push.default simple
2021-09-21 08:52:52,190 autosynth [DEBUG] > Running: git branch -f autosynth-Google.Cloud.Speech.V1
2021-09-21 08:52:52,193 autosynth [DEBUG] > Running: git checkout autosynth-Google.Cloud.Speech.V1
Switched to branch 'autosynth-Google.Cloud.Speech.V1'
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 359, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 191, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 273, in _inner_main
    flags = autosynth.flags.parse_flags(synth_file_name)
  File "/tmpfs/src/github/synthtool/autosynth/flags.py", line 50, in parse_flags
    module = ast.parse(path.read_text())
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/pathlib.py", line 1196, in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/pathlib.py", line 1183, in open
    opener=self._opener)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/pathlib.py", line 1037, in _opener
    return self._accessor.open(self, flags, mode)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/pathlib.py", line 387, in wrapped
    return strfunc(str(pathobj), *args)
FileNotFoundError: [Errno 2] No such file or directory: 'synth.py'

Google internal developers can see the full log here.

Hmm... I suspect this may just be that we deleted the synth.py and synth.metadata files part way through a run. I wouldn't expect synthtool to try to generate Speech any more.
I'll close this and rerun the whole set manually once this run has completed.


TCP Proxy closes connection prematurely

There seems to be an issue with the tcp proxy, in the particular case that a client sends a “burst” of packages and immediately following a FIN after the request. at that point fabio closes the connection and the response is lost.
I think I tracked it down to https://github.com/fabiolb/fabio/blob/master/proxy/tcp/tcp_proxy.go#L73 it looks like the FIN triggers and EOF in fabio and then the connection gets closed by the defer. Ideally fabio should wait for the EOF on both sides before closing the connection.
I'm not sure about a proper solution which will cover this particular situation.

Does that result in a "http: proxy error: context canceled" in the fabio output?

@tomstaijen I doubt that since the tcp proxy is not using the http package.
@Crypto89 I have an idea on how to address this. There is a way to handle half-closed connections in Go.


Fix #3443: Add GitHub star button to sandbox

Describe your changes :
Closes #3443

I worked on the adding Star us on Github popover button for sandbox instances

Type of change :

[x] New feature

Frontend Preview (Screenshots) :

On Landing page

On Landing page with feature modal open

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have performed a self-review of my own.
[x] I have tagged my reviewers below.
[x] I have commented on my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers
@harshach @vivekratnavel @Sachin-chaurasiya @ShaileshParmar11

@darth-coder00 I have a patch available here https://github.com/open-metadata/OpenMetadata/pull/3627 to expose a config API to get the sandbox mode. It would be great to use the API to determine whether sandbox mode is enabled or not. Please take a look and let me know if you have any questions.

Blocked on PR #3630


Lightning Strike Sensors - Blitzortung

Describe the feature
Any chance Blitzortung data could be incorporated for real-time lightning strike sensors?   There must be an API.  There is already an HA integration that does, but it doesn't seem to be maintained regularly.   I did search the discussions and issues, I'm surprised this hasn't been suggested already.
https://github.com/mrk-its/homeassistant-blitzortung
https://www.blitzortung.org/en/live_lightning_maps.php
Acknowledgements

[X] I have searched this repository and Home Assistant Repository to see if the feature has already been requested.
[X] I have written an informative title.

Alas, the Blitzortung.org network is a set of hobbyist constructed/operated lightning sensors and has some strict rules about reuse of the data provided.

to get the data, you have to contribute data from your personal sensor(s) to the network.
access to the data is based on Blitzortung user:pass
there is no API for public access to the direct data.

I offer a script set to generate animated GIF strike maps, but.. you have to be a contributing member to Blitzortung to use it.
I've been running a Blitzortung RED sensor I built since October, 2013.

Thank you for the info @ktrue. That explains why I couldn't find anything about an API on their website.  I wonder how HA integration is pulling data?
I know Environment Canada has a lightning map but I don't think they publish the data as far as I can tell.
https://weather.gc.ca/lightning/index_e.html?id=NAT#mapTop

If you dig into his python code, there's a part where the Blitzortung user:pass is inserted in the call to get data.
I assume the author has a Blitzortung detector submitting data so they have Blitzortung credentials to use.
AFAIK, there's no public (free) lightning strike data available except images of strikes from NOAA satellites (but nothing but images).
The Vaisala Precision Lightning Network is a pay-for item (offered via api.xweather.com).  The Weather Channel API also has lightning data, also pay-for (and likely uses a resale of the Vaisala data)

From the looks of things Blitzortung doesn't offer any data unless you send sensor data. Due to that limitation I'm going to close this issue. If they offer an API in the future or you find another free source of data feel free to re-open or create a new issue.

Thanks for considering it.  I'm going to try and touch base with Environment Canada to see if they are any plans to add this data to their public API's and if not maybe contact my MP to encourage it.  Probably won't get anywhere but it's worth a shot.


Raiden on Arbitrum: Adjust contracts parameters due to fast block times

Description
This needs some investigation @palango to fill in details.

I don't think so, the block times on arbitrum depend on demand, and at most (for now) have an upper bound due to the speed limit. I'd say the best approach here would be to move timeouts everywhere to timestamp instead of block number.


Rename constructors of collections

Follow-up from #477
In array, ref, bytes, and other collections:

Rename unsafeFresh to allocate and clearly document that it is unsafe

perhaps we should decide if we want to have collection::unsafeFunction or collection::unsafe::function in general for functions acting on the collections that are generally unsafe

Rename fresh (formerly fill) to $collection_name or $Collection_name, for example array or Array

we also discussed using new instead, but that's: a) ambiguous (as now we need the array:: qualifier to determine that it's a new array, otherwise the overload could be ambiguous), and b) clashes with the existing new keyword

There's a draft in the fix/issue484 branch, but I think we want to wait until #469 is merged.


Actually fixing up and refactoring url stuff

pull request to actually fix up and refactor url stuff, IGNORE THE FIRST PR

UPDATE: DO NOT MERGE THIS THERE IS CURRENTLY AN ERROR


termguicolors issues

It appears that set termguicolors breaks this theme. Unfortunately, it's a setting required for a number of plugins to work.
NVIM v0.4.3
iTerm2 3.3.12
macOS 10.15.5

I "made" a Wal Template that can be used here. I'm going to close this, but I'll try to make something that sources the already made template colors-wal.vim but I don't know vimscript that well so we shall see. I'll update the comment if I do just in case anyone runs into this.

This should work. You get a pywal'd theme and it plays nicely with plugins that require termguicolors to be set like 'junegunn/rainbow_parentheses.vim' and 'norcalli/nvim-colorizer.lua'.


Updated en.js harvesting note for clarity.

Updated the harvesting note with a couple of grammar tweaks, as well as hopefully being a little clearer.

Sorry QM, mistook this for the main repo. 😊


I think it's a database error

OnStartupCheckIfSessionIsActive: Web request failed! HTTP/1.1 500 Internal Server Error
UnityEngine.Debug:Log (object)
LoginManager/d__16:MoveNext () (at Assets/Scripts/Login/LoginManager.cs:100)
UnityEngine.UnitySynchronizationContext:ExecuteTasks ()
SignUp: Web request failed! HTTP/1.1 500 Internal Server Error
UnityEngine.Debug:Log (object)
SignUpManager/d__15:MoveNext () (at Assets/Scripts/Login/SignUpManager.cs:97)
UnityEngine.UnitySynchronizationContext:ExecuteTasks ()

Does the game itself create the tables? Or do you need the .sql file to create the tables?Or do we need to manually create the same in the image?

Hi, the game doesn't create the tables itself, you can run the export.sql file to create the database (or you can create it manually if you want). After that, update the DbConnectionData.php accordingly. Also, the HTTP/1.1 500 Internal Server Error message means that something is wrong with your web server itself (recheck the URL strings). If the web server is up, the UnityWebRequest should be successful and you should get a message similar to what's in the second image.

obrigado pela resposta rápida, procurei esse arquivo para gerar as tabelas e não consegui, tenho medo de fazer as tabelas erradas, por causa das chaves extrangeiras, se puder exportar a estrutura do sql.

I forgot this step, I was stupid, I found the two folders with the exported database
git clone https://github.com/ioan45/rts-multiplayer-game.git

obrigado, agora vou testar

The export.sql file is here: https://github.com/ioan45/rts-multiplayer-game/blob/main/src%2Fdatabase%2Fexport.sql
If you don't want to run it then you can create the database manually, according to the diagram, with your keys (if MySQL and PHP accepts them) and just modify the SQL queries in the PHP scripts to match your table/column names.
In any case, don't forget to update the DbConnectionData.php file.

thanks for the explanations. My mistake was not using the step by step instructions given in the description, after I cloned it and followed the steps correctly it works, I'll follow the steps here to see what happens.


Body params that are Arrays of Objects generate un-compilable code due to Validate method

Problem statement
One of my API endpoints takes a body that is an array of objects. It looks like the body validation code added in https://github.com/go-swagger/go-swagger/pull/1444 does not arrays of objects, so the generated code tries to run Validate on a interface{}
restapi/operations/insert_records_parameters.go:144:21: recordsI.Validate undefined (type interface {} is interface with no methods)
Swagger specification
    - name: records
      description: Array of records to insert
      in: body
      required: true
      schema:
        type: array
        items:
          type: object

Steps to reproduce
Generate code && go run
Environment
swagger version: latest master
go version: 1.10.2
OS: mac os 10.13.4

Yep, I thought I had tested this... Will fix this asap

Nope. The size validation gets addition to the method, but it still tries to loop through the array and call validate on the interface.

Here's what the generated code looks like when maxItems is added:
func (o *InsertRecordsParams) validateRecordsBody(formats strfmt.Registry) error {
recordsSize := int64(len(o.Records))

// maxItems: 10000
if err := validate.MaxItems("records", "body", recordsSize, 10000); err != nil {
	return err
}

recordsIC := o.Records

var recordsIR []interface{}
for i, recordsIV := range recordsIC {
	recordsI := recordsIV
	if err := recordsI.Validate(formats); err != nil {
		if ve, ok := err.(*errors.Validation); ok {
			return ve.ValidateName(fmt.Sprintf("%s.%v", "records", i))
		}
		return err
	}

	recordsIR = append(recordsIR, recordsI)
}

o.Records = recordsIR
return nil

}

OK. I'll have a fix over the week end.

ok fixed it in dev without visible regression. Now the tedious process of adding more UT for codegen...
I'll do that tomorow.


Does having a lot of entities (thousands) effect performance?

Hi all!
Just started using Entitas. I've built a world with 20 000 tiles created at runtime(indexed using 2D array) and the fps is around 100. Converting this world to be generated via Entitas caused the framerate to hit 0 despite having only 1600 tiles. This is after the tiles have all been created with a sprite and location.  I'm not too sure what is the main cause of this.
The map is 40 x 40 tiles in size, this is the code in a class that initializes the map.
public void Initialize() {
    // Name of sprite to be loaded
    const string resourceName = "Floor";

    GameEntity map = _context.CreateEntity();
    map.AddMap(40, 40);

    // Map creation.
    for (int x = 1; x < _context.mapEntity.map.height; x++) {
        for (int y = 0; y < _context.mapEntity.map.width; y++) {
            GameEntity e = _context.CreateEntity();
            e.AddSprite(resourceName);
            e.AddPosition(new Vector2(x, y));
        }

    }
}

Any pointers would be much appreciated!

I'd recommend using the Unity profiler. Creating lots of entities is not a problem, I could imagine that VisualDebugging drops the framerate. Try turning VisualDebugging off in the Entitas Preferences and check again

VisualDebugging will only run in the Unity Editor. Whenever you make a release build all this related code is stripped out and the overhead is removed.

Thanks Simon. Turning off the visual debugging does bring the framerate to about 60.  I'll have a go profiling to see whats causing it.

Do you have any interesting profiling results?


UML like associations

In UML we've associations,  why not in languages?
With roles and multiplicity.
This lack is the reason why JPA annotations have mappedBy attribute.

Let me give more insight
you've the following situation:
MyAssociation
ClassA 1,1 myRoleA------------------myRoleB 0,* ClassB
You can expect to write this situation into your code like this
class ClassA {

@Association(name="MyAssociation", lower=0,upper=-1)
public Collection<ClassB> myRoleB;

}

class ClassB {

@Association(name="MyAssociation", lower=1,upper=1)
public ClassA myRoleA;

}

or
class ClassA {

@Association(name="MyAssociation", role.my.lower=0,role.my.upper=-1,role.other.lower=1,role.other.upper=1,other=ClassB.myRoleA)
public Collection<ClassB> myRoleB;

}

class ClassB {

public ClassA myRoleA;

}

Is there any difference between this issue and https://github.com/yegor256/eo/issues/82? If so, please explain

@erikgollot I think this is an interesting concept, but it's hard for me to understand your example. Maybe you can use UMPLE's syntax to make it clearer? also, they model UML using a textual notation, you can take some knowledge from there :+1:

@erikgollot indeed, the example looks difficult to digest. Please, use simpler names, like books, cars, animals, etc.

@erikgollot I'm closing this, since it's not relevant to the new version of EO

@erikgollot I'm closing this, since it's not relevant to the new version of EO


CI: Fix/speed up macOS job

Setting HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK avoids triggering updates of other packages after crystal was installed.
From the manual:

If set, do not check for broken linkage of dependents or outdated dependents after installing, upgrading or reinstalling formulae. This will result in fewer dependents (and their dependencies) being upgraded or reinstalled but may result in more breakage from running brew install formula or brew upgrade formula.

Seen at https://github.com/cloudamqp/lavinmq/actions/runs/7180316382/job/19552312371#step:2:81 "Upgrading 18 dependents of upgraded formulae"
Setting HOMEBREW_NO_AUTO_UPDATE to 1 makes no difference to having it set to 0, its applied whenever it is set, but 1 makes much more sense so you don't have to think about that. :)

I'll merge this at macOS jobs now worked: https://github.com/cloudamqp/lavinmq/actions/runs/7180624789/job/19553293643?pr=611#step:2:81


React capstone project - Metrics webapp

This branch has been created based on the reviewer request to create a new branch with descriptive branch name
In this PR the following has been done:

[ ]  Developed reusable components including Header, Country, City, and Heading.
[ ]  Implemented a Home page that displays a list of countries that can be filtered by region.
[ ]  Developed a cities page that dynamically loads a list of cities based on the user's selected country.
[ ]  Styled the entire application to meet the design need based on the Ballhead App design idea by Nelson Sakwa on Behance.
[ ]  Implemented a Details page that fetches weather data from an API and displays it to the user.

@abenezer-addisu
would you add a feature-features section and update the live demo & video presentation link and slide link in your readme or remove the slide link if you haven't the slide


Comment reply text field is not autofocused

It is now. After clicking on the comment bubble I can directly start typing the comment.


try download previous artifacts

Fixes https://github.com/V-Sekai/godot-whisper/issues/57

Idk why I waited to merge this. There is one issue with sample it seems but it's on godot side.


feat: skip serializing gossip block when persisting to db

Motivation
Right now when gossipsub deliver a gossip block, we already have serialized data but still have to serialize signed block when persisting to db
Description

Add utility types WithBytes, WithOptionalBytes
chain now process WithOptionalBytes<BlockInput>, at gossip we pass in bytes data, for blocks from other flow we keep them as is

Closes #5422

:tada: This PR is included in v1.9.0 :tada:


Some people have cross origin issues fetching data from api

The API server is configured to allow cross-origin requests.
https://github.com/macarthur-lab/gnomadjs/blob/cd016641c10ffe41f07af9f75f9858372ade6922/packages/api/src/server.js#L15


Clang sanitizer error with tbb

Description
Adding the following to CXXFLAGS in make/local and running the profiling test (though I'm pretty sure this would fail with any test related to the tbb) gives an undefined behavior warning from the sanitizer
CXXFLAGS+=-fsanitize=undefined,address,leak -g -fno-omit-frame-pointer

./runTests.py -j32 test/unit/math/rev/core/profiling_threading_test

Full err output here with the big bits being
lib/tbb_2019_U8/include/tbb/parallel_reduce.h:173:19: runtime error: member call on address 0x7f44453d3cc0 which does not point to an object of type 'tbb::task'
0x7f44453d3cc0: note: object has invalid vptr
 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00
              ^~~~~~~~~~~~~~~~~~~~~~~
              invalid vptr
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior lib/tbb_2019_U8/include/tbb/parallel_reduce.h:173:19 in
lib/tbb_2019_U8/include/tbb/task.h:735:9: runtime error: member call on address 0x7f44453d3cc0 which does not point to an object of type 'tbb::task'
0x7f44453d3cc0: note: object has invalid vptr
 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00
              ^~~~~~~~~~~~~~~~~~~~~~~
              invalid vptr
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior lib/tbb_2019_U8/include/tbb/task.h:735:9 in
lib/tbb_2019_U8/include/tbb/parallel_reduce.h:174:31: runtime error: member call on address 0x7f44453d3cc0 which does not point to an object of type 'tbb::task'
0x7f44453d3cc0: note: object has invalid vptr
 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  00 00 00 00
              ^~~~~~~~~~~~~~~~~~~~~~~
              invalid vptr
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior lib/tbb_2019_U8/include/tbb/parallel_reduce.h:174:31 in

and
Direct leak of 2592 byte(s) in 9 object(s) allocated from:
    #0 0x4cff8d in operator new(unsigned long) (/home/steve/stan/origin/math/test/unit/math/rev/core/profiling_threading_test+0x4cff8d)
    #1 0x4de385 in stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc>::init() /home/steve/stan/origin/math/./stan/math/rev/core/autodiffstackstorage.hpp:125:19
    #2 0x4de2c2 in stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc>::AutodiffStackSingleton() /home/steve/stan/origin/math/./stan/math/rev/core/autodiffstackstorage.hpp:93:44
    #3 0x4d9446 in std::_MakeUniq<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc> >::__single_object std::make_unique<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc> >() /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/unique_ptr.h:962:34
    #4 0x4d7850 in stan::math::ad_tape_observer::on_scheduler_entry(bool) /home/steve/stan/origin/math/./stan/math/rev/core/init_chainablestack.hpp:46:29
    #5 0x7f4448f37508 in tbb::internal::observer_list::do_notify_entry_observers(tbb::internal::observer_proxy*&, bool) (/home/steve/stan/origin/math/lib/tbb/libtbb.so.2+0x29508)

This looks like it might be a tbb or sanitizer issue?
https://github.com/oneapi-src/oneTBB/issues/140
https://github.com/RcppCore/RcppParallel/issues/36#issuecomment-520493210
Expected Output
No UB or leaks
Current Version:
v4.0.1

If this is a dependency issue then maybe we shouldn't run the sanitizer with tests that need to use STAN_THREADS

Also ugh looking at this it looks one oneTBB uses cmake now so if updating tbb is the answer to this we have a whole swarm of stuff to do

Like all future TBBs are cmake? Like the next time we upgrade we gotta deal with this somehow?

If onetbb is where we get new versions from then I think so :-/
https://github.com/oneapi-src/oneTBB

We should probably not upgrade for a while given that RcppParallel is using an outdated version... unless you move the PR you started. Is that PR dead by now or what is missing there? Updating the TBB is not so urgent, but it would be good.
As a compromise @adamhaber made our sources compatible with an external TBB.

I dont think we will require cmake, I recently tried 2011.1.1 on Linux and worked fine without requiring any additional steps.

made our sources compatible with an external TBB.

That was @hsbadr :)

But I agree, we should not upgrade until Rcppparallel upgrades.

@hsbadr sorry for confusing credits here. Thanks @rok-cesnovar for correcting.

There was also this: https://github.com/stan-dev/math/issues/2203
And then there is this: https://github.com/stan-dev/math/issues/1749
Not sure if either thing is relevant but seems like they could be.

^^I think those are relevant. imo I think we can update to 2021.3 and keep backwards compatibility with the version on RcppParallel.

I think this should be fine with the tbb version bump


test(dtslint): add shareReplay

Description:
This PR adds dtslint tests for shareReplay.
Related issue (if exists): #4093

Pull Request Test Coverage Report for Build 7701

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.967%

Totals

Change from base Build 7698:
0.0%

Covered Lines:
5786

Relevant Lines:
5967

💛  - Coveralls


removeListener undocumented, doesn't work?

Hello,
I'm updating from 2.4.0 to 7.0.0, and it appears removeListener no longer works. I am confident I'm passing the same callback to both on and removeListener, but:
        console.error("XXX REMOVING", ref.listenerCount(event));
        ref.removeListener(event, callback);
        console.error("XXX AFTER REMOVING", ref.listenerCount(event));

within the removeListener function returns the same number. I notice the function is undocumented, which leads me to believe this might be known.
Upon looking at the on function, it appears that the callback is wrapped in another function, which will make this not work, unless that function is saved and tracked. I used to do these calls directly on ev, and while I haven't tried, it looks like I'll probably still be able to on __ev.

Small update, confirmed just using __ev.on and __ev.removeListener works.

removeAllListeners() is called for you on close, so I didn't expose them.
However I'm probably missing the removal on error as well, I just noticed.

Also you should listenerCount() on __ev to verify; on and removeListener are still available and they wrap __ev for you.

The listenerCount call on __ev correctly decrements, and at this point I'm going forward with skipping the wrapper functions. I also realized I said this "no longer works," but as I wasn't using it before, I realize it's possible it never worked.
I need the ability to remove listeners mid-call, so the removeAllListeners on close (and soon error, maybe), will not help. If I wasn't clear above, the summary is that due to the way the on wrapper works, I do no think the removeListener wrapper will ever work in conjunction with it. The removeListener wrapper is fine on its own, but the on wrapper wrapping your callback makes that callback unremovable.

due to the way the on wrapper works, I do no think the removeListener wrapper will ever work in conjunction with it. The removeListener wrapper is fine on its own, but the on wrapper wrapping your callback makes that callback unremovable.

Couldn't agree more. Looks like this is in need of a major overhaul. The whole point of the thing was to add tracing capabilities, but that shouldn't come at the cost of breaking the event-emitter pattern / allowing leaks.
The FreeSwitchResponse object probably should inherit from eventEmitter (might as well use eventemitter2 while we're at it), and once should probably be renamed onceAsync (to keep in line with bluebird's promisify pattern naming conventions). If the object doesn't inherit, then on, emit, removeListener, removeAllListeners should be simple wrappers (but might as well inherit, really).
(There is a need for an overhaul of the client as well due to #44, so we're due for a new major.)

Integrated in v8.0.0


Allow inclusion of additional files that aren't generated from schema

So that there's a place to put general documentation about authentication, etc.
I'm on the fence about whether this is truly necessary, though.

You know what, this isn't a good idea. Let the schema files stand alone, and if you want other stuff, do it another way using any of a million tools already available.


feature: rename command arguments

Resolves: #54

Note:
@Melihemin thanks for PR. But, please create a new branch when you start working on a whole new feature or bugfix.
In this case, you wanna merge your develop to the original repo's develop.
But it should be Melihemin:feature/rename-args to anonistas:develop

Closed cause of outdated forked repository


[create-theme]: Use default font for UI

Name
Use default font for UI
Description
Basically just changes the UI's font to the default font selected in firefox settings.
Homepage
No response
Image
https://imgur.com/eh0famX
Type

[ ] JSON Color Theme

Theme Styles
* {
    font-family: serif !important;
}

Readme
Heya. I have nothing good to put here.

Preferences
No response

I use it in my own userChrome.css so I wish it was just added to the Zen mod store.


Missing the setspn Command

Please put a link to documentation for the setspn command (writing that documentation if necessary).

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

ID: 8a79c2cc-8610-e611-b452-f72927d05031
Version Independent ID: 94549755-e1e2-b092-743c-625ebde5943b
Content: Windows Commands
Content Source: WindowsServerDocs/administration/windows-commands/windows-commands.md
Product: windows-server-threshold
GitHub Login: @coreyp-at-msft
Microsoft Alias: coreyp

Thanks for your dedication to our documentation. If we have been unable to review your issue in a timely manner, we sincerely apologize for the delayed response. We have captured the informtion you have provided for review. We are closing this issue for now, but if you feel that it's still a concern, please respond and let us know. If you determine another possible update to our documentation, please don't hesitate to reach out again. #please-close


feat: adding an example with a github repository as a source

New example added to the example directory.

Adding variables for Sonarcloud Organization and Project

LGTM


python.dataScience.textOutputLimit does not work

This setting does not work. I get the message below. I have already set it to 0 but still the same message. I also increased max output size already.
Output was trimmed for performance reasons.
To see the full output set the setting "python.dataScience.textOutputLimit" to 0.
...

We should investigate.

I had the same issue. For me, this setting actually changes the behaviour, but the message persists even when the output is not actually truncated if the cell is marked so once.
I opened the notebook file in a different editor and manually removed outputPrepend tags, then the message went away. Maybe related to #11726.

Hi, how do you actually set the python.dataScience.textOutputLimit to 0 ?
I can't find where/how to do it, thanks.

@fabrizioschiano you can type that into your settings.json or use the settings UI in vscode to set it:

This issue should be fixed with commit https://github.com/microsoft/vscode-python/pull/11871


Grabbing fileinfo on upload

Is it possible with the filemanager, to grab the data about a file that was just uploaded and store it within a table?
I have seen that this can be done with photos but not files.

Thanks @blorange2 . We should add new events for handling files.

@streamtw Was this feature already added?  I need to store the file information into tables so I can use more easily in other blades.

This can be accomplished by create a custom event listener, which listens to FileWasUploaded event. See https://unisharp.github.io/laravel-filemanager/events for more detail.


Move placement request button to page actions

This moves the Placement Request button to the top of the Application's read only view, as well as only showing if if the user owns that application and it has been assessed as suitable.
Screenshot

 Remove 'Create placement request' button from readonly application view under certain circumstances


WB: funs and bens

OF43, OF40 - The calculation for this references the values from D112 - D180? this seems incorrect, Could you double check this?
Find a clean way to pull in the indicator app score

completed


There is a problem with using kosmosctl to deploy only a single service

What happened:
An error occurs when using kosmosctl to add a cluster. Currently, only a single service is installed.
What you expected to happen:
Cluster added successfully
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Kosmos version:
Others:

/assign @ONE7live