Add Aimassist plz

plz

Aim assist is already there under the category combat

Aim assist is already there under the category combat

i think things u said is aimbot，but there are different

can you elaborate what you mean by aimassist, im pretty sure it already exists


Validating application/x-www-form-urlencoded form with nested data

Hi
New to Java(lin) and coming from a node background...
Want to use Javalin for for a regular web app and want to render a form with errors (instead of throwing a validation exception)
The form data can have nested objects and arrays encoded like the node qs package.
Is there an example or any pointers on how to get this working?
Thanks
Ajai

Hi @ajaishankar - I think this task is above the pay-grade of the Validator API. Javalin is really tailored more towards making REST APIs and dealing with JSON as opposed to more traditional HTML forms. If your app is heavily centered around this you might find the tools Javalin provides to be a bit lacking.

@tipsy I respectfully beg to differ 😄
You already have

javalin-jte
javalin-vue
javalin-vite

My motivation is to integrate Hotwire with Javalin.
The setup would be

Render HTML with JTE
Use vite to bundle the (minimal) front end code (Stimulus controllers)

I already have it working with a Node stack using Fastify Vite where I am able to share the Zod form validation between server & client.
In Javalin the only thing I found lacking was the form validation and hence posed the question.
Feel a Hotwire integration could turn out to be popular with Java devs - please do give this a thought...

@tipsy I respectfully beg to differ 😄

Then please don't me stand in your way 😄
Sounds like you are willing and capable of doing a bit more than the average user. If you want to expand on the Validator API, feel free to create another issue for that.

Ha ok 😄 Will try to see what I can come up with...


add: backoff reconnect to sink

issue #116

Manually tested w/ make integration_tests.  Local tests pass


feat(config): import device configs from Z-Wave Alliance (part2: minor changes)

