initial commit for diverging bar

Description
Diverging bar chart initial attempt
Screenshot
Notice

[ ] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.
I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorized to submit this contribution on behalf of the original creator(s) or their licensees.
I certify that the use of this contribution as authorized by the Apache 2.0 license does not violate the intellectual property rights of anyone else.
I have not referenced individuals, products or companies in any commits, directly or indirectly.
I have not added data or restricted code in any commits, directly or indirectly.

Hi @hxe00570, thank you for contributing. 🙌
There are several things that need to be added to this PR for it to be merged.
I've summarised these things in the to-do list below:

[ ] create complete custom_chart example for diverging bar chart and add it to a page titled "Diverging bar".
[ ] update README.md file
[ ] Add changelog file
[ ] Add chart to relevant category, also remove the chart from incomplete charts.
[ ] update PR description with chart description and screenshot

Also, you could try check and fix the 3 failed CI?

Checks for Vizro / checks-vizro-core (pull_request)
Lint / lint-vizro-all (pull_request)
pre-commit.ci - pr

Can you please advise if you wish to continue working on this issue, or some other contributor can take it from here?
Thank you, 🙏

Thank you, I think I corrected this. Please inform

Can you please push your latest changes as I cannot see new commits.
Thank you,

Hi @hxe00570 , we are not participating GHC in person this time. I have DMed you via Linkedin in case you'd like to chat. 😄
In the meantime, I saw another PR from you also related to diverging bar (https://github.com/mckinsey/vizro/pull/795). If they are duplicate, we can close one and keep working on one git branch.

I have tried a few times to push and I keep getting different errors (this is my first contribution so I’m sure it’s user error). I have been using the Codespace. Any chance yall are on site at GHC and someone might be willing to meet up and help me?

Hello @hxe00570 ,
I just looked at the chart you created in this PR: https://github.com/mckinsey/vizro/pull/795 and it looks beautiful!  ⭐ I also noticed that you tackled the more challenging task of creating a diverging stacked bar chart! 🚀
If you find yourself short on time or encountering issues with the development setup, we're happy to help you wrap this up within your branch. This way, you'll still receive credit for the contribution, and we can handle any remaining technical details. Please let me know if you'd prefer to complete this on your own or if you'd like us to assist in finishing it up within your branch :)

@nadijagraca @huong-li-nguyen Had a quick chat with @hxe00570 today and she is ready to handover the pr to Vizro team now.
I will close this PR (#792) and we can assist in finishing it up in PR https://github.com/mckinsey/vizro/pull/795. 🙌

Reopening this PR because @hxe00570 actually worked on the diverging stacked bar chart, so I'll use the two PRs to finish off 2 charts: the diverging bar chart and diverging stacked bar chart :)

@hxe00570  - I really liked your pastry example, so I've kept the data but I just replaced the measure with the profit ratio (fits better with negative and positive values) :)
You tackled the more complex chart which is the diverging stacked bar chart - so don't worry I'll re-use the code you created in another PR: https://github.com/mckinsey/vizro/pull/795
For the diverging bar chart, we were actually just looking for a simple sorted bar chart. So, in this PR, I am simplifying the function call by using the pure px.bar call 👍


HMR does not work

Link to reproduction
npx create-payload-app
To Reproduce
Facing the issue on a basic installation generated by npx with minimal modifications to be functional

PAYLOAD_URL=http://localhost:3000
Cloud MongoDB connection

Describe the Bug
unreachable code after return statementindex.js:75
[HMR] connected client.js:96
[HMR] bundle rebuilding client.js:242
[HMR] connected client.js:96
[HMR] Checking for updates on the server... process-update.js:51
XHRGET
http://localhost:3000/adminmain.85750bc05a2d3de174ba.hot-update.json
[HTTP/1.1 404 Not Found 3ms]
[HMR] Cannot find update (Full reload needed) process-update.js:61
[HMR] (Probably because of restarting the server)
I am trying to experiment with Payload CMS and have started from a fresh installation after playing around on another installation. However, even on a fresh installation I'm notable to get the HMR to work. I merely have a new project with minimal configuration for it to be functional after a "npx create-payload-app".
The fact that there's "unreachable code after return statement" as first warning without anything on a fresh installation makes it hard to understand what I could have done wrong.
Payload Version
1.7.2

Hey @Murrock58 — I think this has to do with your PAYLOAD_URL. Note that the create-payload-app ships with http://localhost:3000 defined as its serverURL. Did you replace this with your own env variable?
What are you using the PAYLOAD_URL for? What have you changed with your config, exactly? Have you changed routes.admin or routes.api?
Note that if you are setting your Payload serverURL, you should be prefixing your URL with PAYLOAD_PUBLIC_ if you want it to work with the admin UI as well.  Docs here.
We will likely need more information here in order to help but I don't think this is an issue with create-payload-app, or Payload. But we're happy to help you. It should be simple.

Hey @Murrock58 — I think this has to do with your PAYLOAD_URL. Note that the create-payload-app ships with http://localhost:3000 defined as its serverURL. Did you replace this with your own env variable?
What are you using the PAYLOAD_URL for? What have you changed with your config, exactly? Have you changed routes.admin or routes.api?
Note that if you are setting your Payload serverURL, you should be prefixing your URL with PAYLOAD_PUBLIC_ if you want it to work with the admin UI as well. Docs here.
We will likely need more information here in order to help but I don't think this is an issue with create-payload-app, or Payload. But we're happy to help you. It should be simple.

Thanks for the quick response!
I am testing locally, so I have kept PAYLOAD_URL=http://localhost:3000
My config is as below, though I have tested with removing the participants/pages, localization, plugins and rateLimit with the same issue.
import { buildConfig } from 'payload/config';
import seo from '@payloadcms/plugin-seo';
import path from 'path';
import Users from './collections/Users';
import Participants from './collections/Participants';
import Pages from './collections/Pages';
export default buildConfig({
serverURL: process.env.PAYLOAD_URL,
admin: {
user: Users.slug,
},
collections: [
Users,
Pages,
Participants,
// Add Collections here
// Examples,
],
rateLimit: {
trustProxy: true,
window: 2 * 60 * 1000, // 2 minutes
max: 2400, // limit each IP per windowMs
},
plugins: [
seo({
collections: ['pages', 'participants'],
}),
],
typescript: {
outputFile: path.resolve(__dirname, 'payload-types.ts'),
},
graphQL: {
schemaOutputFile: path.resolve(__dirname, 'generated-schema.graphql'),
},
localization: {
defaultLocale: 'en',
locales: ['en', 'fr'],
},
});

Try and update your serverURL to use an environment variable prefixed accordingly as I mentioned. Instead of process.env.PAYLOAD_URL, it should be process.env.PAYLOAD_PUBLIC_URL. That way it will work in the admin UI as mentioned above. Give that a shot.

I have changed my env to have PAYLOAD_PUBLIC_SERVER_URL=http://localhost:3000 and also serverURL: process.env.PAYLOAD_PUBLIC_SERVER_URL, and the issue is the same.

 My apologies for the misleading questions.
So, right now, you are probably trying to edit core Payload config files. Because the Payload config is used on the server and in the browser, if you make a change to any .ts file, our default nodemon actually restarts the entire Node server, which will break HMR.
But, if you edit .tsx files, or .scss, or similar, then HMR will work. Being that you are probably trying to edit collections to see your changes show up via HMR, this is actually expected behavior.
However, we've got a PR open that will enable server hot module reloading as well, which will be a huge quality of life improvement here.  Right now though, HMR is only meant to work for actually building custom React components as those do not require server restarts.
Does that make sense? Again - not sure why I didn't think of this earlier!

Hehe, makes perfect sense! Thank you :)


Add checklists to model, admin, and frontend.

The Master Struktur Miro contains two checklists that are not yet included in the City model and admin, because it appears to produce many boolean fields and pollute the model.
Some way to encapsulate the checklist. E.g. with https://github.com/goinnn/django-multiselectfield
Put the checklists in the help-texts.
Put the checklists in the default value with the - [ ]  Syntax.

[x] Add the two checklists from Miro to City model.
[x] Add checklists to admin and / or see to it that it looks nice, there.
[x] Add checklists to frontend.

Was there a reason, you did not use https://github.com/goinnn/django-multiselectfield ?

I just did it the same way the other checklist was implemented. I'm new to Python and Django. What would you suggest?

Why would you add a new dependency if there is a suitable way to implement this directly in Django.

Should have been closed by merge of #203


Syntax for FullRange: ..

Add the syntax .. for std::ops::FullRange.
Range expressions a..b, a.. and ..b all have dedicated syntax and produce first-class values. This means that they will be usable and useful in custom APIs, so for consistency, the fourth slicing range, FullRange, could have its own syntax ..
Rendered Version

