fix: don't retry failed implicit data preloads

fixes #8301
Not sure if this is the best approach, therefore no test yet
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

If we were to do this I think we'd want a failed_preloads.clear() somewhere, most likely after any successful navigation. I do somewhat lean towards arguing that this is the developer's responsibility to address with data-sveltekit-preload-data="off", though I could probably be persuaded in the other direction.

I didn't add a clear because if you have a layout with a link, that link would try to be prefetched again (and fail again) after each navigation. Under what circumstances could the approach of only deleting the id in question lead to something not getting prefetched again? (possible answer: with a redirect; that probably needs a check to delete this as well)
If we don't want to change this, then we should at least print a more helpful message to the console at dev time. Something like "if this is a link that is very likely to fail while prefetching, consider setting data-sveltekit-preload-data="off" on it".

Under what circumstances could the approach of only deleting the id in question lead to something not getting prefetched again?

Say I fail to navigate to /admin, then navigate to /login, then attempt to navigate to /admin again. Following the successful navigation to /login I'd expect subsequent links to be preloaded

Yeah that makes sense.
Since this is all highly app-specific, and hard to find a one-size-fits-all-solution (your case for example is more conservative, but the related issue would probably prefer my solution), I think a dev time warning is the better solution.


Add files via upload

Add README.md Portuguese file

Rebase done. @loafyloaf

@loafyloaf Is there something needed in order to finish pulling this request?

@lnrego would you squash this into a single commit? once that's done, we should be good to merge it


ctrl-c/ctrl-v issue in cpz readme

A zippy alternative to cp, a tool to remove files or directories.

Whoops, thanks.


Testing Pull Request #87

Context
I'm currently evaluating Pull Request #87 and performing some ad-hoc testing of the new program. This issue provides details of aspects of that testing in the hope it'll be useful to you and others if/when you engage in similar work.
I configured the PYTHONPATH as described in: https://github.com/commercetest/nlnet/wiki/Using-PYTHONPATH
Testing input handling
The program accepts an optional command-line parameter for the input file name. The tests incrementally exercised the program starting with no input file, then by adding an empty file, then adding a single unrelated word to represent a column name that wouldn't match any of the ones the program looks for, and finally by replacing this word with the name of the only column the program appears to need in order to run.
python src/DS/metrics_extraction.py
touch ~/NLnet-Projects/commercetest-nlnet/data/guessed_languages_rows.csv
python src/DS/metrics_extraction.py
echo column > ~/NLnet-Projects/commercetest-nlnet/data/guessed_languages_rows.csv
python src/DS/metrics_extraction.py
echo guessed_language > ~/NLnet-Projects/commercetest-nlnet/data/guessed_languages_rows.csv
python src/DS/metrics_extraction.py

By this point the program ran without reporting any errors.
2024-11-25 14:00:08.966 | INFO     | __main__:<module>:306 - Working directory: /home/julian/NLnet-Projects/commercetest-nlnet
2024-11-25 14:00:08.971 | INFO     | __main__:<module>:323 - Found 0 already processed files.
2024-11-25 14:00:08.971 | INFO     | __main__:<module>:407 - Final dataframe saved to /home/julian/NLnet-Projects/commercetest-nlnet/data/test_metrics_df_guesslang.csv

Good next tests?
What might be good next tests to perform as well as these tests? We can add these test ideas as comments to this issue.

I generated an input file to dogfood the new program by running it against all the python files in this repo.
I created it in several steps:

Run find . -name "*.py"
Create a header row of file_path,guessed_language in the input file .data/guessed_languages_rows.csv
Manually copy + paste the output into the csv file below the initial header row
Manually append ,Python to each line that was added after the initial header row
Save the resulting edits of the file and then run the program: python src/DS/metrics_extraction.py

Download this file to see the input file I generated guessed_languages_rows.csv


Create chicagobooth.txt

This is the email domain for UChicago Booth School of Business

@dhruvg Pull request merged. Thank you!


Documentation of the new conditional sampling method

Hello, I have quite enjoyed SBI for my single neuron model fitting tasks! Thank you for all your hard work!
I have recently been upgrading all my scripts to the post 0.14 syntax for sbi (specifically to 0.18).
I noticed .sample_conditional() has been removed as a function from the direct posterior. If I understand correctly this is because MCMC posterior has been split off to its own, and sample conditional has to be run on an MCMC based posterior.
I see that the function can be approximated here:
https://github.com/mackelab/sbi/blob/b8c7606019a194bbcf0ef329fc46ec5845c8ae39/tests/linearGaussian_snpe_test.py#L422
however I am struggling to implement this in my current workflow.
Currently my work flow is as follows:

Simulate a wide param space with a large number of samples (~500,000) [Specifically the adex model , with all parameters as free parameters]
Build a posterior with SNPE, pickle the posterior, density estimator, and inference object
For each single model to fit, fix two of the parameters (neuron capacitance, neuron time constant), and sample conditionally using .sample_conditional()
Take the highest probable sample.
(optionally) Run some genetic algorithms to refine the fit.

With this, it reduced the time to fit for each single neuron from several hours to <1hr (in most cases). Basically off-loading the time cost to the first step, which really only has to run once. Realistically I have now switched to using simply .sample() for step 3. However, I have found this does not produce as rapid / satisfying fits as the conditional sampling method.
Unfortunately, I am struggling to wrap my head around the new sampling interface / conditional sampling method. My implementation seems to loop multiple times through the MCMC sampling procedure without ever returning the samples and I am unsure if this is expected. I would love a short tutorial on using this new conditional sampling method.

Hi there, thanks for creating this issue! I agree that sampling the conditional is poorly documented right now. I have just created a PR here to fix this.
I can't say what it is exactly that you are doing wrong, but my best guess would be that you are passing the posterior to posterior_estimator_based_potential, not the posterior_estimator. I.e. I maybe you are doing something like this:
_ = inference.append_simulation(theta, x).train()
posterior = build_posterior()
potential_fn, theta_transform = posterior_estimator_based_potential(posterior, prior, x_o=x_o)

Instead, you should do this:
posterior_estimator = inference.append_simulation(theta, x).train()
potential_fn, theta_transform = posterior_estimator_based_potential(posterior_estimator, prior, x_o=x_o)

Please let me know if you find the new tutorial useful and if you could fix your issue!
Michael

Small aside: if you really only want the highest probably sample, you do not even have to sample the conditional. You can do the following:
posterior_estimator = inference.append_simulation(theta, x).train()
potential_fn, theta_transform = posterior_estimator_based_potential(posterior_estimator, prior, x_o=x_o)
conditioned_potential_fn, restricted_tf, restricted_prior = conditonal_potential(
        potential_fn=potential_fn,
        theta_transform=theta_transform,
        prior=prior,
        condition=samples[0],
        dims_to_sample=[dim_to_sample_1, dim_to_sample_2],
    )

Closing due to inactivity. The PR with the tutorial is merged. Feel free to reopen if the issue persists.


New question type: file upload

Question to upload a file, which is then uploaded to specified docker volume.

hi i want to work on this issue

@jacksonwun let's start with one volume for the data. And add optional validation in Yaml. for example:
type: file
validation:
  max_size_bytes: 123*123
  formats:
    - .jpg,
    - .jpeg
...

It looks like yaml don't support formula. We can do string if this is better
type: file
validation:
  max_size_bytes: '123 * 123'
  formats:
    - .jpg,
    - .jpeg

@jacksonwun I think we can omit multiplication. Maybe even make it simpler and just provide an integer in megabytes.

@plutov I see, just corrected to multiplication in the PR.

done! Thanks @jacksonwun


New PR to test SignCLA at 2018-07-12 14:11:48.521641875 -0400 EDT m=+3.924663835

Body of PR

indiv-pass-fork-staging: test succeeded


Plot/Series Selector Clear/Refresh Button

There needs to be some sort of clear and/or refresh button for plotting and series selection. Perhaps this is what the "refresh" button in the Date Time menu is for, but it is not functioning.
For example, when a new filter is applied and series are selected, it plots them as multiple time series. To remove a series from the plot, the user needs to apply the proper filter and then de-select it. This particular issue might be addressed by a new table or frame that allows the user to toggle plotted series on and off.
I notice that that program slows and gets buggy after repeated series selection/de-selection (and sometimes just using a Simple Filter). Some sort of reset functionality might overcome this.
https://hydroserver.codeplex.com/workitem/10181

@AmberSJones  ready for testing on branch btn_refresh

The functionality is great. However, the button needs some work.

The text is cropped.
Let's change the label to "Clear Plot".
We need to move the button- right now it just kind of floats out there. Can we either right align it or else put it immediately to the right of the "Advanced Filter" radio button?

@AmberSJones  ready for testing again

Excelente!


This browser does not support webGL, Try using the canvas Renderer

This browser does not support webGL, Try using the canvas Renderer after several instances of the WebGLRenderer were created and destroyed.
Expected Behavior
Be able to create a new WebGLRenderer
Current Behavior
On a Single Page Application ( SPA ), there were multiple routes that created a WebGLRenderer. However, after X amount of Route changes, the This browser does not support webGL, Try using the canvas Renderer would pop up.  Apparently this happens due to the fact that the context gets lost.
Possible Solution
When using Pixi in an SPA, don't recreate the renderer, but have it somewhere central and accessible. This approach worked for us and apparently many others.
The solution would be adding the above to the Readme of Pixi.js
Steps to Reproduce

create SPA
create routes where each one creates/destroys a webGl renderer
switch routes ( you might have to do this a lot before it breaks)

Environment

pixi.js version:  4.7
Browser: Chrome (all)
Device: Desktop

Stupid question, what is SPA?

PSA stands for Single Page Application,i'll update the ticket to reflect
On Thu, Apr 12, 2018 at 12:44 PM, Matt Karl<EMAIL_ADDRESS>wrote:

Stupid question, what is SPA?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pixijs/pixi.js/issues/4844#issuecomment-380638915,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AM0jTeLhwCFiD7XQeZ2w5iJLAEXAd18Bks5tnqNUgaJpZM4TQ84E
.

--
Joris Rotteveel | Creative Developer & Technical Lead | Touchtech
w: touchtechlabs.com
p: +64 4 974 6549
m: +64<PHONE_NUMBER>
a: 1/21 Allen Street, Wellington, New Zealand