Push 2: Minor config file changes from the zWave Alliance Files (primarily adding zwa file numbers and min/max values. In support of #1349

@zwave-js-bot fix lint

@zwave-js-bot fix lint

@AlCalzone These should be ready to merge. They are all minor changes to current device files. Where there is a deletion/addition of a whole file it is because I renamed the file to match a corrected identifier.

@AlCalzone These should be ready to merge. They are all minor changes to current device files. Where there is a deletion/addition of a whole file it is because I renamed the file to match a corrected identifier.

@blhoward2 @AlCalzone ,
Not sure if this is too late, but https://github.com/zwave-js/node-zwave-js/pull/1473 mentions to remove \r
is it too late to keep them? I can swop these new line characters for
 at render time.
Some of the metadata's are very "busy" hence the line breaks make it easier one the eye.

@blhoward2 @AlCalzone ,
Not sure if this is too late, but https://github.com/zwave-js/node-zwave-js/pull/1473 mentions to remove \r
is it too late to keep them? I can swop these new line characters for
 at render time.
Some of the metadata's are very "busy" hence the line breaks make it easier one the eye.

@marcus-j-davies I don't want to remove it entirely, but make it consistent. Only \n, no \r, no \t, etc.

@marcus-j-davies I don't want to remove it entirely, but make it consistent. Only \n, no \r, no \t, etc.

As long as there are still \n I can use them to break the lines up.
I still think markdown is risky to use here, the layout is very organised, given that markdown can render tables, whole HTML elements etc etc, it could introduce artifacts that affects the non-markdown code.
I have only ever used markdown for read me documents, GitHub type stuff.

As long as there are still \n I can use them to break the lines up.
I still think markdown is risky to use here, the layout is very organised, given that markdown can render tables, whole HTML elements etc etc, it could introduce artifacts that affects the non-markdown code.
I have only ever used markdown for read me documents, GitHub type stuff.

@blhoward2
This XML 2509
Has spaces where I would expect them i.e the following warning. CAUTION: This will factory
And for the JSON Equivalent the following warning.CAUTION: This will factory
Apologies, but wasn't sure if that is still a working progress, or is a glitch in the conversion routine?

@blhoward2
This XML 2509
Has spaces where I would expect them i.e the following warning. CAUTION: This will factory
And for the JSON Equivalent the following warning.CAUTION: This will factory
Apologies, but wasn't sure if that is still a working progress, or is a glitch in the conversion routine?

@blhoward2
This XML 2509
Has spaces where I would expect them i.e the following warning. CAUTION: This will factory
And for the JSON Equivalent the following warning.CAUTION: This will factory
Apologies, but wasn't sure if that is still a working progress, or is a glitch in the conversion routine?

I messed up at one point removing \n instead of replacing them with a space. I’ve had to chase them manually in they pile but I’ll take a look. It’s fixed in the others.

@blhoward2
This XML 2509
Has spaces where I would expect them i.e the following warning. CAUTION: This will factory
And for the JSON Equivalent the following warning.CAUTION: This will factory
Apologies, but wasn't sure if that is still a working progress, or is a glitch in the conversion routine?

I messed up at one point removing \n instead of replacing them with a space. I’ve had to chase them manually in they pile but I’ll take a look. It’s fixed in the others.

No worries,
If I understand it correctly, we are replacing \r with... well... nothing "" so leaving \n in tact?
so any\r\n will change to \n
Re:

Please remove \r and \t from the descriptions

No worries,
If I understand it correctly, we are replacing \r with... well... nothing "" so leaving \n in tact?
so any\r\n will change to \n
Re:

Please remove \r and \t from the descriptions

@blhoward2 @AlCalzone ,
Not sure if this is too late, but #1473 mentions to remove \r and / or \n
is it too late to keep them? I can swop these new line characters for
 at render time.
Some of the metadata's are very "busy" hence the line breaks make it easier on the eye.

I'm going to redo these in a new PR.

@blhoward2 @AlCalzone ,
Not sure if this is too late, but #1473 mentions to remove \r and / or \n
is it too late to keep them? I can swop these new line characters for
 at render time.
Some of the metadata's are very "busy" hence the line breaks make it easier on the eye.

I'm going to redo these in a new PR.

I'm going to redo these in a new PR.

I think it will look pretty slick once formatted (replacing \r\nwith \n)

I'm going to redo these in a new PR.

I think it will look pretty slick once formatted (replacing \r\nwith \n)

@AlCalzone All ready.

@AlCalzone All ready.


fix issue in import provider

fix issue in import provider from https://github.com/OnroerendErfgoed/thesaurus/issues/6

If I'm reading this correctly, this means you're importing from a provider that has concepts that have as their narrower both concepts and collections. Which should not be possible in this version of skosprovider. From which skosprovider are we importing here? Skosprovider_oe?
I think I'd rather see the root cause fixed. It would be nice to have this import function issue warnings that it has detected logic issues. Unsure if we should try to rectify problems here or just issue warnings.

I think you're right Koen. I'll close this and investigate further with @dieuska tommorow


Meet Detailed error: Tensor-likes are not close! using TFLiteConverter

TracerWarning: Output nr 6. of the traced function does not match the corresponding output of the Python function. Detailed error:
Tensor-likes are not close!
Mismatched elements: 255 / 256 (99.6%)
Greatest absolute difference: 0.35748420655727386 at index (0, 0, 11) (up to 1e-05 allowed)
Greatest relative difference: inf at index (0, 0, 175) (up to 1e-05 allowed)
test_out.zip

It seems that the nodeinput_0_f is both in the inputs and the outputs of the model. Are you sure you want to do this?


Game doesn't open

Describe your problem here.
When i put the assets and mods folder in the .PsychEngine the game doesn't open, maybe i'm doing something wrong
Are you modding a build from source or with Lua?
Source
What is your build target?
Android
Did you edit anything in this build? If so, mention or summarize your changes.
No response

which release you downloaded?

The last one released, the last one has the same problem as well

I have to look at that

Ok, thanks for answering

@NuggetSus can u try that build? (download androidBuild-gcc-EXTERNAL)

Sure

It didn't work

hmm

we totally have issues at .PsychEngine and we will try fix that so we gonna use Android/data for now.


Unable to install on iOS 11.3. Beta 2

I'm using an iPhone X with iOS 11.3 public beta 2. I tried to install AnimojiStudio using Cydia Impactor and i got the following error:

File a bug report with Impactor


Superset Ingestion Issues while ingesting dashboard datamodels

Affected module
Ingestion Framework
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Superset ingestion is failing with below errors. This happens with superset db connection.
value is not a valid integer (type=type_error.integer)
[2023-12-12, 09:35:46 UTC] {mixin.py:225} WARNING - Error to yield datamodel column: 1 validation error for Column
dataLength
  value is not a valid integer (type=type_error.integer)
[2023-12-12, 09:35:46 UTC] {mixin.py:225} WARNING - Error to yield datamodel column: 1 validation error for Column
dataLength
  value is not a valid integer (type=type_error.integer)
[2023-12-12, 09:35:46 UTC] {db_source.py:186} WARNING - chart details for id: 645 not found, skipped
[2023-12-12, 09:35:46 UTC] {db_source.py:186} WARNING - chart details for id: 646 not found, skipped
[2023-12-12, 09:35:46 UTC] {db_source.py:186} WARNING - chart details for id: 647 not found, skipped
[2023-12-12, 09:35:46 UTC] {taskinstance.py:1909} ERROR - Task failed with exception
Traceback (most recent call last):
  File "/opt/airflow/venv/lib/python3.8/site-packages/airflow/operators/python.py", line 171, in execute
    return_value = self.execute_callable()
  File "/opt/airflow/venv/lib/python3.8/site-packages/airflow/operators/python.py", line 189, in execute_callable
    return self.python_callable(*self.op_args, **self.op_kwargs)
  File "/opt/airflow/venv/lib/python3.8/site-packages/openmetadata_managed_apis/workflows/ingestion/common.py", line 236, in metadata_ingestion_workflow
    workflow.execute()
  File "/opt/airflow/venv/lib/python3.8/site-packages/metadata/ingestion/api/workflow.py", line 215, in execute
    raise err
  File "/opt/airflow/venv/lib/python3.8/site-packages/metadata/ingestion/api/workflow.py", line 196, in execute
    for record in self.source.next_record():
  File "/opt/airflow/venv/lib/python3.8/site-packages/metadata/ingestion/api/topology_runner.py", line 132, in next_record
    yield from self.process_nodes(get_topology_root(self.topology))
  File "/opt/airflow/venv/lib/python3.8/site-packages/metadata/ingestion/api/topology_runner.py", line 98, in process_nodes
    yield from self.process_nodes(child_nodes)
  File "/opt/airflow/venv/lib/python3.8/site-packages/metadata/ingestion/api/topology_runner.py", line 80, in process_nodes
    for entity_request in stage_fn(element) or []:
  File "/opt/airflow/venv/lib/python3.8/site-packages/metadata/ingestion/source/dashboard/superset/db_source.py", line 196, in yield_datamodel
    col_names = self.get_column_list(chart_json.table_name)
  File "/opt/airflow/venv/lib/python3.8/site-packages/metadata/ingestion/source/dashboard/superset/db_source.py", line 81, in get_column_list
    sql_query = sql.text(FETCH_COLUMN.format(table_name=table_name.lower()))
AttributeError: 'NoneType' object has no attribute 'lower'
[2023-12-12, 09:35:46 UTC] {taskinstance.py:1415} INFO - Marking task as FAILED. dag_id=Superset_Ather_metadata_connection, task_id=ingestion_task, execution_date=20231212T093450, start_date=20231212T093454, end_date=20231212T093546
[2023-12-12, 09:35:46 UTC] {standard_task_runner.py:92} ERROR - Failed to execute job 1021 for task ingestion_task ('NoneType' object has no attribute 'lower'; 4116908)
[2023-12-12, 09:35:46 UTC] {local_task_job.py:156} INFO - Task exited with return code 1
[2023-12-12, 09:35:46 UTC] {common.py:311} INFO - Sending failed status from callback...
[2023-12-12, 09:35:46 UTC] {common.py:317} INFO - Sending status to Ingestion Pipeline Superset Ather.Superset_Ather_metadata_connection
[2023-12-12, 09:35:46 UTC] {local_task_job.py:273} INFO - 0 downstream tasks scheduled from follow-on schedule check

Fix the above issues and handle the exceptions
Version:

OS: [e.g. iOS]
Python version:
OpenMetadata version: [e.g. 1.1.7]
OpenMetadata Ingestion package version: [e.g. openmetadata-ingestion[docker]==XYZ]

Additional context
Add any other context about the problem here.

Fixed by https://github.com/open-metadata/OpenMetadata/pull/14371


Failed to create TextMobject with " " as content

Steps to reproduce
This is the code inside Scene::construct
txt = TextMobject(" ")
self.play(Write(txt))

Compiled with:
python3 -m manim test.py Test -lp

Has the following traceback:
Writing "\centering" to ./media/Tex/bf704a9c70f0a573.tex

Traceback (most recent call last):
  File "/home/cpud36/workspace/manim/manimlib/extract_scene.py", line 155, in main
    scene = SceneClass(**scene_kwargs)
  File "/home/cpud36/workspace/manim/manimlib/scene/scene.py", line 53, in __init__
    self.construct()
  File "test.py", line 6, in construct
    txt = TextMobject(" ")
  File "/home/cpud36/workspace/manim/manimlib/mobject/svg/tex_mobject.py", line 146, in __init__
    self.break_up_by_substrings()
  File "/home/cpud36/workspace/manim/manimlib/mobject/svg/tex_mobject.py", line 184, in break_up_by_substrings
    sub_tex_mob.move_to(self.submobjects[last_submob_index], RIGHT)
IndexError: list index out of range

Additional info
The problem is that self.submobjects is empty, so last_submob_index is -1
Environment
Manim: b74e5ca2 commit
OS: Arch linux-4.19.66-1-lts
Python Version: Python 3.7.4

Did you find how to fix this? I have similar error.

Can you make an issue in community repo? https://github.com/ManimCommunity/manim/issues
I confirm it exists there also. We can find a fix for this there. @cpud36

Is there any update about this issue? I have just installed manim + jupyter support, and I have the same problem with TextMobject. I'm using python 3.7.3 on Linux and manim 0.5.0.

There is no this problem in the new version of manim (manimgl), so I'm closing this.


[bug]: Letsencrypt cert is not obtained for lnd versions >=0.16.0

Background
lnd versions >=0.16.0 don't obtain a letsencrypt cert when configs are set to obtain one. I see this in regtest mode. I have not tried it on testnet or mainnet.
Your environment

version of lnd: >=0.16.0

which operating system: lightning labs docker image - lightninglabs/lnd:v0.16.2-beta

version of btcd, bitcoind, or other backend: docker - ruimarinho/bitcoin-core:latest

any other relevant environment details: tested only in regtest so far

Steps to reproduce
I have a minimum docker example here with my configs illustrating how a letsencrypt cert is obtained in case of v15 but not for v16.
Expected behaviour
I expect lnd to obtain the letsencrypt cert during/after the first REST/RPC call given the configs I have.
Actual behaviour
The letsencrypt cert is not obtained for lnd >=0.16.0 during/after the first REST/RPC call.
Instead, the call fails complaining about a self-signed certificate. Does lnd default to the self-signed TLS after the letsencrypt challenge fails?
Testing this is complicated by the fact that also for v15 the letsencrypt challenge only works like 5 times in a row when redeploying lnd from scratch (docker compose down && docker compose up --build). After that, REST calls to lnd time out. I can then change the URL for which to obtain the cert and it works again but only so many times. Then even changing the URL does not work anymore at some point. Is this related to letsencrypt limiting requests for URLs/IPs?

Thanks for taking this on @sputn1ck! Unfortunately, I still see the same behavior as in 16.2. I integrated your fix in my test repo for this. I collected some of the output logs in this text file for comparison. All the logs pretty much show the same in terms of letsencrypt settings. Only the order is slightly different for 15.5 which is where the letsencrypt cert is successfully obtained.


Error rendering component in tests

I'm getting an error when trying to render a component for testing (using Mocha/Chai and jsdom):
TypeError: Cannot read property 'CSS' of undefined
      at new Prefixer (node_modules/inline-style-prefixer/lib/Prefixer.js:43:46)
      at Object.getPrefixedStyle (node_modules/radium/lib/prefixer.js:44:16)
      at prefixPlugin (node_modules/radium/lib/plugins/prefix-plugin.js:16:28)
      at node_modules/radium/lib/resolve-styles.js:184:18
      at Array.forEach (native)
      at _runPlugins (node_modules/radium/lib/resolve-styles.js:183:11)
      at resolveStyles (node_modules/radium/lib/resolve-styles.js:276:14)
      at node_modules/radium/lib/resolve-styles.js:89:14
      at mapSingleChildIntoContext (node_modules/react/lib/ReactChildren.js:105:26)
      at traverseAllChildrenImpl (node_modules/react/lib/traverseAllChildren.js:98:5)
      at traverseAllChildrenImpl (node_modules/react/lib/traverseAllChildren.js:114:23)
      at traverseAllChildren (node_modules/react/lib/traverseAllChildren.js:186:10)
      at mapIntoWithKeyPrefixInternal (node_modules/react/lib/ReactChildren.js:125:3)
      at Object.mapChildren [as map] (node_modules/react/lib/ReactChildren.js:145:3)
      at _resolveChildren (node_modules/radium/lib/resolve-styles.js:87:38)
      at Object.resolveStyles [as default] (node_modules/radium/lib/resolve-styles.js:262:21)
      at RadiumEnhancer.render (node_modules/radium/lib/enhancer.js:139:42)
      at [object Object].ReactCompositeComponentMixin._renderValidatedComponentWithoutOwnerOrContext (node_modules/react/lib/ReactCompositeComponent.js:587:34)
      at [object Object].ReactCompositeComponentMixin._renderValidatedComponent (node_modules/react/lib/ReactCompositeComponent.js:607:32)
      at [object Object].wrapper [as _renderValidatedComponent] (node_modules/react/lib/ReactPerf.js:66:21)
      at [object Object].ReactCompositeComponentMixin.mountComponent (node_modules/react/lib/ReactCompositeComponent.js:220:30)
      at [object Object].wrapper [as mountComponent] (node_modules/react/lib/ReactPerf.js:66:21)
      at Object.ReactReconciler.mountComponent (node_modules/react/lib/ReactReconciler.js:37:35)
      at [object Object].ReactCompositeComponentMixin.mountComponent (node_modules/react/lib/ReactCompositeComponent.js:225:34)
      at [object Object].wrapper [as mountComponent] (node_modules/react/lib/ReactPerf.js:66:21)
      at Object.ReactReconciler.mountComponent (node_modules/react/lib/ReactReconciler.js:37:35)
      at mountComponentIntoNode (node_modules/react/lib/ReactMount.js:266:32)
      at ReactReconcileTransaction.Mixin.perform (node_modules/react/lib/Transaction.js:136:20)
      at batchedMountComponentIntoNode (node_modules/react/lib/ReactMount.js:282:15)
      at ReactDefaultBatchingStrategyTransaction.Mixin.perform (node_modules/react/lib/Transaction.js:136:20)
      at Object.ReactDefaultBatchingStrategy.batchedUpdates (node_modules/react/lib/ReactDefaultBatchingStrategy.js:62:19)
      at Object.batchedUpdates (node_modules/react/lib/ReactUpdates.js:94:20)
      at Object.ReactMount._renderNewRootComponent (node_modules/react/lib/ReactMount.js:476:18)
      at Object.wrapper [as _renderNewRootComponent] (node_modules/react/lib/ReactPerf.js:66:21)
      at Object.ReactMount._renderSubtreeIntoContainer (node_modules/react/lib/ReactMount.js:550:32)
      at Object.ReactMount.render (node_modules/react/lib/ReactMount.js:570:23)
      at Object.wrapper [as render] (node_modules/react/lib/ReactPerf.js:66:21)
      at Object.ReactTestUtils.renderIntoDocument (node_modules/react/lib/ReactTestUtils.js:76:21)
      at Context.<anonymous> (test/slide.spec.js:15:27)

It happens using either TestUtils.renderIntoDocument(<Component />) or shallow rendering, but only with Radium 0.14.4+ (reverting back to 0.14.3 works fine). Any ideas?

0.14.4 was published by mistake, please ignore it. You may want to update to 0.15.1, which includes the new prefixer (and is the same as 0.14.4). I think the trouble here is that there is no userAgent passed to the component, and the prefixer complains during render because you aren't running in a browser environment. I didn't notice this because all our tests run in Karma under Phantom.
0.15.0+ should throw a more descriptive error which would help you fix this. Passing radiumConfig={{userAgent: ''}} to the component should be sufficient. This would probably be quite annoying durring tests, however. I wonder if we should just pass an empty userAgent by default, to get no prefixing.

Ah, that makes sense.
It doesn't seem to work with an empty string, but it does if I fake a User-Agent, e.g. radiumConfig={{userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36'}}. Seems to be what's suggested here as well: https://github.com/rofrischmann/inline-style-prefixer#custom-useragent
If there is a way for Radium to handle this internally for server-side test environments, that would be awesome, as it seems error-prone to have to manually specify this in every test render.

Yeah this is definitely annoying, I believe the latest version of inline-style-prefixer has fixed this issue. I'll be updating Radium to use it soon.

Fixed in a0c5791408d8050a245d0cc7620fe9cc71448f1c.

:+1: thanks!

Excellent, glad to know the fix worked. Sorry for the busted release!