Previously discussed here as well as discussions in #rust-internals. It has come up again due to deref coercions enabling &foo for many common "as_slice" use cases already, and because of ideas around using ranges in collection APIs.
I have already implemented this (on top of the PR rust-lang/rust#21374) it is a very simple change to make. dgrundwald's PR is also relevant because it fixes some grammar issues around the range syntax.
cc @gankro.

I'd also like to add that .. is the only valid range to apply to a HashMap, if that's a thing we're interested in doing.
:+1: from me, makes the language more consistent and opens up cool patterns.

Note that there may be a few new edge cases. For instance, is &..-y equivalent to (&FullRange) - y or &(..(-y)) (or a syntax error)?

Yes PLEASE. Thanks @bluss for writing this!

:+1: I'm in favor of this. It makes sense since for most use cases we will have an even shorter way of cross borrowing, like &string and &vector.

:+1: I agree with the RFC’s motivation for this: people are now beginning to recognise the use of ranges outside slicing alone: things like vec.remove(..) have been proposed recently. Because of that, having .. is not only more consistent, but more useful as well. Now that we have deref coercions, writing &foo[]/&foo[..] will probably be very rare, so the conciseness of full-range slicing doesn’t really matter. Full ranges are still potentially useful outside slicing alone, so to me, the most advantageous option is to use ...
@quantheory That particular case would be &(..(-y)) due to the precedence of .., but there might be some other less obvious cases.

It wasn't stressed enough in the RFC that we will probably want to use ranges a in future libstd API, it's not just about third party crates.

The initial implementation on top of dgrunwald's PR

@quantheory I don't think there are any new grammar edge cases, all the strangeness with this syntax can also be done with the existing a.. and ..a syntax.
@P1start: &..-y will actually be a syntax error with my PR: .. has a lower operator precedence than & and thus cannot be used as an operand to .. without parentheses, even if expression could be parsed unambiguously when ignoring operator precedence. (this rule will prevent a lot of strange 'precedence reversal' cases that currently occur when combining .. with some other operators)
Without the &:
..-y will continue to be parsed as ..(-y) because .. has lower precedence than -. Note that this isn't new (x..-y is the same situation), and is not actually an ambiguity (parsing it as (x..)-y would go against the operator precedence).

Note that existing code using .. in pattern matching will be broken when this RFC is merged:
enum Foo {
    A(i32, i32),
    B(u32, u32, u64),
}
fn main() {
    let k = Foo::A(1, 2);
    let q = match k {
        Foo::A(..) => 1,
        Foo::B(..) => 2,
    };
    assert_eq!(q, 1);
}

Examples:

https://github.com/rust-lang/rust/blob/0430a43d635841db44978bb648e9cf7e7cfa1bba/src/grammar/verify.rs#L188-L205
https://github.com/rust-lang/rust/blob/0430a43d635841db44978bb648e9cf7e7cfa1bba/src/libstd/io/fs.rs#L791-L802

This RFC should propose an alternate syntax of the above, after .. is changed to mean FullRange.

Very good catch. It doesn't break anything (range syntax is not parsed in patterns, only in expressions), but it's a conflict. We'll have to discuss this issue.

On patterns, we also have [a, b..] for slice patterns.

It wasn't stressed enough in the RFC that we will probably want to use ranges a in future libstd API, it's not just about third party crates.

e.g. #722 wants it.

Regarding patterns, I think that overlap already exists, it doesn't seem especially bothersome to me.

Strong +1 here. The consistency argument is compelling enough to me, but the fact that Ranges have identified use cases outside of indexing seals the deal.

:+1:, for all of the reasons mentioned above.

Updated for the new name of the struct.
Updated text to mention the drawback of overlap with .. in patterns.

I may as well point out that RFC 520 already states that .. in patterns is never interpreted as being a part of range syntax, since as @huonw mentioned there would have been an ambiguity with slice patterns otherwise. So this doesn't introduce much more of an inconsistency with patterns than we already had.

Slice patterns are more niche than using .. in patterns like this:  match foo {  Some(..) =>  though.

Maybe. Personally, I've used slice patterns moderately often, because I work with various array-like types a lot. I use wildcards pretty rarely, in part because I typically use a pattern like Some(_) for variants that only hold one item.

Merged, r = @nikomatsakis, @huonw
Tracking issue: https://github.com/rust-lang/rust/issues/21879
RFC: https://github.com/rust-lang/rfcs/blob/master/text/0702-rangefull-expression.md
This RFC has been accepted since it is a popular and minor improvement to the range syntax which has multiple use cases. Since we don't accept range syntax in patterns, we don't think there is any reason to worry about a clash of syntax there.

Regarding range syntax in patterns: we actually do accept ranges, but with ... rather than ... The former allows a branch arm to match any value within a range; the latter can be used to ignore values when they won't be used in the match expression. Examples of each can be found in the Patterns chapter of the book.
I think it would be worth discussing whether we can swap the syntax here: .. should mean "range" inside patterns for consistency with the rest of the language, and ... reads well as an ellipsis, ie, "extra values ignored". Using ... as a placeholder for code also has precedent in Perl as the "yada yada" operator (though it's more akin to Python's pass than to Rust's current usage of .. in patterns).
Though the underlying objects / types may be different between ... ranges inside patterns and .. ranges outside of them, it seems to me that the semantics / intent is the same in both contexts.

The discussion of inclusive range syntax is taking place, it's here!

@bluss : Thanks for the link. It seems like Niko explicitly requested not to discuss use of range syntax in patterns in that thread though:

I would prefer not to have this thread derailed with a generic discussion of whether .. or ... is preferable in other cases (e.g. patterns), nor the question of whether .. in patterns ought to destructure a range vs matching a range.


Import data from excel file into table

Hi @bill-ramos-rmoswi ,
I am looking into below query not supporting into babelfish, basically this query we used for connecting Microsoft.ACE.OLEDB.12.0 provider. after connecting we import data from excel file into table,
MSSQL Query:
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
EXEC sp_addlinkedserver
@server = N'TrudImportExcelDatabase',
@provider = N'Microsoft.ACE.OLEDB.12.0',
@srvproduct = N'Excel',
@datasrc = @fileName,
@provstr = N'Excel 12.0;IMEX=1;HDR=YES;'
INSERT INTO [dbo].[Student]
([Code],
[Name])
SELECT DISTINCT
[Code],
[Name]
FROM OPENQUERY(TrudImportExcelDatabase, 'SELECT * FROM [Contact Details$A6:ZZ]')
is there any solution to achieve the same functionality in babelfish?

@JayakumarEMIS Using MS Access provider in sp_addlinkedserver is not supported in Babelfish. I would suggest to load Excel files from client application, for example a separate C# application run by scheduler. XLSX format is straightforward to read from app code.

Thanks @staticlibs


Removed deprecated methods

Do we need to wait for v7 to remove deprecated stuff?

@murdos The deprecated methods are from V5, see https://github.com/jhipster/generator-jhipster/issues/7574, so we are safe to remove them on V6.

@pascalgrimaud Is it OK for you?

oh yes, it looks like it was removed long time ago, so I'm ok to remove it now. No need to wait v7 as we didn't plan yet to start the work for v7

For me they're deprecated since https://github.com/jhipster/generator-jhipster/issues/9836 and v6.2 : https://github.com/jhipster/jhipster/commit/783964d1307fb6e5a1f28909c70e880ff8ae6181

@murdos You are right, my mistake.
Will put it on hold for v7.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


UnboundLocalError: local variable 'wandb' referenced before assignment

Good work!
When I use train_scripts/shapenet_edge.sh for training, I meet this bug:
Training for 25000 kimg...
tick 0     kimg 0.0      time 1m 29s       sec/tick 8.1     sec/kimg 253.78  maintenance 81.2   cpumem 6.00   gpumem 19.10  reserved 21.52  augment 0.000
Traceback (most recent call last):
File "/userhome/pix2pix3D-main/train.py", line 540, in
main()  # pylint: disable=no-value-for-parameter
File "/opt/conda/envs/pix2pix3d/lib/python3.9/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
File "/opt/conda/envs/pix2pix3d/lib/python3.9/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/opt/conda/envs/pix2pix3d/lib/python3.9/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/opt/conda/envs/pix2pix3d/lib/python3.9/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/userhome/pix2pix3D-main/train.py", line 534, in main
launch_training(c=c, desc=desc, outdir=opts.outdir, dry_run=opts.dry_run)
File "/userhome/pix2pix3D-main/train.py", line 112, in launch_training
torch.multiprocessing.spawn(
File "/opt/conda/envs/pix2pix3d/lib/python3.9/site-packages/torch/multiprocessing/spawn.py", line 240, in spawn
return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
File "/opt/conda/envs/pix2pix3d/lib/python3.9/site-packages/torch/multiprocessing/spawn.py", line 198, in start_processes
while not context.join():
File "/opt/conda/envs/pix2pix3d/lib/python3.9/site-packages/torch/multiprocessing/spawn.py", line 160, in join
raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:
-- Process 0 terminated with the following error:
Traceback (most recent call last):
File "/opt/conda/envs/pix2pix3d/lib/python3.9/site-packages/torch/multiprocessing/spawn.py", line 69, in _wrap
fn(i, *args)
File "/userhome/pix2pix3D-main/train.py", line 57, in subprocess_fn
training_loop.training_loop(rank=rank, **c)
File "/userhome/pix2pix3D-main/training/training_loop.py", line 690, in training_loop
log_table(G_ema, grid_z, grid_i, grid_c, grid_m, grid_p, mask_type=training_set_kwargs.data_type, global_step=cur_nimg//1000, device=device, wandb=wandb)
UnboundLocalError: local variable 'wandb' referenced before assignment
Have you ever meet this wrong? Could you please tell me the possible reason? Thank you very much!

Hi, this is because wandb is still used even if wandb_log is set to False. I have fixed this bug in the latest version. Could you pull and try it again?


Remove unnecessary import CoreFoundation on Windows

This removes the unnecessary import of CoreFoundation in the XCTest
module.  It is unused and the removal enables the removal of the
CoreFoundation headers from the distribution which are internal
implementation details on non-Darwin platforms.

@swift-ci please test


Need to address when specific attribute types (e.g. Date vs Birthday) are created

currently AddAttribute simply adds IntegerAttribute, DateAttribute, or StringAttribute, but does not do BirthdayAttribute, NameAttribute, etc

Addressing in #67


List of tables included in a trace file

It would be great if TW could give list of tables in the trace file, and group/sort them by SELECT, INSERT, UPDATE, DELETE. A list of tables impacted by the trace file would be quite useful to understand the footprint of the trace file, but also helpful to know every table that is impacted.

Marking as enhancement.


Keep configuration/version set in components launched/replaced by addons-starter

When a user upgrades an addon like Tiller after they've deployed K8s on Rancher, it would be useful if Rancher could retain at least that version (or higher) when upgrading. Since some of these changes are difficult for Rancher to detect, a configuration setting might be a good option where the user can indicate the minimum version currently installed.
Having a way to store it is important rather than just an option in the upgrade workflow as users can forget to set this version at upgrade and cause unexpected problems. Storing the value in Rancher prevents people from forgetting.
Currently requested:

Keep Tiller version
Keep kube-dns configmap data

Available with v1.8.5-rancher1

Tested with upgrade from K8s v1.7.7-rancher1 to K8s v1.8.5rancher1.( This is with upgrading rancher from v1.6.10 to v1.6.13-rc1)
In k8s v1.7.7-rancher1, upgraded tiller to the latest version gcr.io/kubernetes-helm/tiller:v2.7.2
Edited the kube-dns cofigmap to include upstreamNameservers as below:
apiVersion: v1
kind: ConfigMap
metadata:
  name: kube-dns
  namespace: kube-system
data:
  upstreamNameservers: |
    ["<IP_ADDRESS>"]

Upgraded rancher from v1.6.10 to v1.6.10-rc1. Upgraded Kubernetes to K8s v1.8.5-rancher1.
After upgrading Kubernetes, verified that tiller still had the  latest version gcr.io/kubernetes-helm/tiller:v2.7.2
Containers:
  tiller:
    Container ID:	docker://a7d13ae36180b97cb17e904298ab713f63aacc81b5930332c8f596e420743e10
    Image:		gcr.io/kubernetes-helm/tiller:v2.7.2
    Image ID:		docker-pullable://gcr.io/kubernetes-helm/tiller@sha256:df7f227fa722afc4931c912c1cad2c47856ec94f4d052ccceebcb16dd483dad8

Kube-dns configmap also had the updated information
kubectl describe configmap kube-dns --namespace kube-system
Name:		kube-dns
Namespace:	kube-system
Labels:		addonmanager.kubernetes.io/mode=EnsureExists
Annotations:	kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"ConfigMap","metadata":{"annotations":{},"labels":{"addonmanager.kubernetes.io/mode":"EnsureExists"},"name":"kube-dns","names...

Data
====
upstreamNameservers:
----
["<IP_ADDRESS>"]

Events:	<none>


Section titles are shown on pages with new chapters/sections

When a page starts with a level 2 heading, it will still display the previous heading in the header, even when it doesn't have to.

I made a package for this called hydra (shameless plug) and here's how I fixed it in my own manual:
https://github.com/tingerrr/subpar/blob/main/doc/manual.typ#L28-L37

Cool. I will have a look at your package.

Added in v0.1.2.


Would be great to implement support for multiple dashboards...

...and to have some control over rotation, time, etc.

sorry... found in documentation.


React table v8 #392

Ticket
Closes #392
Reviewers
@.
Changes

Added react-table v8
Adapted pagination and sorting for react-table v8

Definition of Done (from ticket)
QA steps (optional)
Known Issues

Hi @BruceRodrigues, I am getting an error trying to run the anvil-catalog config. HCA, AnVIL, and  NCPI seem to run ok, but the anvil-catalog has a problem. Can you take a look? Thanks, D


can not find the message sinking to the service

Describe the question
when i send message to the topic through the command below，i can not find the consumer that consumes the message,what is more,i cannot find any error
bin/kafka-console-producer.sh --bootstrap-server <IP_ADDRESS>:9092 --topic test

@zhaogaiwen Can you set the logging in debug mode and provide a more verbose log? to do that, you need to change the config-logging config map in knative-eventing namespace and change level to debug and development to true


Variable types not preserved after call to normalize_entity()

Reproducible example:
import pandas as pd
import featuretools as ft

from featuretools.variable_types import IPAddress
from autonormalize import autonormalize as an

input_df = pd.DataFrame(
    {
        'ip_address': ['<IP_ADDRESS>', '<IP_ADDRESS>', '<IP_ADDRESS>', '<IP_ADDRESS>'],
        'length': [900, 60, 20, 30],
        'city': ['adl', 'syd', 'adl', 'syd'],
        'country': ['aus', 'aus', 'aus', 'aus'],
        'is_threat': [True, False, False, False]
    }
)

variable_types = {'ip_address': IPAddress}

es = ft.EntitySet()
es.entity_from_dataframe(entity_id='data',
                         dataframe=input_df,
                         index='index',
                         variable_types=variable_types,
                         make_index=True)

Column ip_address is set to dtype featuretools.variable_types.IPAddress:
print(es['data'].variables)

[<Variable: index (dtype = index)>,
<Variable: length (dtype = numeric)>,
<Variable: city (dtype = categorical)>,
<Variable: country (dtype = categorical)>,
<Variable: is_threat (dtype = boolean)>,
<Variable: ip_address (dtype = ip)>]

After normalisation, ip_address resolves back to categorical:
normalized_es = an.normalize_entity(es)

for entity in normalized_es.entity_dict:
    print(normalized_es.entity_dict[entity].variables)

Entity: index
[<Variable: index (dtype = index)>,
<Variable: length (dtype = numeric)>,
<Variable: city (dtype = id)>,
<Variable: is_threat (dtype = boolean)>,
<Variable: ip_address (dtype = categorical)>]
Entity: city
[<Variable: city (dtype = index)>, <Variable: country (dtype = categorical)>]

To get the desired features, the variable types need to be preserved so the right primitives can be applied when running dfs. My question is whether this should be the desired behaviour or do the variable types need to be set manually again?

@j-grover is this an issue with autonormalize or Featuretools? If featuretools, please post as in issue that that repo: https://github.com/featuretools/featuretools/

@kmax12
For reference: autonormalize.py
The normalization of a EntitySet follows the following call graph:
normalize_entity -> auto_entityset -> make_entityset
According to my understanding, the variable types are not carried forward from normalize_entity to auto_entityset. So when entities are created in make_entityset, we do not have variable types:
if time_index in current.df.columns:
    entities[current.index[0]] = (current.df, current.index[0], time_index)
else:
    entities[current.index[0]] = (current.df, current.index[0])

Entities definition:
"""
entities (dict[str -> tuple(pd.DataFrame, str, str)]): Dictionary of
                    entities. Entries take the format
                    {entity id -> (dataframe, id column, (time_column), (variable_types))}.
                    Note that time_column and variable_types are optional.
"""

@j-grover thanks for clarification. I see the issue now.
you're right that we aren't carrying the variable types through. would you be interested in submitting a PR that does that?

@j-grover thanks for clarification. I see the issue now.
you're right that we aren't carrying the variable types through. would you be interested in submitting a PR that does that?

Yeah sure, I'll give it a go.

@kmax12 I have a branch ready, do I require access to push?

@j-grover can you create a fork to make the pull request?

@j-grover can you create a fork to make the pull request?

Thanks, created PR.


Fock backend of localsimulator and thewalrus decomposition not giving the desirable result

Before posting a bug report

[X] I have searched exisisting GitHub issues to make sure the issue does not already exist.

Expected behavior
I wanted to follow the full steps of encoding an adjacency matrix of a graph into an interferometric setup and single mode squeezed states for Gaussian boson sampling experiment. To do this, I first used thewalrus library to decompose the adjacency matrix using Takagi decomposition. After I have decomposed the matrix, I have then used rectangular_phase_end from the strawberry fields library to convert my unitary gate into a set of beam splitters. Finally, I have used the Fock backend of the local simulator engine and fed in the squeezing parameters and Beam splitter setup I have generated to get the photo count result corresponding to my specific adjacency matrix.
I expected the photocount pattern of [111100] to appear for the largest number of times since that pattern corresponds to the 4 dimensional subgraph choice of maximum Hafnium value to my 6 dimensional adjacency matrix. (Hafnium value of 3, Hafnium squared value of 9 whereas other choices such as [110011] only has single perfect matching) I have tested my graph  using hafnium_sample_graph from thewalrus library as well, and I got 231 samples of [111100] among 10000 samples, which is quite desirable.
Actual behavior
What I got after postselecting only those with ones and zeros (subspace used for the estimation of hafnian) was something like this,
[1 1 1 0 0 1]
[1 0 0 1 1 1]
[1 0 1 0 1 1]
[0 1 1 1 0 1]
[1 1 0 1 1 0]
[1 1 1 0 1 0]
[0 0 1 1 1 1]
[1 1 1 0 0 1]
only 8 cases out of 1000 samples and I could not see the answer case,i.e, [111100] ,to the maximum hafnian problem at all.
What's more, mean photon number at the output was around 0.97 whereas I aimed it at 4 to best see the 4 dimensional subgraph among my 6 dimensional adjacency matrix.
Reproduces how often
Reproduces nearly every time.
System information
Strawberry Fields: a Python library for continuous-variable quantum circuits.
Copyright 2018-2020 Xanadu Quantum Technologies Inc.

Python version:            3.10.9
Platform info:             macOS-13.4.1-arm64-arm-64bit
Installation path:         /Users/ryuminseok/anaconda3/lib/python3.10/site-packages/strawberryfields
Strawberry Fields version: 0.23.0
Numpy version:             1.23.5
Scipy version:             1.10.0
SymPy version:             1.12
NetworkX version:          3.1
The Walrus version:        0.20.0
Blackbird version:         0.5.0
XCC version:               0.3.0
TensorFlow version:        None

Source code

import numpy as np

matrix = np.array(
[[1,1,1,1,0,0],
[1,1,1,1,0,0],
[1,1,1,1,0,1],
[1,1,1,1,0,0],
[0,0,0,0,1,1],
[0,0,1,0,1,1]]
)-np.eye(6)
print(matrix)

import matplotlib.pyplot as plt
import networkx as nx
# Create the entire graph
gr = nx.Graph(matrix)

default_edge_color = 'gray'

edge_colors = {edge: default_edge_color for edge in gr.edges()}

node_color = 'orange'
nx.draw(gr, node_size=500,node_color=node_color, edge_color=[edge_colors[edge] for edge in gr.edges()],with_labels=True)

# Display the graph
plt.show()

import strawberryfields as sf

dim=np.shape(matrix)
print(dim[0])
"write the mean photon number you want to give at the output"
meanphoton=4
meanphotonpermode=meanphoton/dim[0]
print(meanphotonpermode)
result=sf.decompositions.graph_embed(matrix,meanphotonpermode)
squeeze=result[0]
uni=result[1]

setup=sf.decompositions.rectangular_phase_end(uni)
newt=setup[0]
"Print out the beam splitters"
print(np.round(newt,2))
ss=np.shape(newt)[0]

from strawberryfields import ops

nr_modes=dim[0]
prog = sf.Program(nr_modes)

with prog.context as q:
    for i in range(dim[0]) :
        ops.Sgate(squeeze[i]) |(q[i])
    for j in range(ss) :
        ops.BSgate(np.round(newt[j][2],2),np.round(newt[j][3],2)) |(q[newt[j][0]],q[newt[j][1]])

    ops.MeasureFock() | q

from strawberryfields import LocalEngine

eng = sf.Engine("fock", backend_options={"cutoff_dim": 4})
"Check if circuit is working as desired"
eng.run(prog)
eng.print_applied()

from pytictoc import TicToc

t=TicToc()
t.tic()

sample_array = []  # Array to store the samples
"Type in How many samples you want to put"
num=1000
for _ in range(num):
    results = eng.run(prog)
    sample=results.samples
    sample_array.append(sample)  # Add the results to the array

t.toc()

sample_array = np.array(sample_array)

peeled_array = np.array(sample_array)[:, 0]

mean_count = np.mean(peeled_array.sum(axis=1))
"What is the mean photon number of the entire output?"
print(mean_count)

concatenated_array = np.concatenate(sample_array, axis=0)
"Postselect only those with 0 or 1"
filtered_array = [arr for arr in concatenated_array if all(elem in {0, 1} for elem in arr)]
"Postselect 4 dim subgraph"
postselected_array = [arr for arr in filtered_array if np.sum(arr) == 4]

for arr in postselected_array:
    print(arr)

"Count the number of answer samples to MaxHaf problem"
target_sequence = np.array([1, 1, 1, 1, 0, 0])
count = 0

for arr in postselected_array:
    if np.array_equal(arr, target_sequence):
        count += 1

print(count)

Tracebacks
No response
Additional information
I add information of Hafnian value of every 4 dimensional subgraph to my specific graph

Submatrix:

i)Perfect matching

ii) (prob)∝|HafA_s |^2

0123  (a case)

i) 3

ii) 9

xxx5  (10 cases)

i) 1

ii) 1