Single Page Application, I've updated the ticket!

Duplicate of #2233


Migrate Ruuter V1 to Ruuter V2

Key Points:

Removed Ruuter v1
Modified Endpoints

Directed To dev-2


Add Liechtenstien holidays and tests.

Resolves #650

Coverage decreased (-0.02%) to 99.579% when pulling 08148a5ee2d0fccd54f2c2599f71d3b4b3485b53 on kasya:liechtenstien_holidays into be4cd58c46ed19263e985b0bf473488d2ec65b19 on dr-prodigy:beta.

Merged, thanks! 👍


KYLIN-5546 Add stop async query job api.

Proposed changes
As described in JIRA KYLIN-5546，this PR supply a DELETE REST API /async_query/stop/{query_id:.+} to kill the submitted asynchronous query by the query id.
Branch to commit

[ ] Branch kylin3 for v2.x to v3.x
[ ] Branch kylin4 for v4.x
[x] Branch kylin5 for v5.x

Types of changes
What types of changes does your code introduce to Kylin?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

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

[x] I have created an issue on Kylin's jira, and have described the bug/feature there in detail
[x] Commit messages in my PR start with the related jira ID, like "KYLIN-0000 Make Kylin project open-source"
[x] Compiling and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[x] Any dependent changes have been merged

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>or<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Close this PR because it has been attached in https://github.com/apache/kylin/pull/2124


GPU memory bad_alloc: can't I avoid this without downsizing the data?

I'm quite new to this xgboost library, and sometimes get confused in the way it deals with data. Recently I'm dealing with bigger data using the same GPU, and confronting bad_alloc error. Can't I partially load the data and reload while training instead of loading the full data at once? Now I realize there is no option like batch_size...

XGBoost differs from deep learning frameworks in that you are not able to use mini-batches in training.
However, There is an on-going work to enable external memory with GPU training, so stay tuned.

@kyoungrok0517 FYI, #4526 should let you train on GPUs with data bigger than GPU memory.


Sample should include passing variables to the JSON instead of hard coding data which isn't a real world example

Use this query to search for the most popular feature requests.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
[enhancement]

Hi @mlipinski
Which sample are you talking about? Which language? Is there a particular issue you're seeing? Please clarify your bug.

Closing for lack of clarification.


TextInput: fix incorrect typing

This caused a build error in the Query Builder code base when loading the TextInput.vue source file.
Interestingly I'm not getting any errors running docker-compose run --rm node lerna run build --scope @wmde/wikit-vue-components even before fixing them, but the problems are definitely there. I can't see any major differences between the two (Query Builder and vue-components/ here) build setups. I'd be curious to hear if anyone has an idea why the type checking isn't as strict here.
Phabricator: https://phabricator.wikimedia.org/T264784

I created https://phabricator.wikimedia.org/T264891
Until we discuss the idea in further detail I am not surprised by cross-repository use of TypeScript files causing problems.


zh2en xls is missing

Hi,
Could you please include the xls file to translate the chinese variable names to english?
Thanks.

| time_series_375_prerpocess_en.xlsx
|
| time_series_test_110_preprocess_en.xlsx
|
These files are English versions for both training and external test sets.
--
Ye Yuan
Professor, School of Artificial Intelligence and Automation,
State Key Lab of Digital Manufacturing Equipment and Technology,
Huazhong University of Science and Technology.
WWW: http://yy311.github.io.
-----Original Messages-----
From:"Daniel Lima"<EMAIL_ADDRESS>Sent Time:2020-05-26 23:15:55 (Tuesday)
To: HAIRLAB/Pre_Surv_COVID_19<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [HAIRLAB/Pre_Surv_COVID_19] zh2en xls is missing (#5)
Hi,
Could you please include the xls file to translate the chinese variable names to english?
Thanks.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks, I am assuming the order of the columns is the same in both xls files. So can I replace them in the source code?

Yes, indeed, the order of columns is consistent.
Best,
--
Ye Yuan
Professor, School of Artificial Intelligence and Automation,
State Key Lab of Digital Manufacturing Equipment and Technology,
Huazhong University of Science and Technology.
WWW: http://yy311.github.io.
-----Original Messages-----
From:"Daniel Lima"<EMAIL_ADDRESS>Sent Time:2020-05-27 22:58:29 (Wednesday)
To: HAIRLAB/Pre_Surv_COVID_19<EMAIL_ADDRESS>Cc: "Huazhong Artificial Intelligence Lab (HAIL)"<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [HAIRLAB/Pre_Surv_COVID_19] zh2en xls is missing (#5)
Thanks, I am assuming the order of the columns is the same in both xls files. So can I replace them in the source code?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks!


Include exposures in RPC compile results

Describe the feature
When you invoke the compile method on a dbt rpc server, it returns exposures:
1. I compile a job
### Compile job
POST http://<IP_ADDRESS>:8580/jsonrpc
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": "{{$uuid}}",
  "method": "compile",
  "params": {}
}

2. I get the results
### Poll for job results
POST http://localhost:8580/jsonrpc
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": "{{$uuid}}",
  "method": "poll",
  "params": {
    "request_token": "{{request_token}}"
  }
}