@ianobermiller yes it does. inline-style-prefixer now adds a warning (Either the global navigator was undefined or an invalid userAgent was provided. Using a valid userAgent? Please let us know and create an issue at https://github.com/rofrischmann/inline-style-prefixer/issues) but I can live with that. Thanks for sorting this!

Yes, I am looking into some options for getting rid of the warning on both sides without manually passing the userAgent.


Allow custom Food/Utility definitions

Add a way to use custom definitions for Food/Utility. Reading a JSON file at load could be one way.

Implemented in 77a758c7869e8d1463cf75e2e70f2b2f2e9c2068 279a4244932027b5acae47eca1467122cd0ca8d9 9580f02bb22b620486b9cbd8a88040e0cb790186.


Package request: hoppscotch

Project description
Open source API development ecosystem - https://hoppscotch.io/
It's a web service for API testing, like postman/insomnia but self-hosted and doesn't run on electron. Uses postgresql.
Demo: https://hoppscotch.io/
Metadata

homepage URL: https://github.com/hoppscotch/hoppscotch/
source URL: https://github.com/hoppscotch/hoppscotch/
dockerfile: https://raw.githubusercontent.com/hoppscotch/hoppscotch/main/prod.Dockerfile
docker compose file: https://raw.githubusercontent.com/hoppscotch/hoppscotch/main/docker-compose.yml
license: MIT
platforms: unix, linux, darwin, ...

They're just released a desktop app https://hoppscotch.com/download

Hey, @felixsanz, from what I've discussed with the upstream devs, this will most likely be possible only once their new desktop app (as @humancalico mentioned) is decoupled from the code that connects then to the hoppscotch.io servers.
So, essentially, they'll allow a configuration option in the future between self hosting, hoppscotch servers, etc. either through multiple versions of their app, or via in-app options (this is TBD since their desktop app is still in alpha)

Hey, @felixsanz, from what I've discussed with the upstream devs, this will most likely be possible only once their new desktop app (as @humancalico mentioned) is decoupled from the code that connects the app to the hoppscotch.io servers.
So, essentially, they'll allow a configuration option in the future between self hosting, hoppscotch servers, etc. either through multiple versions of their app, or via in-app options (this is TBD since their desktop app is still in alpha)

Just to note, i don't know others but i wouldn't be interested in another electron app. i would only use hoppscotch if it's available as a self-host service, which is how it runs now

I'll discuss this with the devs; currently, I have no idea how something like that would be packaged.

I'll discuss this with the devs; currently, I have no idea how something like that would be packaged.

just like miniflux is packaged. it's a service that runs via systemd and available as a self-hosted web app

I'll discuss this with the devs; currently, I have no idea how something like that would be packaged.

just like miniflux is packaged. it's a service that runs via systemd and available as a self-hosted web app.
https://raw.githubusercontent.com/hoppscotch/hoppscotch/main/docker-compose.yml

I'll look into it; although I'll get quite busy soon so no promises on this from my end. Any maintainer may feel free to package it themselves early.

Yes, that's the desktop app; this issue specifically requests the self-hosted module.

Hey! I've already packaged the desktop app in #289271 😄 . Tested on macos and linux (x64 arch).

Hey, please read the above discussion and the original post; this issue requests the self hosted runner of Hoppscotch and not the desktop application. Thanks.


feat: Allows skipping artefacts upload 4 GH Release

Pull Request Template
📲 What
feat: Allows skipping artefacts upload for a GitHub Release
🤔 Why
Not all projects have artefacts to upload
🛠 How
👀 Evidence
🕵 How to test

/azp run

/azp run

/azp run

/azp run

/azp run

/azp run


add  web-components as a keyword

add  web-components as a keyword for it to appear on customelemenrs

Fixed in https://github.com/prateekjadhwani/podcast-player/commit/05fd6197bc7fd273706cfd7e535c0cec7f49b50c and the element now appears in the customelements.io site


use "dropping" strategy by default for Stream.async apis

Up for discussion :)

As usual, i would vote for the composable API.
Stream.async(
  (emit) => {
    //...
  },
  { buffer: Queue.unbounded() },
);

I believe that the main point of having a single-responsibility primitives is having the ability to compose them.
In addition, this way we don't hide the internal details from the user – if i provided a Queue by my own – i understand that this Queue is using under the hood, which grants me extra knowledge about how my code works.
Plus if we will have a new options for Queue in the future – we will not need to re-implement all the methods that just passes props from one place to another. I can't think of any new options for Queue now, but just in case.
Don't see any reason to hide such implementation details from the user.

Don't see any reason to hide such implementation details from the user.

We do not provide such an API anywhere else within Effect, so I disagree that this should not be hidden from the user.
Given the underlying complexity in stream, I think giving users the flexibility to choose the buffer strategy (i.e. unbounded, dropping, etc.) is a better UX than having to pass the buffer to use. Furthermore, for this case specifically the Queue constructors are effectful, and while that's not an issue since the effect can be resolved internally, it obfuscates things further.
From my perspective, I like the refined API proposed by @tim-smart.
This also closes #3200.

Up for discussion :)

Dropping elements by default looks like a very bad choice. Bounded by default is kind of the only thing that make sense

Dropping elements by default looks like a very bad choice. Bounded by default is kind of the only thing that make sense

I'm fine with leaving it bounded by default I guess but we should probably add a note to the JSDoc that explains the semantics of each option.

I'm fine with leaving it bounded by default I guess but we should probably add a note to the JSDoc that explains the semantics of each option.

Or just let user to pass Queue by himself, so no need to describe things, everything is described in the documentation
https://effect.website/docs/guides/concurrency/queue

Or just let user to pass Queue by himself

Again, this is not a pattern we use anywhere else in the library and I'm not sure it's a desirable one.

Also note that passing Queue.unbounded() is not "passing a queue" but rather passing a queue constructor. Per se as an additional option it isn't necessarily bad

Right now we are discussing the necessity of share operator, and seems like there will be the first place where this pattern will be used
https://discord.com/channels/795981131316985866/1258936229219532851

Or just let user to pass Queue by himself, so no need to describe things, everything is described in the documentation https://effect.website/docs/guides/concurrency/queue

The issue with passing a constructor is that it doesn't guarantee exclusive use by the stream, and it surfaces implementation detail. While unlikely, we may want to swap the usage of Queue with another buffer implementation in the future.

The issue with passing a constructor is that it doesn't guarantee exclusive use by the stream

Yes, indeed, a constructor does not guarantee exclusive use, but that isn't necessarily a bad thing. I wouldn't call this an "issue" – it's more about providing flexibility to the user. Actually it's not an easy thing to share a Queue between two streams – if user already did it – he definetely did it intentionally and for some reason.

and it surfaces implementation detail

This is actually one of the main points – I don't just see this as not being bad, I assert that exposing this implementation detail is beneficial. As I mentioned earlier, one of the advantages of simple primitives with limited responsibilities is the ability to compose them.
Let's imagine a newcomer joins a project written in Effect, having never worked with Effect before. If they see:
Stream.async(
  (emit) => {
    //...
  },
  { buffer: Queue.bounded(16) },
);

It's immediately clear that queues are being used for buffering in this stream. They can look up the documentation on queues and get a complete picture of what's happening under the hood. They will understand that Stream.async calls Queue.offer, and so on. The code stops being magical or a black box – they see the composition of familiar primitives.
On the other hand, if the newcomer sees:
Stream.async(
  (emit) => {
    //...
  },
  { bufferSize: 16 },
);

It's unclear what's actually happening. What is this buffer? How does it work? They would still need to delve into the source code to find out that a queue is being used underneath.
So, in the end, every developer will end up "surfacing the implementation detail" for themselves by looking into the Effect source code, instead of understanding it through type declarations and their own source code.

This actually highlights a broader issue known as "composition vs configuration." In React, for example, the principle of "Composition over Configuration" is widely embraced.

Again, this is not a pattern we use anywhere else in the library and I'm not sure it's a desirable one.

I would argue that Effect also adheres to this principle, as it is inherently applicable to functional programming – building complex programs from the composition of small functions.
Additionally, on the main page of Effect's website (https://effect.website/), there are sections emphasizing this philosophy:

Composable & Reusable
Everything in the Effect ecosystem is designed to work together. Building applications with Effect feels like playing with Lego.

Powerful building blocks
Every part of the Effect ecosystem is designed to be composable. The Effect primitives can be combined in many different ways to tackle the most complex problems.

Given this, the approach of passing a queue constructor instead of a configuration seems to be the most appropriate solution in this case. It aligns well with the overall approach of composition over configuration.

I would argue that this is why apis such as Stream.fromQueue & Stream.fromPubSub exist.
I'm not completely against the idea of passing constructors, but maybe as an additional option. It should also support the error and requirements types, and fully offload the lifetime responsibility to the user by unwrapping a Scope (Effect<Queue, E, R | Scope>)

/rebase

/rebase

/rebase

@tim-smart given that dropping elements by default isn't something we should do, can we close this?

I would argue that this is why apis such as Stream.fromQueue & Stream.fromPubSub exist.
I'm not completely against the idea of passing constructors, but maybe as an additional option. It should also support the error and requirements type, and fully offload the lifetime responsibility to the user by unwrapping a Scope (Effect<Queue, E, R | Scope>).

unwrapping a Scope would not delegate the responsibility of the Scope to the user

@tim-smart given that dropping elements by default isn't something we should do, can we close this?

I'll rework it to just make the change to object arguments.
Regarding keeping bounded, would switching to unbounded be better? You are either accumulating unbounded suspended fibers, or unbounded elements either way, and suspended fibers would likely be more expensive in terms of memory.

unbounded sounds like the only natural choice for Stream.async* family, which produces a push-based stream

@tim-smart given that dropping elements by default isn't something we should do, can we close this?

I'll rework it to just make the change to object arguments.
Regarding keeping bounded, would switching to unbounded be better? You are either accumulating unbounded suspended fibers, or unbounded elements either way, and suspended fibers would likely be more expensive in terms of memory.

I think we broke something in the async constructor typing but the advised usage is:
Stream.async<number>(async (emit) => {
  while (Math.random() <= 0.99) {
    await emit.single(100)
  }
})

which would back-pressure the producer thanks to the bounded buffer, the same will leak with unbounded. I think we need an option to potentially use unbounded but unbounded by default is not ideal

unbounded sounds like the only natural choice for Stream.async* family, which produces a push-based stream

no, for the reason in: https://github.com/Effect-TS/effect/pull/3213#issuecomment-2230579231

I think we broke something in the async constructor typing but the advised usage is