xxx4  (4 cases)

i) 0

ii) 0

Hey @minseok1999! Apologies for the delayed response. Can you distill your code down to something minimal that still reproduces the behaviour? It would help me greatly 😄

Thank you for considering my issue again! I have edited with the distilled source code as you requested.

@minseok1999 can you surround your code with three backticks? It will render it like this, which github will let me copy-paste.
# Code here

You can also get rid of the notebook block stuff (e.g., In[1]).

@minseok1999 can you surround your code with three backticks? It will render it like this, which github will let me copy-paste.
# Code here

You can also get rid of the notebook block stuff (e.g., In[1]).

I have removed notebook blocks and wrapped my code using backticks as you requested!

Awesome thanks!
It might be something to do with eng = sf.Engine("fock", backend_options={"cutoff_dim": 4}) — if the cutoff dimension is 4, then each Fock representation of the components has a cutoff of 4 (i.e., it supports only up to 3 photons). If throughout the process a mode needs to populate more than 3 photons, it can’t. Let us know if that helps!

Awesome thanks!
It might be something to do with eng = sf.Engine("fock", backend_options={"cutoff_dim": 4}) — if the cutoff dimension is 4, then each Fock representation of the components has a cutoff of 4 (i.e., it supports only up to 3 photons). If throughout the process a mode needs to populate more than 3 photons, it can’t. Let us know if that helps!

