wwan: Be more lenient about the SIM card ready status.

Currently, parse_modem_attr looks at only the first instance of "Application state", however, there can be multiple application states for a single slot. If the first one, doesn't show ready, but subsequent ones show ready, the sim card is still ready. Also parse_modem_attr already calls head -n1, so remove the redundant call at the call site.
With this change, my LTE modem successfully connects to Verizon's network and I can use it reliably. Without this change, I get "Timed out waiting for SIM card"
Ex of the situation:
e81b83d2-bc7b-41da-9a77-b2e8368703db:/# qmicli -p -d /dev/cdc-wdm0 --uim-get-card-status
[/dev/cdc-wdm0] Successfully got card status
Provisioning applications:
	Primary GW:   slot '1', application '3'
	Primary 1X:   session doesn't exist
	Secondary GW: session doesn't exist
	Secondary 1X: session doesn't exist
Slot [1]:
	Card state: 'present'
	UPIN state: 'not-initialized'
		UPIN retries: '0'
		UPUK retries: '0'
	Application [1]:
		Application type:  'csim (4)'
		Application state: 'detected'
		Application ID:
			A0:00:00:03:43:10:02:F3:10:FF:FF:89:02:00:00:FF
		Personalization state: 'unknown'
		UPIN replaces PIN1: 'no'
		PIN1 state: 'not-initialized'
			PIN1 retries: '0'
			PUK1 retries: '0'
		PIN2 state: 'not-initialized'
			PIN2 retries: '0'
			PUK2 retries: '0'
	Application [2]:
		Application type:  'isim (5)'
		Application state: 'detected'
		Application ID:
			A0:00:00:00:87:10:04:F3:10:FF:FF:89:08:00:00:FF
		Personalization state: 'unknown'
		UPIN replaces PIN1: 'no'
		PIN1 state: 'not-initialized'
			PIN1 retries: '0'
			PUK1 retries: '0'
		PIN2 state: 'not-initialized'
			PIN2 retries: '0'
			PUK2 retries: '0'
	Application [3]:
		Application type:  'usim (2)'
		Application state: 'ready'
		Application ID:
			A0:00:00:00:87:10:02:F3:10:FF:FF:89:08:00:00:FF
		Personalization state: 'ready'
		UPIN replaces PIN1: 'no'
		PIN1 state: 'disabled'
			PIN1 retries: '3'
			PUK1 retries: '10'
		PIN2 state: 'enabled-not-verified'
			PIN2 retries: '3'
			PUK2 retries: '10'
	Application [4]:
		Application type:  'unknown (0)'
		Application state: 'detected'
		Application ID:
			A0:00:00:00:63:50:4B:43:53:2D:31:35
		Personalization state: 'unknown'
		UPIN replaces PIN1: 'no'
		PIN1 state: 'not-initialized'
			PIN1 retries: '0'
			PUK1 retries: '0'
		PIN2 state: 'not-initialized'
			PIN2 retries: '0'
			PUK2 retries: '0'
Slot [2]:
	Card state: 'absent'
	UPIN state: 'not-initialized'
		UPIN retries: '0'
		UPUK retries: '0'

I'm not as familiar with LTE modems, so there could be better ways of doing this, but at least, this isn't any worse than what was before and actually makes LTE work better.
In the output, I notice this line: Primary GW:   slot '1', application '3', which corresponds to the "ready" application. Maybe the right long term fix is to follow that.
I assume the "Secondary GW" is if you have dual SIM, which as far as I can tell, is unsupported right now.

Thanks a lot for PR cc @milan-zededa

Removing old issues should not be a blocker for creating a new one putting there what you guys  @DolceTriade @milan-zededa are proposing here. Milan, please, go ahead, create a new one issue without waiting for anyone. I will try to help with sorting out old issues (can take a while, so definitely should not block anyone). Thanks.

Yeah, I'm happy to take a stab at implementing these.

Openned https://github.com/lf-edge/eve/pull/3015 instead


[Feature]: load/unload API to run multiple LLMs in a single GPU instance

🚀 The feature, motivation and pitch
The feature request is to add support for a load/unload endpoint/API in vLLM to dynamically load and unload multiple LLMs within a single GPU instance. This feature aims to enhance resource utilization and scalability by allowing concurrent operation of multiple LLMs on the same GPU.
The load/unload endpoint in vLLM facilitates:

Increased Resource Utilization: Enables concurrent operation of multiple LLMs on a single GPU, optimizing computational resources and system efficiency.

Enhanced Scalability: Allows dynamic model loading and unloading based on demand, adapting to varying workloads and user requirements.

Improved Cost-effectiveness: Maximizes throughput and performance without additional hardware investments, ideal for organizations with budget constraints.

Alternatives
Alternatively, providing an API for manual model unloading offers finer control over resource management.
Additional context

models here in my context are mainly small LLM (<= 10B).
Several community members have raised issue to unload models or release GPU memory in vLLM. While workarounds exist, their efficacy is inconsistent. It is hoped that official support for these functions can be implemented.

When TP=2，reload a model via vllm may introduce a bug
RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method

When TP=2，reload a model via vllm may introduce a bug RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method

I am getting this error, without the reload itself. The first load with TP=2 is giving me this error with vllm v0.5.3.post1.

i will be another happy user if this is implemented.

提高成本效益：无需额外的硬件投资即可最大限度地提高吞吐量和性能，非常适合预算有限的组织。

hey, do you have any good solution now?

+1


[db] Handle placeholder syntax in different databases

mysql and sqlite use ?
postgres use $1, $2 ... etc. it is not handled by postgres driver I suppose
https://github.com/Masterminds/squirrel handles this

we need to be able to pass the adapter to functions ....

not high priority


Key-value section on Python language guide is misleading

As of this writing, the key-value section of the Python language guide reads "Spin has a key-value store built in. For information about using it from Rust, see the key-value store tutorial."
Two issues:

It's the Python guide, so "using it from Rust" isn't relevant
The linked tutorial doesn't seem to have any Python code examples

I'd suggest we remove the section entirely until the key-value tutorial has Python examples.

Uh oh.  Go and JS mention Rust too.


Incompatibility

Will compatibility with the mod be made ?https://www.nexusmods.com/witcher3/mods/3024

There is no such thing as compatibility between these mods. Using that mod will apply those animations only when Geralt is holding his default weapons.
Fortunately, I know how that mod works, and am able to apply that animation to ACS.

Thank you!!))

That is, can you make it work?))

I checked it. In the latest update, the animation of walking is different from the one in fashion, the sword looks forward strongly, the animation of walking in shallow water is used in fashion.((

In early versions, these mods worked together.


feat(routes::create_account): account creation

very cul, very epicc, very poggers

the bool for checking if a rejection case is a "not found" is also true if a route wasn't found (from my testings), so a custom NotFound error would be better to prevent it from returning this error message when hitting a route that doesn't exist. @TogarashiPepper Would you like to confirm if this change would be a good idea?

the bool for checking if a rejection case is a "not found" is also true if a route wasn't found (from my testings), so a custom NotFound error would be better to prevent it from returning this error message when hitting a route that doesn't exist. @TogarashiPepper Would you like to confirm if this change would be a good idea?

Yeah creating a custom NotFound error would be good,what are your thoughts on also putting all of the custom errs into a module for cleanliness sake, i.e smth like routes::errors::UserNotFound etc etc


Table header alignment

Hi,
I'm having some issues with the alignment of the columns to the rows using fixedHeader={true}. See below. I've placed a border on the 8th column using this column configuration (only shown for the 8th column with the border) like so:
  {           key: 'sharesForOrder',           label: 'Shares For Order',           sortable:true,           style:{               fontWeight: 'bold',               borderLeft: '1px solid rgb(224,224,224)'           }       },
And my React element:
<DataTable height="700px" showRowHover={true} selectable={false} stripedRows={true} columns={tableColumns} data={data} showFooterToolbar={false} fixedHeader={true} tableHeaderColumnStyle={{borderLeft: 0}}/>
As you can see I tried to override the tableHeaderColumnStyle but still no good.

Any ideas what I could do to get it to line up?
Thanks!

It seems like a known issue in MUI, see: https://github.com/callemall/material-ui/issues/2175
As an enhancement and kind of an aside, what if the style property in the column settings object be split up into two: headerStyle and bodyStyle where the headerStyle would style the headers and bodyStyle would style the rows corresponding to that header.

@mrwillis Hi, It looks like it's caused by the scrollbar. so it may not occur on Mac. I found a tricky solution. you can set like this,
fixedHeader={true}
tableHeaderStyle={{borderRight: '40px solid transparent'}}

but I'm not sure it will be helpful to you...
https://stackoverflow.com/questions/20917222/padding-on-tbody


HTML5 embedded video

GitHub Markdown does not parse or render arbitrary embedded video link.
They attach files instead.
However, we can make it possible with our custom Markdown parser.
Use embedded link syntax like this: [:video.autoplay.controls.loop](<Path or URL>)
The rendered html should be: <video autoplay controls loop src="<Path or URL>"></video>

<video> is not able to print as PDF

Done with this commit


Mixin support with "implements" keyword

Hi, I'm getting started using YueScript and you fixed a lot of the issues I had with MoonScript so I really like what you're doing here. One common pattern I use in my games are mixins, which are just a way to add functions from one class to another. Here's a simple example:

This adds all the functions of Mixin1 and Mixin2 to the Player class, and then in the Player constructor I can call them normally. I prefer this to inheritance a lot because it's more composable, with the only downside being that you have to be careful about name collisions.
In this example, I'm achieving this with the mix function defined above by calling it after the Player class is defined. A feature that would be really cool would be to have builtin support for this such that I could say something like:
class Player implements Mixin1, Mixin2

And this would be the equivalent of calling the mix function after the class' definition. Of course you could also do both inheritance and mixins, for instance:
class Player extends GameObject implements Movable, Steerable

What do you think?

Maybe we can pick up another keyword for the mixing feature, since "implements" means the inherited interfaces still need to be implemented in some other languages. How about just "mixes"?
class Player extends GameObject mixes Movable, Steerable

Maybe use or using?
 class My using A,B,C
class My
  use A
  use B


Service int_monei.http.rest returns error

Hello,
the service int_monei.http.rest upon first call always returns the following message
SSLHandshakeException:com.demandware.beehive.core.internal.ssl.WrappedCertificateException:
sun.security.validator.ValidatorException: PKIX path validation failed
java.security.cert.CertPathValidatorException: validity check failed
this happens both on sandbox and development environment, the latter with a valid SSL certificate. Seems like the API endpoint is protected not only by the authorization header but with a certificate check as well.
A mocked up API call with Postman works ok only if the option to check the SSL certificate validity is turned off

Please provide the API call with Postman so we can investigate the issue

I'll provide partially obscured screenshots since the call contains sensitive info

The endpoint should be https://api.monei.com/v1

What???
the service credentials i've got it configured for being "https://api.monei.com/v1" but the code adds the endpoint to the service url. Obviously it has to be this way because MONEI has a list of available endpoints (https://docs.monei.com/api/) all starts with "https://api.monei.com/v1/" but when making an API call the correct endpoint has to be selected for the call itself.
The url i've used in postman and shared here is the exact url the code is calling when trying to open the MONEI popup (creating the payment in MONEI)
anyway, even by following your suggestion and calling a non-existing MONEI endpoint, i get the same response
can you send me an example of a call that you can make through postman?

You can find the postman collection here - https://postman.monei.com/

curl --location 'https://api.monei.com/v1/payments' \
--header 'Authorization: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
    "amount": 110,
    "currency": "EUR",
    "orderId": "12345678",
    "callbackUrl": "https://example.com/checkout/callback",
    "completeUrl": "https://example.com/checkout/complete"
}'

follows screenshot of call debugging in CC

Tried the GET payment endpoint, same result.
Be advised that no other API endpoints to other domains return this error, both on CCloud and Postman

didn't noticed the endpoint was .NET instead of .COM . it works with the .com endpoint
please update the XML meta definition of the service versioned with the cartridge because it points to the .net domain

This is weird, I get the same error in postman if I enable the certificate validation, but the certificate is valid and not expired
 ~ openssl s_client -servername api.monei.com -connect api.monei.com:443 2>/dev/null | openssl x509 -noout -dates
notBefore=Feb 28 00:00:00 2023 GMT
notAfter=Jan 23 23:59:59 2024 GMT

with the validation enabled, the api.monei.com domain is not returning the error at all
i only got the issue (both on postman and CCloud) by using the api.monei.net domain which indeed is the wrong domain but it's the one that the versioned xmls in the cartridge contain
i think we can close the issue if you could update the xmls it would avoid the issue to happen again to others :)