It sounds good when the implementation is just emitting sequential Math.random(), but it looks more of a "Hello World".
In reality, the Stream.async is used when you have some EventEmitter (like this, for example https://www.npmjs.com/package/ws) and you want to turn it into a stream.
Stream.async((emit) => {
  const ws = new WebSocket();
  ws.on('message', m=>emit(m))
})

We don't have any push-based Stream, async is not producing a push-based stream it is producing a plain and normal stream

Yes, I understand that Effect streams are pull-based, but it doesn't change the fact that there are data sources that are inherently push-based.
I see Stream.async as a boundary between the external push-based world and Effect. I think placing a bounded buffer here by default doesn't make sense.
Because all other cases (such as sequencing random, etc) are covered by other operators and primitives in Effect for various scenarios, you don't need to do it "manually".
Do you have any real-life examples where a boundary for async actually worked and made sense?

I think we broke something in the async constructor typing but the advised usage is

It sounds good when the implementation is just emitting sequential Math.random(), but it looks more of a "Hello World".
In reality, the Stream.async is used when you have some EventEmitter (like this, for example https://www.npmjs.com/package/ws) and you want to turn it into a stream.
Stream.async((emit) => {
  const ws = new WebSocket();
  ws.on('message', m=>emit(m))
})

That's really not an hello world, you're confusing one usage with every usage, event emitters are problematic in JS no matter what and in fact node streams support backpressure by calling read explicitly instead of using emitters. Not everything is listening to an event emitter, if you're listening to an event emitter the best way is to use unbounded but that's not the general case

We don't have any push-based Stream, async is not producing a push-based stream it is producing a plain and normal stream

Yes, I understand that Effect streams are pull-based, but it doesn't change the fact that there are data sources that are inherently push-based.
I see Stream.async as a boundary between the external push-based world and Effect. I think placing a bounded buffer here by default doesn't make sense.
Because all other cases (such as sequencing random, etc) are covered by other operators and primitives in Effect for various scenarios, you don't need to do it "manually".
Do you have any real-life examples where a boundary for async actually worked and made sense?

"but it doesn't change the fact that there are data sources that are inherently push-based" that's untrue, there are bad implementations that don't expose a pull-based approach but at the lower level (incl kernel) nothing is push based
"I see Stream.async as a boundary between the external push-based world and Effect." that's your view, it's not what the async combinator is for, the async combinator gives you a way to emit and emit returns a Promise
"Do you have any real-life examples where a boundary for async actually worked and made sense?" calling APIs that may return cursors, integrating to async sources, reading from streams where the read is returning a Promise

if anything it might actually be better to expose a fromEventEmitter which is purpose built for handling emitters, with the quirks of emitters

if you're listening to an event emitter the best way is to use unbounded

https://github.com/Effect-TS/effect/pull/3266

that's untrue, there are bad implementations that don't expose a pull-based approach but at the lower level (incl kernel) nothing is push based

Regarding push-based data sources, network sockets are a fundamental example. At the lowest level, a network socket receives data packets from the network interface card (NIC). When a packet arrives, it triggers an interrupt in the NIC, which notifies the operating system that new data is available. The OS then places this data into a buffer and signals the application that data is ready to be read. This signaling mechanism is inherently push-based because the data arrival drives the processing flow. The application doesn't continuously poll for data; instead, it reacts to incoming data as it arrives. This model is efficient and necessary for handling asynchronous events in network communication, where the timing of data arrival is unpredictable.
Keyboard events are another clear example of a push-based system. When a user presses a key, the operating system generates an event and sends it to the application immediately. The application doesn't need to poll for keypresses; it simply responds to the events as they occur.
Both push-based and pull-based models are essential in different contexts. While pull-based systems are useful for scenarios where the application needs to control the rate of data processing, push-based systems are ideal for event-driven architectures where immediate reaction to incoming data is required.

"Do you have any real-life examples where a boundary for async actually worked and made sense?" calling APIs that may return cursors, integrating to async sources, reading from streams where the read is returning a Promise

If you need to call APIs that may return cursors, we can use Stream.unfold or Stream.paginate in userland, correct? Why would Stream.async be preferable in this case?
When you mention integrating with async sources, could you clarify what you mean? For example, would an EventEmitter be considered an async source?
In the context of reading from streams where the read operation returns a Promise, how would a bounded buffer be beneficial?

that's untrue, there are bad implementations that don't expose a pull-based approach but at the lower level (incl kernel) nothing is push based

Regarding push-based data sources, network sockets are a fundamental example. At the lowest level, a network socket receives data packets from the network interface card (NIC). When a packet arrives, it triggers an interrupt in the NIC, which notifies the operating system that new data is available. The OS then places this data into a buffer and signals the application that data is ready to be read. This signaling mechanism is inherently push-based because the data arrival drives the processing flow. The application doesn't continuously poll for data; instead, it reacts to incoming data as it arrives. This model is efficient and necessary for handling asynchronous events in network communication, where the timing of data arrival is unpredictable.
Keyboard events are another clear example of a push-based system. When a user presses a key, the operating system generates an event and sends it to the application immediately. The application doesn't need to poll for keypresses; it simply responds to the events as they occur.
Both push-based and pull-based models are essential in different contexts. While pull-based systems are useful for scenarios where the application needs to control the rate of data processing, push-based systems are ideal for event-driven architectures where immediate reaction to incoming data is required.

push-based streams are not modelled by Effect Stream and working around it leads to issues, if you want such system you can use an unbounded buffer, the use case is supported making it the default isn't ideal and we will not do it. Note that even if you use an unbounded buffer, the Effect Stream is still pull based, if there is no consumer pulling nothing happens so while your assumption may be correct (arguable if it is, see for example why Kafka is pull-based and heavily used in event-driven systems) having unbounded/bounded/whatever won't get you there.

If you need to call APIs that may return cursors, we can use Stream.unfold or Stream.paginate in userland, correct? Why would Stream.async be preferable in this case?

depends on the API, if you have a promise based API to interact with and you need custom control flow then paginate & co might end up being restrictive, an alternative would be to hook into the lower level API for channels and use an Effect generator.

When you mention integrating with async sources, could you clarify what you mean? For example, would an EventEmitter be considered an async source?

no an EventEmitter is not something I would consider an async source, a node stream with an async read would be one

In the context of reading from streams where the read operation returns a Promise, how would a bounded buffer be beneficial?

because it allows you to wait before reading the next element given that the push will be suspended until there is a taker

At the lowest level, a network socket receives data packets from the network interface card (NIC). When a packet arrives, it triggers an interrupt in the NIC, which notifies the operating system that new data is available. The OS then places this data into a buffer and signals the application that data is ready to be read.

You still have to explicitly read the data to access it though, it isn't pushed to the program. You are just notified when there is something ready.
And even technically keyboard events are buffered and processed on-demand, but you don't get access to that buffer at the dom level.
Push based streams still need to decide what to do if you can't handle the events fast enough (i.e. using a rxjs .concatMap into a slow resource will cause memory issues).
I think we can introduce a Stream.asyncPush variant that handles integrating with apis without backpressure more seamlessly.

I think we can introduce a Stream.asyncPush variant that handles integrating with apis without backpressure more seamlessly.

Exploring .asyncPush here: https://github.com/Effect-TS/effect/pull/3277/files


Make mambaforge image public

Please make the condaforge/mambaforge image public on quay.io. :)
@xhochy

Images are public now.


use official nodejs installer for jpm

jpm doesn't seem to work well anymore with the (ancient) Node.js version apt-get gives us. So let's just use the official installer. Works great and seems to shave ~50MB off the final image size.

:+1:


Maven | Update Maven dependency versions + configure Surefire plugin

Codecov Report

Merging #1068 into dev will decrease coverage by 0.05%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #1068      +/-   ##
============================================
- Coverage     53.12%   53.07%   -0.06%
+ Complexity     3170     3168       -2
============================================
  Files           119      119
  Lines         28023    28023
  Branches       4680     4680
============================================
- Hits          14887    14872      -15
- Misses        10917    10925       +8
- Partials       2219     2226       +7

Impacted Files
Coverage Δ
Complexity Δ

...m/microsoft/sqlserver/jdbc/SQLServerException.java
74.28% <0%> (-0.72%)
33% <0%> (-1%)

...c/main/java/com/microsoft/sqlserver/jdbc/Util.java
59.69% <0%> (-0.44%)
90% <0%> (-1%)

...in/java/com/microsoft/sqlserver/jdbc/IOBuffer.java
60.9% <0%> (-0.24%)
0% <0%> (ø)

...oft/sqlserver/jdbc/SQLServerPreparedStatement.java
53.31% <0%> (-0.13%)
216% <0%> (-1%)

...rc/main/java/com/microsoft/sqlserver/jdbc/dtv.java
68.66% <0%> (-0.12%)
0% <0%> (ø)

...om/microsoft/sqlserver/jdbc/SQLServerBulkCopy.java
51.5% <0%> (-0.07%)
254% <0%> (-1%)

...rc/main/java/com/microsoft/sqlserver/jdbc/DDC.java
47.51% <0%> (ø)
112% <0%> (+1%)
:arrow_up:

Continue to review full report at Codecov.

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


doc: Publish CVE-2023-5753

I am not sure updating the release notes for a past release makes any sense at this point? But the addition to vulnerabilities.rst should likely be backported to 3.5 branch so that future point releases capture that information that should have been there in the first place?

I was not sure either, but in any case I put it since it still can be viewed, but I totally ok removing it.
I didn't understand what you are proposing in the vulnerabilities, the problem is that I missed creating this entry during 3.5 development, but the fix was done before 3.5

I didn't understand what you are proposing in the vulnerabilities, the problem is that I missed creating this entry during 3.5 development, but the fix was done before 3.5

Yes since the fix was already available in 3.5 I was suggesting that you also make sure to backport this PR to 3.5 branch so that the fix shows up in the documentation of future 3.5.x releases when people browse the vulnerabilities page there.

@henrikbrixandersen thanks for the backport label


jacocoTestReport always SKIPPED

Expected Behavior

jacocoTestReport work
Current Behavior

jacocoTestReport SKIPPED
Context

I created a task whose type is Test, and jacocoTestReport depends on the task. When I ran the task, jacocoTestReport did not work and I got the following information
jacocoTestReport SKIPPED

I find if I use the task test directly, jacocoTestReport worked fine. It makes me confused
the following code caused the above issue
plugins {
    id 'java'
    id 'jacoco'
}

repositories {
    mavenCentral()
}

dependencies {

}

task myTest(type: Test) {
    useTestNG()
    useJUnitPlatform()

    finalizedBy jacocoTestReport
    reports {
        junitXml.required = false
        html.required = true
    }
    jacoco {
        enabled = true
        //用于ide
        destinationFile = layout.buildDirectory.file("jacoco/${name}.exec").get().asFile
        includes = []
        includes = []
        excludes = []
        excludeClassLoaders = []
        includeNoLocationClasses = false
        sessionId = "<auto-generated value>"
        dumpOnExit = true
        classDumpDir = null
        output = JacocoTaskExtension.Output.FILE
        address = "localhost"
        port = 6300
        jmx = false
    }
}

jacocoTestReport {
    // tests are required to run before generating the report
    dependsOn myTest
    reports {
        xml.required = false
        csv.required = false
        html.outputLocation = layout.buildDirectory.dir('jacocoHtml')
    }

}

Steps to Reproduce

example project
Your Environment
Gradle 7.1.1
Thanks

This is expected. If you run with -i you will see:
> Task :unit-test-sample:jacocoTestReport SKIPPED
Skipping task ':unit-test-sample:jacocoTestReport' as task onlyIf is false.

Which means the execution data doesn't exist: https://github.com/gradle/gradle/blob/a7eb7ac16a9f698791a28066d93ef445edff3eaf/subprojects/jacoco/src/main/java/org/gradle/testing/jacoco/tasks/JacocoReportBase.java#L61-L71
This is not a Gradle issue.

I got it, thanks @blindpirate

What does execution data mean? I'm assuming it's exeecution data from running tests.
So what happens when you delete all of a projects tests?
Due to lack of test execution data the jacocoTestReport task gets skipped. The old Jacoco report doesn't get cleaned up. If you're sending data to SonarQube, this results in your project still having a non 0% coverage statistic.
This means you have to run ./gradlew clean to resolve the issue. 😲
Much better, in my opinion, would be to delete the Jacoco outputs when there's no test execution data. Does it make sense?

It is definitely a Gradle issue that it also happened to me and I was unable to figure out what this error meant:
Skipping task ':jacocoMergedReport' as task onlyIf is false.

In other words, there is no clear explanation to why the task was skipped. It didn't even help if I enabled the debug log level.

I'm confused.
If I want to use jacoco to generate reports for custom tasks of type: Test in my code -- and if the above code causes the task to be skipped -- what is the correct way of doing this?  I'm trying to do precisely the same thing.

@scientificCommunity Did you come up with a working solution for this?

Oh, was the problem here the override of the destination directory?

I'm also experiencing this problem. What is the correct solution?
Skipping task ':library:unitTestCoverageReport' as task onlyIf 'Any of the execution data files exists' is false.

Hi, @merlinpaypal ,

I'm also experiencing this problem. What is the correct solution?

I don't know your code exactly but I think the issue is that you only got a dependsOn association to the test task, and that alone is not enough, you also need to configure the JacocoReport task where to take the execution data (the JaCoCO .exec files) from.
You could try something like this:
executionData tasks.named('test')

Or if tasks.withType(Test) is still correct for your project (and you really want to depend on all test tasks):
executionData tasks.withType(Test)

Or, if your project is more complicated (like mine) and does other stuff too, and you can reproduce my issue #26668, then based on my current findings:
executionData { files(tasks.named('test').get()).filter { it.name.endsWith('.exec') && it.exists() } }

Or if tasks.withType(Test) is still correct for your project (and you really want to depend on all test tasks):
executionData files(tasks.withType(Test)).filter { it.name.endsWith('.exec') && it.exists() }

Then you can just remove your dependsOn line, because it will be duplicated now. The files(...) call will store the task this file collection was created from, and executionData will make use of it as a task dependency.

HI @timkabot where did you added isTestCoverageEnabled = true?
I am getting the
**> Task :test SKIPPED
Skipping task ':test' as task onlyIf is false.
:test (Thread[Execution worker for ':',5,main]) completed. Took 0.0 secs.
:jacocoTestReport (Thread[Execution worker for ':',5,main]) started.

Task :jacocoTestReport SKIPPED
Skipping task ':jacocoTestReport' as task onlyIf is false.
:jacocoTestReport (Thread[Execution worker for ':',5,main]) completed. Took 0.0 secs**

Not sure how to fix it?  Please help

What does execution data mean? I'm assuming it's exeecution data from running tests.
So what happens when you delete all of a projects tests?
Due to lack of test execution data the jacocoTestReport task gets skipped. The old Jacoco report doesn't get cleaned up. If you're sending data to SonarQube, this results in your project still having a non 0% coverage statistic.
This means you have to run ./gradlew clean to resolve the issue. 😲
Much better, in my opinion, would be to delete the Jacoco outputs when there's no test execution data. Does it make sense?

I did clean before rebuild, it still be skipped.

I have a similar issue, but my jacoco problem only happens because the previous task, which is 'test' fails first, let me show you the output:
20:57:06  > Task :module:test SKIPPED
20:57:06  Skipping task ':module:test' as task onlyIf 'Task is enabled' is false.
20:57:06  Resolve mutations for :module:jacocoTestReport (Thread[included builds,5,main]) started.
20:57:06  :module:jacocoTestReport (Thread[included builds,5,main]) started.
20:57:06
20:57:06  > Task :module:jacocoTestReport SKIPPED
20:57:06  Skipping task ':module:jacocoTestReport' as task onlyIf 'Any of the execution data files exists' is false.

My configuration:
 test {
      finalizedBy jacocoTestReport
    }

    jacocoTestReport {
      dependsOn test
    }

If in :module:build.gradle i add:
test {
 enabled = true
}

Then the test task will work, and subsequently the jacoco as well.
So maybe you can try look at whats happening before jacoco is used


Spotify Icon not displaying on Notification

I'm noticing that the spotify icon is not displayed in the notification popup (example image attached).  From left to right, the notification shows

Default Piece of Paper Icon
Artist Information (Title, Album, Artist)
Cover Art Icon.

So, everything looks correct, except for the left most icon, which shows as a default icon, rather then the spottily icon.

Seeing as there've been no updates on this issue in about 2 years, I'm closing it. Feel free to comment if the issue still occurs or there's an update.


Add support for R5

It seems that R5 instances are not currently supported, and they're not in the default list of EC2 instance types (similar to #27):
2018-09-12T14:33:35Z [INFO] DataStore has no available IP addresses
2018-09-12T14:33:35Z [INFO] Send AddNetworkReply: IPv4Addr , DeviceNumber: 0, err: datastore: no available IP addresses
2018-09-12T14:33:35Z [ERROR] Failed to get eni IP limit due to unknown instance type r5.2xlarge
2018-09-12T14:33:35Z [INFO] Failed to retrieve ENI IP limit: vpc ip resource(eni ip limit): unknown instance type
2018-09-12T14:33:35Z [DEBUG] IP pool stats: total = 0, used = 0, c.currentMaxAddrsPerENI = 1, c.maxAddrsPerENI = 1
2018-09-12T14:33:35Z [DEBUG] Start increasing IP Pool size
2018-09-12T14:33:35Z [ERROR] Failed to get eni limit due to unknown instance type r5.2xlarge

(Found using troubleshooting guide at: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/troubleshooting.md)

We've not released the CloudFormation with an update for t3/r5 yet because CNI needs to also be released with support.
See:

aws/amazon-vpc-cni-k8s#145
#27

CNI 1.2 was released.
Any updated on when we can get an AMI with that version pre-baked in?

@mazamats The v24 AMI has r5's in the max-pods file (see #31). If you want to upgrade your CNI version to 1.2, you can apply that YAML to your cluster. We'll need to release an updated CloudFormation template with r5's and t3's in it.

Can we use r5 in AWS EKS now?

Can wet get an update on when R5 support will be available in the cloud formation templates?

You can manually update the launch config outside of C, but if the CNI has no support for it the nodes will not start any pods. We have to wait for v25.

Closing as this was released with v25


sc-8293 Spelling corrections

Scope of changes
sc-8293 Regenerate the .po files with lingui
Type of change

[x] bug fix
[ ] new feature
[ ] documentation
[ ] other (describe)

Acceptance criteria
fix language file, grammar and orthograph errors
Author checklist

[x] I have manually tested the change and/or added automation in the form of unit tests or integration tests
[ ]  I have updated the dependencies list
[ ]  I have recompiled and included new protocol buffers to reflect changes I made
[ ]  I have added new test fixtures as needed to support added tests
[x]   Check this box if a reviewer can merge this pull request after approval (leave it unchecked if you want to do it yourself)
[x]  I have moved the associated Shortcut story to "Ready for Review"

Reviewer(s) checklist

[ ] Any new user-facing content that has been added for this PR has been QA'ed to ensure correct grammar, spelling, and understandability.

Codecov Report

Merging #729 (ac4b3a3) into main (f8192ff) will decrease coverage by 12.47%.
The diff coverage is 50.00%.

@@             Coverage Diff             @@
##             main     #729       +/-   ##
===========================================
- Coverage   44.45%   31.97%   -12.48%
===========================================
  Files         428      478       +50
  Lines       15084     5426     -9658
  Branches      686     1304      +618
===========================================
- Hits         6705     1735     -4970
+ Misses       7370     3504     -3866
+ Partials     1009      187      -822

Impacted Files
Coverage Δ

...rc/components/CertificateReview/ReviewsSummary.tsx
48.27% <ø> (ø)

...ser-ui/src/components/CertificateSection/index.tsx
0.00% <ø> (ø)

web/gds-user-ui/src/components/Contacts/index.tsx
16.66% <ø> (ø)

...b/gds-user-ui/src/components/LegalPerson/index.tsx
16.66% <ø> (ø)

...s-user-ui/src/components/NameIdentifiers/index.tsx
9.09% <ø> (ø)

...er-ui/src/components/ReviewSubmit/AlertContent.tsx
50.00% <ø> (ø)

web/gds-user-ui/src/locales/en-dh/messages.js
0.00% <0.00%> (ø)

web/gds-user-ui/src/locales/ja/messages.js
0.00% <0.00%> (ø)

web/gds-user-ui/src/locales/zh/messages.js
0.00% <0.00%> (ø)

web/gds-user-ui/src/utils/menu.tsx
100.00% <ø> (ø)

... and 263 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Migrating to Swift3

I would love to keep using this library in my project, but I want to migrate to Swift3. Are there any plans?

Yes there is, but im bussy with a project right now

I just let Xcode do its magic (migrating from Swift 2.2 to Swift 3 automatically). Everything works fine.

@quiKsilverItaly why don't you pull request your code? :)

did the same, but after migration (Xcode 8.3) I got lot of errors
Argument labels '(player:, )' do not match any available overloads


Improve log readability of test output

Today when a Travis build fails, e.g. https://travis-ci.org/DefinitelyTyped/DefinitelyTyped/builds/362263112?utm_source=github_status&utm_medium=notification , the actual error introduced by the change can be extremely low in the file (in the linked one, it's around line 4,800).
Ideally we would just not have quite so much log spam (all the "duplicate" notifications, for example, are useless) and the error could be up top. If there's actual diagnostic value in some of them, though, there appears to be log folding support: https://github.com/travis-ci/travis-ci/issues/2285
I think the general goal should be that we can see the relevant error text without scrolling down more than a screenful on the Travis webpage - DT authors will probably at least scroll down this far and realize what they've broken

https://github.com/Microsoft/types-publisher/pull/449 removes the <package> OK line.


mosn pub/sub mode: dubbo Multi-protocol draft design

The New Feature
1. support multiple protocols
2. When in publish / subscribe mode, optimize the configuration of mosn,
   The cluster name uses appName-protocol instead of the interface

My scenes
support service communication protocol migration

My solution
Description:
appName： use k8s deployment name
cluster.interface： Record the interfaces exposed by the application
SERVICE_PROTOCOL： Protocols and ports for service
Brief description:

Accept all requests using mosn auto protocol.
Services dynamically expose multiple protocols through environment variables.
The policies of routers of local services are added dynamically when publishing interfaces.
Add protocol and application information to service registration protocol to support multi protocol registration.
Reduce the configuration of CDS by using app-protocol by cluster name,And add interface description.

The detailed steps are as follows:
一、The app default Configuration,It will use mosn auto protocol
{
	"close_graceful": true,
	"servers": [{
		"default_log_path": "stdout",
		"routers": [{
			"router_config_name": "service_router",
			"virtual_hosts": [{
				"name": "clientHost",
				"domains": ["*"],
				"routers": [
				   #it will be added dynamically When the service publishes the interface
				]
			}]
		}],
		"listeners": [{
			"name": "clientListener",
			"address": "<IP_ADDRESS>:2045",
			"bind_port": true,
			"filter_chains": [{
				"filters": [{
					"type": "proxy",
					"config": {
						"downstream_protocol": "Auto",
						"upstream_protocol": "Auto",
						"router_config_name": "service_router"
					}
				}]
			}]
		}]
	}],
	"cluster_manager": {
		"clusters": [

			#env  SERVICE_PROTOCOL

		]
	},
    "extends": [{
		"type": "dubbo_registry",
		"config": {
		  "enable": true,
		  "server_port": 2045,
		  "api_port": 22222,
		  "log_path": "/tmp"
		}
	  }]
}

二、Init CDS configuration for local mosn
1.add env SERVICE_PROTOCOL for k8s deployment yaml file
        - name: SERVICE_PROTOCOL
          value: dubbo:30080-http:8080

2.add CDS configuration for mosn,cluster name user appname-protocol
		"clusters": [
			{
				"name": "serviceA-dubbo",
				"hosts": [{
					"address": "<IP_ADDRESS>:30080"
				}]
			},
			{
				"name": "serviceA-http",
				"hosts": [{
					"address": "<IP_ADDRESS>:8080"
				}]
			}
		]

三、 add RDS configuration when service publishes the interface
//add protocol、appName field for service protocol
http --json post localhost:22222/pub registry:='{"type":"zookeeper", "addr" : "<IP_ADDRESS>:2181"}' service:='{"interface" : "mosn.io.dubbo.DemoService", "methods" :["sayHello"], "group" : "", "version" : "","protocol" : "dubbo","appName" : "ServiceA"}' --verbose
1.add routers information
    	{
			"match": {
				"headers": [{
					"name": "service",
					"value": "mosn.io.dubbo.HelloWordService"
				}]
			},
			"route": {
				#The name will use appName-protocol,but not using interface
				"cluster_name": "ServiceA-dubbo"
			}
		}

2.and interfaces for cluster
	   {
		"Name": "ServiceA-dubbo",
		"hosts": [
		  {
			"address": "<IP_ADDRESS>:30080",
		  }
		],
		"interface":[
			 "mosn.io.dubbo.HelloWordService"
		 ]
	  }

##四、Add information to the registry
Support native dubbo protocol
五、Update mosn configuration information when subscribe to external services
1.find RDS by protocol,and add or update router strategy
        {
			"match": {
			"prefix": "/mosn.io.http.HelloService"
			},
			"route": {
				"cluster_name": "ServiceHello-http"
			}
        }

2.add CDS and interfaces
   	  {
		"Name": "ServiceHello-http",
		"hosts": [
		  {
			"address": "<IP_ADDRESS>:2045"
		  }
		],
		"interface":[
			 "mosn.io.http.HelloService"
		 ]
	  }

Environment

MOSN  master

2.and interfaces for cluster
just a description？Any other role?

【2.and interfaces for cluster          just a description？Any other role?】
I think it is a necessary field when the previous code is unstable.Can be used to locate routing problems
for example
RDS has been added but the cluster interface is not exposed

I have the following questions that are not clear:

As a provider, why not modify the configuration of LDS when publishing?
Why need to use appName, because which is the same in the same pod?
The positioning problem can be seen through the match field of RDS. Is it necessary for CDS to add interface field?
Should add the matching of the protocol name in the match field? because after the RDS comes out, it will directly go to the corresponding CDS.

TO [As a provider, why not modify the configuration of LDS when publishing?]
LDS has been initialized in the default configuration,The current service has only the only LDS,the reason is that mosn uses an aoto protocol.
RDS will be modify when publishing.
The local service RDS will not be configured when mosn config is initialized,Because I don't know the interface to publish，Only when the client publishes.

TO [Why need to use appName, because which is the same in the same pod?]
AppName represents a type of service，like  order-service、goods-service，It will be used in two places

1.interface data in registry
  The client mosn uses the current field to associate with the cluster name when subscribing to the service, and create CDS configuration
2.CDS cluster name
  In order to allow the application to support multiple protocols,the cluster name should indicate the two dimensions of service type and protocol.
  The pod name can only indicate the deployed instance, but not the service type.

TO [The positioning problem can be seen through the match field of RDS. Is it necessary for CDS to add interface field?]
The current design is to use the subscription / publish mode of client's SDK,interface is not required.
I want to try to connect k8s service  and istio vs  to this mode,When istio's vs. do work on RDS,Maybe RDS and CDS will be needed to check the interface mapping

TO [Should add the matching of the protocol name in the match field? because after the RDS comes out, it will directly go to the corresponding CDS.]
I agree with you.I added this field to the design,It was removed when it was submitted

My reason：
      1.The current route will not go wrong.  I tested it
              Now mosn can support automatic protocol routing. It should only care about the fields supported by the current protocol, not all the fields, when parsing and matching routes,It's just that the performance will be worse
       2.Should the routing objects of each protocol be independent and easy to expand? Will this increase the workload?

But I think protocol field will be very useful, whether it is protocol expansion or performance optimization
		{
			"protocol": "dubbo",
			"match": {
				"headers": [{
					"name": "service",
					"value": "mosn.io.dubbo.DemoService"
				}]
			},
			"route": {
				"cluster_name": "appName-dubbo"
			}
		}

Thank you very much for asking so many questions, and looking forward to more in-depth discussions


Access field of struct from FnArg

Is there any way to access struct fields from FnArg?
for example,
Cargo.toml:
[lib]
proc-macro = true

[dependencies]
quote = "1.0.2"
syn = { version="1.0.11", features = ["full", "extra-traits", "parsing"] }

struct Person{
    id : i32,
    name :String
}
#[insert(sql="INSERT INTO person (id, name) VALUES (?1, ?2)")]
fn insert_person(&p: Person){}

I want use proc_macro_attribute to generate code like this:
fn insert_person(&p:Person){
    // ...
    conn.execute(
        "INSERT INTO person (id, name) VALUES (?1, ?2)",
        params![p.id, p.name])?;
    // ....
}

I print part info of FnArg:
extern crate proc_macro;
use proc_macro::TokenStream;
use syn::{ItemFn, parse_macro_input, FnArg, Type};

#[proc_macro_attribute]
pub fn insert(_: TokenStream, item: TokenStream) -> TokenStream{
    let func = item.clone();
    let raw_func:ItemFn = parse_macro_input!(item as ItemFn);
    let func_args = raw_func.sig.inputs;
    for arg in func_args.iter(){
        match arg {
            FnArg::Typed(pat)=>{
                match &*(pat.ty){
                    Type::Path(path)=>{
                        println!("{:#?}", &path);
                    }
                    _=>{}
                }

            }
            _ => {}
        }
    }
    func
}

output:
TypePath {
    qself: None,
    path: Path {
        leading_colon: None,
        segments: [
            PathSegment {
                ident: Ident {
                    ident: "Person",
                    span: #0 bytes(104..110),
                },
                arguments: None,
            },
        ],
    },
}

And, according to the doc of struct.Span, there is no direct way to get the ItemStruct from span.
So my question is:

Is there any way to access struct filed from FnArg which type is struct?
Or I need to read source to parse by myself?

Fortunately, I find the example from Rocket


fixing CARBON-15616

Closing as this is fixed with PR [1]
[1] https://github.com/wso2/carbon-kernel/pull/772


tasks get_upcoming_events_date | TypeError: 'NoneType' object is not subscriptable

I am running like this
sudo docker run --rm stocksera_scheduled_tasks python3  scheduled_tasks/economy/get_upcoming_events_date.py
and get this error ? do you have also the same issue
Traceback (most recent call last):
  File "scheduled_tasks/economy/get_upcoming_events_date.py", line 99, in <module>
    main()
  File "scheduled_tasks/economy/get_upcoming_events_date.py", line 82, in main
    rrp_treasury_date = get_next_rrp_treasury_date(datetime.strptime(record_date[0], "%Y-%m-%d") + timedelta(days=1))
TypeError: 'NoneType' object is not subscriptable

No issues for me. It seems like you need to run scheduled_tasks/economy/get_reverse_repo.py first.

thanks :D :)