I have raised the cutoff dimension up to 5 and 6 and it clearly gave higher photon 'mean_count' (average photon number at the output port out of 1000 samples) as 1.46 and 1.54. This is better but clearly not good enough cause I have aimed my mean photon number at 4 when I decomposed my graph into experimental setup of beam splitters and single mode squeezed states. But the problem is, I cannot raise this cutoff dimension above 7 because of memory deficiency of my MacBook Air. Is there a way to reliably simulate 6 mode Gaussian Boson Sampling experiment without this memory issue other than the local Fock basis simulator? I know hafnian_sample_graph gives gaussian boson sampling pattern but what I want is to simulate this from the experimental setup of beam splitters so that I can simulate in the future how this sampling pattern is affected upon attaching some other components.

Is there a way to reliably simulate 6 mode Gaussian Boson Sampling experiment  ...

These demos are worth checking out:

https://strawberryfields.ai/photonics/apps/run_tutorial_sample.html
https://strawberryfields.ai/photonics/apps/run_tutorial_training.html

Let us know if those help you get anywhere!

Is there a way to reliably simulate 6 mode Gaussian Boson Sampling experiment  ...

These demos are worth checking out:

https://strawberryfields.ai/photonics/apps/run_tutorial_sample.html
https://strawberryfields.ai/photonics/apps/run_tutorial_training.html

Let us know if those help you get anywhere!

The first link you provided helped me with postselection stage after getting all the samples(tidier code than the one I wrote myself) but it didn't have much to do with full path optical simulation of Gaussian boson sampling(simulation done by writing out components manually and can be varied by attaching components myself) I am intending. And for the second one, I didn't scrutinize all the details yet but it looked like it was about some more sophisticated Gaussian boson sampling scheme of training the machine real time, which I don't need much at this stage.
I appreciate your advice though! If there is no such reliable simulator provided that is fit for me then I think I should build one myself or consider buying some gpu for more local kernel memory🙂


Optional Plugins [Discussion]

I’m thinking that config files will be able to to “include” another one. This would be the preferred way to handle optional plugins; they would be stored in a directory that would not by default get processed on editor startup, but a config file in a user-editable space can point to another one.

Source: http://google.github.io/xi-editor/docs/plugin.html
As I understand it, the community is opting to use system package managers to install, update, and manage plugins. If this is the case should it not be also left to the package manager to deal with optional plugins, as well as dependencies such as one plugin relying on another? Or rather the editor can check if an optional plugin is installed on the system, and load it only if that is the case.
My reasoning behind this is that it seems like it would be less than ideal to leave it to a plugin to "include" another plugin by any other means than listing it as a dependency in its own configuration file.

Good question.
That doc is slightly out of date, unfortunately, and the notion of what exactly an 'optional plugin' is isn't 100% clear.
We don't currently have a way of describing plugin dependencies. I think that your conclusion is correct, that the only way a plugin dependency should be described is in a plugin's manifest file.
The question of how ultimately we would like to manage plugins is not settled; for the time being plugins are managed manually, but that could change at some point.

My vote is for package management to be integrated into core.  Relying on distributors isn't a great UX & you run into issues with admin permissions in corporate environments.


1.19 Ability to display a small thumbnail chart or microchart in a cell in a grid

Existing functionality in <vaadin-grid>
Example code should be provided.
UI specs

Was done earlier, but now we have example. Closing.


Any license restrictions?