there was an open issue for postman regarding ssl certificates generated by let's encrypt that was regarding the error you're mentioning (certificate valid but not recognized) that was fixed at some point https://github.com/postmanlabs/postman-app-support/issues/10338
maybe you could try update the postman app if that's the one you're using
anyway as stated in the previous message my issue was related the .net domain usage instead of the .com

Fixed, thank you for pointing that out.


Compatibility of Date.now() for IE8 and 7, opacity of backgrounds in …

…IE8 and 7

GREAT! Thank you!

Can I mark this as being IE7+ compatible? I don't have 7 to test with.

Sure. No problem!

On 1 Sep 2015, at 8:45 pm, Shane Stebner<EMAIL_ADDRESS>wrote:
Can I mark this as being IE7+ compatible? I don't have 7 to test with.
—
Reply to this email directly or view it on GitHub.

Are you saying "No problem" for the "Thank you!" or the "IE7+ compatible"? lol. Just wondering if you had a chance to test thoroughly on IE7+. Thanks again.

Yes. I have tested in IE7+. We'll actually I would like to add more tweaks on the display.

Let's see what you've got :)


Change default for weatherEndpoint according to API 3.0

since API 3.0 is default, weatherEndpoint should be set to "/onecall"
Fixes #3574
ATTENTION: since lat / lon  defaults to 0 / 0, the weather plugins works after this patch, but shows the weather from https://de.wikipedia.org/wiki/Null_Island if lat / lon is not manually set.

as weather is all in browser we could log a message there about default lat/lon

@HeikoGr the tests are failing because the / before onecall, must be weatherEndpoint: "onecall",
I fixed the merge conflicts in changelog so you should fetch your master locally before working on this ... (can do that too if you want)

funny, on the module side its "/onecall"

funny, on the module side its "/onecall"

upsi, I tested this without and test works

as weather is all in browser we could log a message there about default lat/lon

we should think about more changes, e.g.

removing openweathermap as default provider (leave empty or choose another)
update code so weatherEndpoint works with and without leading slash
...

will fail again, now e2e tests, will check why ...

ok, i will wait for your response

question: is onecall the new default for all weather types, for current weather, for hourly weather and for forecast?

openweather says /onecall is only

Except for pro customers. This is why i didn‘t remove the other endpoint functions

but our users are mostly not pro. so does onecall
pull back everything and you can sort it out

so now I know what is happening. First thing /onecall is correct (with /).
Problem is, that if no weatherEndpoint is specified we have this function in the code:
	/**
	 * Overrides method for setting config to check if endpoint is correct for hourly
	 * @param {object} config The configuration object
	 */
	setConfig (config) {
		this.config = config;
		if (!this.config.weatherEndpoint) {
			switch (this.config.type) {
				case "hourly":
					this.config.weatherEndpoint = "/onecall";
					break;
				case "daily":
				case "forecast":
					this.config.weatherEndpoint = "/forecast";
					break;
				case "current":
					this.config.weatherEndpoint = "/weather";
					break;
				default:
					Log.error("weatherEndpoint not configured and could not resolve it based on type");
			}
		}
	},

So with a new default "/onecall" instead of "" some tests fail because their configs have no weatherEndpoint and no weatherProvider and the above function is not called anymore.
To discuss:

all weather tests and (mock data?) are based on provider openweathermap. Is this correct @rejas ?
if the tests are bound to the above provider we should update their configs with weatherEndpoint and weatherProvider
do we need the function setConfig if we set a default weatherEndpoint? I think not, pro users can still set weatherEndpoint in the config

we should test without the endpoint set too
should not be required
pick a provider, it should work

all weather tests and (mock data?) are based on provider openweathermap. Is this correct @rejas ?

correct, we only test against openweathermap, so the mock data is specific to that provider too.

@HeikoGr I have a fix for the tests now, is it o.k. to push this on your branch?

absolutely


fix(pirateship): replace rn payments dependency with bb fork

PirateShip is currently failing to run due to linking issues with React Native Payments. This updates Pirateship and fsshopify to use the brandingbrand fork which works and has added functionality to boot.

Conflicts.

This appears to no longer be an issue.


Promotion materials

Hello air team
Thumbs up so far and so good for the good work you are doing.
I want to point out some important suggestion on the promotion if Air coin.

I will love the Air team to produce materials like T. Shirts, face cap, hand bands etc.. and share to their promoters especially the serious ones to were around as they promote air coin. This will make people to ask questions and get interested.
The team should come up with a competitions and programs that will engage subscribers and investors
The team should encourage promoters to produce materials like videos, pictures, banner, stickers etc... Using their native language
I want the team to consider me and give me the igbo translation in the discord group as I have already started working on it. I need your encouragement to continue

Thanks Air to the moon🚀🚀

Thanks.


Footer

Goal
Create a component and storybook for Footer.
Figma:
https://www.figma.com/design/EjFt1XdacOogDZoQ7RetrI/Frequency-Style-Guidelines?node-id=1077-1048&node-type=frame&t=TSl6Zk6gudf4G3VM-0
Acceptance Criteria:

Should be mobile -> desktop compatible.
There are two different designs in the design docs.

Pending designs


Add /home/avd/.local/bin to /etc/sudeors secure-path

Running into an issue running ansible commands using sudo as the commands are not found.
I have tried running as "sudo $(which ansible-playbook)" to bypass the default sudoer secure-path but this fails as python is used to import the ansible module which is still located in /home/avd/.local/ . This is not present in sys.path when using sudo and python is unable to find ansible.
Can /home/avd/.local/bin be added to secure-path in /etc/sudoers as a possible fix?
This is an issue when using gitlab runners which import repositories as root user.

@nathansharief I don't recommend running Ansible commands with sudo. What is your requirement to leverage sudo?

We are using gitlab runners which import the remote respository with root privileges. Without the ability to run ansible with sudo we are unable to use the container with Gitlab CI/CD. What are the concerns using ansible as root within a temporary container used to run the jobs on a runner? The avd user is already part of the sudo group as I can see.

I'll follow-up with Nathan unicast. Closing this issue as community all-in-one will be replaced with AVD container images in the close future. AVD has a large community and all issues must be addressed as part of AVD development activities if applicable to the new images. Also technically building a Gitlab runner with AVD is a very delicate topic that should be discussed separately.


profile setting not working

after changing bio, avatar, name saving is not working.

This project has no maintenance for a long time, because I found web is good enough. In fact, this app is basically a webview, and this type of application do not necessary to develop a native app.

Thanks for replying


[BUG] Names don't adhere to plugin naming convention

There are a few issues with how this plugin is set up name-wise and folder-wise. If the plan was to eventually include other visualisations, this plan has been superceded by the one-plugin-per-repo decision.
Additionally, as per https://github.com/opensearch-project/opensearch-plugins/blob/main/CONVENTIONS.md#plugin-naming-conventions, the plug-in name does not adhere to the naming convention.
Also, as per https://github.com/opensearch-project/opensearch-build/issues/2188, we should get rid of the gantt-chart folder and move build.gradle, etc. to the root folder of the repo.
There is also the option of renaming this entire plugin, as it seems to just be the gantt chart rather than "visualizations."
Should this be a plugin at all?
Referred to here:
https://github.com/opensearch-project/opensearch-plugins/issues/174

Hi @anirudha and @joshuali925.  Noticed you are assign to this issue. Can you provide a status update on resolving this?

this is a visualization-plugin to visualize in dashboards visualization system. We are add-ing new visualization and widgets here to make them pluggable in to Dashboards.
cc: @peter fitz & @joshuali925 ; we will dedicate some time after 2.7 release to review this.
Question : do we have a naming convention for visualization plugins ? should we extend that ? and also introduce widgets


genearate image from volume while creating template

harvester issue #571

Close as this is resolved in another PR https://github.com/harvester/harvester/pull/3097; thanks for the contribution.


The Win32_Product WMI class should not be used

This is to see if we can change to not use this class according to the issue submitted in DscResources.
See referenced articles in the issue over at PowerShell/DscResources#108

Status of Win32_Product WMI removed from resource

[ ] MSFT_xSQLAlias => PR #147
[ ] MSFT_xSQLServerConfiguration
[ ] MSFT_xSQLServerFailoverClusterSetup
[ ] MSFT_xSQLServerRSConfig
[ ] MSFT_xSQLServerRSSecureConnectionLevel
[ ] MSFT_xSQLServerSetup

Only resource left that is using Win32_Product is MSFT_xSQLServerFailoverClusterSetup, and that resource is deprecated. It will be removed in the future, so no need to fix Win32_Product for that resource. Closing this issue.


Automate the process of publishing blog posts

Summary
We have attempted this before by querying ARWeave. Please see:

https://support.mirror.xyz/hc/en-us/articles/7112432091284-Does-Mirror-have-an-API-
https://github.com/taikoxyz/taiko-mono/pull/13027

The reason we reverted this change was because it was taking way too long to load the mirror blog posts. It caused the first-page-load to be a very subpar experience as it made the API calls.
Definition of done
option 1