Sound chopped/crackled on Tapo C200

Home Assistant 2023.6.1 on RPi 4B 8GB.
The WebRTC 2.x version was working like a charm.
Recently, I updated to the latest WebRTC 3.x version, as the older one was no longer compatible with the latest HAOS version. I am using the add-on (the simplest installation method), which includes the go2rtc server.
The video works as expected, but unfortunately the sound is now crackled - meaning you can hear it but not understanding what is said.  I am not sure what changed since the version 2.x.
Here are the respective camera audio codecs of the sub-stream from VLC:

Having the same issue with the same camera. Did you find any fix?

Unfortunately not. Still waiting for a response, a minor info is that the hardware of my camera is V2.

Do you know which go2rtc server are you using? I have 1.2.0 installed on mine, so I'm going to try updating that to 1.5.0 https://github.com/AlexxIT/go2rtc/releases to see if it helps

Same here, it is the 1.2.0. Please give a feedback if you test it with the newest go2rtc version.

Does not seems to work on latest release, same crackling audio

Thanks for the feedback. Pretty weird, as it used to work. Also, the Tapo C200 is a widely-used model. Additionally, as said rolling back to WebRTC 2.x is not possible since the latest HA version.

Yes, go2rtc seems to be the problem (since that was what change between 2.x and 3.x)
I don't know much about this stuff, but I think https://github.com/bluenviron/mediamtx could be a solution for us, because seems to have a proper implementation for the audio codec. I think we can create an RTSP server with that, and then use the RTSPtoWebRTC integration from HA. I'll try to investigate further and give feedback over the weekend