I really like the idea of this tool, but it would be important to know under which license it is running, in order to safely make it part of a workflow. Is it MIT? Currently, it seems like no license (https://choosealicense.com/no-license/) ..

No license restrictions, I'll push up an MIT license.


Port changes from upstream

This is going to a lot of pain, because the reason we've this fork is for 5.6 support. That forces us to symfony/process v3.4.36 max., which has a totally different API than the 4 and 5 packages.
I prefer not merging this and keep testing on 5.6 and deal with tests on 7.4 in another way.


message_edit: Correct unpleasant content shifts between edit and preview.

This PR offers some cleanup on the message_row.css file by putting all textarea-related styles behind the .message_content_edit class.
It removes any browser-default top margin from the textarea. Additionally, the PR makes minor adjustments to the padding and line-height of the .message_content_edit class to bring it in line both with the main compose box as well as the message-area edit preview.
Note that there are still discrepancies between the height of the textarea and preview area, as well as differences in bottom-margin with where the formatting buttons sit. Those will presumably be addressed and cleaned up as part of #28702.
CZO discussion
Screenshots and screen captures:

Before
After

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @karlstolley! Always nice to have changes like this that mostly delete/simplify CSS.


Add Antique / XP lamps / Certificates / other consumable rewards handling

It seems like a good idea to me to have a generic leaf for this, with settings in GUI to set how to handle them including a setting to stop script if detected to have any.

Yeah sounds like a good idea. User should be able to select which skill they go onto.
Might not really be required if we do not implement a quest scheduler.
Exit script if any consumables that are not bankable in inventory, probably? GUI alerts user that cannot start as consumable that cannot be banked is in the inventory.


test_wal_restore is flaky (differently)

https://neon-github-public-dev.s3.amazonaws.com/reports/main/9065715429/index.html#suites/7ac407ba57d143e0d2d17655a1a207c1/cb631b1e004c8b5c/
It seems that the segment file is missing when the script is run:

restore_from_wal.sh_19.stderr

dd if=000000010000000000000001 'of=/tmp/test_output/test_wal_restore[release-pg15]/pgsql.restored/pg_wal/000000010000000000000001' bs=4845786 count=1 conv=notrunc
dd: failed to open '000000010000000000000001': No such file or directory

Separate from #2057 which should just be closed.

restore_from_wal.sh copies "$DATA_DIR"/pg_wal/000000010000000000000001 into the current working directory and then removes the target file, so if several test instances (e. g. testing different pg_versions) run within the same working directory simultaneously, this can lead to the observed failure. Maybe it would make sense to copy the file into "$DATA_DIR", for example.

How it can happen that several test instances share the same working directory? It seems to me (may be I am wring) that for each test instance separate working directory is created. Otherwise how can be avoid colisions of logs and other files?

As far as I can see, ./test_output/ subdirectory for a test contains version id, e.g. "test_wal_restore[release-pg15]", so the same working directory can be used by several test instances targeting different versions with no issue (except for this one and alike).

Looking at the failed run logs closer, I can see:
The test_wal_restore test group:
#2 test_wal_restore[release-pg15] (failed)
2024-05-13 15:58:38.335 INFO [neon_fixtures.py:2735] Running command '/__w/neon/neon/libs/utils/scripts/restore_from_wal.sh /tmp/neon/pg_install/v15/bin /tmp/test_output/test_wal_restore[release-pg15]/repo/safekeepers/sk1/404dfca59d4c17cce13478c62185bd47/65a1cf5ff1a029aed468d728e4efb018 /tmp/test_output/test_wal_restore[release-pg15]/pgsql.restored 26646'
2024-05-13 15:58:38.335 INFO [utils.py:119] Capturing stdout to "restore_from_wal.sh_19.stdout" and stderr to "restore_from_wal.sh_19.stderr"
2024-05-13 15:58:39.271 INFO [neon_fixtures.py:929] Cleaning up all storage and compute nodes

(the failed script (restore_from_wal.sh) was running between 15:58:38.335 and 15:58:39.271)
and
#3 test_wal_restore_initdb[release-pg15] (successful)
2024-05-13 15:58:38.821 INFO [neon_fixtures.py:2735] Running command '/__w/neon/neon/libs/utils/scripts/restore_from_wal_initdb.sh /tmp/neon/pg_install/v15/bin /tmp/test_output/test_wal_restore_initdb[release-pg15]/repo/safekeepers/sk1/c6e883f2b10fd6837fcb2d03cf2d293b/e450ed8968868b1fdd1bde5c927adf31 /tmp/test_output/test_wal_restore_initdb[release-pg15]/pgsql.restored 18696'
2024-05-13 15:58:38.821 INFO [utils.py:119] Capturing stdout to "restore_from_wal_initdb.sh_42.stdout" and stderr to "restore_from_wal_initdb.sh_42.stderr"
2024-05-13 15:58:39.72  INFO [neon_fixtures.py:2735] Running command '/tmp/neon/pg_install/v15/bin/pg_ctl -w -D /tmp/test_output/test_wal_restore_initdb[release-pg15]/pgsql.restored -l /tmp/test_output/test_wal_restore_initdb[release-pg15]/pgsql.restored/pg.log start'

(the  script restore_from_wal_initdb.sh (which performs the same operations with<PHONE_NUMBER>00000000000001) was running between 15:58:38.821 and 15:58:39.72).
Thus, in that case the race condition occurred due to two distinct tests (both from test_wal_restore.py) were running simultaneously.


Error with dependencies with higher Swift tools version

The Setup
Let's assume I have a local setup with Swift version 5.0 and a remote framework that has a 1.1 release with a Package.swift that specifies a swift-tools-version ≤  5.0 and a 1.2 release with a swift-tools-version > 5.0.
The Issue
If I reference the framework from my local machine running Swift 5.0 using the upToNextMajor(from: "1.1") specification, it won't download the 1.2 release because the Swift version of that release is higher than the one run locally. Instead it will download the 1.1 release. That's fine.
Now I upgrade to Swift 5.1 on my local machine and perform the accio update command. This will cause the 1.2 release to be chosen.
Now, let's downgrade the local machine back to Swift 5.0. Performing accio update will now result in an error, because it finds the checked out 1.2 release with an incompatible swift-tools-version:

The Fix
Currently, the only fix is to delete the checkout manually. I propose that Accio should do this itself.
The Example
An example for this is https://github.com/onevcat/Kingfisher. It has a 5.7.1 release with a swift-tools-version of 4.2. and from then on, the swift-tools-version is 5.1.

Closing this, as Accio is now deprecated.


MRConnector doesn't refresh tikv hosts when a node is rotated in a cluster

It tries to connect to old tikv nodes even after tidb makes them "tombstone".  When running TiDBMRDemo , I see following errors
Feb 01, 2022 12:53:06 AM org.tikv.shade.io.grpc.internal.ManagedChannelImpl$NameResolverListener handleErrorInSyncContext
WARNING: [Channel<21>: (infra-tidb-tikv-shared-dev-0a030624.ec2.pin220.com:20160)] Failed to resolve name. status=Status{code=UNAVAILABLE, description=Unable to resolve host infra-tidb-tikv-shared-dev-0a030624.ec2.pin220.com, cause=java.lang.RuntimeException: java.net.UnknownHostException: infra-tidb-tikv-shared-dev-0a030624.ec2.pin220.com: Name or service not known
at org.tikv.shade.io.grpc.internal.DnsNameResolver.resolveAddresses(DnsNameResolver.java:223)
at org.tikv.shade.io.grpc.internal.DnsNameResolver.doResolve(DnsNameResolver.java:282)
at org.tikv.shade.io.grpc.internal.DnsNameResolver$Resolve.run(DnsNameResolver.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.UnknownHostException: infra-tidb-tikv-shared-dev-0a030624.ec2.pin220.com: Name or service not known
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)
at java.net.InetAddress.getAllByName0(InetAddress.java:1277)
at java.net.InetAddress.getAllByName(InetAddress.java:1193)
at java.net.InetAddress.getAllByName(InetAddress.java:1127)
at org.tikv.shade.io.grpc.internal.DnsNameResolver$JdkAddressResolver.resolveAddress(DnsNameResolver.java:631)
at org.tikv.shade.io.grpc.internal.DnsNameResolver.resolveAddresses(DnsNameResolver.java:219)
... 5 more
}
Feb 01, 2022 12:53:06 AM org.tikv.shade.io.grpc.internal.ManagedChannelImpl$NameResolverListener handleErrorInSyncContext
WARNING: [Channel<31>: (infra-tidb-tikv-shared-dev-0a031ba9.ec2.pin220.com:20160)] Failed to resolve name. status=Status{code=UNAVAILABLE, description=Unable to resolve host infra-tidb-tikv-shared-dev-0a031ba9.ec2.pin220.com, cause=java.lang.RuntimeException: java.net.UnknownHostException: infra-tidb-tikv-shared-dev-0a031ba9.ec2.pin220.com: Name or service not known
at org.tikv.shade.io.grpc.internal.DnsNameResolver.resolveAddresses(DnsNameResolver.java:223)
at org.tikv.shade.io.grpc.internal.DnsNameResolver.doResolve(DnsNameResolver.java:282)
at org.tikv.shade.io.grpc.internal.DnsNameResolver$Resolve.run(DnsNameResolver.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.UnknownHostException: infra-tidb-tikv-shared-dev-0a031ba9.ec2.pin220.com: Name or service not known
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)
at java.net.InetAddress.getAllByName0(InetAddress.java:1277)
at java.net.InetAddress.getAllByName(InetAddress.java:1193)
at java.net.InetAddress.getAllByName(InetAddress.java:1127)
at org.tikv.shade.io.grpc.internal.DnsNameResolver$JdkAddressResolver.resolveAddress(DnsNameResolver.java:631)
at org.tikv.shade.io.grpc.internal.DnsNameResolver.resolveAddresses(DnsNameResolver.java:219)
... 5 more
}

Steps to reproduce -

Replace one of the tikv nodes in the cluster
Run TiDbMapReduceDemo
Error logs show that job is still trying to connect to old node

Does it cause tasks to fail? We can't tell who is the caller of resolver from stack.

Do we have more logs about the failed task?


Autodoc & Links in the Code

In the tutorial, it states that links will be created to navigate around when autodoc is used to document code. I have set up conf.py and api.md for that but the only links that I'm getting are the ones in the navigation pane on the generated output.
Paul's web page on this course at says:

It's visually attractive. More than that, though...it's semantically rich: links to navigate around, styling for the structure, and more.

Yes, it's semantically rich, etc., but I see no links to navigate around in the code.
I have set up conf.py with the prerequisite extensions:
extensions = [
    "myst_parser",
    "sphinx.ext.autodoc",
    "sphinx.ext.napoleon",
    "sphinx_autodoc_typehints",
    "sphinx.ext.intersphinx",
]

And created api.md:
    # About `MyDemo`

    Let's take a look at this Python class.

    ```{eval-rst}
     .. autoclass:: my_demo.MyDemo
       :members:
     ```

     # About `MyClass`

     ```{eval-rst}
     .. autoclass:: my_demo.MyClass
        :members:
     ```

The Python file my_demo.py looks like this:
class MyDemo:
    """ A *great* demo """
    def __init__(self, name):
        self.name = name

    def hello(self):
        """ Be friendly """
        return f"Hello {self.name}"

class MyClass:
    """ A *great* demo """

    def __init__(self, name):
        self.name = name

    def hello(self, greeting: str) -> str:
        """ The canonical hello world example.

        A *longer* description with some **RST**.

        Args:
            name: The person to say hello to.
        Returns:
            str: The greeting
         """
        return f"{greeting} {self.name}"

The resultant HTML page looks like this but nothing in the code has links:

Is that correct? Or am I missing something?
Thanks
Michael

Oh I think you mean link targets, right? Not links within the code itself.

I should have been more specific and provided an example, such as Python's pathlib docs. In the docstrings there, you can link to other symbols and navigate around.
Your own code's symbols becomes roles which can be linked to as well. These behave in the semantically-rich way as other roles: short names, warnings if the target isn't found, can target HTML/PDF/etc.

I'll redo that comment when I can link to a better example.

autodoc can make sense out of docstrings and for example response values in a "semantically-rich" way. What do I mean by this? Instead of just strings like *my_demo.MyDemo* to point to a class with an italics, it inserts docutils nodes for the code reference and generates roles that can be link targets.
This results in styleable output across HTML/PDF/man/etc. targets. As the course showed, it also generates roles that can be linked to with all the link machinery.
But docstrings can also do these references (alas, RST only for now, though being worked on). And things like sphinx_autodoc_typehints can make links in parameters.
Here is a re-written my_demo.py that introduces a second class. In MyDemo, two changes: the docstring does a :py:meth:. Also, the method returns a Message.
Attached is a screenshot showing that this generates a link to the "role" for Message.
Here is a rewritten api.md api.md which switches from autoclass to automodule to get both of them.

Fantastic! Thanks for the updated example. That's brilliant!


Add parser::parse_text_with_source_file

This allows for a PR I'm going to make to cargo-make so that !include_files inside a Makefile.toml actually works + is relative to the Makefile.toml.

@coolreader18 thanks for the PR.
I'll merge and release a new version once the CI is done.
however, you are aware you have few solutions in cargo-make to do what you need

use script file

[tasks.duckscript_task]
script_runner = "duckscript"
script = { file = "./script.ds" }

This should make include files work for you in the script.ds to load a common file

use pre/main script parts.
So one task will hold all common duckscript functions/code for you while other tasks 'include' that script.
more on that here:
https://github.com/sagiegurari/cargo-make#script

[tasks.common-script]
script_runner = "duckscript"
script.pre = "echo hello from duckscript"

[tasks.actual-script]
extend = "common-script"
script.main = "echo hello again"


Rewrite some tests not use numpy_cupy_raises

Ready for #3098.

@toslunar PTAL.

Jenkins, test this please.

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

Jenkins, test this please.

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


Add a validation for RuboCop's own config/default.yml for supported styles other than EnforcedStyle

I added same validation to RuboCop::Config#validate_enforced_styles.
https://github.com/rubocop-hq/rubocop/blob/v0.68.0/lib/rubocop/config.rb#L545-L550

If accidentally typos committed,
--- a/config/default.yml
+++ b/config/default.yml
@@ -211,7 +211,7 @@ Layout/AccessModifierIndentation:
   StyleGuide: '#indent-public-private-protected'
   Enabled: true
   VersionAdded: '0.49'
-  EnforcedStyle: indent
+  EnforcedStyle: indenttttttttt
   SupportedStyles:
     - outdent
     - indent

CI will fail.
$ bundle exec rspec spec/project_spec.rb
Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}