not significantly impact the initial page load
update the website homepage within a 24 hour window of publishing a blog post

option 2

implementing an approach that deprecates the need for this

Some ideas:

Have a cron schedule / nightly that queries the API and rebuilds the blog posts locally, perhaps a sed replace over the file BlogSection.tsx, and re-publishes the website.
Completely move to another blogging platform -> this would warrant discussion with the team and some clear arguments of why the change could be beneficial

Some reasons it could be beneficial: improvement in SEO on our site, could look more official having the blog on a proper taiko.xyz domain

Chat with @je4nt0nic / team to see if we even need blog posts on the home page or if we should put something else there.

Is this done, @d1onys1us ?


v4: picker position off target element

With v4 the picker positioning is somewhat different to v3 and has some odd quirks, positioning the picker far off the target input element.
http://jsfiddle.net/0Ltv25o8/36/
Offtopic: is the development for v4 taking place somewhere else other than github? Or is it simply collecting bugreports and PRs and fixing them all at a time? It's been quite a while since the last commit to development branch :) I'm asking because i'm using v4 already on some private site successfully, however i have to work around some easy to fix bugs.

I'll look into the positioning thing.
Off topic: I've been trying to get the docs and examples up to date with v4. I finally put v3 on feature freeze so I didn't have to try and maintain both at the same time. I have a full time job that doesn't always let me work on this. I've just about got the docs ready, I'm really hoping to make v4 as the master soon.

@bjoe2k4, are you refering to the first input field on your jsfiddle or the second one? You should follow bootstrap rules for placing elements inside rows and cols in order for widget positioning to behave properly. Have a look on that jsfiddle and let me know if that handles your issue.

if you have further issue, please comment and I'll reopen this


Helper functions to access additionalProblems

Should we rename the functions so that problems returns everything? Would make more sense to me. And then hide the other two as internal.

I also have a version of this with only one instead of the two graph traversals. It is about 5% faster overall (the entire analyze function + .problems call). However, it is less readable...
val Node?.fastProblems: List<ProblemNode>
    get() {
        val relevantNodes =
            this.allChildren<Node> { it is ProblemNode || it.additionalProblems.isNotEmpty() }

        val result = mutableListOf<ProblemNode>()

        relevantNodes.forEach {
            if (it.additionalProblems.isNotEmpty()) {
                result += it.additionalProblems
            }
            if (it is ProblemNode) {
                result += it
            }
        }

        return result
    }


DartEditor does not auto complete imports

This issue was originally filed by<EMAIL_ADDRESS>
What steps will reproduce the problem?

Open main dart file
Type

import 'pa

Press ctrl+space

What is the expected output? What do you see instead?
Auto completion for available packages as in 1.8.5
Instead it says no available completion.
What version of the product are you using?
1.9.1
On what operating system?
Linux
What browser (if applicable)?
Please provide any additional information below.

Stale.


Keymaster_front_door User Notification uses an unknown service

Keymaster_front_door User Notification uses an unknown service
The automation "keymaster_front_door User Notifications" (automation.keymaster_front_door_user_notifications) has an action that calls an unknown service: script.keymaster_front_door_manual_notify.
This error prevents the automation from running correctly. Maybe this service is no longer available, or perhaps a typo caused it.
To fix this error, [edit the automation](/config/automation/edit/keymaster_front_door User Notifications) and remove the action that calls this service.
Click on SUBMIT below to confirm you have fixed this automation.
Environment (please complete the following information):

OS: HassOS
Type of system that HA is running on: VMWare Workstation Player 16 under Windows 10
Home Assistant version:  Home Assistant 2022.9.1
Supervisor 2022.08.6
Operating System 8.5
Frontend 20220907.0 - latest
Component version: 0.0.82
Z-Wave integration name: zwave-js
Lock make and model: Schlage BE469]

Logs
2022-09-09 13:48:04.081 ERROR (MainThread) [homeassistant.components.automation.keymaster_front_door_user_notifications] keymaster_front_door User Notifications: Error executing script. Service not found for call_service at pos 1: Unable to find service script.keymaster_front_door_manual_notify
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
I first noticed this error after updating to Home Assistant Core 2022.9.0 and after installing InfluxDB and Grafana. Don't see how any of these would have any effect on missing service script.keymaster_front_door_manual_notify. Looking through the custom components for keymaster, I see this service used several times, but never defined.

dupe of #295


Refactor config.MigrationVersion

This PR refactors config.MigrationVersion to be an enum. This is not only correct to have it as an enum but it is also easier to read the code with this change.

This will conflict with #21397, so whatever PR get merged first will have to take into account the other PR.


java.lang.IllegalArgumentException: Unsupported JDBC protocol: 'postgresql'

How to use postgresql jdbc driver with spark-redshift?
following code give me exception
java.lang.IllegalArgumentException: Unsupported JDBC protocol: 'postgresql'
val df1: DataFrame = sqlContext.read
			.format("com.databricks.spark.redshift")
			.option("url", "jdbc:postgresql://host:5439/db?user=test&password=test")
			.option("dbtable", "wdata")
			.option("tempdir", "s3n://accessKEy:SecretKEy@redshift/dir/")
			.load()
		df1.show()

Full stacktrace is as follow
Exception in thread "main" java.lang.IllegalArgumentException: Unsupported JDBC protocol: 'postgresql'
	at com.databricks.spark.redshift.JDBCWrapper$$anonfun$getDriverClass$2.apply(RedshiftJDBCWrapper.scala:68)
	at com.databricks.spark.redshift.JDBCWrapper$$anonfun$getDriverClass$2.apply(RedshiftJDBCWrapper.scala:52)
	at scala.Option.getOrElse(Option.scala:120)
	at com.databricks.spark.redshift.JDBCWrapper.getDriverClass(RedshiftJDBCWrapper.scala:51)
	at com.databricks.spark.redshift.JDBCWrapper.getConnector(RedshiftJDBCWrapper.scala:138)
	at com.databricks.spark.redshift.RedshiftRelation$$anonfun$schema$1.apply(RedshiftRelation.scala:59)
	at com.databricks.spark.redshift.RedshiftRelation$$anonfun$schema$1.apply(RedshiftRelation.scala:56)
	at scala.Option.getOrElse(Option.scala:120)
	at com.databricks.spark.redshift.RedshiftRelation.schema$lzycompute(RedshiftRelation.scala:56)
	at com.databricks.spark.redshift.RedshiftRelation.schema(RedshiftRelation.scala:55)
	at org.apache.spark.sql.execution.datasources.LogicalRelation.<init>(LogicalRelation.scala:31)
	at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:120)

This is both a bug and documentation issue introduced by https://github.com/databricks/spark-redshift/pull/90/files#diff-69806564231efb590460b162532ba683R44, which expects the JDBC subprotocol to be postgres instead of the more-standard postgresql.
As a user, there are two ways that you can work around this:

Change the subprotocol in your URI, e.g. use "jdbc:postgres://host:5439/db?user=test&password=test"
Leave the URI unchanged and use the jdbcdriver configuration option to explicitly specify that the PostgreSQL driver should be used: .option("jdbcdriver", "org.postgresql.Driver").

Since this behavior is confusing, I should probably fix it and add regression tests, even though Postgres driver support is a lower-priority feature. I'll look into writing a patch for this when I have some time. When I do patch this, I'll make sure that the non-standard postgres URIs continue to work so as not to break backwards compatibility.

thank you so much josh :)
On Wed, Nov 18, 2015 at 8:54 PM, Josh Rosen<EMAIL_ADDRESS>wrote:

This is both a bug and documentation issue introduced by
https://github.com/databricks/spark-redshift/pull/90/files#diff-69806564231efb590460b162532ba683R44,
which expects the JDBC subprotocol to be postgres instead of the
more-standard postgresql.
As a user, there are two ways that you can work around this:

Change the subprotocol in your URI, e.g. use
"jdbc:postgres://host:5439/db?user=test&password=test"
Leave the URI unchanged and use the jdbcdriver configuration option
to explicitly specify that the PostgreSQL driver should be used: .option("jdbcdriver",
"org.postgresql.Driver").

Since this behavior is confusing, I should probably fix it and add
regression tests, even though Postgres driver support is a lower-priority
feature. I'll look into writing a patch for this when I have some time.
When I do patch this, I'll make sure that the non-standard postgres URIs
continue to work so as not to break backwards compatibility.
—
Reply to this email directly or view it on GitHub
https://github.com/databricks/spark-redshift/issues/126#issuecomment-157757484
.

--
Regards: HAFIZ MUJADID

Digging into this in a little bit more detail, it looks like there's no need to have a backwards-compatibility branch for the incorrect postgres subprotocol since the official Postgres driver won't understand that prefix anyways. I'm about to submit a patch to fix this and clean up some slight code comment and documentation inaccuracies related to JDBC driver precedence.


Blank & duplicate SSID entries

In the network list I can see multiple entries for the same SSIDs. Also I see empty entries.
https://github.com/balena-io/wifi-connect/pull/61
and
https://github.com/balena-io/wifi-connect/pull/202
tried to fix it, but i think the issue still remains.

@t16n right, I believe the code has changed from the time those issues were created. Probably the easiest way for fixing is filtering duplicated ssid members in the JavaScript here: https://github.com/balena-io/wifi-connect/blob/6547a4a77c76d0ec903033f44a177f312c2831fe/ui/js/index.js#L21
I will handle those cases when I get back to transitioning the project to the new NetworkManager Rust library I have been working on, but I am not sure when I will be able to dedicate the time for this because of the higher priorities with some other projects we have.

Has there been any progress on this? I'm trying to use wifi-connect and am seeing duplicate networks appear in the SSID list (none of the duplicate networks are the one that I need to connect to).

[zvin] This issue has attached support thread https://jel.ly.fish/#/support-thread~14d4288c-6a9e-48dc-ae8c-8c69cce41deb

This affects me too. Any update?

Both of those issues are now fixed in v4.4.3.


Correct buffer size logic when calling confstr

Temporary directory lookup has faulty logic on Darwin:
if length > 0 && length < buffer.count {
    return String(decoding: buffer, as: UTF8.self)
}