You can try your luck with addons RTSPtoXXX
https://www.home-assistant.io/integrations/rtsp_to_webrtc/

You can try your luck with addons RTSPtoXXX
https://www.home-assistant.io/integrations/rtsp_to_webrtc/

Probably this won't do much, since a WebRTC Server is needed anyway and we would probably use the same go2rtc server. The aforementioned add-on from HA is only for displaying/providing the stream from the server, as far as I know - which is similar to the implementation of the current WebRTC.

When I write "addon" and "integration", I understand the difference

When I write "addon" and "integration", I understand the difference

Really helpful and insightful comment. Thanks for nothing

If you follow the link. You can find RTSPtoWeb or RTSPtoWebRTC addons there.
And RTSPtoWebRTC integration can be connected to any of this addons. Also it can be connected to go2rtc.
WebRTC integration 2.0 used RTSPtoWebRTC as server before go2rtc.

Sorry, I'm a bit new to all this. To use an add-on I have to install HA operating system, right? I can't do it from Docker

I assume you can run the Docker image standalone and the connect to it by giving the respective IP address and the port. The downside with that though is that it does not work when using HA with external access (only internally)

I reinstalled HA using Proxmox so I can use addons. Everything is working fine now, thanks :)

So, after a lot of experimentation I found out that the sound problem disappears when replacing the rtsp url with the tapo url as described in the go2rtc repo. Personally I tested it with the following format:
camera<EMAIL_ADDRESS>However on iPhone devices, the video stream with the tapo url config cannot be played (black screen), while the rtsp one is displayed normally. I have also hardcoded in both cases the line mode: webrtc, without any luck for the tapo config video stream.
Probably it would be wise to open a discrete ticket in the go2rtc repo for the iPhone devices that cannot play the video stream which is configured using the tapo url instead of the camera's rtsp url.