Randomized with seed 2116
..F...............

Failures:

  1) RuboCop Project default configuration file has a SupportedStyles for all EnforcedStyle and EnforcedStyle is valid
     Failure/Error: raise errors.join("\n") unless errors.empty?

     RuntimeError:
       invalid EnforcedStyle 'indenttttttttt' for Layout/AccessModifierIndentation found
     # ./spec/project_spec.rb:56:in `block (3 levels) in <top (required)>'

Finished in 1.36 seconds (files took 1.28 seconds to load)
18 examples, 1 failure

Failed examples:

rspec ./spec/project_spec.rb:37 # RuboCop Project default configuration file has a SupportedStyles for all EnforcedStyle and EnforcedStyle is valid

Randomized with seed 2116

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Thanks!


How to connect a new amplify front end project to an existing back end

Hi,
Can someone give me a heads up to connect a new frontend app to existing amplify project backend?

Try to follow these steps to first recover, and then add a new backend Env if you want to.

amplify pull --appId <your-project-appId> --envName <your-existing-backend-env>
amplify init and select the existing backend env if prompted
Now your amplify folder structure is fully setup, they you can add new backend env byamplify env add

You can also take a look at documentation here: https://docs.amplify.aws/cli/usage/headless#amplify-pull-parameters

Thank you.


SourceTree cask install fails

I just tried to install the sourcetree cask, but it failed like so:
% brew cask install sourcetree
==> Caveats
Cask sourcetree installs files under "/usr/local".  The presence of such
files can cause warnings when running "brew doctor", which is considered
to be a bug in homebrew-cask.

==> Downloading https://downloads.atlassian.com/software/sourcetree/SourceTree_<IP_ADDRESS>.dmg
######################################################################## 100.0%
==> Symlinking App 'SourceTree.app' to '/Users/kwilliams/Applications/SourceTree.app'
==> Symlinking Binary 'stree' to '/usr/local/bin/stree'
==> ln: /usr/local/bin/stree: Permission denied
Error: Command failed to execute!

==> Failed command:
["/bin/ln", "-hfs", "--", "#<Pathname:/opt/homebrew-cask/Caskroom/sourcetree/<IP_ADDRESS>/SourceTree.app/Contents/Resources/stree>", "#<Pathname:/usr/local/bin/stree>"]

==> Output of failed command:

==> Exit status of failed command:
#<Process::Status: pid 19502 exit 1>

Looks like a permissions issue, does the installer need to run with higher privileges?
My version:
% brew --version
0.9.5 (git revision 407c6; last commit 2015-10-01)

https://github.com/caskroom/homebrew-cask/issues/7750

I'm not at this machine anymore and won't be again until Monday, but I do know I installed some non-brew packages, notably LaTeX stuff like MacTeX, and perhaps that screwed around with permissions on /usr/local.

Then check it out and don't forget to close this issue if you find out it's not homebrew-cask's fault.

Not a problem here, I'm on 10.11. Make sure you run brew doctor and fix permissions as it asks.
See: https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/El_Capitan_and_Homebrew.md

[~] > brew cask install sourcetree
==> Caveats
Cask sourcetree installs files under "/usr/local".  The presence of such
files can cause warnings when running "brew doctor", which is considered
to be a bug in homebrew-cask.

==> Downloading https://downloads.atlassian.com/software/sourcetree/SourceTree_2
######################################################################## 100.0%
==> Symlinking App 'SourceTree.app' to '/Applications/SourceTree.app'
==> Symlinking Binary 'stree' to '/usr/local/bin/stree'
🍺  sourcetree staged at '/opt/homebrew-cask/Caskroom/sourcetree/<IP_ADDRESS>' (2251 files, 113M)
[~] >

@adityadalal924 - I'm sure it's not sourcetree's fault, but I'm not sure where to direct blame.  Any suggestions for figuring out whether MacTeX is messing things up, without getting a fresh machine (which I don't have) & installing again?

Could you virtualize the the fresh machine?

@kenahoo Run brew doctor and check the output, you'll need to sudo chown -R $(whoami):admin /usr/local to fix permissions after upgrading (it'll tell you in the output)

I should clarify - I do know it's a permissions problem on directories in /usr/local, and how to fix it (I prefer doing sudo chown root:admin /usr/local/{bin,share,man,man/man1} and sudo chmod g+w /usr/local/{bin,share,man,man/man1}, because I don't want those directories owned by my personal user), but I don't know how they got their permissions changed.
My brew doctor now looks like this: https://gist.github.com/kenahoo/e5a39fe38ce627f3ac98 .
So I'm confident it's not sourcetree's fault, but I suspect it's some other package that's not playing well with homebrew - MacTeX comes to mind just because I did install it recently, using brew cask install mactex, which gave me /opt/homebrew-cask/Caskroom/mactex/20150613/mactex-20150613.pkg .  I'd like to figure out whether that's being naughty.