3. I get a response that includes a node with an exposure
  "result": {
    "state": "success",
    "start": "2021-08-06T09:42:50.241257Z",
    "end": "2021-08-06T09:42:53.341310Z",
    "elapsed": 3.100053,
    "logs": [...],
    "tags": null,
    "results": [
      {
        "status": "success",
        "timing": [...],
        "thread_id": "Thread-1",
        "execution_time": 0.0025038719177246094,
        "adapter_response": {},
        "message": null,
        "failures": null,
        "node":          <<<< CAN BE AN EXPOSURE

Describe alternatives you've considered
Alternatively: don't include them.
Additional context
The contracts that are relevant are here. I'm probably missing something but why is the ParsedExposure a GraphMemberNode and not a CompileResultNode ? Only the latter is included in the dbt rpc contract.
https://github.com/dbt-labs/dbt/blob/749f87397ec1e0a270b2e09bd8dbeb71862fdb81/core/dbt/contracts/graph/compiled.py#L184-L225
Who will this benefit?
dbt rpc users that are using exposures
Are you interested in contributing this feature?
Happy to help

Thanks for opening @owlas! I really appreciated reading the context over in https://github.com/lightdash/lightdash/issues/202, and I'm excited to see your interest in leveraging exposures for a very cool application. Let's think about how dbt can best get you the info you're after.
Core change
Sources and exposures are a bit funny today, and unlike all other other nodes in dbt. dbt doesn't include either one in the results from compile, because neither of these node types is (technically) executable: they don't have any SQL to compile, or any database object to be creating.
https://github.com/dbt-labs/dbt/blob/1a984601ee964fff59e338805ab49a1e8489e342/core/dbt/node_types.py#L20-L30
https://github.com/dbt-labs/dbt/blob/1a984601ee964fff59e338805ab49a1e8489e342/core/dbt/task/compile.py#L52-L57
One option here: compile everything. Redefine the compile task to include all node types. Remove the distinction between CompileResultNode and GraphMemberNode. Include both sources + exposures in the category of, "If this node passed to a compile() call, just return its parsed representation unchanged." (That's how sources work today.)
Incidentally, if we made that change, and also the one in https://github.com/dbt-labs/dbt/pull/3716, I don't believe we'll need the executable designation any more.
Other RPC methods
How much control do you have over the RPC methods that you're submitting? If what you're after is the full (or partial) contents of the manifest, perhaps you could use one of these other methods:

list (around since v0.20): This is a very quick, synchronous method that returns info directly from the manifest, for any/all nodes fitting the supplied selection criteria, including exposures. It only includes a subset of node properties. When we added this in a few months ago (https://github.com/dbt-labs/dbt/issues/3356), we considered, but didn't go so far as to implement, an additional parameter that could customize which keys were returned. I'd still be supportive of that.
get-manifest (around since v0.17): This is a weird and undocumented method, originally implemented as one potential approach to supporting interactive dbt-docs. It may just be the thing you need. This method compiles all compilable nodes in the project, then returns the entire manifest contents in a manifest key. That includes manifest.exposures.

Hey @jtcohen6
Thanks for the incredibly detailed answer.

Sources and exposures are a bit funny today

I didn't fully appreciate this but I can see now why they aren't there. I'm not sure what the implications would be for bringing them into the compile process and dropping executable. However...

get-manifest (around since v0.17): This is a weird and undocumented method

This is exactly what we need, this also brings a bunch of additional metadata that we've been craving. Is this stable enough to rely on at the moment? It seems it's been around for a while as you say.
Just testing get-manifest now in place of compile for Lightdash: https://github.com/lightdash/lightdash/pull/409

list

This is also really useful and we'll use this where we can to avoid a full re-compile.

get-manifest (around since v0.17): This is a weird and undocumented method

This is exactly what we need, this also brings a bunch of additional metadata that we've been craving. Is this stable enough to rely on at the moment? It seems it's been around for a while as you say.

I don't foresee us ripping out get-manifest anytime soon, and the method itself is quite straightforward. I would just reiterate what I said when you and I had a chance to talk, which is that the RPC server overall does not have the same commitments/guarantees as dbt-core, we're soon to split it out of this codebase (#3501, #3675), and we have plans to significantly rework it over the medium term.
In the meantime, I'm going to close this issue :)


[Bug]: Stopped working

The problem
Few day ago after upgrading HA to 2024.7.3 my Tech controller stopped working. Here's corresponding errors from log file
Логгер: homeassistant.config_entries
Джерело: config_entries.py:586
Вперше відбулося: 23 липня 2024 р. о 12:12:20 (8 випадки)
Востаннє записано: 23 липня 2024 р. о 23:55:39
Error setting up entry Ct392zpid for tech
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 586, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/tech/init.py", line 61, in async_setup_entry
await assets.load_subtitles(language_code, Tech(websession, user_id, token))
File "/config/custom_components/tech/assets.py", line 25, in load_subtitles
TRANSLATIONS = await api.get_translations(language)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/tech/tech.py", line 190, in get_translations
result = await self.get(path)
^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/tech/tech.py", line 73, in get
raise TechError(response.status, await response.text())
custom_components.tech.tech.TechError: (400, '{"error":"Bad Request"}')
Upgraded integration to master - still no luck
What version of Tech Controllers integration has the issue?
master
What version of Home Assistant Core has the issue?
core-2024.7.3
What was the last working version of Tech Controller integration?
2.3.1
Diagnostics information
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response

I am running same (latest upgraded core of HA) and dont hve such errors.
What language setup is in Home assistant?
As looks from error it can be fialing on language setup

I checked behaviour on few languages and it seems not related.

It's Ukrainian.

Ok, I was able to replicate issue.
In fact it is related to language setup. Integration downloading translations from Tech api for example:
https://emodul.eu/api/v1/i18n/pl
in case of Ukrainian setup it is trying to download default one:
https://emodul.eu/api/v1/i18n/uk
which is giving 400 error.
As per API docs we have following languages:

Languages on tech api:
'en', 'fr', 'it', 'es', 'nl', 'pl', 'de', 'cs', 'sk', 'hu', 'ro', 'lt', 'et', 'ru', 'si', 'hr'

As per comment in code:
https://github.com/mariusz-ostoja-swierczynski/tech-controllers/blob/bc863470e92f7de86b18fa1f00a1f0a05328d51b/custom_components/tech/tech.py#L191
looks Tech introduced some change on API and now they dont threat en as default.
I will prepare fix for this.

@gyp5y you can test my  fork branch https://github.com/daroga0002/tech-controllers/tree/fix/bug-98
I opened a https://github.com/mariusz-ostoja-swierczynski/tech-controllers/pull/102 so when it will be merged then it will become part of this repository

Just checked your branch - it works!. Thank you

Fixed via #102

Just checked your branch - it works!. Thank you

You can now use stable release version:
https://github.com/mariusz-ostoja-swierczynski/tech-controllers/releases/tag/v2.4.0


Limited to 1024 concurrent connections

Hi,
It seems that php sockets module can maximum hold 1024 connections.
Is there any way to raise this limitation?

Try experimenting with the limits on your server.  PHP's Sockets functions are little more than wrappers around the C standard library BSD Sockets, which rely heavily on the OS's settings.
This might help: https://stackoverflow.com/questions/410616/increasing-the-maximum-number-of-tcp-ip-connections-in-linux

My sysctl.conf is properly configured and limits.conf also.
I'm using cloudflare and their support replied that there are no limits on ws.

Okay, I've found that my PHP Sockets server is accepting more than 1024 sockets when I run it from the root.
I'm starting it using this command.
sudo -u www-data php7.0 /path/to/file/
/etc/php/7.0/fpm/php-fpm.conf
rlimit_files = 1048576
/etc/php/7.0/fpm/pool.d/www.conf
rlimit_files = 1048576
listen.backlog = 65536
/etc/security/limits.conf
soft nproc 1048576
hard nproc 1048576
soft nofile 1048576
hard nofile 1048576
Any suggestions?

as @ghedipunk said the problem is core to php ( socket_select ) specificaly not from php-websocket.
To be able to break that limit you'll have to modify the header file in C first then download php from source modify a file in php too then compile it.  ( you'll have to undo the header file afterward because it'll affect any other app you install after ). It's a painfull process.
I recommend you to use another backend like epoll.  Select was design in another era while massive concurent alive connection not a thing.  Select will parse the entire list of connection to know if a client send something in that specific loop, every time, as epoll will only read from client that send actually data.
You'll need to install libev and you can use my version of php-websocket that support libev.

Hi @Xaraknid ,
Is your fork compatible with PHP7+libev, because im currently using @ghedipunk 's  WebSocket class (very great and fast) for a new LMS system for an university but the 1024 limit concurrent connections is too painfull and prevent scalability for big projects...
I started to switch to your fork but there is some issues with the code like the "continue" at line 24 of libev.php, and even after switch the continue with a "return" statement there is theses errors generated from the "doHandshake" method :

Undefined index: sec-websocket-protocol
Undefined variable: subProtocol

I tried to mix @ghedipunk 's working doHandshake with your, it seems to work (no errors) but the websocket server cant read data from clients.
I dont want to use Ratchet WS because its too fat and bloated, i prefer the fast and KISS approach of PHPWebsocket but we are in a dead end right now...

Hello, the version I updated is not the most uptodate version I have I just never see the interest to upload it as no one seem to use it.  I check my code and I comment the continue in my version, as I discover like you that cause problem but removing it was not enought.
I add a few feature in my version and also it's work a little bit different.  One last thing I worked on is trying to pass the Autobahn|Testsuite, few test not working.
Let me clean my code of  junk files (test purpose & information ) and my server name inside code and I'll publish it.  ( It work on php7 ).

I  Just found my changelog :
`

Renaming core function to reflect the client side structure for better comprehension.
process() -> onmessage()
closed()  -> onclose()
connected -> onopen()

Now php-websocket are modulable using this structure
./		<- the main script to be called
./core		<- the core of php-websocket
./eventloop	<- the eventloop selector include 2 functionnal ( socket,libev ) soon libevent
./protocol	<- All protocol you want to support on the server ( note that is not MANDATORY )
./extensions	<- For future extensions supporting right now very few available not on all browser like permessage-deflate
./toolbox	<- The developper toolbox will be shipped empty you will be able to put class / trait to be use in main script
note : you MUST name class / trait by the directory he was in like : core_websockets

Now support multiple virtualhost and ressource.  Check broadcast() in core/websockets serve as example how it's done.

Now support multiple protocol and here a list of what happens with each combination.
Server		$headerProtocolRequired		client				result
ws_withoutprotocol	false				clientwithoutprotocol		Will work
ws_withoutprotocol	false				clientwithprotocol		Client will close the connection
ws_withprotocol	false				clientwithoutprotocol		Will work
ws_withprotocol	false				clientwithprotocol		Will work
ws_withprotocol	true				clientwithoutprotocol		Server will close the connection
ws_withprotocol	true				clientwithprotocol		Will work

Now support multiple eventloop :

socket ( default eventloop limit of 1024 clients )
libev  ( optionnal eventloop if you need more than 1024 clients ) only work on linux server
libevent ( to be add in future ) alternative for windows server

Keep in consideration the size of data you want to handle and how, for not OOM the server: default size 128M.

client <> server <> broadcasting (csb ) : client send 1M message <> server buffer it untill complete 1M <> broadcast it to 100 clients
will end with 100M used buffer outgoing data in server. As you see you are near saturation during processing.

Default configuration variable are commented in ws_ example. In that way future update to core will not overwrite user modification.

Standardization of procedure in core/websockets.php using Bitwise operators. Save few lines and better comprehension overall.

fix bug where fin rsv1 rsv2 and rsv3 was string instead of int type inside extractHeaders(). ( bug fin was allways true, even continuous frame )

Merge into one function, functions who have similar utility.

Add a burrering system for incoming and outgoing data.

Buffering handshake session in case not all data recieve in one loop and also have an OOM protection.

Now php-websocket work completely in NONBLOCKING mode both direction. ( prevent stalling while sending or receiving data to user )

User is passed by reference between function instead of copying it. ( keeping only one instance of user per connection and save memory
also that we make sure when modify user that info will not be lost like buffering )

Change $user->handshake to $user->handshaked and now store true instead of the whole handshake request ( save space)

Change $user->headers to store only usefull information beyond the handshake. ( save space )
right now keep only : get,host ( for multiple vhost and ressource ) , protocol , extensions.
the only other information with some value will be agent for logging purpose I guess but are not save right now.

add debug_mode default value false. Set to true for verbose mode.  All the tool I use to see (memoryleak,packet,etc)

using preg_match instead of mb_  because preg is a core extensions and mb_ an optionnal ( in split_packet function )

Fix bug where IE11 sending pong frame ( default behavior of IE ) causing server to return empty frame to client(s).

Fix bug slow process of applymask on huge message size by replacing the loop by str_repeat
( ~330x faster base on my benchmark for huge message size)

Remove need of user inside frame(), now frame() call once before broadcasting to clients instead of framing each client ( performance )

Remove all '@' replaced by error_reporting(0) at start of program ( performance )

Fix bug with handshake headers with multiple line used for protocol and headers by clients.

Autobanh testsuite ( almost finish)

Support websocket error ( detecting when websocket is closed unclean as example )

some other change `

Here my latest version I made.
https://github.com/Xaraknid/PHP-Websockets/tree/revision-2


Index blank page delete _install folder

Hello guys
I installed pH7-Social-Dating-CMS), on paid hosting, after delete/rename _install folder, my website is blank, if rename again from _installold to _install I receive:
`Security Alert – pH7Builder
Please remove "_install/" folder from your server before continuing.
You can delete this folder using an FTP client (FileZilla or other) or through cPanel File Manager.
You can also delete this folder with an SSH connection if your host allows. Below is the UNIX command for doing this:
sudo rm -rf /YOUR-PUBLIC-SERVER-PATH/YOUR-WEBSITE/_install/
→ Once done, please reload pH7Builder`
Note  In my localhost wampp It works perfectly
What is the problem?
Thanks in advance

Make sure mod_rewrite is installed and enabled. You should also edit the Apache "000-default.conf" file to enable it. I Added this outside the  block in the default.conf file.
    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>


Some Charts have unexpected names

What happened?

I attempted to install the strimzi operator using the Helm Release from Crossplane. I get the following error when crossplane attempts to install the chart:
   - lastTransitionTime: '2021-08-27T15:55:40Z'
      message: >-
        create failed: failed to install release: failed to load chart: stat
        /tmp/charts/strimzi-kafka-operator-0.25.0.tgz: no such file or directory
      reason: ReconcileError
      status: 'False'
      type: Synced

Aaron Eaton helped me on Slack find the real problem.
He discovered the strimzi chart;

creates a file named: strimzi-kafka-operator-helm-3-chart-0.25.0.tgz
however provider-helm is expecting strimzi-kafka-operator-0.25.0.tgz

He also discovered a workaround where you can set the spec.forProvider.chart.url directly to the source, I have this commented out in the snippet below.
How can we reproduce it?

apiVersion: helm.crossplane.io/v1beta1
kind: Release
metadata:
  name: kafka-operator
spec:
  forProvider:
    chart:
      name: strimzi-kafka-operator
      repository: https://strimzi.io/charts
      # use url instead of repository as a workaround
      # url: https://github.com/strimzi/strimzi-kafka-operator/releases/download/0.25.0/strimzi-kafka-operator-helm-3-chart-0.25.0.tgz
      version: 0.25.0
    namespace: strimzi
    skipCreateNamespace: false
    values:
      watchAnyNamespace: true

What environment did it happen in?
Crossplane version: 1.3.0
Helm Provider version: v0.9.0-rc

Any chance for this to be fixed? Currently the only way to keep that consistent in composition is to patch manually the url and pray that strimzi (or any other chart provider) won't change naming schema. Couldn't we just use the correct url and add optional flag to switch between those two approaches?


Fix unit tests for PRAW PR #857

Update cassettes with new permalink key/value pair
Fix linting errors by replacing bare except with a named exception

Thanks for this. I don't know why the CI complained about reddit.py and test_message.py, because they were fine in the previous commit, and I didn't touch them at all.
The tests as you updated them don't accurately reflect the JSON that Reddit returns. Reddit gives the "full" permalink, as would be retrieved by permalink(fast=True) previously.
If you don't feel like fixing the tests, I'll just merge this into my fork and fix them.

If you're up for merging and fixing, that's probably best.
The reddit.py and test_message.py changes are from, I think, flake8 releasing a new version that throws errors for bare excepts.

Thanks.


Consumption Plan doesn't expose Env variable WEBSITE_AUTH_OPENID_ISSUER

Hi, I just come across this issue when I configured AAD Auth on Azure Function running on Consumption Plan
The login URL looks like https://login.microsoftonline.com/common/oauth2/v2.0/auth ... and it is trying to find the App Registration in my home tenant. However I'm using resources, SPN from different tenant than my home tenant.
The login URL should looks like https://login.microsoftonline.com/<specific tenant>/oauth2/v2.0/auth ...
The Env variable WEBSITE_AUTH_OPENID_ISSUER should replace common with the resource tenantId, however because this variable is not exposed, it fallback to common
Not sure about the solution. Either use variable AZURE_TENANT_ID which is configured with SPN credentials used for the Function Code or define new variable just for this purpose?
Thanks!

Hi @petr-stupka , can you please clarify: is the issue anyhow related to DfMon?
Is it DfMon instance that you're deploying and configuring? Or is it just some common Azure Function?

@scale-tone I'm sorry, I completely forgot to put the technical details in.
Yes it is related to DfMon, Injected mode (installed as a NuGet package) in dotnet 6.0 Durable Functions.
In the meantime I got it working by using Windows Consumption Plan. Before I been using Linux Consumption Plan
I believe Linux Consumption plan doesn't expose WEBSITE_AUTH_OPENID_ISSUER env variable and therefore the authentication fallback to common tenantId took place.
The reason why common doesn't work for me is that DfMon in my function is searching in my account "Home" tenant. However my resources and the Function Authentication SPN are in separate DEV tenant, where account from "Home" tenant are guest only. So it is necessary to specify the tenant if I making authentication to "Dev" tenant resources.
The DfMon code behind
EasyAuthConfig.cs
// Trying to get tenantId from WEBSITE_AUTH_OPENID_ISSUER environment variable
string tenantId = "common";
string openIdIssuer = Environment.GetEnvironmentVariable(EnvVariableNames.WEBSITE_AUTH_OPENID_ISSUER);
if (!string.IsNullOrEmpty(openIdIssuer))
{
    var match = GuidRegex.Match(openIdIssuer);
    if (match.Success)
    {
        tenantId = match.Groups[1].Value;
    }
}

As I said I found solution for me, so you can close the issue and thank you for your support.
Btw, pretty nice tool this DfMon 💯 Much better than Azure Table so thank you again!

Thanks for reporting this, @petr-stupka ! This indeed appears to be an issue.
Indeed, WEBSITE_AUTH_OPENID_ISSUER variable is set on Windows, but is missing on Linux consumption plan. Not sure why, but would need to find a workaround for this.
But is there any particular reason why you prefer client-directed flow over server-directed for your instance? Honestly, client-directed mode was intended more for running DfMon outside Azure (e.g. in K8s), in which case you would be able (and required) to set this setting explicitly.

Turns out it is a breaking change in the platform, that's being rolled out.
Older auth-related settings being dropped and replaced with WEBSITE_AUTH_V2_CONFIG_JSON.
So this had to be addressed anyway. Thanks again for reporting, @petr-stupka , that was right on time! The fix is coming.

Fixed in v6.1. Pls, validate.

Hi @scale-tone

With update to 6.1 it works on Linux (and Windows) Function (Consumption plan)
client-directed vs server-directed flow - it was a misconfiguration caused by troubleshooting because of server-directed been working for function url, however once ../api been used, then DfMon tried to authenticate again and failed as mentioned previously. So now i'm using server-directed and works as expected.

Many thanks!


Ability to specify envs for code step

It would be helpful to have option to pass env when using code step

The code could be added here:
https://github.com/argoproj-labs/argo-dataflow/blob/7fe4585ae01a900c36114848dce932b5863263ab/api/v1alpha1/code.go#L9
Either similar to Container:
https://github.com/argoproj-labs/argo-dataflow/blob/7fe4585ae01a900c36114848dce932b5863263ab/api/v1alpha1/container.go#L11
Or maybe Code should sub-class Container and get all the fields for free?
Would you like to submit a PR?

Thats for reply. So from what I can see. I could use container step, as code step uses container step ? As for PR maybe I could try, I have no go coding experience. So not sure how to setup everything to code and test it ?

There is a contributing guide:
https://github.com/argoproj-labs/argo-dataflow/blob/main/docs/CONTRIBUTING.md
Golang maybe the easier language ever invented, I recommend doing the Tour of Go:
https://go.dev/tour/welcome/1


Add V2_5 application capability to configtx.yaml

Add V2_5 application capability to configtx.yaml.
Resolves #3815
Signed-off-by: David Enyeart<EMAIL_ADDRESS>

@Mergifyio backport release-2.5


Jumble word

Worked on Issue Number: #481
Issue Name: Jumble Word Game.
Issue Type: Feature Request.

I am a GSSoC'22 Participant

@heet-kumar @manisha-27 Please check it

@heet-kumar could you please explain it how?

Could you explain it clearly

@Avik-creator form original word list take randomly any word then jumble that word and display it on screen then ask from the user for the original word and if it similar to the original then give output correct or else wrong.

@Avik-creator you have created jumbled word list in your project so i mean to say that just remove that jumbled list instead of that just create jumbled word on the spot by taking original word and use them for your project.

Taking input from the user and jumbling it?

ok buddy just try to make that if the once that word used then that jumbled word should not get repeat as I am able to see in video again that jumbled word comes. As in video I am able to see that rajdeep word come again n again.


[experimental] Account merging

Experimental support for merging duplicate has been added to the development version of the OSF.
Certain details about this feature require discussion.
Here is the plan for how it will work:
For a user with name "John Doe" and a duplicate user with name "Joseph Doe", to be merged:

John Doe merges Joseph Doe's account by going to the settings page, clicking "Merge Duplicate Account", and providing the email of the duplicate account, password of the duplicate account, and password of master account
Once merged, Joseph's Doe's profile page has an alert at the top saying :

"This account has been merged with https://osf.io/johndoesid"

Joseph Doe can no longer log in with the merged account
John Doe is now owner of any project created with the Joseph Doe account
John Doe is now a contributor to any project that Joseph Doe was a contributor to
Past log events will be unchanged , i.e. they will still show "Joseph Doe" (but future log events will show "John Doe")

Bolded items were discussed recently. Further discussion pending.

@GaryKriebel is it time to revisit this issue?

I think this is covered by @lyndsysimon account merging. Can you confirm that, @lyndsysimon ?

Yeah -- this is covered by recent merge functionalities -- I think we are good and am going to close. TY


Add Compiler module

Please check if the PR fulfills these requirements

[x] The formatter, linter, and tests all run without an error
[x] Tests for the changes have been added (for bug fixes/features)
[x] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Create Compiler module for compiling contracts into ContractDefinitions, to decouple compile functionality from the rest of the Contract module.
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Removes Contract._make_definition and replaces it with Compiler.create_contract_definition

Nice job! I'd do 2 more things to make this more complete:

Replace usages of starknet_py/utils/compiler with the new compiler
Consolidate, or merge starknet_py/utils/compiler/starknet_compile.py implementation with this new module (tests as well). Having 2 separate ones seems confusing

Right, consolidating these two modules seem logical. I'll work on that

We'll go back to this PR after support for starknet 0.8.0 is done


Pep8

Before submitting your pull request be sure that:

You haven't deleted any existing information
You haven't eliminated unnecessary blank lines or spaces during your work.
That makes our reviewing work harder and it could introduce unnecessary
conflicts with other pull requests.

Note: You can safely remove this text before submitting your work.

I started off of #18 which was only my files and I pep8ed your files as well. Trying to ease you toward that robust tag.

@doutriaux1 cleaning up after me.. Impressive ROBUST..


Release builds generate app with -Ptrack-widget-creation=true

If we create a new project from scratch with the command flutter create test_app and then run flutter build apk -v we can see the following line on the verbose build logs:
 executing: [C:\Users\User\Desktop\test_build\test_app\android/]
C:\Users\User\Desktop\test_build\test_app\android\gradlew.bat -Pverbose=true
-Ptarget-platform=android-arm,android-arm64,android-x64 -Ptarget=lib\main.dart
-Pbase-application-name=android.app.Application -Pdart-obfuscation=false -Ptrack-widget-creation=true
-Ptree-shake-icons=true assembleRelease

I got this while I was investigating our CI/CD build times and it intrigued me that a release build would pass -Ptrack-widget-creation=true. I wonder if this could have some minor performance impacts and if it makes sense to leave it as true for a release build.
I am on Flutter 2.10.4.

Here's the full output
 flutter build apk -v
flutter build apk -v
[ +106 ms] executing: [C:\Programming\Flutter\sdk\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +144 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +2 ms] c860cba910319332564e1e9d470a17074c1f2dfd
[   +1 ms] executing: [C:\Programming\Flutter\sdk\flutter/] git tag --points-at c860cba910319332564e1e9d470a17074c1f2dfd
[ +231 ms] Exit code 0 from: git tag --points-at c860cba910319332564e1e9d470a17074c1f2dfd
[   +1 ms] 2.10.4
[  +13 ms] executing: [C:\Programming\Flutter\sdk\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +81 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[   +1 ms] origin/stable
[   +1 ms] executing: [C:\Programming\Flutter\sdk\flutter/] git ls-remote --get-url origin
[  +73 ms] Exit code 0 from: git ls-remote --get-url origin
[   +1 ms] https://github.com/flutter/flutter.git
[ +204 ms] executing: [C:\Programming\Flutter\sdk\flutter/] git rev-parse --abbrev-ref HEAD
[  +88 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[   +1 ms] stable
[ +109 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +6 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +90 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[   +8 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[ +144 ms] Skipping pub get: version match.
[ +129 ms] Generating
C:\Users\User\Desktop\test_build\test_app\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[ +139 ms]  Building with sound null safety
[  +27 ms] Running Gradle task 'assembleRelease'...
[   +7 ms] Using gradle from C:\Users\User\Desktop\test_build\test_app\android\gradlew.bat.
[  +20 ms] executing: C:\Program Files\Android\Android Studio\jre\bin\java -version
[ +183 ms] Exit code 0 from: C:\Program Files\Android\Android Studio\jre\bin\java -version
[   +2 ms] openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-b60-7590822)
OpenJDK 64-Bit Server VM (build 11.0.11+9-b60-7590822, mixed mode)
[   +3 ms] executing: [C:\Users\User\Desktop\test_build\test_app\android/]
C:\Users\User\Desktop\test_build\test_app\android\gradlew.bat -Pverbose=true
-Ptarget-platform=android-arm,android-arm64,android-x64 -Ptarget=lib\main.dart
-Pbase-application-name=android.app.Application -Pdart-obfuscation=false -Ptrack-widget-creation=true
-Ptree-shake-icons=true assembleRelease
[+1191 ms] Welcome to Gradle 6.7!
[   +2 ms] Here are the highlights of this release:
[   +1 ms]  - File system watching is ready for production use
[   +1 ms]  - Declare the version of Java your build requires
[   +1 ms]  - Java 15 support
[   +1 ms] For more details see https://docs.gradle.org/6.7/release-notes.html
[+4083 ms] > Task :app:compileFlutterBuildRelease
[   +6 ms] [ +102 ms] executing: [C:\Programming\Flutter\sdk\flutter/] git -c log.showSignature=false log -n 1
--pretty=format:%H
[   +2 ms] [ +138 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +1 ms] [        ] c860cba910319332564e1e9d470a17074c1f2dfd
[   +1 ms] [        ] executing: [C:\Programming\Flutter\sdk\flutter/] git tag --points-at
c860cba910319332564e1e9d470a17074c1f2dfd
[ +185 ms] [ +227 ms] Exit code 0 from: git tag --points-at c860cba910319332564e1e9d470a17074c1f2dfd
[   +2 ms] [        ] 2.10.4
[   +1 ms] [  +10 ms] executing: [C:\Programming\Flutter\sdk\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +89 ms] [  +79 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[   +1 ms] [        ] origin/stable
[   +1 ms] [        ] executing: [C:\Programming\Flutter\sdk\flutter/] git ls-remote --get-url origin
[  +89 ms] [  +68 ms] Exit code 0 from: git ls-remote --get-url origin
[   +2 ms] [        ] https://github.com/flutter/flutter.git
[ +106 ms] [  +82 ms] executing: [C:\Programming\Flutter\sdk\flutter/] git rev-parse --abbrev-ref HEAD
[   +2 ms] [  +81 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[   +1 ms] [        ] stable
[  +89 ms] [ +104 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +2 ms] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[ +102 ms] [   +7 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +85 ms] [ +159 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[   +5 ms] [   +7 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[   +2 ms] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[ +175 ms] [ +139 ms] Initializing file store
[   +2 ms] [  +22 ms] Done initializing file store
[ +199 ms] [ +200 ms] Skipping target: gen_localizations
[   +1 ms] [  +19 ms] Skipping target: gen_dart_plugin_registrant
[+1932 ms] [+1896 ms] Skipping target: kernel_snapshot
[  +37 ms] [  +44 ms] Skipping target: android_aot_release_android-arm
[  +31 ms] [  +59 ms] Skipping target: aot_android_asset_bundle
[   +2 ms] [  +30 ms] Skipping target: android_aot_release_android-arm64
[ +102 ms] [  +28 ms] Skipping target: android_aot_release_android-x64
[   +2 ms] [  +30 ms] Skipping target: android_aot_bundle_release_android-arm
[   +1 ms] [  +27 ms] Skipping target: android_aot_bundle_release_android-arm64
[  +88 ms] [  +30 ms] Skipping target: android_aot_bundle_release_android-x64
[   +2 ms] [        ] Skipping target: _composite
[   +1 ms] [        ] Persisting file store
[        ] [  +22 ms] Done persisting file store
[        ] [  +10 ms] build succeeded.
[        ] [  +22 ms] "flutter assemble" took 2.791ms.
[ +289 ms] [ +262 ms] ensureAnalyticsSent: 256ms
[   +2 ms] [   +1 ms] Running shutdown hooks
[   +1 ms] [        ] Shutdown hooks complete
[        ] [        ] exiting with code 0
[ +109 ms] > Task :app:packLibsflutterBuildRelease UP-TO-DATE
[  +14 ms] > Task :app:preBuild UP-TO-DATE
[   +6 ms] > Task :app:extractProguardFiles UP-TO-DATE
[   +2 ms] > Task :app:preReleaseBuild UP-TO-DATE
[  +15 ms] > Task :app:compileReleaseAidl NO-SOURCE
[   +5 ms] > Task :app:compileReleaseRenderscript NO-SOURCE
[   +5 ms] > Task :app:generateReleaseBuildConfig UP-TO-DATE
[   +2 ms] > Task :app:checkReleaseAarMetadata UP-TO-DATE
[  +37 ms] > Task :app:cleanMergeReleaseAssets
[   +2 ms] > Task :app:mergeReleaseShaders UP-TO-DATE
[        ] > Task :app:compileReleaseShaders NO-SOURCE
[   +1 ms] > Task :app:generateReleaseAssets UP-TO-DATE
[   +2 ms] > Task :app:mergeReleaseAssets
[ +128 ms] > Task :app:copyFlutterAssetsRelease
[  +11 ms] > Task :app:generateReleaseResValues UP-TO-DATE
[ +135 ms] > Task :app:generateReleaseResources UP-TO-DATE
[  +30 ms] > Task :app:mergeReleaseResources UP-TO-DATE
[   +2 ms] > Task :app:createReleaseCompatibleScreenManifests UP-TO-DATE
[   +4 ms] > Task :app:extractDeepLinksRelease UP-TO-DATE
[   +9 ms] > Task :app:processReleaseMainManifest UP-TO-DATE
[  +13 ms] > Task :app:processReleaseManifest UP-TO-DATE
[  +33 ms] > Task :app:processReleaseManifestForPackage UP-TO-DATE
[ +194 ms] > Task :app:processReleaseResources UP-TO-DATE
[  +30 ms] > Task :app:compileReleaseKotlin UP-TO-DATE
[ +233 ms] > Task :app:javaPreCompileRelease UP-TO-DATE
[ +894 ms] > Task :app:compileReleaseJavaWithJavac UP-TO-DATE
[ +124 ms] > Task :app:compileReleaseSources UP-TO-DATE
[ +269 ms] > Task :app:buildKotlinToolingMetadata UP-TO-DATE
[+3016 ms] > Task :app:lintVitalRelease
[  +86 ms] > Task :app:mergeReleaseNativeDebugMetadata NO-SOURCE
[  +17 ms] > Task :app:compressReleaseAssets UP-TO-DATE
[   +9 ms] > Task :app:checkReleaseDuplicateClasses UP-TO-DATE
[   +7 ms] > Task :app:mergeReleaseGeneratedProguardFiles UP-TO-DATE
[  +11 ms] > Task :app:processReleaseJavaRes NO-SOURCE
[  +10 ms] > Task :app:mergeReleaseJavaResource UP-TO-DATE
[   +8 ms] > Task :app:minifyReleaseWithR8 UP-TO-DATE
[  +11 ms] > Task :app:collectReleaseDependencies UP-TO-DATE
[   +2 ms] > Task :app:sdkReleaseDependencyData UP-TO-DATE
[   +2 ms] > Task :app:shrinkReleaseRes UP-TO-DATE
[   +1 ms] > Task :app:mergeReleaseJniLibFolders UP-TO-DATE
[   +2 ms] > Task :app:mergeReleaseNativeLibs UP-TO-DATE
[   +3 ms] > Task :app:stripReleaseDebugSymbols UP-TO-DATE
[   +4 ms] > Task :app:validateSigningRelease UP-TO-DATE
[   +1 ms] > Task :app:packageRelease UP-TO-DATE
[ +181 ms] > Task :app:assembleRelease
[   +2 ms] Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
[        ] Use '--warning-mode all' to show the individual deprecation warnings.
[        ] See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings
[   +1 ms] BUILD SUCCESSFUL in 14s
[        ] 36 actionable tasks: 6 executed, 30 up-to-date
[ +572 ms] Running Gradle task 'assembleRelease'... (completed in 15,5s)
[  +29 ms] calculateSha: LocalDirectory:
'C:\Users\User\Desktop\test_build\test_app\build\app\outputs\flutter-apk'/app.apk
[ +247 ms] √  Built build\app\outputs\flutter-apk\app-release.apk (15.8MB).
[   +3 ms] "flutter apk" took 16.363ms.
[  +98 ms] ensureAnalyticsSent: 93ms
[   +3 ms] Running shutdown hooks
[   +1 ms] Shutdown hooks complete
[   +1 ms] exiting with code 0

kindly sir fix  this i am new here and didnt get any solution

@DevMukh is this your code? Put 2 spaces before the http, then delete your question and post further on stackoverlow.


problem installing package

What versions are you running?
$ go list -m github.com/chromedp/chromedp
<!--replace this line with the output-->
$ google-chrome --version
<!--replace this line with the output-->
$ go version
<!--replace this line with the output-->

What did you do? Include clear steps.

 go get -u github.com/chromedp/chromedp
go: go.mod file not found in current directory or any parent directory.
	'go get' is no longer supported outside a module.
	To build and install a command, use 'go install' with a version,
	like 'go install example.com/cmd@latest'
	For more information, see https://golang.org/doc/go-get-install-deprecation
	or run 'go help get' or 'go help install'.
ubuntu2204@ubuntu2204:~/goscrape$ go install github.com/chromedp/chromedp
go: 'go install' requires a version when current directory is not in a module
	Try 'go install github.com/chromedp/chromedp@latest' to install the latest version
ubuntu2204@ubuntu2204:~/goscrape$ go install github.com/chromedp/chromedp@latest
go: downloading github.com/chromedp/chromedp v0.8.5
go: downloading github.com/chromedp/cdproto v0.0.0-20220827030233-358ed4af73cf
go: downloading github.com/mailru/easyjson v0.7.7
go: downloading github.com/gobwas/ws v1.1.0
go: downloading github.com/chromedp/sysutil v1.0.0
go: downloading github.com/josharian/intern v1.0.0
go: downloading github.com/gobwas/httphead v0.1.0
go: downloading github.com/gobwas/pool v0.2.1
package github.com/chromedp/chromedp is not a main package```

#### What did you expect to see?

#### What did you see instead?

go.mod file not found in current directory or any parent directory. 	'go get' is no longer supported outside a module.

Create a go module first.
go mod init <your module name>

See https://go.dev/blog/using-go-modules


Test without training will cause low accuracy

I simply test your code using .jpg file directly as indicated in your readme.md file and my record is shown below:
[1] test tusimple image from the test folder, it works pretty good.
[2] test my own image from mobilephone shot, didn't work.
[3] test on culane, kitti, caltech-lanes image, none worked.

[4] test on another tusimple image, worked well again.
[5] test on the same tusimple image in [4], with half of the image masked in black, works well again,
[6] test on the tusimple in [4] and kitti in [3], I combine two images to make each one occupying half of the image, one on left side and another right, it works!

[7] test on the tusimple in [4], I mask the right side, them do reversion of the left side to obtain a symmetry image, it worked again.

[8] do the same thing in [7] on the kitti in [3], it worked!

Error reported:
in [2][3][4], model returned binary_mask_image but not instance_mask_image, and no detected lane shown in the source_image.
in [5][6][7][8], model returned both binary_mask_image and instance_mask_image, but failed to located detected lanes on the correct place on the source_image, always on the 'sky'.

The masked tusimple image

@zouzhenhong98 1.模型是在tusimple上训练的 在别的数据集上表现不佳也是正常现象 2.repo里面的后处理过程包括但不限于dbscan聚类，ipm转换，车道线方程拟合相关的参数都是根据tusimple数据集定制的，所以在别的数据上无法有效泛化 3.如果要在别的数据上测试效果，建议只观察binary segmentation的掩码结果和pixel embedding结果，pixel embedding结果既可以通过归一化到[0-255]以四维图像的数据形式观察，也可以自行调节聚类参数或者替换自己的聚类方法得到聚类的instance segmentation掩码结果。后处理部分在别的数据集上无法直接使用：）

I had the exact same experience @zouzhenhong98 just now.  The google translate of the above is

The model is trained on tusimple and it is normal in other data sets.
The post-processing process in repo includes but not limited to dbscan clustering, ipm conversion, lane line equation fitting related parameters are According to the tusimple data set customization, it can not be effectively generalized on other data.
If you want to test the effect on other data, it is recommended to observe only the binary segmentation mask result and pixel embedding result. The pixel embedding result can be passed back. Once it is observed in [0-255] in the form of data of four-dimensional images, it is also possible to adjust the clustering parameters or replace its own clustering method to obtain the instance segmentation mask result of the cluster. The post-processing part cannot be used directly on other data sets :)
I have to try out the post-processing differently.  @zouzhenhong98 have you accomplished this already?

I have the same issue here. Most of the pictures won't give a result and some working pictures are not quite good. I assume the working pictures' binary segmentation is right, but perhaps the final step to merge results and raw pictures have something wrong, or compatible issues.

@luyuliu The potprocess process is not a common procedure it's dataset related:)


Sweep through UI strings to internationalize

This is a followup to #275. After we have that basic framework for using translated strings in the UI, we'll want to sweep through our existing code and convert it all to use that framework.
Initially this won't do much of anything from a user's perspective, because we won't have more than a handful of strings translated until we wire things up to a service where people can contribute such translations, #276.
Nevertheless it's useful to do this early, because it sets the pattern so that we naturally follow it in new code, rather than having more code that needs to change in an eventual sweep later. We may also come across places that need a context object and didn't before, or otherwise call for refactoring, and it's convenient to do that sooner so that other changes to the same code are based on the new structure from the beginning.
Other notes:

Many of these spots are marked with TODO(i18n), though many others are not.
Some spots marked TODO(i18n) are for different needs like formatting dates and times. Those are out of scope of this issue.
If some strings are especially difficult to wire up for translation for some reason, we can mark them with TODO(i18n) and also file followup issues, and then leave them out for this issue.

A refactor in essence


Add the ability to list the fonts detected

Adds a new CLI flag allowing the user to just list the fonts which are
detected on the system.
Signed-off-by: Rémy Greinhofer<EMAIL_ADDRESS>

Looks good to me! I'm sure it will be reviewed soon, it's just that the owners of this crate are pretty busy at the moment, so don't be surprised if it takes a while until they manage to review it. But they will review it eventually. 😄

Needs rebase/merge because of new crate structure. That aside, I'm not sure whether the PostScript name is the most user-friendly thing to print. We could also group by typographic family and print the available variants like typst does. But maybe it's overkill here.

Rebased 👌
I can change the output no problem. However I am not sure what is the best overall, I just implemented what helped me with my use case.

Hey!
I think that stuff that does not change the behavior of the CLI but does something different altogether should be a subcommand, not a flag. I agree with @laurmaedje that the font families should be sorted by and displayed with their typographical families. I also get that showing PostScript names is useful, especially since the library is subject to two separate font resolution algorithms (CSS standalone and Typst/consumer). How about an output like this?
Helvetica
├ Helvetica
├ Helvetica-Bold
├ Helvetica-BoldOblique
├ Helvetica-Light
├ Helvetica-LightOblique
└ Helvetica-Oblique

svg2pdf fonts could have the same output as typst fonts and an --all option would switch to this view.

Yep, that sounds good! I can have a look at typst fonts, add the command, and implement the output you showed! 👍
(Also, just keeping in mind that we're doing all of this to try to solve https://github.com/typst/svg2pdf/issues/44 🙃).

Alright! I looked at typst and reorganized the code in a similar way.
There are now 2 commands, convert which converts an SVG file into a PDF file, and fonts which lists the fonts detected on the system.
Here is the output of the fonts command:

And here the output of the fonts --all command:

Let me know what you think, and if this iteration matches what you had in mind. If for any reason that is not the case, just provide some pointers and I'll make the necessary adjustments. :)

I would, if possible, prefer if svg2pdf file.svg would remain the main convert command and only fonts needs a subcommand. If that's not possible, this LGTM.

No problem! I'll give it a shot :)

Ok, so I rearranged it like that:

Let me know what you think, and if you like it, I'll start working on rebasing this branch onto master 🙃

Looks good!

@laurmaedje  @reknih rebase complete ✅

Thank you for your work and patience!


[info arch] Create "icon" Tag variant; add Tag to NavigationAccordion

During testing, we realized that the NavigationAccordion was missing the Tag prop. When we added Tag back to the component, we realized that the Tag did not fit well given that the NavigationAccordion in PageLayout was a small width. This PR adds a new Tag variant/prop icon that will display just an icon for the tag to conserve space.

Add new icon prop to Tag that will display an icon instead of the Tag's text. Themes assigns all icons, but if using custom tag, you can use customIcon to assign whatever icon (from Assembly) you want.
Add Tag to NavigationAccordion (this feature was in the previous version of this component and is being added back in). This Tag will use the small and icon Tag props to conserve space.
Update Note image to use lightning icon to match icon.

Screenshots

Fundamentals tag in Navigation SDK for Android

Updated beta Note with "lighting" icon and all beta tag variants

@colleenmcginnis I know you suggested using the "lightning" icon for beta, want to confirm that we should also update the beta Note icon to match.
How to test
Observe the following test cases app pages:

/NavigationAccordion
/Tag
/Themes
/Note - Using “lightning” for Beta icon

QA checklist

[x] No errors logged to console.
[x] Accessibility score in Chrome DevTools Audit/Lighthouse is 100% with Lighthouse version: 6.2.0.
[x] Component is accessible at mobile-size viewport.
[x] Component is accessible at tablet-size viewport.
[x] Component is accessible at laptop-size viewport.
[x] Component is accessible at big-monitor-size viewport.
[x] Create a PR in a site repo, copy the component, and test it. Push to staging and let the reviewer know they can also test the component there.

Open the test cases app locally on:

[x] Chrome, no errors logged to console.
[x] Firefox, no errors logged to console.
[x] Safari, no errors logged to console.
[x] Edge, no errors logged to console.
[x] IE11, no errors logged to console.
[x] Mobile Safari, no errors logged to console.
[x] Android Chrome, no errors logged to console.

@colleenmcginnis I know you suggested using the "lightning" icon for beta, want to confirm that we should also update the beta Note icon to match.

Let's do it!

I am a little concerned that the meaning of the lightning bolt icon won't be obvious to users

Yeah, I agree it's not really obvious. The concept of an icon for "beta" seems hard to come by. I think people often opt to just say "Beta" since it's short already. I'm my quick research, I saw an icon of a beaker (kinda like 🧪), but to me that reads more experimental. But yes, let's test drive for now and we'll rework as needed!


continuous crashes on pi 3b+

[x] I have read the README.md file and visited the Documentation to see if the information there helps.

Describe the bug
mqtt-io starts, connects successfully and will accept commands or publish status changes and then will crash and restart on about a 50 second cycle
Expected behavior
mqtt-io stays running
Error messages and traceback
2023-10-05 21:51:56 mqtt_io.server [INFO] Reconnecting to MQTT broker (infinite retries remaining)
2023-10-05 21:51:56 mqtt_io.server [INFO] Connecting to MQTT...
2023-10-05 21:51:56 mqtt_io.server [INFO] Connected to MQTT
2023-10-05 21:52:46 mqtt_io.server [ERROR] Exception in critical task:
Traceback (most recent call last):
  File "/usr/lib/python3.9/asyncio/locks.py", line 226, in wait
    await fut
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
    fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jchurch/ve/lib/python3.9/site-packages/asyncio_mqtt/client.py", line 217, in _wait_for
    return await asyncio.wait_for(*args, **kwargs)
  File "/usr/lib/python3.9/asyncio/tasks.py", line 494, in wait_for
    raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 32, in inner
    await func(*args, **kwargs)
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 94, in publish
    await self._client.publish(
  File "/home/jchurch/ve/lib/python3.9/site-packages/asyncio_mqtt/client.py", line 136, in publish
    await self._wait_for(confirmation.wait(), timeout=timeout)
  File "/home/jchurch/ve/lib/python3.9/site-packages/asyncio_mqtt/client.py", line 219, in _wait_for
    raise MqttError('Operation timed out')
asyncio_mqtt.error.MqttError: Operation timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/server.py", line 1218, in _main_loop
    await asyncio.gather(*self.critical_tasks)
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/server.py", line 1071, in _mqtt_keep_alive_loop
    await self.mqtt.publish(MQTTMessageSend(
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 34, in inner
    raise MQTTException from exc
mqtt_io.mqtt.MQTTException

Config
mqtt:
  host: <IP_ADDRESS>
  topic_prefix: aircomp
  user: mqtt
  password: 'reallygood'
  client_id: aircomp_pi
  ha_discovery:
    enabled: yes

# GPIO
gpio_modules:
  # Use the Raspberry Pi built-in GPIO
  - name: rpi
    module: raspberrypi

digital_outputs:
  # Pin 4, 22, 6, 26 - relays 1,2,3,4
  - name: primary_pump_enable
    module: rpi
    pin: 4
    ha_discovery:
      component: switch
      name: Air Comp Primary
  - name: secondary_pump_enable
    module: rpi
    pin: 22
  - name: drain_enable
    module: rpi
    pin: 6

Hardware

Platform: Raspberry Pi 3b+
Connected hardware:  generic relay board connected to GPIO pins

System:

OS: Raspbian 11
Python version: 3.9.2
jchurch
Using a virtualenv?: yes

Additional context
didn't see any obvious points to check in the stacktrace or existing issues. happy to try anything and everything.
Love the library! <3

who is restarting your mqtt-io? Are you using supervisor? CancelledError says, that something killed your task...

Apologies @BenjiU , I swear I had included that but I must have copy/pasted over it!
Using supervisor with a virtual env exactly as described in the docs. Only difference is config file path

No Problem, may you please try without supervisor? Maybe supervisor does not recognice correct startup of mqtt-io and kills it.

unfortunately similar outcome run directly
jchurch@aircompressor:~ $ sudo supervisorctl stop mqtt_io
mqtt_io: stopped
jchurch@aircompressor:~ $ /home/jchurch/ve/bin/python -m mqtt_io config.yml
2023-10-06 10:20:08 mqtt_io.server [INFO] Digital output 'primary_pump_enable' current value is True (raw: True)
2023-10-06 10:20:09 mqtt_io.server [INFO] Digital output 'secondary_pump_enable' current value is False (raw: False)
2023-10-06 10:20:10 mqtt_io.server [INFO] Digital output 'drain_enable' current value is False (raw: False)
2023-10-06 10:20:10 mqtt_io.server [INFO] Digital output 'unused_relay' current value is False (raw: False)
2023-10-06 10:20:10 mqtt_io.server [INFO] Connecting to MQTT...
2023-10-06 10:20:10 mqtt_io.server [INFO] Connected to MQTT
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/primary_pump_enable/set'
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/primary_pump_enable/set_on_ms'
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/primary_pump_enable/set_off_ms'
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/drain_enable/set'
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/drain_enable/set_on_ms'
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/drain_enable/set_off_ms'
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/secondary_pump_enable/set'
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/secondary_pump_enable/set_on_ms'
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/secondary_pump_enable/set_off_ms'
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/unused_relay/set'
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/unused_relay/set_on_ms'
2023-10-06 10:20:10 mqtt_io.server [INFO] Subscribed to topic: 'aircomp/output/unused_relay/set_off_ms'
2023-10-06 10:21:00 mqtt_io.server [ERROR] Exception in critical task:
Traceback (most recent call last):
  File "/usr/lib/python3.9/asyncio/locks.py", line 226, in wait
    await fut
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
    fut.result()
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jchurch/ve/lib/python3.9/site-packages/asyncio_mqtt/client.py", line 217, in _wait_for
    return await asyncio.wait_for(*args, **kwargs)
  File "/usr/lib/python3.9/asyncio/tasks.py", line 494, in wait_for
    raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 32, in inner
    await func(*args, **kwargs)
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 94, in publish
    await self._client.publish(
  File "/home/jchurch/ve/lib/python3.9/site-packages/asyncio_mqtt/client.py", line 136, in publish
    await self._wait_for(confirmation.wait(), timeout=timeout)
  File "/home/jchurch/ve/lib/python3.9/site-packages/asyncio_mqtt/client.py", line 219, in _wait_for
    raise MqttError('Operation timed out')
asyncio_mqtt.error.MqttError: Operation timed out

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/server.py", line 1218, in _main_loop
    await asyncio.gather(*self.critical_tasks)
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/server.py", line 1071, in _mqtt_keep_alive_loop
    await self.mqtt.publish(MQTTMessageSend(
  File "/home/jchurch/ve/lib/python3.9/site-packages/mqtt_io/mqtt/asyncio_mqtt.py", line 34, in inner
    raise MQTTException from exc
mqtt_io.mqtt.MQTTException
2023-10-06 10:21:02 mqtt_io.server [INFO] Reconnecting to MQTT broker (infinite retries remaining)
2023-10-06 10:21:02 mqtt_io.server [INFO] Connecting to MQTT...
2023-10-06 10:21:02 mqtt_io.server [INFO] Connected to MQTT


RFC: Robot Server API v2 breaking changes for v4.

Overview
We've been living with the new http for a few months. In that time we've developed opinions about what's working and what is not. As 4.0 approaches, we think it's a good opportunity to make a few changes. The motivation is simplification.
Proposed changes

Remove the type field  in request and responses. This is not used. It can be added in the future if we find a value for it.
Remove the meta field in request and responses. Same rationale as type.
Remove attributes . It is not necessary to force another level of nesting.

Example request
{
	"data": {
		"type": "SessionCommand",
		"attributes": {
			"command": "equipment.loadLabware",
			"data": {
				"location": 2,
				"uri": "some",
				"namespace": "opentrons",
				"displayName": "mylabware",
				"version": 1
			}
		}
	}
}

becomes
{
	"data": {
		"command": "equipment.loadLabware",
		"location": 2,
		"uri": "some",
		"namespace": "opentrons",
		"displayName": "mylabware",
		"version": 1
	}
}

Example response
{
  "links": {
    "self": {
      "href": "/sessions/5954e347-3e22-4189-bb5a-95e4041997a2"
    },
    "commandExecute": {
      "href": "/sessions/5954e347-3e22-4189-bb5a-95e4041997a2/commands/execute"
    },
    "sessions": {
      "href": "/sessions"
    },
    "sessionById": {
      "href": "/sessions/{sessionId}"
    }
  },
  "data": {
    "id": "5954e347-3e22-4189-bb5a-95e4041997a2",
    "type": "Session",
    "attributes": {
      "createParams": null,
      "sessionType": "liveProtocol",
      "details": {},
      "createdAt": "2020-10-22T20:07:57.717947+00:00"
    }
  }
}

becomes
{
  "links": {
    "self": {
      "href": "/sessions/5954e347-3e22-4189-bb5a-95e4041997a2"
    },
    "commandExecute": {
      "href": "/sessions/5954e347-3e22-4189-bb5a-95e4041997a2/commands/execute"
    },
    "sessions": {
      "href": "/sessions"
    },
    "sessionById": {
      "href": "/sessions/{sessionId}"
    }
  },
  "data": {
    "id": "5954e347-3e22-4189-bb5a-95e4041997a2",
    "createParams": null,
    "sessionType": "liveProtocol",
    "details": {},
    "createdAt": "2020-10-22T20:07:57.717947+00:00"
  }
}

Big fan! Gonna be a big change set though

There are no obejctions so we will go forward with this.

RFC accepted, moved to epic #6848


Pass two arguments to the forward of ConstrainedMCObjective in qnei_candidates_func

Motivation
Fixes BoTorchSampler when using qnei_candidates_func on problems with constraints.
Description of the changes
Applies the same fix in #106 to qnei_candidates_func (it seems that this candidate function was missed).
Also updates the tests to include qnei_candidates_func, which would have caught this bug.

@alxhslm Thank you for the PR!
@not522 Could you review this PR?


Docker Desktop runs on login when set not to (Windows)

I unchecked "start Docker Desktop when you log in", but it still starts when I log out/in or reboot.

Docker version (click):

Client: Docker Engine - Community
Version:           18.09.0
API version:       1.39
Go version:        go1.10.4
Git commit:        4d60db4
Built:             Wed Nov  7 00:47:51 2018
OS/Arch:           windows/amd64
Experimental:      false
Server: Docker Engine - Community
Engine:
Version:          18.09.0
API version:      1.39 (minimum version 1.24)
Go version:       go1.10.4
Git commit:       4d60db4
Built:            Wed Nov  7 00:56:41 2018
OS/Arch:          windows/amd64
Experimental:     false

Docker info (click):

Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 1
Server Version: 18.09.0
Storage Driver: windowsfilter
Windows:
Logging Driver: json-file
Plugins:
Volume: local
Network: ics l2bridge l2tunnel nat null overlay transparent
Log: awslogs etwlogs fluentd gelf json-file local logentries splunk syslog
Swarm: inactive
Default Isolation: hyperv
Kernel Version: 10.0 18290 (18290.1000.amd64fre.rs_prerelease.181121-1501)
Operating System: Windows 10 Pro Version 1809 (OS Build 18290.1000)
OSType: windows
Architecture: x86_64
CPUs: 8
Total Memory: 31.94GiB
Name: MyComputerName
ID: W3QT:5RFE:UX6W:KDDQ:QZR5:OLXG:YALK:JKTL:VKLQ:URZS:LJ5C:6RIR
Docker Root Dir: C:\ProgramData\Docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: -1
Goroutines: 26
System Time: 2018-12-07T14:57:22.2871952-07:00
EventsListeners: 1
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
<IP_ADDRESS>/8
Live Restore Enabled: false
Product License: Community Engine

Issue moved to docker/for-win #3056 via ZenHub


Feature/ci cd workflow

added CI CD work flow
rebased from develop
code refactoring

@will-freshworks, please Check workflow-related code.
CI/CD triggers on each pull request and you can find artifacts in the actions tab under particular successful build.
Thinking of to add upload to play store in next ticked as need to discuss on few things.


Decrement fields due to new course list layout from August 2023

course.yml file generation has been failing since August 2023 due to a new layout for course.inf.ed.ac.uk that has less columns than previously. This PR fixes it and also adds some basic None-checking that the linter complained about.

if it works it works!

LOL, apparently it doens't work, CI uses an old Python3 version...


Our contributing doc update

For open source programs, clear contribution guide is essential. The current contributing doc is   a little bit deprecated and does not contain enough information to start contributing to the project. I will modify the contributing doc to include

CI Process (Especially how travis and jenkins work together)
formatter is changed from shell script to https://github.com/ambv/black
How to run integration test locally
How to reproduce CI environment
How to add submodules to the clipper_admin.

Please let me know if you can come up with any other things to add.

We also need
tutorial

Kubernetes deployment (ideally with minikube)
How to debug (using docker logs, fluentd, and etc.)

How to start contribute
Especially, we can expose some tasks to public


Add BlankWindow example

Very very basic example just to show how to setup a project with VisualStudio, Nuget, OpenTK and open a GameWindow.

Seems fine to me.


请问FFCreator有增加滤镜特效的计划嘛？

非常感谢您的团队所带来的开源工程，为我提供了很大的帮助👍
请问FFCreator后续有增加滤镜特效的计划嘛？

Oh I may consider adding in the future

滤镜确实很需要，等待

Configuration settings:
render: "gl"
Use setBulr to set the blur filter, currently only supports blur

@drawcall Is it any way to support blur in canvas mode?

Oh, add later


array type in body not shown in spec

I'll use the same example as in #32, where i've added the comonent refs.
paths:
  /admin/identities/{id}:
    patch:
      ...
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/jsonPatchDocument'
        x-originalParamName: Body
      responses:
      ...
      summary: Patch an Identity
      tags:
        - identity

components:
  schemas:
    jsonPatch:
      description: A JSONPatch document as defined by RFC 6902
      properties:
        from:
          type: string
        op:
          type: string
        path:
          type: string
        value:
    jsonPatchDocument:
      description: A JSONPatchDocument request
      items:
        $ref: '#/components/schemas/jsonPatch'
      type: array

The typespec currently is:
@spec patch_identity(String.t(), OApi.Kratos.Identity.JsonPatch.t(), keyword) ::
          {:ok, OApi.Kratos.Identity.t()} | {:error, OApi.Client.Error.t()}

I think the @spec for the second body argument should be  OApi.Kratos.Identity.JsonPatch.t(), not ~ OApi.Kratos.Identity.JsonPatch.t()~

Actually it could also be OApi.Kratos.Identity.JsonPatchDocument.t(), but i think arrays are not mapped by name.
So in this case perhaps a @type json_patch_document:: [json_patch] would help here? The description could then be put into  @typedoc

Hi there 👋🏼
I'm having some trouble replicating the issue; would you mind posting or linking the full example spec (something I can copy right in and generate to see the issue)?
Thanks! ❤

something I can copy right in and generate to see the issue

still having some falloff from the last deployment. Is it a blocker for you if we postpone this for two weeks ?
If yes i'll sqeeze it in tomorrow.
In any case  let me give you some more context here the generated code, now, before i open source the whole library & client implementation.
Right now it's in our monorepo, so ejecting it from there needs a day of work (for all libs kratos, hydra & client).
So here is the full generated function. The problem exists only in the @type spec!.
jsonPatchDocument is an array type of jsonPatch:

@doc """
  Patch an Identity

  Partially updates an [identity's](https://www.ory.sh/docs/kratos/concepts/identity-user-model) field using [JSON Patch](https://jsonpatch.com/).
  The fields `id`, `stateChangedAt` and `credentials` can not be updated using this method.
  """
 #                                                   v This is wrong according to spec
  @spec patch_identity(String.t(), OApi.Kratos.Identity.JsonPatch.t(), keyword) ::
          {:ok, OApi.Kratos.Identity.t()} | {:error, OApi.Client.Error.t()}
  def patch_identity(id, body, opts \\ []) do
    client = opts[:client] || @default_client

    client.request(%{
      args: [id: id, body: body],
      call: {OApi.Kratos.Identity, :patch_identity},
      url: "/admin/identities/#{id}",
      body: body,
      method: :patch,
      #                                                  v this is correct! ( in a list)
      request: [{"application/json", [{OApi.Kratos.Identity.JsonPatch, :t}]}],
      response: [
        {200, {OApi.Kratos.Identity, :t}},
        {400, {OApi.Kratos.Error.Generic, :t}},
        {404, {OApi.Kratos.Error.Generic, :t}},
        {409, {OApi.Kratos.Error.Generic, :t}},
        default: {OApi.Kratos.Error.Generic, :t}
      ],
      opts: opts
    })
  end

So this is not a functional problem, just a spec one.

@aj-foster I reposted with context just so you know where to look. The inconsistency is in the generated code.
I think the exact location is this one:
https://github.com/aj-foster/open-api-generator/blob/11ed134aa3b8f6ebc469496ba79fe6c2d3585dd9/lib/open_api/renderer/operation.ex#L347
Util.clean_list/1 swallows the list type via List.flatten/1

A potential fix for this is in #33. If you have a chance, please let me know if it resolves the issue for you.

Hello again 👋🏼
Apologies, I meant #37 above. Release 0.1.0-rc.4 has changes to help with this. If you have a chance, please try it out and let me know how it works for you.


Port key-mon to python3 with gi instead of pygtk

Hi,
after I was a bit shocked to discover that key-mon has been removed from debian and from ubuntu (20.04), I tried to trace it to this, so I tried to port it to python3.
It works currently with a few warnings that I will probably try to trace, and without the transparency behind buttons, and with an ugly rectangle "click indicator" (because of the unported code, see below).
It has currently three important TODO that are related to functionality removed from Gtk2->Gtk3 : gtk.gdk.GC, render_pixmap_and_mask, and shape_combine_mask. These probably have to be redone in pycairo, which is slightly more difficult than what I already did.
I do not have much experience with Gtk or with Cairo (or with Python^^), so if anyone more experienced wants to take on these TODO, it would be perfect, otherwise I'll try to read more about it.

#85

OK, after I got help from @lazka and @ebassi on IRC, I managed to fix the transparency without masks with just gtk CSS, so afaik it's all good now, needs a bit of testing maybe

Thanks


Add missing payload properties

This PR

add missing properties of the ProfileUpdatePayload
removes unnecessary alias

@janniks Could you please review this?

There is also a question which profile properties we want to support. Currently, only Person is supported


feat(nav): add install link

fixes #459

not great on mobile but not terrible, cc @chriskrycho

I'm :+1: on this change!
We may want to also consider having the /tools/install page have a button to go to the longer "getting started" page to help walk people through.


Added Missing Curly Brace in Sample Text Document

Description
Corrected a little mistake in the sample text document. I added a curly brace at the end of the file.
Motivation and Context
I found the issue while using the app, as I tried to copy the code part, and then I came across the mistake.
How Has This Been Tested?
Its just a txtFile, no tests needed.
Screenshots (if appropriate):

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Thank you for fixing this @RolinoTheWolf!


Fix non en-US links

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

Thanks!


Dictionaries of Arrays?

Hi, I love the library you've written. It works for just about all my use cases except I need to store dictionaries of arrays. Is that something that would be difficult to add the way this is architected?

Hi there, happy you like the library :).
Yes I believe it would be possible to add support for Dictionaries with Arrays as values. Specifically what type of Dictionaries are you interested in? Dictionary <String, [T: Mappable]> or Dictionary <String, [AnyObject]>?
I will add this functionality to my to do list.

I'm not sure what you're asking? I'm interested in [String: [N]].

ahh github messed up my comment. it was supposed to say Dictionary<String, [T:Mappable]> or Dictionary<String, [AnyObject]>.
That clears it up!

Hey there, I've just released a new version with this functionality:
https://github.com/Hearst-DD/ObjectMapper/releases/tag/0.12
Check it out and let me know if you have any issues.


remove abandoned styleci bridge

Q
A

Bug fix?
no

New feature?
no

BC breaks?
no

Deprecations?
no

Related tickets
fixes #266

Documentation
(not mentioned in the doc)

License
MIT

What's in this PR?
Remove configuration for the styleci php-cs-fixer bridge
Why?
The bridge is abandoned. styleci seems to not offer anything to run codestyle locally with the same configuration as their service.
Imho its enough to have the automated check.
Checklist

[x] Updated CHANGELOG.md to describe BC breaks / deprecations | new feature | bugfix

if we agree that this is the correct move, i will remove the file from client-common, boilerplate, curl-client, plugins, message, discovery, guzzle6-adapter, mock-client, chache-client and react-adapter.

I agree as well. PrettyCI looks cool, I used FlintCI before, which accepted plain phpcs config, not sure if PrettyCI does.
Can you check if you can disable StyleCI? Do I need to grant some privileges?

Hello there! Just answering the question and I'll be out of here: if you want to use it then yes you can use a custom phpcs config, see https://prettyci.com/documentation

see #278

replaced by #278


LargeTypesReg2Mem: Gracefully handle the case when the Container type is deemed small but the Containee is not

rdar://123340151

@swift-ci test

@swift-ci test