We already checked 1length > 0` above, so we can eliminate that check
length < buffer.count will never be true, since we pass capacity: length to the withUnsafeTemporaryAllocation call which means that buffer.count will always be length
Since buffer.count == length == finalLength, buffer.count includes the null terminator but String(decoding:) does not stop at null terminators (in other words, the resulting string would contain a null byte at the end

This means we never actually read the value from confstr and always fell back to TMPDIR. To fix it, we just remove the unnecessary checks and switch to String(cString:) (and initialize the buffer to 0s) since confstr is guaranteed to always copy a null-terminated string.

@swift-ci please test


Remove environment concept from docs

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #3274
Does this PR introduce a user-facing change?:

NONE

Nice catch
/lgtm

Nice
/approve


Bypass loading of clipped tiles

Do not merge until https://github.com/CesiumGS/cesium-native/issues/803 is resolved.

Add the following to functionality to polygon raster overlays:

(It seems tooltips don't wrap if they go off the screen.)
Test file:
AustrialiaBlockClipping.zip

@corybarr given Kevin's comment in https://github.com/CesiumGS/cesium-native/issues/803#issuecomment-1925986441, it may be possible to test this with another dataset like Melbourne Photogrammetry (in the asset depot).

@corybarr given Kevin's comment in CesiumGS/cesium-native#803 (comment), it may be possible to test this with another dataset like Melbourne Photogrammetry (in the asset depot).

@lilleyse Good call. It works well and feels very snappy loading just this section:

Logs confirm it works.

@corybarr given Kevin's comment in CesiumGS/cesium-native#803 (comment), it may be possible to test this with another dataset like Melbourne Photogrammetry (in the asset depot).

@lilleyse Good call. It works well and feels very snappy loading just this section:

Logs confirm it works.

Clipping test for Melbourne: MelbourneClippingTest.zip

@corybarr I tested that https://github.com/CesiumGS/cesium-native/pull/808 fixes the clipping issues with P3DT.

@corybarr I tested that CesiumGS/cesium-native#808 fixes the clipping issues with P3DT.

Awesome. Will update and merge after that fix merged.

@corybarr could you update CHANGES.md?

@corybarr could you update CHANGES.md?

@lilleyse pushed

@corybarr could you update cesium-native in this branch now that https://github.com/CesiumGS/cesium-native/pull/808 is merged?

@corybarr could you update cesium-native in this branch now that CesiumGS/cesium-native#808 is merged?

cesium-native is updated. The fix is confirmed working:


[otbn] Specify life cycle escalation reaction

Fixes #4227

This PR works much better with https://github.com/lowRISC/opentitan/pull/7433, but doesn't necessarily depend on it; since I wouldn't be surprised if we find things to discuss in #7433 I wanted to split this out as a minimum solution to our sprint goal.


Joshua Falk: Generating realistic, differentially private data sets using GANs | PyData NYC 2019

0:00 - Introduction: Opening
0:30 - Introduction: Motivating problem
1:31 - Introduction: Traditional solutions
3:33 - Introduction: Alternative approach
5:13 - Introduction: Lecture outline
5:58 - Differential privacy
13:15 - Generative Adversarial Networks (GANs)
17:03 - Private models
19:20 - DPWGAN package
20:20 - Example: US Census
20:37 - US Census: Dataset background (2017 ACS PUMS data)
21:40 - US Census: Generating synthetic data
22:19  - US Census: Synthetic data generator architecture
23:01 - US Census: Data generator code
23:41 - US Census: Discriminator architecture
24:10 - US Census: Discriminator code
24:26 - US Census: DPWGAN code
24:56 - US Census: Data comparison
28:18 - Conclusion

Added, thank you!


Setup IPMI serial console

To set up the ipmi serial console, one needs to set (at least?) the following variables via racadm or some equivalent mechanism:

IPMI_USERNAME=$USRNAME IPMI_PASSWORD=$PASSWD racadm.sh pe4-ipmi set iDRAC.IPMILan.1.Enable Enabled
IPMI_USERNAME=$USRNAME IPMI_PASSWORD=$PASSWD racadm.sh pe4-ipmi set iDRAC.Users.3.IpmiLanPrivilege Administrator
IPMI_USERNAME=$USRNAME IPMI_PASSWORD=$PASSWD racadm.sh pe4-ipmi set iDRAC.Users.3.IpmiSerialPrivilege Administrator
IPMI_USERNAME=$USRNAME IPMI_PASSWORD=$PASSWD racadm.sh pe4-ipmi set iDRAC.Users.3.SolEnable Enable

where "Users.3" is the IPMI admin users for which one wants to enabled remote IPMI access.
Then, in /etc/default/grub on the node one needs to modify the lines with the following keys as:

GRUB_TERMINAL_OUTPUT="console serial"
GRUB_CMDLINE_LINUX="selinux=0 crashkernel=auto rd.lvm.lv=centos_pe4/root rd.lvm.lv=centos_pe4/swap console=tty0 console=ttyS0,115200n8"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

That is, for the GRUB_TERMINAL_OUTPUT one needs to add "serial", for the GRUB_CMDLINE_LINUX one should remove "rhgb quiet" and add "console=ttyS0,115200n8". And finally add the GRUB_SERIAL_COMMAND line.
After this, one needs to run

grub2-mkconfig > /boot/grub2/grub.cfg

and reboot.
The above is how to do it manually; it would be nice if this could be made automatically via ansible and/or when the node is kickstarted.

We have this https://github.com/CSC-IT-Center-for-Science/ansible-role-serial-console
It's not added or tested on the fgci nodes yet though.
Do you think the above role would work? Then we can just add it to all the playbooks (it should only make grub2 changes if vendor is "HP" or "Dell Inc.")
We haven't ansibilized any IPMI/iDRAC changes yet.

Ooh, I wasn't aware of that. Seems to do most of what I'm asking. Based on a quick look at redhat.yml there seems to be some minor(?) differences compared to the above (which is roughly what we have in the FGI/SL6 cluster):

GRUB_TERMINAL should(?) probably be "console serial" so that you can get the grub prompt both over IPMI SOL and a "real" console.

The first block with "rhgb quiet" blows away the line with GRUB_CMDLINE_LINUX, then only the GRUB_CMDLINE_LINUX_DEFAULT is added back with a later block. So does the recovery mode boot stanza work at all then?

Also, the block with GRUB_CMDLINE_LINUX_DEFAULT apparently blows away all this stuff about on which LV's the root fs and swap partition etc. reside. Does the thing boot properly without those? Again, a slightly fancier regex could only add the serial console stuff without removing whatever is there before.

Only changes to the GRUB_CMDLINE_LINUX_DEFAULT block trigger regeneration of grub.cfg. Also, it generates the grub.cfg in a place which apparently is for EFI; on FGCI clusters EFI is disabled(?) and we use the legacy bios, so in that case the path ought to be /boot/grub2/grub.cfg.

All good points. So we haven't tested this on an FGCI node. Sounds like there's quite a few improvements needed to make it work there.

Some progress and updates in a branch in the serial-console repo.

There are several GRUB_TERMINAL_ settings. All of them gets overridden by GRUB_TERMINAL=
The intention with the rhgb quiet$ is to only remove if it's at the end of a line. If it's in the middle or not at all it should not affect any lines. I'll have to test the recovery boot options.
For EFI/Legacy. Checking if a directory exists under /sys and then update different files.

I merged my changes into the ansible-role-serial-console git.
After applying this role to one of the io test nodes /boot/grub2/grub.cfg the changes to /boot/grub2/grub.cfg are like below:
https://gist.github.com/martbhell/1cd9437e70df352c977c
It removes the LANG= setting. But anyway on another of our test nodes the $LANG variable in output of 'env` is en_US.UTF-8 even if LANG=en_GB.UTF-8 in the grub2.
The rescue console works.
No variables in /etc/default/grub were overwritten.
Have not actually tested the IPMI console yet. Might be a network firewall in the way.

Tested on io2 and I can now "sol activate".
@jabl are you happy with the settings we make - and shall I add it to the local.yml and compute.yml playbooks?

Well, there's still some weirdness:

the kernel command line in /boot/grub2/grub.cfg is like:

linux16 /boot/vmlinuz-3.10.0-327.4.5.el7.x86_64 root=UUID=e766e13e-8b79-4f04-8efc-0674e791c44a ro selinux=0 crashkernel=auto rhgb quiet console=tty0 console=tty0 console=ttyS0,115200
That is, the "rhgb quiet" is still there, and "console=tty0" is there twice. That's because the GRUB_CMDLINE_LINUX_DEFAULT is appended to GRUB_CMDLINE_LINUX. So maybe it would be easier to just use GRUB_CMDLINE_LINUX and remove any GRUB_CMDLINE_LINUX_DEFAULT line..

In /etc/default/grub there is both GRUB_TERMINAL_OUTPUT and GRUB_TERMINAL. According to the grub manual, GRUB_TERMINAL overrides GRUB_TERMINAL_OUTPUT. So per se not an invalid configuration, but maybe a bit confusing.

That being said, it does appear to work, so I suppose it's mostly how pedantic you are.. :)

We should aspire for greatness I suppose :)

For "rhgb quiet" in centos7 there's a plymouth-set-default-theme command.
Maybe we can use that instead of regexps. Needs some testing first.
Basic workflow according to Internet:

plymouth-set-default-theme # check what it's set to
plymouth-set-default-theme # change it to details/text
dracut -f

As for GRUB_TERMINAL_ I'm fine with having multiple. More afraid of breaking grub by removing lines.

When I'm using "ipmitool ... -I lanplus sol activate" I could not spot a difference between with "rhgb quiet", without it and with between "charge" and "text" settings in plymouth-set-default-theme.
Is the "rhgb quiet" causing some issues for you (of course I have not checked the JAVA virtual console).
If not, I'd be fine with us adding the serial-console role to fgci and closing this issue.

This is working now - closing.