I ran a 'verify' on the MacTeX package (after fixing the permissions on a small handful of directories to make homebrew happy) and got some output:  https://gist.github.com/kenahoo/a0d2c48d60b1f22a0c70
So it seems confirmed that the mactex cask is messing up permissions for the rest of homebrew, right?  Should the cask try to clean up after itself after installing?

See https://www.tug.org/mactex/elcapitan.html
Looks like you may have to manually follow this once to upgrade your symlinks, but it shouldn't be a problem with a fresh install. See if brew uninstall mactex and then following the uninstall guide, and finally reinstalling fixes things. (It should, there's nothing in the cask which should cause a problem afaik)

I don't have El Capitan installed, I'm still on Yosemite.  Would any of this manifest on Yosemite?

@adityadalal924 When you say "there's nothing in the cask which should cause a problem" - what's that based on?  Unless I'm interpreting it wrong, it seems like the org.tug.mactex.texlive2015 bundle, which the mactex cask installs, makes some permissions changes that are incompatible with Homebrew.

According to this StackOverflow post that is not the case - only usr/local/texlive is touched by the installer (and your $PATH, it seems)

@kenahoo any update?
Regardless, it looks like if there any issues, it'd be with the mactex cask, not sourcetree cask - and I get no errors with a clean install of either formula, for what it's worth

No further reply and this seems to be have affected only one user, so closing.


Minor update to docs.

Qualify the behavior of fetch({reset: true}). Link doc on reset event to reset method.
P.S. I know index.html is served from the gh-pages branch, but could not find instruction on where to commit doc and looks like master is ahead of gh-pages. Also not sure whether HTML was being built from anything - doesn't look like it. Couldn't find instruction.

No worries, this PR is correct. We cherry-pick commits to the gh-pages branch when we're ready

Dear,   This  it what you like, you just have to take a look! Info here http://faspytrasla.creativecateringbydesign.org/e4kjcmac
Warmest, Alberto Martinez


Users can create list items

Reference: Dashbord Tile, #22
One of the actions on the List tile should be to add a list item. It should be one click to add, then the user should be able to start typing. Basically, there should be an empty item at the end of the list item preview which a user can just click on and start typing. In much the same way Google Keep works in its expanded view.
EDIT: The feel for this is to have each item in the list be editable. When you click on an item, it allows you to edit the text inline, instead of via a popup or other mechanism. At the end of the list, there will be an extra blank item that will allow you to add another item. As soon as a user begins typing in the blank item, a new blank item will appear below it. This should apply to the tile view and the full page view.

what do you mean by a user should associate with a list? like showing initial or picture? just FYI, we do not have any field that contains the first and last name of any user in Firestone.

The description was upadted with more detail.

this adding action should be in page view of the list or the list tiles section?

so the master branch does not have dashboard tiles. I was wondering to know when you will merge it?  If I want to work on the list in a new branch and make it from the master branch, I cannot?

so the master branch does not have dashboard tiles. I was wondering to know when you will merge it? If I want to work on the list in a new branch and make it from the master branch, I cannot?

This comment is not relevant to this ticket. If you need a branch to be merged, add a comment on the related PR. If a PR or another feature is blocking something, take another ticket that is not being blocked.

this adding action should be in page view of the list or the list tiles section?

It should be in both.

I added a pr for the user be able to view the full page list, and it is ready to be checked by you.


Skip not needed for account selection during initial wallet creation

Specs: https://xd.adobe.com/view/0aef8043-d951-4d0a-9a97-b7b2e16ffdbc-5fbc/screen/ef550d10-ee45-40fc-83de-14ddb7f1f900/


Missing Rate limiting repsonse Headers

Since 2024-08-12 13:30 UTC the API rate limiting response headers as described in the documentation are missing.
I know this issue is not related to this PHP SDK but to the whole MangoPay API, since I cannot get in touch with the technical service I hope to make someone aware of the problem.

The headers are back on production env, I close this issue


Update the issue template for bug reports to - add description, update title/labels

Related Issue/Addition to code

When someone, goes to make a issue, they will see the new description.
When someone goes to the page to file a bug, they will see the title, and can edit the text in between the () with their issue
Added the label bug so when they submit the code, it will auto add that label to the issue viewer/tracker

Type of change
Please delete options that are not relevant.

[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Proposed Changes

When someone, goes to make a issue, they will see the new description.
When someone goes to the page to file a bug, they will see the title, and can edit the text in between the () with their issue
Added the label bug so when they submit the code, it will auto add that label to the issue viewer/tracker

Thanks!


Install TimescaleDB with PostgreSQL 11 on Centos fails

OS: CentOS Linux release 7.6.1810
PostgreSQL version (output of postgres --version): [e.g. 11.2]

Context: Trying to install TimescaleDB on clean Centos 7 server, but fails when running the 'sudo timescale-db tune' step because 'pg_config' is not found, although it is clearly there and working.
Steps to reproduce the behavior:

Installing timescaleDB for PostgreSQL 11 as per official instructions on: https://docs.timescale.com/v1.2/getting-started/installation/rhel-centos/installation-yum
Installed PostgreSQL 11.2 OK.
Installed timescaleDB completed, i.e. sudo yum install -y timescaledb-postgresql-11
Tried to run: sudo timescaledb-tune
Got error: "exit: could not execute pg_config --version: exec: "pg_config": executable file not found in $PATH"
However, everything seems to be correct:

[usr]$ echo $PATH
/usr/pgsql-11/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/usr/.local/bin:/home/usr/bin
[usr]$ sudo timescaledb-tune
exit: could not execute pg_config --version: exec: "pg_config": executable file not found in $PATH
[usr]$ pg_config --version
PostgreSQL 11.2
[usr]$ pg_config
BINDIR = /usr/pgsql-11/bin
DOCDIR = /usr/pgsql-11/doc
HTMLDIR = /usr/pgsql-11/doc/html
INCLUDEDIR = /usr/pgsql-11/include
PKGINCLUDEDIR = /usr/pgsql-11/include
INCLUDEDIR-SERVER = /usr/pgsql-11/include/server
LIBDIR = /usr/pgsql-11/lib
PKGLIBDIR = /usr/pgsql-11/lib
LOCALEDIR = /usr/pgsql-11/share/locale
MANDIR = /usr/pgsql-11/share/man
SHAREDIR = /usr/pgsql-11/share
SYSCONFDIR = /etc/sysconfig/pgsql
PGXS = /usr/pgsql-11/lib/pgxs/src/makefiles/pgxs.mk
CONFIGURE = '--enable-rpath' '--prefix=/usr/pgsql-11' '--includedir=/usr/pgsql-11/include' '--mandir=/usr/pgsql-11/share/man' '--datadir=/usr/pgsql-11/share' '--with-icu' 'CLANG=/opt/rh/llvm-toolset-7/root/usr/bin/clang' 'LLVM_CONFIG=/usr/lib64/llvm5.0/bin/llvm-config' '--with-llvm' '--with-perl' '--with-python' '--with-tcl' '--with-tclconfig=/usr/lib64' '--with-openssl' '--with-pam' '--with-gssapi' '--with-includes=/usr/include' '--with-libraries=/usr/lib64' '--enable-nls' '--enable-dtrace' '--with-uuid=e2fs' '--with-libxml' '--with-libxslt' '--with-ldap' '--with-selinux' '--with-systemd' '--with-system-tzdata=/usr/share/zoneinfo' '--sysconfdir=/etc/sysconfig/pgsql' '--docdir=/usr/pgsql-11/doc' '--htmldir=/usr/pgsql-11/doc/html' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' 'LDFLAGS=-Wl,--as-needed' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
CC = gcc
CPPFLAGS = -D_GNU_SOURCE -I/usr/include/libxml2 -I/usr/include
CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic
CFLAGS_SL = -fPIC
LDFLAGS = -Wl,--as-needed -L/usr/lib64/llvm5.0/lib -L/usr/lib64 -Wl,--as-needed -Wl,-rpath,'/usr/pgsql-11/lib',--enable-new-dtags
LDFLAGS_EX =
LDFLAGS_SL =
LIBS = -lpgcommon -lpgport -lpthread -lselinux -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline -lrt -lcrypt -ldl -lm
VERSION = PostgreSQL 11.2
[usr]$

Hi @Sps-Ray , I transferred this issue to this repo. There are two potential solutions to your problem. One, you can try using the -E flag with sudo, which will preserve the env variables. It could be the case that sudo just doesn't have the folder in its path:
sudo -E timescaledb-tune

If that still doesn't work, you can provide the path to pg_config:
sudo timescaledb-tune --pg-config=/usr/pgsql-11/bin/pg_config

I will also investigate a bit to see if there is something we can do better on our side.

Many thanks for the answer. If it helps, I found this works:
sudo env "PATH=$PATH" timescaledb-tune
But this doesn't:
sudo -E timescaledb-tune

sudo timescaledb-tune --pg-config=/usr/pgsql-11/bin/pg_config


Clear instructions needed

It took me almost 15 minutes (mostly reading your tutorial) to figure out how exactly you were intending to run the development server. I highly recommend that you put a short, simple solution in your readme.

Well, I have spent a lot of hours getting to this point with the boilerplate, so compared to your 15 minutes I would still say that is still a success ;-) It would be really great if you created a pull request with the steps you took to get it working, I am not sure where it got confusing