Nice find, will try later. Do you experience some kind of latency or delay using go2rtc?

Not at all, it is working as expected.

This ticket is closed after the last update.


RG405M re-mapping back/home to Retroarch Hotkey

Hello
I setup my Hotkey as Select, but would like to go back to using the home/back button in Retroarch. This was listed as a feature since Retroarch asks to hold the button for 5 seconds, that just takes you back Home/Frontend. Maybe related I get an error about Virtual 0/0 not being mapped when pressing the Home key.
Is there a way to revert back or set the Home/back to Hotkey after overriding?

Hi, while setting the hotkey, hold down R1 and Home/Back, then let go of R1 while holding down Home/Back before the mapping is complete. That should map the hotkey back to home

Worked! Thank you 🙏


chore: pkg.pr.new preview with label and comment

Description
issue comment events are not proper for pkg.pr.new since they do not pass the right information around the pull request we are running.
This causes few issues, like publishing vite versions from the last state of the main branch rather than the current PR branch.
What this PR does is it uses a workaround to leverage issue comment events. A comment would create a label, which would trigger the pull request labeled event and then it'd run the workflow.
After the run, it'd remove the label so it leaves the opportunity to other comments to cause a preview for the PR.

Why can't the action checkout the PR branch using a flow/logic like this? https://github.com/actions/checkout/issues/331

Why can't the action checkout the PR branch using a flow/logic like this? actions/checkout#331

I think that's what's brought up in https://github.com/stackblitz-labs/pkg.pr.new/issues/187 https://github.com/stackblitz-labs/pkg.pr.new/issues/200. It looks like there's some issue with webhook metadata, which we cannot workaround from action side.

I still don't quite understand the limitation. The issue_comment event has a way to get the PR number, pkg.pr.new should be able to grab the information / latest sha and publish from there. Many existing preview releases workflows that I've seen also don't really need a two step workflow to fix this. I think it's something pkg.pr.new should look deeper into instead of accepting this workaround IMO.

This is a limitation in pkg.pr.new! With relying on github webhook data, we won't need to deal with issues like spam or authentication. Authentication is just a hash of some unique (temporary) info provided by the webhook, and if it was replicated by the cli, then the publish is authenticated.
the issue_comment event in the webhook does not give us the information needed for generating that hash so we can later replicate it in a workflow run.
But in the soon future, we're thinking about a refactor where we'd stop relying on github so we'd support other environments, this will hopefully help us navigate the issue_comment problem.

I guess this is because of new workflow is coming from a fork repo

Or maybe because this my first ever PR in vite that it won't allow running any workflow.

Hey folks, I wonder if we can get this merged! Let me know if I should try anything before merging this.

And thanks for your help to keep exploring the diff approaches with us @Aslemammad!


Issue#15

issue#15

i close pr "issue#14" because i fail my new pr and add issue#14 and #15 in this.


Rotate matrix elements

This is an implementation of a program in Java that, One by one rotates all rings of elements of a 4 x 4 matrix starting from the outermost.

Can you please assign this issue to me under Hacktoberfest-2022

This is an implementation of a program in Java that, One by one rotates all rings of elements of a 4 x 4 matrix starting from the outermost.
Please upload the code.


Fixed Javadoc errors

These errors cause the Maven build not to complete.

Thanks! Great repo by the way!

Thanks for your contribution, @garys-esri! We're striving to make this repo even better, and having accurate Javadocs is a big part of that.
If your project uses WSS and this library is working great, please consider describing/linking to the use case in the discussion at the positive-report issue #325.

Done: https://github.com/TooTallNate/Java-WebSocket/issues/325#issuecomment-126029382

Much appreciated!


[FEATURE] Wiframe chams

make wireframe chams can be disabled for animals and monsters

wiframe

thats already a thing :brain:

Stop making suggestions for stuff thats already in the client?

he is right, you cant disable wireframe for animals even tho you have animals off in chams

it still renders animals and other mobs

😡

https://github.com/3arthqu4ke/3arthh4ck/actions/runs/2980653728 I hate being wrong!


Generics

I think Javaslang's usage of generics is too complicated. The following is taken from the java.util.stream.Stream source:
// instead of Supplier<? extends T> we should write
public static<T> Stream<T> generate(Supplier<T> s)

// but...
public static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b)

because

Links:

Recent vJug talk by Raoul-Gabriel Urma and Richard Warburton: Generics: Past, Present and Future
And a paper about Adoption and use of Java generics

Clearly we have to declare the variance (? extends, ? super) of our collection types
Currently Javaslang declares the variance property at the use-site (read: at the methods)
In a future version of Java we may declare the variance property also at the declaration-site (read: at the class)

Example:
interface Set<T> extends Traversable<T> {

    Set<T> union(Set<? extends T> that);

    // Returns an optional initial subtype of Set.
    @Override
    Option<? extends Set<T>> initOption();

    @Override
    <U> Set<U> map(Function<? super T, ? extends U> mapper);
}

// A requirement of sorted collections is
// to have an underlying element Comparator.
interface SortedSet<T> extends Set<T> {

	// We can't change the parameter type
	//     union(SortedSet<? extends T> elements);
	// because it wouldn't override the super classes method any more.
    @Override
    SortedSet<T> union(Set<? extends T> elements);

    // We are able to return an initial SortedSet here
    // instead of an initial Set because we used
    // ? extends Set in the Set interface
    @Override
    Option<? extends SortedSet<T>> initOption();

    // The right way would be to declare U as follows:
    //      <U extends Comparable<? super U>>
    // But Java does not allow this kind of ristriction of generic type parameters.
    @Override
    <U> SortedSet<U> map(Function<? super T, ? extends U> mapper);

    // It is sufficient to provide the Comparator explicitely
    // instead of having U extends Comparable.
    <U> SortedSet<U> map(Comparator<? super U> comparator, Function<? super T, ? extends U> mapper);
}

// We make TreeSet final in order to make some return types final.
// Example: initOption() returns Option<TreeSet<T>> instead of Option<? extends TreeSet<T>>.
public final class TreeSet<T> implements SortedSet<T> {

    @Override
    public TreeSet<T> union(Set<? extends T> elements) {
    }

    // We simplify the API by fixating the return type.
    // It is possible to do so because TreeSet is final.
    @Override
    public Option<TreeSet<T>> initOption() {
        return ...;
    }

    // Sample here as in SortedSet - <U> actually would have to be
    //     <U extends Comparable<? super U>>
    @Override
    public <U> TreeSet<U> map(Function<? super T, ? extends U> mapper) {
    	return ...;
    }

    @Override
    public <U> TreeSet<U> map(Comparator<? super U> comparator, Function<? super T, ? extends U> mapper) {
        return ...;
    }
}

I'm temped to allow further inheritance, i.e. by making TreeSet (see example above) not final.
This would require to adjust the return types of all final classes:
// before
public Option<TreeSet<T>> initOption() { ... }

// after
public Option<? extends TreeSet<T>> initOption() { ... }