when i  set defaultDataType = 'url' and set the defaultData   ,  it   doesn't  work , something wrong

        if (defaultData) {             if ('json' === defaultDataType) {                 this.fromJSON(defaultData);             }             if ('url' === defaultDataType) {                 this.fromDataURL(defaultData);                   // there in no  method named "fromDataURL"， is it  "setBackgroundFromDataUrl"?             }         }
sorry , my English is poor.

Fix this problem in my Fork / in my PR: https://github.com/fjogeleit/react-sketch
You can build this version without any cairo dependencies

same reason with issue #10


Feature/updatemetadatas

@jesuspg

Coverage increased (+0.63%) when pulling ebb0c14151fd3c2df3c446185a50fa4efa30af67 on hmunfru:feature/updatemetadatas into f21e5f2682ab0b3583dc88af351a1d027bfc3d76 on telefonicaid:develop.

Coverage increased (+0.63%) to 46.92% when pulling c61e5cad577d32a83c91f04d950628afcbdd7aec on hmunfru:feature/updatemetadatas into f21e5f2682ab0b3583dc88af351a1d027bfc3d76 on telefonicaid:develop.

Please, I encourage you to configure in your IDE the coding style review in order to automatically resolve all this issue...

Coverage increased (+0.52%) to 46.81% when pulling a6be7d7d06866901b599cb4a893f62e889f70d7c on hmunfru:feature/updatemetadatas into f21e5f2682ab0b3583dc88af351a1d027bfc3d76 on telefonicaid:develop.

Coverage increased (+0.57%) to 46.87% when pulling eda5c717d632b32caf525aeb303a587453ce8ba8 on hmunfru:feature/updatemetadatas into f21e5f2682ab0b3583dc88af351a1d027bfc3d76 on telefonicaid:develop.

Coverage increased (+0.57%) to 46.87% when pulling eda5c717d632b32caf525aeb303a587453ce8ba8 on hmunfru:feature/updatemetadatas into f21e5f2682ab0b3583dc88af351a1d027bfc3d76 on telefonicaid:develop.

Coverage increased (+0.57%) to 46.87% when pulling 677b229cf787c749ba974b6bf094ae996065ce0e on hmunfru:feature/updatemetadatas into f21e5f2682ab0b3583dc88af351a1d027bfc3d76 on telefonicaid:develop.

LGTM

Please, NOT merge this PR until the current version is released.

LGTM
To be tested on Experimentation Environment.


i18n: Update french translation.json

Updated french translation. As I am on mobile, I did my best for this new PR.


Class Schedule formatting is off

As title

Platform :

Nokia 5.1 Plus

Android 8.1

Kernel version : 4.4.95

Model : TA-1105

Sent from my Nokia 5.1 Plus using FastHub

Fix in https://github.com/abc873693/NKUST-AP-Flutter/pull/8


python_virtualenv_constants: upgrade virtualenv to 16.4.0

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

Looks like upstream let a big bug slip through: https://github.com/pypa/setuptools/pull/1652
I have already 2 packages on linuxbrew that do not build anymore.
Is there a way to:

patch setuptools in homebrew?
revert this change?


virgo-init: use path.posix: for vfs pathing

Use the new path.posix object for vfs pathing

LGTM, +1

Now you can use the path module on Windows and still get proper pathing for the VFS.


Add "/wiki" segment when relative confluence link is resolved

There are two pages documented: page1.md (title Title1) and page2.md (title Title2).
page2.md links to page1.md by [link text](page1.md)

We've noticed that when relative link is used, because the linked page already exists on confluence, relative link rendered in confluence has the following form: /spaces/~spaceId/pages/number/Title1. That results in the following html representation link text.
In our case base url is https://[company-name].atlassian.net/wiki/. Once page2 with Title2 is rendered in the browser, link points to https://[company-name].atlassian.net/spaces/~spaceId/pages/number/Title1 instead of https://[company-name].atlassian.net/wiki/spaces/~spaceId/pages/number/Title1
This PR makes fixes the situation. It would be great if you could have a look and merge it if that is a behaviour across all confluence relative linking.

Should be resolved in https://github.com/kovetskiy/mark/pull/469


[4.0] Debugger hook/breakpoint for issue reporting from the Swift runtime

This cherry-picks fec8d72ea318acd638982334804db5b6c6714a2f into swift-4.0-branch.

@swift-ci please test


release for stable coroutine support

At the moment no version of kgraphql works with non-experimental coroutines
as of now i am unable to update to ktor 1.0.0-beta-1
with 0.3.0-alpha
it does not compile:
Class 'com.github.pgutkowski.kgraphql.schema.Schema' is compiled by a pre-release version of Kotlin and cannot be loaded by this version of the compiler

with 0.2.8 it breaks at runtime
kotlinx/coroutines/experimental/CommonPool does not exist
i will attempt to make a PR

Thank you for your PR @NikkyAI, I've released new version 0.3.0-beta with your contribution and fixes from master branch.


Memory optimisation

Motivation and context

How has this been tested?

Checklist

[ ] I submit my changes into the develop branch
[ ] I have created a changelog fragment
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (see GitHub docs)
[ ] I have increased versions of npm packages if it is necessary
(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

Summary by CodeRabbit

New Features

Improved handling of shape points during the import process for enhanced data accuracy.
Centralized conversion of shape points to floats, optimizing memory usage and performance.

Refactor

Enhanced code readability and maintainability by restructuring the point conversion logic.

Codecov Report
Attention: Patch coverage is 90.90909% with 1 line in your changes missing coverage. Please review.

Project coverage is 83.48%. Comparing base (9fc70ef) to head (3954fa2).
Report is 5 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #8382      +/-   ##
===========================================
+ Coverage    83.46%   83.48%   +0.01%
===========================================
  Files          395      396       +1
  Lines        41826    41832       +6
  Branches      3881     3881
===========================================
+ Hits         34909    34922      +13
+ Misses        6917     6910       -7

Components
Coverage Δ

cvat-ui
79.36% <ø> (-0.03%)
:arrow_down:

cvat-server
87.15% <90.90%> (+0.05%)
:arrow_up:


Dark mode for documentation

Redux's documentation is a health hazard. I believe I'm suffering from eye fatigue looking at the bright white colors.
This will acknowledge any health concerns as well as provide a seamless reading experience.
Checklist before submitting:

[X] Added entry to CHANGELOG.md
[X] Added/updated relevant tests
[X] Added/updated documentation

Coverage remained the same at 99.401% when pulling 54bbbd9ba878dcf169c51cf50064dc4ed8e9376b on Nickuhhh:master into f06034829e7280b1a9df7cee4d41b2da62794f4d on Roblox:master.

I have read the CLA Document and I hereby sign the CLA

Commenting to retrigger the CLA bot

It's been 2 hours since you merged it and it doesn't seem to actually be changing anything?


Rename jspm.importmap to package.importmap

I think using a more generic name will allow tools to align on the "standard import map" to use for a given application.
Eg in Deno ideally there would be a default import map used without needing to specify it every time.
With the above name it will always appear just before package.json as well.
Feedback welcome.

We are now using importmap.json.


Leveling past level 30

I want to farm blue essence on an account that's past lvl 30, but it's not letting me. Is there anything I can change in the code for it to bypass that restriction?

Nvm, I read the READ ME, I figured it out


Feature refresh

@RhysLees
why do you removed old versions?

[ ] Cut Version below Laravel 10 / Below PHP 8.1

@StanBarrows

[ ] Add Version Table


Target separate homebrew repo

Moves the homebrew formula publish over to the new repo, takescoop/homebrew-kubectl-exec-forward. This will allow us to use brew tap directly without the additional repo URL
- brew tap takescoop/kubectl-exec-forward https://github.com/takescoop/kubectl-exec-forward.git
+ brew tap takescoop/kubectl-exec-forward

For the token, I'm thinking a new GitHub user, maybe takescoop-oss, and give the user access to the two repos.

Any reason to have the tap be specific to this tool as opposed to a company-wide formula repo?
Push can also be handled by deploy keys rather than bot users. Avoid machine users in GH where possible.

Not sure deploy keys will work. I think goreleaser uses a token to auth for homebrew pushes, and a similar request was dismissed by the maintainers as a possible v2 milestone.
Re the company wide formula repo, happy to go this route if it will work! I can't find any docs stating that homebrew will look for a "base" repo in our org/user when searching for a tap, which is what I think we'd want for it to be worthwhile.

Ah I think I just misunderstood how the tap works. So we might be able to do something like takescoop/homebrew which would containt he formula for kubectl-forward-exec and then push there?
brew tap takescoop/homebrew
brew install kubectl-forward-exec

A tap is a collection of formulas. That collection can be n=1 if you want but there's also the option to share and publish many formulas to a single tap.
If the homebrew push is API based then look into GH apps:
https://github.com/marketplace/actions/github-app-token
Apps provided a clearer identity layer for managing programmatic access. Key differences are that apps also specify authorization, can be granted org wide, and more. You can't automate registration via the API but you can make as many apps as you want for specific purposes. Any admin can rotate the key themselves as opposed to logging in as an actual user. And it doesn't take license seats.
Machine users on GitHub should be considered legacy, perhaps even to be reduced to zero in 2022.

Re taps, correct, and check on this convention but I think homebrew-formulas would be the ideal repo name. Clear as is and in the abbreviated brew tap form.

neat! will look into that app -> token action there

Okay I think we're setup:

Homebrew Releaser GitHub app created and installed with read/write to takescoop/homebrew-formulas
Private key and app ID created as organization secrets, only added to takescoop/kubectl-exec-forward at the moment

New homebrew package repos would need to be added to the org secret allow list but other than that, they should be able to publish to homebrew-formulas without issue.

Had to add takescoop/kubectl-exec-forward to the app's repo list, it was having trouble publishing the releases to this repo. (reran -> 🟢 )


Implementing requirement 5

This PR implements requirement 5. This is actually spliting up the requirement in a document as well as a role part.
Fixes #5

We will not implement this for now.


Is this still working ? maintained?

If anyone gets this working please let me know ;)

Try it today : not working.
Connect my bot to the good room : yes. But java error at the first message write in this room with my perso account


sort: implement -k and -t support

For #1728.
This allows to specify keys after the -k flag and a custom field
separator using -t.
Not sure if I've missed something... For reference GNU coreutils documentation about sort , POSIX spec.

There's a test failure (of a test I added) saying thread 'test_sort::test_keys_invalid_field_zero' panicked at 'Broken pipe (os error 32)', tests/common/util.rs:733:37. Is this a problem with the test or something else?

I think I want to implement the missing functionality first, before requesting a review

Just FYI, I've been working on sort too.  See most recently #2008.  Pleased to let you implement -k and -t, but be aware there is some functionality that I've added and I'd hate for us to needlessly conflict.  If you need my help with anything, please let me know.

Thanks, I'll take a look at your PR, hopefully there aren't too many conflicts...
I think I figured out how to do it, but if you have any suggestions I'll be happy to take them.

---- test_sort::test_keys_invalid_field_zero stdout ----

current_directory_resolved:

run: /home/travis/build/uutils/coreutils/target/debug/coreutils sort -k 0.1

thread 'test_sort::test_keys_invalid_field_zero' panicked at 'Broken pipe (os error 32)', tests/common/util.rs:742:37

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

Is failing twice in the CI

I haven't been able to reproduce this locally, and I have no idea why this is failing for this test specifically...

Well, that seems to have worked. There's one remaining failing test, saying
Error: Incompatible 'Cargo.lock' format; try cargo +1.40.0 update, which I guess isn't something I have caused because I haven't modified Cargo.lock at all.

Yeah, don't bother about minrustv :)

I will fix it here:
https://github.com/uutils/coreutils/pull/2013

Please let me know when it is ready :)

This should be more or less ready. I don't know if I should wait for https://github.com/uutils/coreutils/pull/2008 to be merged first so I can rebase on top of it, as there are going to be some conflicts

This should be ready now. Performance seems to have regressed slightly, but I don't think it's a big deal. Note that if you want to measure performance you should specify an outfile (-o), because I made writes to stdout buffered as a drive-by change, resulting in a clear perf win for redirecting stdout (sort > outfile).

Spoke too soon, some tests are failing. Will fix them :)