Hey guys, noob here. It took a bit of time for me, but looks clear and understandable, more readme info would cut that down to 5 min :P Sorry for the stupid question, but can I replace the server.js with something like this and serve the front end "app" in the public folder?

@christianalfoni appreciate your efforts! It always amazes me how demanding users can be for FREE software.
And for the record, it was pretty straight forward to me :)

@mikeerickson Hehe, thanks for the support ;-)
@savovs That should be possible yes, though there are certain dependencies inside the current server.js files that needs to be included in the other thing there. Look at the two middlewares in server.js that points to webpack. Those needs to be there :)


Update README.md

Changes
To README.md:

[x] Adds cross compatibility by removing references to the MacOS Menu Bar
[x] Hyperlinks to the chrome://extensions/ page

Would I be able to get a quick review of this?
/CC @benhalpern

Missed this. Looks great

Awesome, thanks Ben! 💓


It seems it doesn't support Img tag now?

As title mentions, I have some image icon need to be shown in epub. It displays correctly in iBooks, but not when using this library.

Working solution
How to display image in Folio Reader using Epub

should be fixed now with v0.3.1


https://public.update.flatcar-linux.net/v1/update/ returns 404 error

I was wanting to update from coreos to flatcar, however the update server is returning a 404 error...

What did do the request to the server?
If you query it manually, a 404 is expected because you need to have a POST request with a correct payload.
If the error was encountered by update_engine, did you follow all the steps in https://docs.flatcar-linux.org/os/update-from-container-linux/? And could you paste the journalctl output showing the errors?

Ok, looking at the log, it isn't getting a 404 there, but it is failing to do an update, with the message that there is no update.:  (Log in reverse order -- newest lines on top)
Feb 14 14:26:39 localhost locksmithd[763]: LastCheckedTime=1581690399 Progress=0 CurrentOperation="UPDATE_STATUS_IDLE" NewVersion=0.0.0 NewSize=0
Feb 14 14:26:39 localhost update_engine[2980]: I0214 14:26:39.829949  2980 update_check_scheduler.cc:74] Next update check in 47m47s
Feb 14 14:26:39 localhost update_engine[2980]: I0214 14:26:39.829933  2980 update_attempter.cc:326] No update.
Feb 14 14:26:39 localhost update_engine[2980]: I0214 14:26:39.829911  2980 update_attempter.cc:290] Processing Done.
Feb 14 14:26:39 localhost update_engine[2980]: I0214 14:26:39.829905  2980 action_processor.cc:73] ActionProcessor::ActionComplete: finished last action of type OmahaResponseHandlerAction
Feb 14 14:26:39 localhost update_engine[2980]: I0214 14:26:39.829896  2980 action_processor.cc:68] ActionProcessor::ActionComplete: OmahaResponseHandlerAction action failed. Aborting processing.
Feb 14 14:26:39 localhost update_engine[2980]: I0214 14:26:39.829888  2980 omaha_response_handler_action.cc:36] There are no updates. Aborting.
Feb 14 14:26:39 localhost update_engine[2980]: I0214 14:26:39.829879  2980 action_processor.cc:82] ActionProcessor::ActionComplete: finished OmahaRequestAction, starting OmahaResponseHandlerAction
Feb 14 14:26:39 localhost update_engine[2980]: I0214 14:26:39.829860  2980 omaha_request_action.cc:386] No update.
Feb 14 14:26:39 localhost update_engine[2980]: I0214 14:26:39.829761  2980 omaha_request_action.cc:592] Omaha request response: <response protocol="3.0" server="nebraska"><daystart elapsed_seconds="0"></day>
Feb 14 14:26:39 localhost update_engine[2980]: I0214 14:26:39.829736  2980 libcurl_http_fetcher.cc:297] Transfer completed (200), 275 bytes downloaded
Feb 14 14:26:39 localhost update_engine[2980]: I0214 14:26:39.827845  2980 libcurl_http_fetcher.cc:240] HTTP response code: 200
Feb 14 14:26:38 localhost locksmithd[763]: LastCheckedTime=1581687837 Progress=0 CurrentOperation="UPDATE_STATUS_CHECKING_FOR_UPDATE" NewVersion=0.0.0 NewSize=0
Feb 14 14:26:38 localhost update_engine[2980]: I0214 14:26:37.983794  2980 libcurl_http_fetcher.cc:427] Setting up timeout source: 1 seconds.
Feb 14 14:26:38 localhost update_engine[2980]: I0214 14:26:37.983664  2980 libcurl_http_fetcher.cc:164] Setting up curl options for HTTPS
Feb 14 14:26:38 localhost update_engine[2980]: I0214 14:26:37.983606  2980 libcurl_http_fetcher.cc:48] Starting/Resuming transfer
Feb 14 14:26:38 localhost update_engine[2980]: </request>
Feb 14 14:26:38 localhost update_engine[2980]:     </app>
Feb 14 14:26:38 localhost update_engine[2980]:         <event eventtype="3" eventresult="2" previousversion=""></event>
Feb 14 14:26:38 localhost update_engine[2980]:         <updatecheck></updatecheck>
Feb 14 14:26:38 localhost update_engine[2980]:         <ping active="1"></ping>
Feb 14 14:26:38 localhost update_engine[2980]:     <app appid="{e96281a6-d1af-4bde-9a0a-97b76e56dc57}" version="2303.4.0" track="stable" bootid="{dbd8df8a-0855-480c-b380-ffba6e8825dc}" oem="" oemversion="" >
Feb 14 14:26:38 localhost update_engine[2980]:     <os version="Chateau" platform="CoreOS" sp="2303.4.0_x86_64"></os>
Feb 14 14:26:38 localhost update_engine[2980]: <request protocol="3.0" version="update_engine-0.4.10" updaterversion="update_engine-0.4.10" installsource="scheduler" ismachine="1">
Feb 14 14:26:38 localhost update_engine[2980]: I0214 14:26:37.983597  2980 omaha_request_action.cc:246] Request: <?xml version="1.0" encoding="UTF-8"?>
Feb 14 14:26:38 localhost update_engine[2980]: I0214 14:26:37.983587  2980 omaha_request_action.cc:245] Posting an Omaha request to https://public.update.flatcar-linux.net/v1/update/
Feb 14 14:26:38 localhost update_engine[2980]: I0214 14:26:37.983433  2980 action_processor.cc:36] ActionProcessor::StartProcessing: OmahaRequestAction
Feb 14 14:26:38 localhost update_engine[2980]: I0214 14:26:37.983404  2980 update_attempter.cc:626] Scheduling an action processor start.
Feb 14 14:26:38 localhost update_engine[2980]: I0214 14:26:37.983394  2980 update_attempter.cc:483] Already updated boot flags. Skipping.
Feb 14 14:26:38 localhost update_engine[2980]: I0214 14:26:37.983250  2980 omaha_request_params.cc:59] Current group set to stable
Feb 14 14:26:37 localhost update_engine[2980]: I0214 14:26:37.982950  2980 prefs.cc:51] certificate-report-to-send-download not present in /var/lib/update_engine/prefs
Feb 14 14:26:37 localhost update_engine[2980]: I0214 14:26:37.982893  2980 prefs.cc:51] certificate-report-to-send-update not present in /var/lib/update_engine/prefs

Here are the contents of the release file:
COREOS_RELEASE_VERSION=0.0.0
COREOS_RELEASE_BOARD=amd64-usr
COREOS_RELEASE_APPID={e96281a6-d1af-4bde-9a0a-97b76e56dc57}

I followed the instructions exactly on the page: https://docs.flatcar-linux.org/os/update-from-container-linux/

Your problem is that in the request it still sends the version 2303.4.0 instead of 0.0.0. So please make sure you have 0.0.0 in grep COREOS_RELEASE_VERSION /usr/share/coreos/release and also that you have restarted the service via sudo systemctl restart update-engine before running update_engine_client -update.

Thank you, somehow the mount --bind didn't take...  I redid the mount and was able to do the update.

Ok, sounds like the steps should be rather in the form of a script to reduce errors.

Having a script for the process would be really great... even better have it accessible via curl...

That's what I came up with, will try to publish it either in the docs or somewhere else.
#!/bin/bash
set -euo pipefail

sudo rm -f /tmp/key
curl -L -o /tmp/key https://raw.githubusercontent.com/flatcar-linux/coreos-overlay/flatcar-master/coreos-base/coreos-au-key/files/official-v2.pub.pem
sudo umount /usr/share/update_engine/update-payload-key.pub.pem || true
sudo mount --bind /tmp/key /usr/share/update_engine/update-payload-key.pub.pem
sudo sed -i "/SERVER=.*/d" /etc/coreos/update.conf
echo "SERVER=https://public.update.flatcar-linux.net/v1/update/" | sudo tee -a /etc/coreos/update.conf
sudo rm -f /tmp/release
sudo umount /usr/share/coreos/release || true
cp /usr/share/coreos/release /tmp/release
sed -E -i "s/(COREOS_RELEASE_VERSION=)(.*)/\10.0.0/" /tmp/release
sudo mount --bind /tmp/release /usr/share/coreos/release
sudo systemctl restart update-engine
update_engine_client -update
echo "Done, please reboot now"

The script is published here and can be downloaded:
https://docs.flatcar-linux.org/os/update-from-container-linux/#all-steps-in-one-script