From my current viewpoint, the generic type declarations are correct. It is ok to have some sort of terminal generics, like in List, Seq, etc. (as mentioned above). It is typical for values in a functional environment not to be further extended. We see this when looking at value classes (aka Scala's case classes).


feat: add helm repo using github pages

Closes #1
@ananace Feedback welcome.

Looks good, though I think it'd be best to keep a separate tree for the pages compared to the main branch, don't want the tarballs to contaminate stuff after all

Thank you for testing and your review. I would go for the current approach until we have some CI script which are handling it. Currently, doing everything manually, is too much effort for every release.


controller.menu cleaned up

API

method
return
info

controller.menu.create(tessels, opts, title)
promise
calls makeand show before returning the selected single Tessel object to the next promise. In the case EXIT is selected, the process.exit() will be executed due to the reason there is not reason to work with nothing. The params opts and title are optional ! while opts in fact is useless at the moment but title will become useful to create an information line above the options to select (e.g.  The returned promise will contain the reference to the made menu what is to use with show to become useful.

controller.menu.show(rtm)
promise
Of cause you may use only that to show a menu. The promises resolve will pipe the index like this: controller.menu.make(tessels, rtm, title).then(controller.menu.show(rtm)).then(function(index) {resolve(tessels[index]);});

controller.menu.clear()
promise
it simple clears the terminal and resolves the returned promise

Usage
controller.menu.create(tessels)
.then(function(tessel) {
// do something with the selected Tessel
});

This is a great PR message :)

:blush: thanks

@Student007 This is great! I opened a PR on your branch to integrate this service into Tessel.get: https://github.com/Student007/t2-cli/pull/2. Note that I changed some of the output to be more consistent with the rest of the CLI (ie removed IP addresses).
Remaining items to finish:

[ ] Merge my PR into your PR
[ ] Fix existing tests. Currently, running grunt (the test runner) will pop up the menu. We need a way for it to run w/o using the menu.
[ ] Create new unit tests. I'm not sure the best way to do this for this kind of PR that requires interactivity. I suppose it should be as easy as writing to process.stdin but I haven't tried it yet. @rwaldron do you have any suggestions here?

@johnnyman727 I will write unit tests as easy as writing API test but without chaining the hole used case. Testing terminal-menu itself would be a pull to the project terminal-menu
About fixing other tests, I will add a testing flag. I remember about asking for this and didn't got an answer so I removed the last solution for testing interactive mode.
Is there a best practice about identifying test mode ?

@rwaldron Is there a best practice about identifying test mode ?

@rwaldron I got it

Create new unit tests. I'm not sure the best way to do this for this kind of PR that requires interactivity. I suppose it should be as easy as writing to process.stdin but I haven't tried it yet. @rwaldron do you have any suggestions here?

We don't need to test the menu itself, that's for the author of that module to do. We just need to test that the functions it calls do the right thing for both good and bad inputs.

@Student007 that's correct, and it's already available in t2-cli: https://github.com/tessel/t2-cli/blob/master/test/common/bootstrap.js also, it's not necessary to change any of the actual cli code, just stub the menu's API in the tests

FFS. terminal-menu doesn't export the actual Menu class, which means you can't EVER stub the methods. More importantly: we absolutely do not want conditional code interwoven throughout the actual cli code.

After you merge @johnnyman727's PR, please also merge this: https://github.com/Student007/t2-cli/pull/3
Don't worry about new tests for now, it's not clear how/if it will even be possible. We can follow up later.

@rwaldron does it mean I shell stop writing tests for controller.menu at all ?
To fix the problem Tessel.get is tested in test/unit/tessel.js needs the controller.menu.create to response with a single tessel.
For that reason I added conditional code within the CLI like that:
// within controller.menu.create
      if (!global.IS_TEST_ENV) {
        controller.menu.make(tessels, rtm, title)
          .then(controller.menu.show(rtm))
          .then(function(index) {
            resolve(tessels[index]);
          });
      } else {
        resolve(tessels[0]); // due to old tests what expect a single tessel returned by Tessel.get
      }

It isn't possible to come over that need because controller.menu.create is used in Tessel.get.
There would be a simple cleaner workaround:
// at the bottom of controller.js
if (global.IS_TEST_ENV) {
controller.menu = {
  create = function(tessels) {
     return new Promise(function(resolve) {
        resolve(tessels[0]);
     }
  });
}

}

After you merge @johnnyman727's PR, please also merge this: Student007#3

@rwaldron :raised_hands: magic ... :+1: understand. Will roll back my local changes.

I know you put effort into writing tests and I appreciate that, but for now I'd rather we avoid conditional code paths. I'm working on writing you a "mock Menu" class, that's derived from Menu. We can land it in a follow up.

@rwaldron :+1:

Looks good everyone! Will merge it now.


[BugFix] fix desc rollup column name

Fixes #issue
Create MV:
create materialized view mv111
as
select
  event_id,
  sum(cast(request_id as bigint)) as sum
from tbl
group by event_id

Before:
MySQL root@127.1:hehe> desc mv111
+----------------------------+----------------+------+-------+---------+-------+
| Field                      | Type           | Null | Key   | Default | Extra |
+----------------------------+----------------+------+-------+---------+-------+
| event_id                   | varchar(65533) | YES  | true  | <null>  |       |
| CAST(request_id AS BIGINT) | bigint         | YES  | false | <null>  | SUM   |
+----------------------------+----------------+------+-------+---------+-------+

After:
MySQL root@127.1:hehe> desc mv111
+----------+----------------+------+-------+---------+-------+
| Field    | Type           | Null | Key   | Default | Extra |
+----------+----------------+------+-------+---------+-------+
| event_id | varchar(65533) | YES  | true  | <null>  |       |
| mv_sum   | bigint         | YES  | false | <null>  | SUM   |
+----------+----------------+------+-------+---------+-------+

What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[x] 3.1
[x] 3.0
[x] 2.5
[ ] 2.4

[FE PR Coverage Check]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/analyzer/ShowStmtAnalyzer.java
2
2
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 2 / 2 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/analyzer/ShowStmtAnalyzer.java
2
2
100.00%
[]

@Mergifyio backport branch-3.1

@Mergifyio backport branch-3.0

@Mergifyio backport branch-2.5


Insertpyapi

Insert API a bit different, I think this is a bit more clean, but let me know any diverging opinions
old insert is now copy_to:
rel.copy_to("test_table3") conn.values([5, 'five']).insert("test_table3")
rel.insert([list]) insert list in relation
rel_3.insert([5,'five'])

Looks good, but perhaps copy_to is a bit confusing considering we generally use that for reading to/from files. Perhaps switch to insert_into?


This title is not available to watch instantly.

Bug report
Your Environment
Netfix addon version 1.1.1
Raspbian Raspberry pi 4
kodi 18.6

Netflix add-on version:
Operating system version/name:
Device model:

Used Operating system:
Linux
Raspberry-Pi
Describe the bug

Login sucessful but result is  "This title is not available to watch instantly"
Expected behavior

Should play video
Actual behavior

Does not play, result is message "This title is not available to watch instantly. Please try another title"
Steps to reproduce the behavior

install castagnaIT repo,
2.install netflix addon 1.1.1 from castagnIT repo
3.start addon, login sucessfully
message This title is not available to watch instantly

Possible fix

Debug log

The debug log can be found from this link:https://paste.kodi.tv/orunizapol.kodi
Additional context or screenshots (if appropriate)
Installation

[ ] I'm using other Netflix Repo
[ ] I'm using a different source

Other information

Screenshots

Read wiki: https://github.com/CastagnaIT/plugin.video.netflix/wiki/FAQ-(Errors)
no other solution


docs(example): Add a link to a React Transition Group example

What: An example of using https://github.com/reactjs/react-transition-group
"An easy way to perform animations when a React component enters or leaves the DOM"

Why: We chatted about it in gitter a week or two ago.

How: Add the example to the examples/README and use the fancy npm scripts for contributing. Let me know if I can amend the commit or anything.

Checklist:

[x] Documentation
[ ] Tests N/A
[ ] Code complete N/A
[x] Added myself to contributors table
[x] Followed the commit message format

Codecov Report

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

@@          Coverage Diff          @@
##           master   #187   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          10     10
  Lines         142    142
  Branches       36     36
=====================================
  Hits          142    142

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 0bfda9f...575e173. Read the comment docs.


Remove kbatch, prefect and clearml

Reference Issues or PRs
Closes #1217

What does this implement/fix?
Put a x in the boxes that apply

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds a feature)
[x] Breaking change (fix or feature that would cause existing features not to work as expected)
[ ] Documentation Update
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build related changes
[ ] Other (please describe):

Testing

[ ] Did you test the pull request locally?
[ ] Did you add new tests?

Any other comments?

@dcmcand when they run the nebari upgrade command, the user will be, among other things, presented with messages that we may want them to be aware of. I believe we should keep those messages since they might still be helpful to read for folks upgrading from an older version of Nebari to this latest version.


c-api: Allow for installing wasmtime via cmake

This allows for installing the wasmtime c api in an environment when
using CMake. My company builds each external dependency and installs
it locally for builds. With this change we can do that with wasmtime.

It looks like CI may be showing some issues though?

Yes, I missed an include statement initially (among others). This is fixed now and I can confirm works in my environment.


CSS/JS containment

In its current implementation, the extension basically merges H5Web's CSS and JS code into Jupyer Lab's:

H5Web's global styles (normalize.css and .btn-clean, variables, etc.) are merged with Jupyter Lab's styles, which leads to unexpected results - e.g. H5Web's built-in support for system dark mode (prefers-color-scheme: dark) applies filter: invert() to JupyterLab as a whole, even when JLab is configured with a light theme.
H5Web's JS bundle is executed on launch of JLab, which means any global state is shared between JLab tabs. This is what led us to switching from global zustand stores to context-injected stores.

All of these issues, and likely future issues, would be avoided if every instance of H5Web (tab or cell) were completely self-contained. The easiest way to achieve JS/CSS containment is to use an iframe.
The way I see it, the extension could take the form of a little create-react-app that renders H5Web's App component (wrapped in a JupyterProvider) on a simple HTML page. Building the extension would generate all the static assets (index.html + JS/CSS bundles). On JLab start-up, the extension would start a static file server (or use JLab's) to serve those static assets at https://jlab.url/h5web/?file=some-file.h5. When opening an HDF5 file in a JLab tab or cell, the extension would then render an iframe with its src attribute set to that URL.
I have no idea how feasible this solution is...

This relates to another problem: H5Web allows customizing the colors in 2D plots, which is done in the css. It would be great to have a way to be able to inject this to invoking these widgets in Jupyter lab.


Fixes Example

Forgot to replace of AKImageCropperView member reference.
fixes #18

Included other pull request #16


"Keep as" variable at too high (patient) level in covid query

See "A2) All patients who have received a second COVID-19 vaccination dose"...
https://dev.endhealth.co.uk/#/directory/folder/urn:uuid:24e136d0-22ee-4a8e-9571-db5ffe7360e9
match_8 need to be at the lower observation level as concept and effective date are being tested.

Possibly one for David as I think this comes in through the converter (rather than a java coded query or json file)


Fixed how to get cookies.

Getting Cookies was an asynchronous function, so I added await.

Thanks, looks like the newest version of Oak didn't use a Promise so broke what I was using.


Update failure with additional conditions

Why:
Closes #18269

What's being changed:

The docs in the "Evaluate Status Explicitly" section suggest equivalents of failure() but neither work. I've updated the docs to remove them and also added a practical example of only running a failure jobs when a specific job fails.
Example action with previous broken code and updated working code
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: fail demo
        id: demo
        run: exit 1

      - name: action_status - does not run
        if: ${{ github.action_status == 'failure' }}
        run: echo ${{ steps.demo.conclusion }}

      - name: status - does not run
        if: ${{ job.status == 'failure' }}
        run: echo "test"

      - name: failure - runs
        if: ${{ failure() }}
        run: echo "test"

      - name: failure with condition - runs
        if: ${{ failure() && steps.demo.conclusion == 'failure' }}
        run: echo "test"

      - name: condition without failure - does not run
        if: ${{ steps.demo.conclusion == 'failure' }}
        run: echo "test"

From the above testing failure() is always required if you want the job to run on a failure regardless of other expressions that might match.
Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

Onw

Hub

👋 @alexbrazier Thanks for opening this PR!
github.action_status in your example is not used correctly, as that context only applies to workflows that use a composite action (which your example workflow doesn't). So that value wouldn't be populated, and the behavior you're seeing is expected
However, I have reproduced what you're seeing for job.status and steps.demo.conclusion in a workflow. I have echoed the values of those contexts in a step , and they do contain the string failure, so I'm not sure why the comparison operator is not working.
I'll see if I can get an engineer or product person to have a look at this, as it might be a bug.

👋 @alexbrazier, I've confirmed that the behavior is because there is an implicit success() condition in if conditionals that don't include status check function. This is mentioned in the start of this section, and you can see this behavior in a workflow run with debug logging here.
So, your fix of including failure() in the condition works, or alternatively including always(). I'll do a small edit to your PR and merge it 🚀

Hi @lucascosti, that makes sense - I had assumed there was either a bug somewhere or an issue with the docs. Thanks for looking into it and merging the changes!