could you please create and document how you did the benchmarking?
For example, create a
BENCHMARKING.md
file
with where to get a data set (or generate it) and the commands to evaluate performances? (with hyperfine if possible)
thanks

I added a benchmarking.md file. Below is a comparison of performance before and after my change:
wordlist: (hyperfine "target/release/coreutils sort shuffled_wordlist.txt -o output.txt")
before:
Time (mean ± σ):      26.1 ms ±   3.6 ms    [User: 64.3 ms, System: 9.6 ms]
after:
Time (mean ± σ):      27.2 ms ±   2.3 ms    [User: 107.5 ms, System: 12.7 ms]
numbers: (hyperfine "target/release/coreutils sort shuffled_numbers.txt -n -o output.txt")
before:
Time (mean ± σ):      40.1 ms ±   3.8 ms    [User: 338.7 ms, System: 9.7 ms]
after:
Time (mean ± σ):      44.6 ms ±   3.6 ms    [User: 370.2 ms, System: 9.5 ms]


When starting Corolla 2017, engine may stutter + comma2 reboots immediately

Describe the bug
After updating to 0.8.3, my Corolla 2017 SE engine starts to stutter when starting the car + comma2 reboots. The comma2 will eventually turn back on while I'm driving and openpilot is functional.
How to reproduce or log data
Not always reproducible, but seems like this issues occurs after being away from car for a couple hours, e.g when I go to my car in the morning this issue will happen.
Expected behavior
When car starts, engine should not stutter and comma2 should not reboot
Device/Version information (please complete the following information):

Device: comma2
Dongle ID: da8078584fafb6c1
Route: da8078584fafb6c1|2021-04-07--19-14-54
Timestamp: At the very beginning of the drive (around 7:10pm which is before the timestamp of the video start)
Version: stock 0.8.3
Car make/model: Toyota Corolla 2017

Additional context

Toyota Pedal is attached
first observed this on 0.8.3
After my drive was over I immediately tried testing this again (turning car off and on) but this time issue did not occur: da8078584fafb6c1|2021-04-07--19-22-44

Did you try without the pedal? And without the C2 at all? This sounds more like a car issue to me.

Thanks that makes sense, I unplugged the C2 + pedal and still experience this.
My question is what would cause the C2 to reboot when the car eventually starts up though?

Thanks that makes sense, I unplugged the C2 + pedal and still experience this.
My question is what would cause the C2 to reboot when the car eventually starts up though?

Voltage drop. C2 does not have a battery.

I'll go get my car checked and close this if that resolves the issue.

Since it happens without the C2 as well I'm going to close the issue. Feel free to open a new issue if your C2 is still misbehaving after your mechanical problems are solved.


New feature: Display which databases the current user have access

Currently done via
/m:query /c:"SELECT name FROM sys.databases WHERE HAS_DBACCESS(name) = 1;"
Might be interesting to be able to do it via a a standard module. If you're interested, I could do a PR.
Best regards,
Javier.

This is a good idea. Thanks! I’ll test it out and implement it into the databases module and/or the whoami module.


heap-buffer oveflow in huff.cpp

A heap-buffer overflow occurs in the below program when provided with malformed input.


vector2.txt in LSTM_parameters.txt is not found

When training with LSTM, I got the following error:
`(base) yue@tredgar:~/python_projects/CliNER$ python cliner train --txt data/i2b2_txt --annotations data/i2b2_concept --format i2b2 --model models/i2b2_lstm.model --use-lstm
NO DEV
IN ERROR CHECK
0.1
Creating 90/10 train/dev split
vectorizing words all
TESTING NEW DATSET OBJECT
Load dataset...
Traceback (most recent call last):
File "cliner", line 60, in
main()
File "cliner", line 49, in main
train.main()
File "/home/yue/python_projects/CliNER/code/train.py", line 158, in main
train(training_list, args.model, args.format, args.use_lstm, logfile=args.log, val=val_list, test=test_list)
File "/home/yue/python_projects/CliNER/code/train.py", line 194, in train
model.train(train_docs, val=val_docs, test=test_docs)
File "/home/yue/python_projects/CliNER/code/model.py", line 199, in train
test_sents=test_sents, test_labels=test_labels)
File "/home/yue/python_projects/CliNER/code/model.py", line 253, in train_fit
dev_split=dev_split     )
File "/home/yue/python_projects/CliNER/code/model.py", line 410, in generic_train
dataset.load_dataset(Datasets_tokens,Datasets_labels,"",parameters)
File "/home/yue/python_projects/CliNER/code/DatasetCliner_experimental.py", line 210, in load_dataset
token_to_vector = hd.load_pretrained_token_embeddings(parameters)
File "/home/yue/python_projects/CliNER/code/helper_dataset.py", line 210, in load_pretrained_token_embeddings
file_input = codecs.open(parameters['token_pretrained_embedding_filepath'], 'r', 'UTF-8')
File "/home/yue/anaconda3/lib/python3.7/codecs.py", line 898, in open
file = builtins.open(filename, mode, buffering)
FileNotFoundError: [Errno 2] No such file or directory: 'vectors2.txt'
`
It seems that in LSTM_parameters.txt, the vectors2.txt on the first line is missing. Is this supposed to be the GloVe vectors?

I used the pretrained GloVe vectors file from http://neuroner.com/data/word_vectors/glove.6B.100d.zip, as mentioned in the CliNER paper. This seems to be the vectors2.txt.

Hi,
For some reason, my cliner train command is not able to read DatasetCliner_experimental.py and this is giving me another error that Exp is not recognized. Could you please help me. Thanks.

Closing issues prior to archive.


Map Not showing up.

Hey guys. I am not sure if this issue has been solved as i could not find anything in the issues, but i took a look at the code and cannot seem to find the error.  could it be that we are using the methods in a way that they are not meant to be used?
On a side note,  I made some updates to the release plan, and was working on refactoring when i got sick.  Not sure how much i can do right now.,

I did make an issue saying I fixed this. All good

Did you get any refactoring done? If you did, could you add it to the refactoring wiki page?


Laravel mix not interpreting Vue components watchers as intended

Laravel Version: 5.4.6
Vue Version: 2.1.10
Mix Version: 0.5.16

Description:
Since Laravel 5.4, it is recommended to use Laravel mix (config layer of webpack) to compile assets, including Vue files.
However, it seems to be interpreting code quite badly since it make components that were working dysfunctional.
It seems that setting a preset function as a component watcher's handler changes the scope and then translate this.prop in the handler function's parameters to undefined.prop.
As for information, I was using Gulp to transpile assets before Laravel 5.4.
Steps To Reproduce:

Create a vue single file component with these required :

props: {
  myObjectProp: {
    type: Object
  }
},
computed: {
  debounceTime () {
    return (condition == expected) ? 500 : 0
  }
},
watch: {
  myObjectProp: {
    handler: _.debounce(function (val) {
      // Do some stuff here
    }, this.debounceTime),
    deep: true
  }
}

Then compile by running npm run dev

Well you have a function there, so that should change the value of this, right? What happens if you change it to:
watch: {
  myObjectProp: {
    handler: _.debounce(val => {
      // Do some stuff here
    }, this.debounceTime),
    deep: true
  }
}

It doesn't change anything, and it shouldn't change the value of this because if you see, this.debounceTime is outside of the callback closure, meaning that it is passed as a parameter.
And if I'm not mistaken, passing this.parameter is something that isn't forbidden at all.
The handler is supposed to be fired everytime the value of myObjectProp changes, but this is what happen if I do this:
watch: {
  myObjectProp: {
    handler: function(val) {
      _.debounce(function () {
        // Do some stuff here
      }, this.debounceTime)
    },
    deep: true
  }
}

First, this solution is not concise because of the anonym function wrapping lodash's debounce function.
Then, it is not really fixed because the handler will be fired only when the Vue render updates. (meaning that for a datatable in my case, you have to change the sorting to see the filter applied)

Okay, I misunderstood you.
I just recreated your example, and then checked the compiled code. I see no reference to undefined.debounceTime, and everything seems to be working properly.
https://www.dropbox.com/s/moh8rz7lhl739dj/Screenshot 2017-02-01 11.34.04.png?dl=0

We found out what went wrong with the compilation.
Acutally, I did try to recreate a reproduction to provide, and was unable to recreate the behavior described above. This way, we found out that there was a file in the application's root folder named .babelrc containing these lines:
{
    "presets": ["es2015"]
}

And this was the source of the problem. If this is in the project, the compilation goes wrong and code doesn't work as inteded anymore.
So if people have compilation problem, but the code seems fine, they should take a look to see if they have these lines forcing the code to not go to ES5.
Thank you for taking the time to answer me and try to figure out what was the problem.

Thanks! Glad you got it figured out.


Added information about runhcs and cri/containerd

@StefanScherer, if you have any feedback, I'd love to hear it too :).


Added the empty file that isn't required for PEP420, but is required for setuptools.find_packages()

Turns out you do actually need empty __init__.py files, even with Python 3, if you are using setuptools.find_packages. This cropped up when I did the final testing of the v2.1.0 release. We will therefore be going straight to v2.1.1 🤣 .
https://github.com/pypa/setuptools/issues/97 relates

Could not review pull request. It may be too large, or contain no reviewable changes.

Coverage remained the same at 88.638% when pulling 515eb9636c88d20397fd4b1025b81cb0e9c220db on pelson:pep420_fix into 90c705f6129c9e5abcf2b5a502ad16bb473fde8c on SciTools:master.

Coverage remained the same at 88.638% when pulling 515eb9636c88d20397fd4b1025b81cb0e9c220db on pelson:pep420_fix into 90c705f6129c9e5abcf2b5a502ad16bb473fde8c on SciTools:master.

Coverage remained the same at 88.638% when pulling 515eb9636c88d20397fd4b1025b81cb0e9c220db on pelson:pep420_fix into 90c705f6129c9e5abcf2b5a502ad16bb473fde8c on SciTools:master.


Proc=None causes profiling to go into infinite loop

I am not sure at what point that happened but suddenly my proteus run that use import proteus.iproteus * freeze. It turns out that they go into an infinite loop whilst handling preInitBuffer. After closer inspection I realized that this is the problem is in Profiling.py:
def openLog(filename,level,logLocation=None):
    ....
    for string,level,data in preInitBuffer:
        logEvent(string,level,data)

...
def logEvent(stringIn, level=1, data=None):
...
    elif procID==None:
        preInitBuffer.append((stringIn,level,data))

So assuming preInitBuffer was not empty it gets bigger and bigger. In my case it starts with NO PROTEUS_PRELOAD_LIBS LOADED; CHECK config.py. Also before my procID was equal to 0 and now it's 'None' which causes the other if to activate. I was looking around for a while, but couldn't understand the difference so I temporarily commented out the append line. I am afraid of side effects though. Could you please look at it, too?

@robertsawko - Thanks for reporting this.  This looks like a bug in our implementation in the profiling implementation.  The situation you're describing is this:

A user imports Proteus and starts calling Proteus functions that call logEvent (really this is a logging functionality, not profiling, but they're in the same module for historical reasons).

Because the Profiling module hasn't been initialized, it starts off in "pre-initialization" mode, that is, log events are saved to a buffer to later be written out after MPI has been initialized.

The buffers fill up and overflow

@cekees probably has more to say about this, but the solution I'd use is to set up the Profiling module when you launch your code.  We do this automatically for you if you use parun, but there's also an example in: https://github.com/erdc-cm/proteus/blob/master/proteus/tests/util.py#L5
You probably want to set loglevel to something much lower than 10, I think 3 or 5 is usually the right amount of verbosity.  Let me know if that helps!
In the meanwhile, let's leave this issue open.  I need to discuss with the other developers how they want to fix this issue, since the ideal solution is to call MPI initialization immediately on job launch.

I'm not sure what's going on here. @robertsawko can you point me to your script?
The reason the preInitBuffer is there is so  that people can import  proteus.Profiling and and use Profiling.logEvent before communication is initialized. So I didn't plan for preInitBuffer to get very big  or to do any sort of monitoring of the buffer size. It's mainly just for the few log  messages that might be needed in a users application modules (like the p- and n-files).
When you import iproteus it  should  initialize  Comm and Profiling and flush the buffer, so I'm not sure what  is happening in your script so that  Profiling.procID either doesn't get set or gets reset.

@cekees - Yeah, I see now.  Profiling.procID = comm.rank()
I wonder if that's not getting set properly somehow.

@cekees This happens on all of my python files that have import proteus.iproteus, but only if I run it with python2 name_of_a_scripty.py. If I do parun it gets through. Is is possible I am the only one who uses proteus without parun? Also I am getting the warning which is part of a problem too. But in any case it looks to me that the lines I put above create an infinite loop under certain conditions (warning and procID=None).
I also validated that some commits ago my procID was 0 rather than None.

No, many of the regressions tests use iproteus, among other things. I think
you've uncovered a very recent regression.  The tests  are now broken on my
laptop. I'm checking to see what is happening on the buildbots.
On Tue, Feb 10, 2015 at 10:38 AM, Robert Sawko<EMAIL_ADDRESS>wrote:

@cekees https://github.com/cekees This happens on all of my python
files that have import proteus.iproteus, but only if I run it with python2
name_of_a_scripty.py. If I do parun it gets through. Is is possible I am
the only one who uses proteus without parun? Also I am getting the warning
which is part of a problem too. But in any case it looks to me that the
lines I put above create an infinite loop under certain conditions (warning
and procID=None).
I also validated that some commits ago my procID was 0 rather than None.
—
Reply to this email directly or view it on GitHub
https://github.com/erdc-cm/proteus/issues/214#issuecomment-73732960.

OK, this broke after commit 5cb363ffda6175a4bcb1d62d946812ce78d79d56.
@robertsawko, I think you should be able to verify that your scripts work
for that commit (i.e. do 'git
checkout 5cb363ffda6175a4bcb1d62d946812ce78d79d56' in proteus and then
rebuild proteus as you usually do when updating it. I will see if I can
track down the bug.
On Tue, Feb 10, 2015 at 10:52 AM, Chris Kees<EMAIL_ADDRESS>wrote:

No, many of the regressions tests use iproteus, among other things. I
think you've uncovered a very recent regression.  The tests  are now broken
on my laptop. I'm checking to see what is happening on the buildbots.
On Tue, Feb 10, 2015 at 10:38 AM, Robert Sawko<EMAIL_ADDRESS>wrote:

@cekees https://github.com/cekees This happens on all of my python
files that have import proteus.iproteus, but only if I run it with python2
name_of_a_scripty.py. If I do parun it gets through. Is is possible I am
the only one who uses proteus without parun? Also I am getting the warning
which is part of a problem too. But in any case it looks to me that the
lines I put above create an infinite loop under certain conditions (warning
and procID=None).
I also validated that some commits ago my procID was 0 rather than None.
—
Reply to this email directly or view it on GitHub
https://github.com/erdc-cm/proteus/issues/214#issuecomment-73732960.

This broke when we merged #195 @ahmadia. When you changed the print statement to a log statement it uncovered a case in iproteus where we can create an invite loop with logEvent. The buildbots caught the error (and make check catches it on my machine), but for some reason the shippable testing didn't seem to catch it. @robertsawko , I'll push a fix shortly.

@ahmadia and @mfarthin. I think the reason this regression wasn't caught by shippable is that it runs the tests using nosetests, which doesn't isolate the test_* modules, so for example Profiling.procID was  getting initialized  before it hit our tests  that use iproteus. There is a  --with-isolation flag you can pass  to nosetests, which triggers this problem, but it also breaks a lot of other things including the coverage checking and some of @ahmadia's new tests.


[Question][Suggestion] Visual inspector for windows applications in Appium-Desktop

Like the visual inspector feature provided by Appium-Desktop for iOS https://github.com/appium/appium-desktop#the-inspector , any chance something of the sort maybe be added into Appium-Desktop for Windows platform as well?

@PandaMagnus sorry for the confusion, i did find that Appium-Desktop is capable of stating a UWP app and inspecting it and even performing some basic actions. You just need to provide the proper DesiredCapabilities. For example for the calculator application you can provide the same to do so:
{
"app": "Microsoft.WindowsCalculator_8wekyb3d8bbwe!App",
"deviceName": "WindowsPC",
"platformName": "Windows"
}


Is sending event from within an action considered anti-pattern?

See code sample below, three questions:

Is sending event from within an action an anti-pattern?

If yes, any recommended approach to trigger a state switch from within an action?

If not, is there better way to pass in the send function, or make it available from within the action? Maybe by embedding it inside the context?

states: {
  a1: {...},
  a2: {
    on: {
      'CLICK': {
        actions: assign((ctx, e) => {
          // using useMachine() outside and pass in `send` function via the click event
          const { send } = e
          // send another event from with-in the action
          send({type: 'SCROLL', value: 123})
        })
      },
      'SCROLL': 'a1'
    }
  },
}

Is sending event from within an action an anti-pattern?

Yes - actions should be fire-and-forget side-effects.

If yes, any recommended approach to trigger a state switch from within an action?

Do you have a real-life example of what you're trying to do? Why does it have to be from within an action in your case?

Yes, I do have a real use case for that, in short I'm trying to implement optimistic update where I need to update the context multiple times, as show in the code sample below (as you can see I'm kind of using send as dispatch in a redux manner).
and here's my updated two questions:

Why actions need to be fire and forget? What if it's not?

What's the downside of sending multiple events as demoed below? Is there better approach to do that?

// let's say we are in a `create new item` window
// user just filled the form and hit `send` button
// and while we are persisting that new item via an API,
// we also want to switch from `newItem` state back to `master` state
// here's how it goes:
actions: assign((ctx, e) => {
  const { payload, send } = e
  const newItem = { ...payload, id: randomId() }

  // drive fsm into 'master' state, along with the newly-created item
  // so that we can display this new item on screen,
  // even though it's still on the wire back to the server
  send({
    type: 'GOTO_MASTER',
    payload: newItem,
  })

  // invoke API
  fetch(...)

  // and if the invokation was successful and data persisted
  // we want to display some notifications on the screen
  // we may also wanto to persist the result returned from the API in the context
  .then( result => {
    send({
      type: 'NEW_ITEM_SUCCESS',
      result
    })
  })

  // of course if the invokation failed, we need to show an alert
  // which brings us into another state
  .catch( error => {
    send({
      type: 'NEW_ITEM_FAIL',
      error,
    })
  })

})

Side-effects that communicate back with the machines are invoked services (e.g., callbacks, Promises, etc.) Because it's an optimistic UI, it becomes a little tricky, as you are in some 'newItem.updating' as well as some 'view.master' state at the same time, so if you want to explicitly model this in the same state machine, you'd need parallel states.
However, using a service might be easier:
const appMachine = Machine({
  id: 'app',
  initial: 'master',
  invoke: {
    id: 'itemsService',
    src: () => (cb, onReceive) => {
      onReceive(event => {
        if (event.type === 'NEW_ITEM') {
          fetch(...)
            .then(result => cb({ type: 'NEW_ITEM_SUCCESS', result }))
            .catch(error => cb({ type: 'NEW_ITEM_FAIL', error }));
        }
      }
    }
  }
  states: {
    master: { ... },
    newItem: {
      on: {
        SUBMIT_NEW_ITEM: {
          // go back to master
          target: 'master',
          // send intent to service
          actions: send((_, e) => ({
            type: 'NEW_ITEM',
            data: e.data
          }, { to: 'itemsService' })
        }
      }
    }
  }
});

The difference between this and an "action that can send back events" is that 'itemsService' is a single instance of a managed service, and it lets you implement more advanced logic like throttling, keeping track of the items, adding more features (updating and deleting items), teardown (abort in-flight Promises), etc.
It's basically a mini API / "microservice" that you can even swap out for testing.

The spawning Actors proposal #428 can also be used for this, once it's in:
const createItem = (data) => Machine({
  id: 'item',
  context: data,
  invoke: {
    src: (ctx) => fetch(...),
    onDone: 'created',
    onError: 'error'
  },
  states: {
    // ...
  }
});

const appMachine = Machine({
  // ...
  on: {
    SUBMIT_NEW_ITEM: { actions: spawn(createItem) },
    NEW_ITEM_SUCCESS: { ... },
    NEW_ITEM_FAIL: { ... }
  }
});

Invoked services are indeed all I needed to implement optimistic update, thanks for the examples!! 👍

This pattern is exactly what I'm trying to implement; however, I'm struggling to figure out how to use the send function the way you wrote in your example:
          actions: send((_, e) => ({
            type: 'NEW_ITEM',
            data: e.data
          }, { to: 'itemsService' })

This sample doesn't appear to be valid JS because you're implicitly returning two separate values. Is there another way to use the send function in this manner (i.e., explicitly specifying the receiver and including the event data in the action)?

Side-effects that communicate back with the machines are invoked services (e.g., callbacks, Promises, etc.) Because it's an optimistic UI, it becomes a little tricky, as you are in some 'newItem.updating' as well as some 'view.master' state at the same time, so if you want to explicitly model this in the same state machine, you'd need parallel states.
However, using a service might be easier:
const appMachine = Machine({
  id: 'app',
  initial: 'master',
  invoke: {
    id: 'itemsService',
    src: () => (cb, onReceive) => {
      onReceive(event => {
        if (event.type === 'NEW_ITEM') {
          fetch(...)
            .then(result => cb({ type: 'NEW_ITEM_SUCCESS', result }))
            .catch(error => cb({ type: 'NEW_ITEM_FAIL', error }));
        }
      }
    }
  }
  states: {
    master: { ... },
    newItem: {
      on: {
        SUBMIT_NEW_ITEM: {
          // go back to master
          target: 'master',
          // send intent to service
          actions: send((_, e) => ({
            type: 'NEW_ITEM',
            data: e.data
          }, { to: 'itemsService' })
        }
      }
    }
  }
});

The difference between this and an "action that can send back events" is that 'itemsService' is a single instance of a managed service, and it lets you implement more advanced logic like throttling, keeping track of the items, adding more features (updating and deleting items), teardown (abort in-flight Promises), etc.
It's basically a mini API / "microservice" that you can even swap out for testing.

@pdcarroll Please put your code in a CodeSandbox. Easier to diagnose the issue there.

@pdcarroll Please put your code in a CodeSandbox. Easier to diagnose the issue there.

Sure, here's a sandbox with a modified version of the sample you posted above:
https://codesandbox.io/s/laughing-margulis-zd4yh
I included your sample implementation of send (line 29), but commented it out because it's invalid syntax. The version of send that I wrote is valid (and works), but it doesn't capture the event data. My question is, is there a way to send the action to the invoked service, including the event data, as you attempted to illustrate in your version of send?

This sample doesn't appear to be valid JS because you're implicitly returning two separate values. Is there another way to use the send function in this manner (i.e., explicitly specifying the receiver and including the event data in the action)?

That's because you have made a syntax mistake, it should be:
          actions: send((_, e) => ({
            type: 'NEW_ITEM',
            data: e.data
          }), { to: 'itemsService' })

https://codesandbox.io/s/delicate-https-ujfyh

@Andarist The invalid syntax was not my code, it was from the sample posted as a response to the original issue. That's why I asked for clarification. The change you made is exactly what I was looking for. Thank you!

I am having same questions of thread author, and I wasn't able to have a reply in this thread.
In my situation, I haveentry actions that draw some graphical objects for each state: it's something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But I need to capture events of this viewcontrollers tp translate into events for my machine. I should do something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            homeViewCtrl.onChangeFocus(() => send('MENU_ITEM_CHANGED'))

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But, of course, I cannot use send action creator in this way. How can I send an event in the most efficient way in my situation?

I am having same questions of thread author, and I wasn't able to have a reply in this thread.
In my situation, I haveentry actions that draw some graphical objects for each state: it's something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But I need to capture events of this viewcontrollers tp translate into events for my machine. I should do something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            homeViewCtrl.onChangeFocus(() => send('MENU_ITEM_CHANGED'))

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But, of course, I cannot use send action creator in this way. How can I send an event in the most efficient way in my situation?

I am having same questions of thread author, and I wasn't able to have a satisfying reply.
In my situation, I have entry actions that draw some graphical objects for each state: it's something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But I need to capture events of this viewcontrollers tp translate into events for my machine. I should do something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            homeViewCtrl.onChangeFocus = () => send('MENU_ITEM_CHANGED'))

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But, of course, I cannot use send action creator in this way. How can I send an event in the most efficient way in my situation?

This would make a good discussion, but you would want to invoke instead of using an action.
Remember: actions are fire-and-forget, and you're not wanting to do any "forgetting" here.

I am having same questions of thread author, and I wasn't able to have a satisfying reply.
In my situation, I have entry actions that draw some graphical objects for each state: it's something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But I need to capture events of this viewcontrollers tp translate into events for my machine. I should do something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            homeViewCtrl.onChangeFocus = () => send('MENU_ITEM_CHANGED'))

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But, of course, I cannot use send action creator in this way. How can I send an event in the most efficient way in my situation?

This would make a good discussion, but you would want to invoke instead of using an action.
Remember: actions are fire-and-forget, and you're not wanting to do any "forgetting" here.

I am having same questions of thread author, and I wasn't able to have a satisfying reply.
In my situation, I have entry actions that draw some graphical objects for each state: it's something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But I need to capture events of this viewcontrollers tp translate into events for my machine. I should do something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            homeViewCtrl.onChangeFocus = () => send('MENU_ITEM_CHANGED'))

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But, of course, I cannot use send action creator in this way. How can I send an event in the most efficient way in my situation?

This would make a good discussion, but you would want to invoke instead of using an action.
Remember: actions are fire-and-forget, and you're not wanting to do any "forgetting" here.

Link on discussion is not working for me..
If I cannot use actions to draw components, my architecture is really broken :) but I am happy to learn.

I am having same questions of thread author, and I wasn't able to have a satisfying reply.
In my situation, I have entry actions that draw some graphical objects for each state: it's something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But I need to capture events of this viewcontrollers tp translate into events for my machine. I should do something like:
    actions: {
        setInitialHomeDetailAndNavViews: (context: IMainPageFSMContext) => {
            const homeViewCtrl = new MenuViewController();

            homeViewCtrl.onChangeFocus = () => send('MENU_ITEM_CHANGED'))

            context.homeViewCtrl.updateHomeNavView(homeViewCtrl);
        },

But, of course, I cannot use send action creator in this way. How can I send an event in the most efficient way in my situation?

This would make a good discussion, but you would want to invoke instead of using an action.
Remember: actions are fire-and-forget, and you're not wanting to do any "forgetting" here.

Link on discussion is not working for me..
If I cannot use actions to draw components, my architecture is really broken :) but I am happy to learn.

I hope you will forgive me for commenting on this long-closed issue.

Is sending event from within an action an anti-pattern?

Yes - actions should be fire-and-forget side-effects.

I find send(event) not sending an event (but creating an action that will send an event) a bit misleading. In a context (the processing of an action) where sending an event should not be allowed, it is even more confusing to me.

"Fire-and-forget" effects, which execute a synchronous side-effect with no events sent back to the statechart, or send an event synchronously back to the statechart

English is not my native language and I cannot say whether the italicized part means you can use send(event) or raise(event) but you cannot use service.send(event) or why I cannot use the later.  And the difference between send() or raise() is still blurry to me, even with the provided exemple for rise(), which makes me feel dumb.

I find send(event) not sending an event (but creating an action that will send an event) a bit misleading.

We understand that it might be a little bit misleading at first but take a look at how this is used within createMachine calls and consider that createMachine doesn't actually execute any side-effects. It's just a blueprint for a given behavior, it's like a class/template and you only create "instances" later on when actually instantiating concrete machines with interpret (or similar). Given that - this is sort of a requirement. We could try to think about different APIs for it, for instance we could require thunks:
entry: (ctx, ev, { self }) => self.send({ type: 'MY_EVENT' })

However, this would be way less statically analyzable and thus it would come with some serious tradeoffs for our tooling.

In a context (the processing of an action) where sending an event should not be allowed, it is even more confusing to me.

Could you elaborate? Not sure sure if I understand your intention correctly here

but you cannot use service.send(event) or why I cannot use the later.

You shouldn't use it because there is a good chance that it's not what you want. Please refer to the class/instance analogy that I've presented above. When using service.send directly from within actions and stuff you risk introducing different scheduling semantics etc because we no longer know that this event has a specific "sender".

And the difference between send() or raise() is still blurry to me, even with the provided exemple for rise(), which makes me feel dumb.

The difference is purely in the priority of both actions. Consider this:
entry: [send({ type: 'SENT_EVENT' }), raise({ type: 'RAISED_EVENT' })]

In here, the RAISED_EVENT will always be delivered to the machine first despite being "defined" later as an action. Both are queued but in different internal queues and the raisedQueue has to always be empty before we proceed to take any item from the sentQueue.
Note that we consider making this a clear distinction in the upcoming v5 and we might change this slightly:

raise could be used to send an event to "self" (optionally with some kind of a priority option, but we haven't decided on that yet)
send could be only used to send events to other actors

We hope that introducing a change like this would make it more clear as to how one can use both of those.

Thank you for the answer!
Actually, I never expected send(event) would send an event because I had read the documentation which is perfectly clear on what it does. I just find that it hinders understanding for someone new to XState. schedule(event) seems clearer to me. But I guess it doesn't really matter anymore once the fire-and-forget (side effect free) concept is integrated.

In a context (the processing of an action) where sending an event should not be allowed, it is even more confusing to me.

Could you elaborate? Not sure sure if I understand your intention correctly here

It is also a feedback. From the description of effects quoted in my previous comment, the name chosen for send(), my level of English which is far from perfect, etc, I was not sure what is allowed or not in an action.
I wish I had an example of the difference between raise() and send() that I can visualize. I have an idea of the difference in their implementation but haven't yet figured out the practical differences in using one or the other.

Some more examples of using invoke/services in this blog: https://stately.ai/blog/2021-05-13-why-i-love-invoked-callbacks.


Does Bootstrap need PHP and MySQL?

Hi,
i want to host a bootstrap website on world4you.
Do i need the webserver to support mysql and php?
Thanks

no


Add caching producer factory

Fixes #30

Thanks for this excellent PR @onobc. Significant improvements for PulsarTemplate. Merged upstream.


Implement vineyard runtime engine and controller

Fixes https://github.com/fluid-cloudnative/fluid/issues/3528

@dashanji Please fix the conflict. Thanks.

@dashanji Please fix the conflict. Thanks.

ok.

/test fluid-e2e

Hi @cheyang @TrafalgarZZZ, could you please take a look at this? Thanks.


Adds gleam to the board end zone when a power-up scores

When a powerup (star, spin etc) hits an endzone, it lights up briefly. Purely a cosmetic change.

That number is just a hacky thing to get the board sized to what I wanted and we should encode it in a different way. We should take some time to remove all the magic number though at some point, there's on in there that's like..
maxVelocity = .004444444555 * .112222222; or something super weird

We can fix up the magic numbers in the future!


fix: left sidebar hiding isssue

Fixed #163
PR contains

Some style changed on sidebar panel & filter panel
Fixed sidebar hiding issue (mainly focused on this functionality)
Don't fixed responsive design
If think to change icon image anyone can do. The icon was taken from https://icons8.com/

Branch code seems to have conflict with main branch. Do look into this

@sibeshkar conflict resolved but don't know why deployment is failed?

Hey @rjoydip it looks like there's a conflict in components/NetworkMapLegend/index.js, could you fix the deployment issue and this?


Multisig. Create multisig. Can proceed without wallets within signatories

Description
User can proceed with any random signatories. Should be at least one from the wallet list, filtered by - isValidSignatory
Example:
https://github.com/user-attachments/assets/e48cfb2c-257e-42a7-aa2c-4692f0effc3f
Steps to Reproduce

Go to Multisig creation flow
Add any addresses
Proceed to create

Expected Behavior
Error - You need at least 1 owned account as part of the signatories
Actual Behavior
Can proceed
Environment
https://github.com/novasamatech/nova-spektr/commit/9f3b822eef231f452fc92943e3db1ff97dff261c

Status verification: ✅