Add helm templates for Alluxio HA tests

Added extra helm YAML templates for Alluxio high availability tests for UFS and Embedded journal.
Refactored existing templates with additional parameters.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5386/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5387/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5388/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5389/
Test FAILed.

Jenkins, ok to test.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5390/
Test FAILed.

Jenkins, ok to test.

Jenkins, ok to test.

Jenkins, ok to test.

Jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5406/
Test PASSed.

@jiacheliu3

Can we create folders for the different configurations instead (single-master,ha-embedded, ha-ufs) and not modify the yaml file names?
Modify integration/kubernetes/README.md, the section that has the helm template command can be replaced by a new script (maybe helm-generate.sh). Add all the commands you used to that script

Also, we don't need any new template files (alluxio-ha-master.yaml and alluxio-ha-configMap can be removed)

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5421/
Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5422/
Test FAILed.

Merged build finished. Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5423/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5424/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5442/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5463/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5482/
Test PASSed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5484/
Test FAILed.

Merged build finished. Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5485/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5494/
Test PASSed.


Add a module to each pipe

Add a module by pipe to be more flexible when importing a pipe.
Add Prettier
Add .editorconfig
Modify the doc

Coverage remained the same at 100.0% when pulling 20513e971b6d899660720cf0d7d2e7b63e2f201b on squelix:use_module_for_each_pipe into eaea4a529d37bdf716682c58798e1c1fa59b8f04 on fknop:master.

Up ? 😝
I would like to use this in our project.


Unknown flags should be pointed out

$ cargo build --lib --rlease --feature foo
Usage:
    cargo build [options]

This should say something along the lines of "invalid flag --rlease".

cc @BurntSushi, does docopt give us an easy way to do this?

Hmm, this is actually one of the few matching errors that docopt.rs tries to find. It should print in the error message:
extern crate docopt;

static USAGE: &'static str = "Usage: mycmd [-a]";

fn main() {
    let args = docopt::Docopt::new(USAGE)
                              .and_then(|d| d.parse())
                              .unwrap_or_else(|e| e.exit());
    println!("{:?}", args);
}

[andrew@Liger play] cargo build
[andrew@Liger play] ./target/scratch
-a => Switch(false)
[andrew@Liger play] ./target/scratch -a
-a => Switch(true)
[andrew@Liger play] ./target/scratch -b
Unknown flag: '-b'

Usage: mycmd [-a]

I looked around in the Cargo source, but I couldn't see any obvious places where the error gets diced up. Or maybe the error is dropped and only the usage is printed?

(Pie-in-the-sky extension: "did you mean --release?")

@huonw Issue added. :-)

Cargo's transformation of docopt errors happens here: https://github.com/rust-lang/cargo/blob/13f32f900b31d23a712df9b20ffe1814ac6f68d0/src/cargo/lib.rs#L212-L218.
It looks pretty fishy to me, so I'll look into it soon and see if we're just doing something wrong. Thanks anyway @BurntSushi!


Ensure version contains an operator when defined

Try to fix #5764
Maybe not the best as it simply revert one line to avoid the crash. I've added a test to validate the fix
I believe there might be a better fix by concatenating a "default operator" to _pipfile["version"] before calling the specifier constructor. I am just not sure of the intent of the whole function and which function should add this default operator.
Requirement.parse  function ?
You have probably more knowledge on this to see if a default operator make sense. At least, we have a base to fix
@matteius Let me know

All right, I kinda changed my though as I realized that get_version is called multiple time and that it was already handling ==X.Y.X "correctly when passed as parameter.
Reusing regex defined in another module to ensure we have something like an operator and defaulting to "==" if not.
@matteius What do you think ?

https://github.com/pypa/pipenv/actions/runs/5445922252/jobs/9906282101 => macOS 3.8 is red. Trying to see how I can fix it

@sebastien-coavoux Don't worry about that sporadic test failure, its unrelated to your change.

@sebastien-coavoux Please add a news fragment but I think it looks good -- will add @oz123 for review.

@matteius you mean update Changelog.rst right?

@matteius you mean update Changelog.rst right?

No, that is generated from news fragments which get deleted from the news file.   Go ahead and create a file in news 5765.bugfix.rst and with a brief description of the fix.

I ran `towncrier create 5765.bugfix -c 'TEXT`` to generate the file above, I think that's what you expected


Automatically add challengePassword to CSR attributes where POP is mandated

This enhancement would see the challengePassword attribute (1.2.840.1135<IP_ADDRESS>) automatically included within the mandated CSR attributes returned from /csrattrs where client demonstration of proof-of-possession (POP) is configured (est_pop).
It is noted that the addition of this attribute to the CSR attributes returned from /csrattrs is described (as mandatory behaviour) in RFC 8951.
This would require the addition of this attribute to the attributes array in the module configuration and the update of cache of DER-encoded CSR attributes which is returned in response to the /csrattrs end-point request.

Implemented in commit e7b2796


Update how-to-scale-assessment.md

#75 - corrected spelling of "Servers". It was missing an "r"

@dbranscome : Thanks for your contribution! The author, @rayne-wiselman, has been notified to review your proposed change.

Thanks! #sign-off


Need a new Datatype to store ''domain path'' value for JavaScript SDK

Problem Details
I was studying the NBA TopShot market transactions and try to implement on JavaScript SDK. But there in a transaction code they used transaction(receiverPath: PublicPath) . When I tried to implement it on JavaScript SDK using FCL but there was not any datatype to store the value like \public\collection. But there's a dedicated datatype for "path domain" value in goLang SDK. e.g. myPublicPath := cadence.Path{Domain: "public", Identifier: "myNewGoPath"}
Issue To Be Solved
So, we also need a new Datatype to store ''domain path'' value for JavaScript SDK.

Hey @Meharab , thank you for opening this issue! 😄
I'm happy to report that we have released<EMAIL_ADDRESS>and<EMAIL_ADDRESS>, which now include support for the Path argument.
You can check out how to use the Path argument here: https://github.com/onflow/fcl-js/blob/master/packages/types/README.md#path
Happy building!


Footer not stuck at bottom

Should use min-height css property for different devices.

Looked into this, but did not seem to work. Will look more into this later.


failing TestFileWatcher

Running make test gives:
=== RUN   TestFileWatcher
--- FAIL: TestFileWatcher (0.66s)
	file_watcher_test.go:58: expected no events before writing a file
FAIL

cc @nicksardo @aledbf
Do we run unit tests on all PRs, the way we do in core repo?

@nikhiljindal yes https://github.com/kubernetes/ingress/blob/master/.travis.yml#L32


About page

Added the about page
Also fixed up issues with the logo (it is now horizontally orientated)
Also adjusted the header of the main window to properly fit the new logo

Looks good to me.


npm run test:unit fails on new project.

Version
3.0.0-beta.15
Reproduction link
https://gitlab.com/kjell/vuecli
Steps to reproduce
Run ui. Create a project. choose feature unit testing and jest.
The result of this process is pushed to the repo https://gitlab.com/kjell/vuecli
To reproduce
  git clone https://gitlab.com/kjell/vuecli.git
  cd vuecli/
  npm install --dev
  npm run test:unit

What is expected?
Expect test to pass
What is actually happening?
I get the following error:
Jest encountered an unexpected token
...
Details:
test_cli/tests/unit/HelloWorld.spec.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import { shallowMount } from '@vue/test-utils'
                                                                                ^^^^^^

    SyntaxError: Unexpected token import

I have tested this with beta 15 and beta 16.
Tested on Ubuntu, node v8.11.1

Try clearing your npm or yarn cache ad we've seen similar cache related issues before.

Thank you.
I am pretty sure I not removed babel on purpose and that Babel was checked in the new project wizard. I tried again now, creating new project. Making sure Jest and babel was chosen, and the same error occurs.
I saved as a preset. Is there any way to export this preset?

Hmm, ok so my commit fixed the issue when Babel was not selected, but it seems you actually wanted Babel.
So it looks more like a problem of creating the project through UI is unintentionally dropping the Babel plugin. That looks like something similar to #1479. /cc @Akryum

I'm received a similar error on and off since -beta.14. I just got it with -rc.1. (below).
The workaround I found here works for me: https://github.com/facebook/jest/issues/3202#issuecomment-312386525 - delete jest* from your temp dir.
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import "core-js/modules/es6
.promise";
                                                                                ^^^^^^

    SyntaxError: Unexpected token import

      at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:402:17)


Implements a macro to automatically derive ToBytes and FromBytes for enums

Motivation
Implementing ToBytes and FromBytes for enums requires hard-coded constants for enum tags.
This is hard to maintain as enum variants are introduced or removed.
This PR introduces two proc macros that derive the implementations for enums.
Test Plan
Tests in bytecode verifying that instructions are given the correct tags.

Keep the derive refactor as this is valuable.
Let's remove the bytecode example of the enum_bytes stuff, and we can get this PR merged in first, since the proc_macro clean up is useful.
I'm hesitant to introduce more proc_macros of this complexity at this stage, and we should consider alternative options or off the shelf solutions instead.

Sounds good.
Will remove this PR and introduce a new one with just the derive refactor.


alias_method_chain is deprecated

With Rails 5 and Ruby 2.3 I'm getting the following warning
DEPRECATION WARNING: alias_method_chain is deprecated. Please, use Module#prepend instead. From module, you can access the original method using super.

Pull request to fix: https://github.com/softace/utf8_enforcer_workaround/pull/5

Thanks, merged.


Single node resurrection

Hi,
I am playing with flynn in order to better understand it.
So after a few days of testing I decided to reboot the node (I have a single node setup) and see if I am able to resurrect it.
After reboot flynn-host did not start on its own and I had to start it manually.
Thing is that flynn-host ps returns: ..<IP_ADDRESS>:1111: connection refused.. (I can provide debug gist url if needed)
According to some issues I read, this feature should work. The node should come up on its own without human intervention.
I can't find any sort of documentation in regards to cluster restoration or maybe a recovery procedure.
Is there something documented for this scenario?
And let's assume I had 3 nodes setup but all 3 went down at the same time. Will the cluster be able to recover?

@ClaudiuPID have you uncommented the appropriate line in /etc/init.d/flynn-host.conf ?

Thanks, that started flynn-host automatically but it did not resurrect the entire server.
It is stuck at discovered and I have nothing listening on port 1111, hence flynn-host ps is not working.
15:30:59.490072 host.go:130: could not list hosts: Get http://<IP_ADDRESS>:1111/services/flynn-host/instances: dial tcp <IP_ADDRESS>:1111: connection refused


DCR: BotFrameworkAdapter.continueConversation() and createConversation() should create 'event' activities.

Currently BotFrameworkAdapter.continueConversation() mocks up an activity of type message and BotFrameworkAdapter.createConversation() mocks up an activity of type conversationUpdate.  I'd argue that both of these are somewhat dangerous as they can easily trigger unexpected behavior in the bot and it might be safer to mock up an 'event' activity of some sort instead.
The potential issue with message is that it could cause the bot to call a service like LUIS unnecessarily or even worse it could cause a logger to log that the user sent a message with empty text when it was actually the bot initiating the flow.
For conversationUpdate the issue is it could cause a GreetingMiddleware to send an extra greeting to the user which on the surface doesn't sound too bad but what if the bot developer doesn't want this extra greeting?  The middleware has no way of telling if the conversationUpdate was generated because the user started a conversation with the bot versus the bot starting the conversation with the user so filtering to only sending a greeting when the user starts the conversation with the bot could be impossible.  In fact the GreetingMiddleware could actually intercept the conversationUpdate activity such that the bots logic doesn't event run.
By switching to an event activity that has a name of either continueConversation or createConversation the bots middleware can clearly identify the context in which its being run and there's no accidental running of unexpected behavior.  In the GreetingMiddleware case a bot developer can now configure the middleware to respond to just one or even both scenarios since they're still well know activity types.

Wow, strange timing because yesterday afternoon I started writing an issue that I was tentatively titling DCR: Rethinking the "proactive" messaging endpoint in integration libraries which dovetails almost perfectly with this. Specifically, after working side by side with @ovishesh and seeing him try to port a "real world" scenario from V3 to V4, I realized that the endpoint that the integration libraries expose for what has been called "proactive" messaging is really supposed to be an endpoint for posting event activities. Right now it only takes a ConversationReference which, on its own, doesn't really get you anwhere because you can't submit an additional payload representing your custom event, so I was going to talk to you guys about changing that endpoint to expect an event activity instead.

Done.


Center view to mouse cursor

Shortcut to center the view in the mouse cursor, so when we are sketching a diagram or something like it, it is not so troublesome to keep scrolling the view everytime.
Centering it will make the whole task more productive
EDIT: I could try to implement this myself, but I would need some guidance. If you can point me a direction, I would love to help!

Implemented in https://github.com/mbrlabs/Lorien/commit/15ab093663946640de6861d7854028e404331287 (not released yet). The shortcut is C.


[HUDI-6199] Fix deletes with custom payload implementation

Change Logs
Delete operation in custom payload after RFC-46: while looking into a 0.13.1 release blocker, I found that custom payload implementation like AWS DMS payload and Debezium payload are not properly migrated to the new APIs introduced by RFC-46, causing the delete operation to fail.  Our tests did not catch this.
It is currently assumed that delete records are marked by "_hoodie_is_deleted"; however, custom CDC payloads use op field to mark deletes.
This PR fixes the issue by adding a new API isDeleteRecord(GenericRecord genericRecord) in BaseAvroPayload to allow the payload to implement custom logic to indicate if a record is a delete record.
Impact
Fixes the failure when the custom payload uses another field to identify deletes.
Risk level
low
Documentation Update
Need to update 0.13.0 release notes to indicate the regression.
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

CI is green.


Document the article.hosting AWS infrastructure

Prepare the documentation for article.hosting infrastructure

The documentation can be found on the Wiki page of article-hosting-infrastructure repo: https://github.com/hivereview/article-hosting-infrastructure/wiki


Cargo.lock is modified after running cargo package

Problem
When using a Cargo.lock generated by 1.24.1, running cargo package modifies Cargo.lock and then fails without packaging anything.  It's unexpected for cargo to modify any version-controlled file, and then to fail when the file has not been modified by the user.  If the file is well-formed and semantically meaningful, it should be accepted without change by cargo package.  If it is not, cargo should abort without modifying the file.
My projects have a strict version compatibility requirement so Cargo.lock is built with an appropriate version of the Rust toolchain.    Because there's no way to explicitly pin packages to minimum versions or to force versions of packages that work with a specific Rust version, the building of Cargo.lock has to be done with an older version of the toolchain and hand-editing, so using a newer version of cargo to generate the file isn't a possibility here.
Steps

git clone https://github.com/bk2204/muter
cd muter
cargo package
git diff

Possible Solution(s)
Avoid adding the generated header unless the Cargo.lock is intentionally regenerated or is missing.
Notes
Output of cargo version:
cargo 1.45.1 (f242df6ed 2020-07-22)
This is with Rust 1.45.2 stable as a toolchain.

Can you elaborate on how you ended up pind to a version from 2.5 years ago?

Sure.  I have for many years supported certain Linux distros and their toolchains for a defined period.  This policy has been in place for longer than Rust has been around.  1.24.1 is the version in Debian stretch, and therefore I supported it until Debian buster had been released for a year.  I now support 1.34.2 and will until Debian bullseye has been released for a year.
I realize that this is not Rust upstream's preferred support policy, but I value compatibility with major Linux distros, especially Debian.

With the existence of --locked, I'm taking it there isn't anything more to do for this and am closing it.  If there is something I missed, let us know!


Implementation ABAQUS inp format input/output

Enable ABAQUS inp files' input and output.

Only mesh information (*Node and *Element) are considered
Pytest passed

Great contribution!
Since recently, meshio uses black, which is what the tests are complaining about at the moment. Simply run
black meshio/ test/*.py

to have your files reformatted accordingly. If you want you can try
make lint

to see that it worked.

I am sorry I cannot find where README.md wrong. Thanks for your modification

As I had thought, the line breaks were converted to Windows line breaks. Fixed that now.


Add methods Set account mode, Set auto loan

Summary

Add "Set account mode" request https://www.okx.com/docs-v5/en/#trading-account-rest-api-set-account-mode
Add "Set auto loan" request https://www.okx.com/docs-v5/en/#trading-account-rest-api-set-auto-loan

@tiagosiebler thanks for the feedback, fixed 👍


Inconsistent missing values

This is probably a minor issue related to round-trip consistency, but it seems that depending on which format is used to store the data, the missing values are encoded differently. Consider the following:
from subprocess import run

from pandas import read_csv, read_parquet

test_csv_out = "_test.csv"

_ = run(
    [
        "python3",
        "cli.py",
        "load-rdf",
        "--file",
        "dat/tiny.ttl",
        "--save-csv",
        test_csv_out,
    ]
)

test_pqt_out = "_test.pqt"

_ = run(
    [
        "python3",
        "cli.py",
        "load-rdf",
        "--file",
        "dat/tiny.ttl",
        "--save-parq",
        test_pqt_out,
    ]
)

df_csv = read_csv(test_csv_out)
df_pqt = read_parquet(test_pqt_out)
print(df_csv["labels"])
print(df_pqt["labels"])

This prints:
0   NaN
1   NaN
2   NaN
3   NaN
4   NaN
5   NaN
Name: labels, dtype: float64
0
1    None
2
3
4
5
Name: labels, dtype: object

So the CSV version has consistent NaN values, while the parquet version has blanks and None. Having consistent missing values might be useful for downstream operations.

Here's a screenshot of item-to-item comparisons

Definitely, this gets even more complicated by how some of the popular data tools handle missing values:

JSON on C++ uses null instead of ""
Pandas csv methods serialize as NaN where the Python code uses None
PyArrow Parquet serializes a "" or None the same as Python does

We need to be able to handle whatever input these libraries and frameworks throw at us :) However, at the same time we need the pynock library output to be consistent.
My hunch is we need to replace the use of pandas CSV handler in the pynock output.
Also, we need to wrap this edge case into an additional pytest unit test.

FWIW, I'm leaning toward using the C++ JSON library convention of an explicit null to represent a missing value.
Pandas and Excel make other assumptions, although these can become confusing.

My hunch is we need to replace the use of pandas CSV handler in the pynock output.

Not sure if this is a good idea, but given pandas' popularity, it might be better to actually use pandas as a common denominator, so this way we'd store the results with their .to_parquet method.

LOL :) That's how we got into this situation!
Yes, the popularity of pandas is good, although it's become one of the sources of "less consistency" in data management. Also, their approach to reading/writing Parquet via DataFrame objects can impose substantial bottlenecks at scale.
Instead, we must focus on the C++ low-level support for Parquet read/write with very clear semantics about the schema required. Then use of Spark for ETL becomes more of a common denominator – certainly for data at scale – with one small but important nuance: where Spark jobs are using the RDD level of abstraction, not Spark SQL.
With that in place, we can use this library as a way to bridge into whatever Excel, pandas, SQL Server, SAP, Kafka, PyG, etc., might throw at us :)

Re-running the code in the original snippet now gives the following:
parse rows ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
parse rows ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
0   NaN
1   NaN
2   NaN
3   NaN
4   NaN
5   NaN
6   NaN
7   NaN
8   NaN
Name: labels, dtype: float64
0
1    None
2    None
3    None
4    None
5
6
7
8
Name: labels, dtype: object

The good news is that compared to the earlier screenshot, the differences are only in the columns: labels and props.
Screenshot 2022-10-06 at 13.05.01.pdf

This issue on pandas https://github.com/pandas-dev/pandas/issues/10205 discusses how NaN is used to denote a missing value for a string column. Some of the semantics for pandas leave much to be desired :)

Ok, got it, this is a pandas.read_csv issue for NA.

A quick workaround for pandas, which is getting added to our FORMAT.md notes is:

When using pandas to read Parquet files in NOCK format, to avoid having NaN substituted automatically for empty strings, use the use_nullable_dtypes = True setting:

df_parq = pd.read_parquet(
    "dat/tiny.parq",
    use_nullable_dtypes = True,
)

Similarly, when using pandas to read CSV files in NOCK format, use the DataFrame.fillna("") filter:

df_csv = pd.read_csv(
    "dat/tiny.csv",
).fillna("")

The results are still not quite the same:
from subprocess import run

from pandas import read_csv, read_parquet

test_csv_out = "_test.csv"

_ = run(
    [
        "python3",
        "cli.py",
        "load-rdf",
        "--file",
        "dat/tiny.ttl",
        "--save-csv",
        test_csv_out,
    ]
)

test_pqt_out = "_test.pqt"

_ = run(
    [
        "python3",
        "cli.py",
        "load-rdf",
        "--file",
        "dat/tiny.ttl",
        "--save-parq",
        test_pqt_out,
    ]
)

df_csv = read_csv(test_csv_out).fillna("")
df_pqt = read_parquet(test_pqt_out,  use_nullable_dtypes = True)
print(df_csv["labels"])
print(df_pqt["labels"])

# parse rows ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# parse rows ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# Name: labels, dtype: object
# 0
# 1    <NA>
# 2    <NA>
# 3    <NA>
# 4    <NA>
# 5
# 6
# 7
# 8
# Name: labels, dtype: string

So, the <NA> is still there in the dataframe obtained via read_parquet(..., use_nullable_dtypes = True). I guess, if we are doing .fillna(""), we can apply it also to the parquet dataframe, though it feels a bit hacky. However, in terms of priorities this is likely not very high, so I'm happy to use .fillna workaround for now.

Also, as a small side note: assert len(df_csv.compare(df_parq)) == 0 passes, so that <NA> is treated as an empty string for comparison purposes... not what I expected initially, but I guess it also makes sense.

Yes, the DataFrame.compare() function considers it as an empty string, although adding a fillna("") to the read_parquet() call also resolves this.
To view a comparison, the unit test will show this now with:
python3 -m pytest -rP tests/test_pandas.py

Just read above, we reached the same conclusion :)  A bit hacky, but workable.
Reading the pandas docs, this seems like a part of their API which is WIP, due to Arrow/Parquet evolving fast still.


feat: Add universe domain support for Java

This adds a setUniverseDomain() method for the Publisher and Subscriber class so that users can easily set the universe domain, instead of having to create a StubSettings object. Additionally, this sets the default endpoint in the Publisher/Subscriber builders to null, which will still resolve to the default endpoint.
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[ ] Appropriate docs were updated (if necessary)

Fixes: N/A ☕
If you write sample code, please follow the samples format.

Thanks! I think the change LGTM from my end. Were you able test this locally and connect properly?

Yes, I was able to successfully publish and subscribe when setting the universeDomain in modified versions of PublisherExample and SubscribeAsyncExample.


"Import could not be resolved" for local packages and modules

Environment data

VS Code version: 1.69.0
Jupyter Extension version (available under the Extensions sidebar): v2022.6.1001902341
Python Extension version (available under the Extensions sidebar): v2022.10.0
OS and version: Windows 11 (build 22621.160)
Python and/or Anaconda version: 3.10.5
Type of virtual environment used: conda
Jupyter server running: Local

Expected behaviour
To recognize local packages and modules (as in python scripts)
Actual behaviour
highlighting local imports with a wavy underline with the message: Import "mypackage" could not be resolved

Note: in the provided screenshot, it is clear that this is a problem with the notebook, not the python extension in general.
Steps to reproduce:

Create a python package or module
Create a jupyter notebook (.ipynb file)
Import created package at step 1 in the notebook

Logs

Visual Studio Code (1.69.0, undefined, desktop)
Jupyter Extension Version: 2022.6.1001902341.
Python Extension Version: 2022.10.0.
Workspace folder d:\projects\bugs
info 17:35:35.353: ZMQ install verified.
User belongs to experiment group 'jupyterTest'
User belongs to experiment group 'jupyterEnhancedDataViewer'
info 17:35:35.656: LSP Notebooks experiment is enabled
info 17:35:36.487: Experiment status for python is {"enabled":true,"optInto":[],"optOutFrom":[]}
info 17:35:36.539: Preferred Remote kernel for d:\projects\bugs\notebook.ipynb is undefined
info 17:35:36.539: Find preferred kernel for d:\projects\bugs\notebook.ipynb with metadata {"orig_nbformat":4,"language_info":{"name":"python"}} & preferred interpreter c:\Users\dariush\miniforge3\envs\myenv\python.exe
info 17:35:36.542: Preferred Remote kernel for d:\projects\bugs\notebook.ipynb is undefined
info 17:35:36.542: Preferred kernel .jvsc74a57bd0ff0a4987fe7a5516b553766a9217bc68eb8628ec85781c7ad0909113903e0020.c:\Users\dariush\miniforge3\envs\myenv\python.exe.c:\Users\dariush\miniforge3\envs\myenv\python.exe.-m#ipykernel_launcher is exact match
info 17:35:36.543: PreferredConnection: .jvsc74a57bd0ff0a4987fe7a5516b553766a9217bc68eb8628ec85781c7ad0909113903e0020.c:\Users\dariush\miniforge3\envs\myenv\python.exe.c:\Users\dariush\miniforge3\envs\myenv\python.exe.-m#ipykernel_launcher found for NotebookDocument: d:\projects\bugs\notebook.ipynb
info 17:35:36.550: Process Execution: > ~\miniforge3\envs\myenv\python.exe -m pip list
> ~\miniforge3\envs\myenv\python.exe -m pip list
info 17:35:37.442: Preferred Remote kernel for d:\projects\bugs\notebook.ipynb is undefined
info 17:35:37.442: Find preferred kernel for d:\projects\bugs\notebook.ipynb with metadata {"orig_nbformat":4,"language_info":{"name":"python"}} & preferred interpreter c:\Users\dariush\miniforge3\envs\myenv\python.exe
info 17:35:37.444: Preferred Remote kernel for d:\projects\bugs\notebook.ipynb is undefined
info 17:35:37.444: Preferred kernel .jvsc74a57bd0ff0a4987fe7a5516b553766a9217bc68eb8628ec85781c7ad0909113903e0020.c:\Users\dariush\miniforge3\envs\myenv\python.exe.c:\Users\dariush\miniforge3\envs\myenv\python.exe.-m#ipykernel_launcher is exact match
info 17:35:37.445: Preferred Remote kernel for d:\projects\bugs\notebook.ipynb is undefined
info 17:35:40.994: Starting Jupyter Session id = 'startUsingPythonInterpreter:.jvsc74a57bd0ff0a4987fe7a5516b553766a9217bc68eb8628ec85781c7ad0909113903e0020.c:\Users\dariush\miniforge3\envs\myenv\python.exe.c:\Users\dariush\miniforge3\envs\myenv\python.exe.-m#ipykernel_launcher' (Python Path: c:\Users\dariush\miniforge3\envs\myenv, EnvType: Conda, EnvName: 'myenv', Version: 3.10.5) for 'd:\projects\bugs\notebook.ipynb' (disableUI=true)
info 17:35:40.995: Creating raw notebook for resource 'd:\projects\bugs\notebook.ipynb'
info 17:35:40.995: Computing working directory for resource 'd:\projects\bugs\notebook.ipynb'
info 17:35:41.20: Starting raw kernel 'myenv (Python 3.10.5)' for interpreter c:\Users\dariush\miniforge3\envs\myenv\python.exe
info 17:35:41.61: Kernel launching with ports 9000,9001,9002,9003,9004. Start port is 9000
info 17:35:41.66: Process Execution: > ~\miniforge3\envs\myenv\python.exe -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
> ~\miniforge3\envs\myenv\python.exe -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
info 17:35:41.99: Creating daemon process for c:\Users\dariush\miniforge3\envs\myenv\python.exe with env variables count 64
info 17:35:41.103: Process Execution: > ~\miniforge3\envs\myenv\python.exe -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_interrupt_daemon -v --ppid 16040
> ~\miniforge3\envs\myenv\python.exe -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_interrupt_daemon -v --ppid 16040
info 17:35:41.338: get interrupthandle daemon
info 17:35:41.343: Process Execution: > ~\miniforge3\envs\myenv\python.exe -m ipykernel_launcher --ip=<IP_ADDRESS> --stdin=9003 --control=9001 --hb=9000 --Session.signature_scheme="hmac-sha256" --Session.key=b"2a6cd56c-256f-4a88-b3b0-685a4b488b87" --shell=9002 --transport="tcp" --iopub=9004 --f=c:\Users\dariush\AppData\Roaming\jupyter\runtime\kernel-v2-16040HnxfnN5XtDwc.json
> ~\miniforge3\envs\myenv\python.exe -m ipykernel_launcher --ip=<IP_ADDRESS> --stdin=9003 --control=9001 --hb=9000 --Session.signature_scheme="hmac-sha256" --Session.key=b"2a6cd56c-256f-4a88-b3b0-685a4b488b87" --shell=9002 --transport="tcp" --iopub=9004 --f=c:\Users\dariush\AppData\Roaming\jupyter\runtime\kernel-v2-16040HnxfnN5XtDwc.json
info 17:35:41.343: Process Execution: cwd: d:\projects\bugs
cwd: d:\projects\bugs
info 17:35:41.610: ipykernel version 6.15.0 for c:\Users\dariush\miniforge3\envs\myenv\python.exe
info 17:35:41.610: ipykernel location ~\miniforge3\envs\myenv\lib\site-packages\ipykernel\__init__.py for c:\Users\dariush\miniforge3\envs\myenv\python.exe
warn 17:35:42.777: StdErr from Kernel Process c:\Users\dariush\miniforge3\envs\myenv\lib\site-packages\traitlets\traitlets.py:2392: FutureWarning: Supporting extra quotes around strings is deprecated in traitlets 5.0. You can use 'hmac-sha256' instead of '"hmac-sha256"' if you require traitlets >=5.
  warn(

warn 17:35:42.777: StdErr from Kernel Process c:\Users\dariush\miniforge3\envs\myenv\lib\site-packages\traitlets\traitlets.py:2346: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0. Use '2a6cd56c-256f-4a88-b3b0-685a4b488b87' instead of 'b"2a6cd56c-256f-4a88-b3b0-685a4b488b87"'.
  warn(

info 17:35:42.864: Kernel Output: NOTE: When using the `ipython kernel` entry point, Ctrl-C will not work.

To exit, you will have to explicitly quit this process, by either sending
"quit" from a client, or using Ctrl-\ in UNIX-like environments.

To read more about this, see https://github.com/ipython/ipython/issues/2049

To connect another client to this kernel, use:
    --existing c:\Users\dariush\AppData\Roaming\jupyter\runtime\kernel-v2-16040HnxfnN5XtDwc.json

info 17:35:43.32: Started kernel myenv (Python 3.10.5)., (Raw session started and connected)
info 17:35:43.33: Finished connecting 77698eb3-0340-4306-ac43-d152a89a6550
info 17:35:43.34: UpdateWorkingDirectoryAndPath in Kernel
info 17:35:43.34: Executing silently Code (idle) = import os\nimport sys\n%cd "d:\projects\bugs"\nif os.getcwd() not in sys.path:\nsys.path.insert(0, o
info 17:35:43.69: Executing silently Code (completed) = import os\nimport sys\n%cd "d:\projects\bugs"\nif os.getcwd() not in sys.path:\nsys.path.insert(0, o with 1 output(s)
info 17:35:43.70: Executing silently Code (idle) = %load_ext autoreload\n%autoreload 2
info 17:35:43.117: Executing silently Code (completed) = %load_ext autoreload\n%autoreload 2 with 0 output(s)
info 17:35:43.117: Waiting for idle on (kernel): 2a7a7fd3-80b4-4a4b-8d8f-ff52ad2d8184 -> idle
info 17:35:43.117: Finished waiting for idle on (kernel): 2a7a7fd3-80b4-4a4b-8d8f-ff52ad2d8184 -> idle
info 17:35:43.127: Widget Message: Received IPyWidgets_kernelOptions in ScriptManager
info 17:35:43.127: Widget Message: Received IPyWidgetMessages.IPyWidgets_kernelOptions
error 17:35:43.134: Failed to get baseUrl [Error: ENOENT: no such file or directory, lstat 'c:\Users\dariush\miniforge3\envs\myenv\share\jupyter\nbextensions'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'lstat',
  path: 'c:\\Users\\dariush\\miniforge3\\envs\\myenv\\share\\jupyter\\nbextensions'
}
info 17:36:16.46: Execute Cell 0 d:\projects\bugs\notebook.ipynb
info 17:36:16.132: Cell 0 executed with state Success

looks like we have set wrong root for notebook. you can set "python.pylanceLspNotebooksEnabled": false, in user settings.json (not workspace settings.json) for now until we fix the issue. that will let you use our old notebook support if you want.

Dupe of #3017

As of this version of vscode:
Version: 1.71.0 (Universal)
Commit: 784b0177c56c607789f9638da7b6bf3230d47a8c
Date: 2022-09-01T07:25:38.437Z
Electron: 19.0.12
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 21.5.0
Sandboxed: No

this issue still exists.
"python.pylanceLspNotebooksEnabled": false, this solution is needed for me to resolve it.

Also here still the same issue
Version: 1.71.0 Commit: 784b0177c56c607789f9638da7b6bf3230d47a8c Date: 2022-09-01T07:25:10.472Z Electron: 19.0.12 Chromium: 102.0.5005.167 Node.js: 16.14.2 V8: <IP_ADDRESS>-electron.0 OS: Linux x64 5.15.0-46-generic Sandboxed: No

Similar case but not same, Simply installing ipykernel worked for me.
conda install ipykernel

this issue is closed. please open new issue even if the symptom looks similar. otherwise, not sure whether people will take a look.


[FEAT] :sparkles: create new route to unsubscribe from marketing emails

Description
create new route GET /api/users/marketing-emails/unsubscribe by which user will not receive marketing emails any more
we can set user's recieveMarketingEmails option to false in database to unsubscribe from marketing emails
Anything else?
No response

hello, can i take this ?

@aayushchugh can assign this to me please

Sure @Arbaz23

thks, @aayushchugh i work on it

@Arbaz23 are you working on this?


Submitting forms doesn't work

When I fill out a form and submit, it doesn't pass along the form values, it only submits an empty form.
Test server:
require 'rubygems'
require 'sinatra'

get '/' do
  <<-EOF

    <title>Testing submitting forms</title>

      Log In
      <form method="post" action="/" id="myform">
        <input id="username" name="username">
        <input id="password" name="password" type="password">
        <input type="submit" value="Log In">
      </form>

  EOF
end

post '/' do
  <<-EOF

    <title>Testing cucumber</title>

      Values: #{params[:username]}, #{params[:password]}

  EOF
end

Feature:
Feature: Submitting form
  cucumber-nagios should be able to submit forms

  Scenario: Visiting home page
    When I go to "http://localhost:4567/"
    And I fill in "username" with "my user"
    And I fill in "password" with "my password"
    And I press "Log In"
    Then the request should succeed
    And I should see "Values: my user, my password"

Output:
Feature: Submitting form
  cucumber-nagios should be able to submit forms

  Scenario: Visiting home page                      # features/testing/submitting_forms.feature:4
    When I go to "http://localhost:4567/"           # features/steps/http_steps.rb:11
    And I fill in "username" with "my user"         # features/steps/http_steps.rb:23
    And I fill in "password" with "my password"     # features/steps/http_steps.rb:23
    And I press "Log In"                            # features/steps/http_steps.rb:15
    Then the request should succeed                 # features/steps/http_steps.rb:64
    And I should see "Values: my user, my password" # features/steps/http_steps.rb:52
      expected: /Values: my user, my password/m
           got: "    \n    <title>Testing cucumber</title>\n    \n      Values: , \n    \n    \n" (using =~)
      Diff:
      @@ -1,2 +1,7 @@
      -/Values: my user, my password/m
      +
      +    <title>Testing cucumber</title>
      +
      +      Values: ,
      +
      +
       (RSpec::Expectations::ExpectationNotMetError)
      ./features/steps/http_steps.rb:53:in `/^I should see "(.*)"$/'
      features/testing/submitting_forms.feature:10:in `And I should see "Values: my user, my password"'

Failing Scenarios:
cucumber features/testing/submitting_forms.feature:4 # Scenario: Visiting home page

1 scenario (1 failed)
6 steps (1 failed, 5 passed)
0m0.030s

This is my Gemfile.lock:
GEM
  remote: http://rubygems.org/
  specs:
    amqp (0.6.7)
      eventmachine (>= 0.12.4)
    builder (3.0.0)
    cucumber (0.10.6)
      builder (>= 2.1.2)
      diff-lcs (>= 1.1.2)
      gherkin (~> 2.4.0)
      json (>= 1.4.6)
      term-ansicolor (>= 1.0.5)
    cucumber-nagios (0.9.2)
      amqp (= 0.6.7)
      bundler (~> 1.0.7)
      cucumber (>= 0.10.0)
      mechanize (= 1.0.0)
      net-ssh (~> 2.1.0)
      rspec (>= 2.3.0)
      templater (>= 1.0.0)
      webrat (= 0.7.2)
    diff-lcs (1.1.2)
    eventmachine (0.12.10)
    extlib (0.9.15)
    gherkin (2.4.0)
      json (>= 1.4.6)
    highline (1.6.2)
    json (1.5.2)
    mechanize (1.0.0)
      nokogiri (>= 1.2.1)
    net-ssh (2.1.4)
    nokogiri (1.4.4)
    rack (1.3.0)
    rack-test (0.6.0)
      rack (>= 1.0)
    rspec (2.6.0)
      rspec-core (~> 2.6.0)
      rspec-expectations (~> 2.6.0)
      rspec-mocks (~> 2.6.0)
    rspec-core (2.6.4)
    rspec-expectations (2.6.0)
      diff-lcs (~> 1.1.2)
    rspec-mocks (2.6.0)
    templater (1.0.0)
      diff-lcs (>= 1.1.2)
      extlib (>= 0.9.5)
      highline (>= 1.4.0)
    term-ansicolor (1.0.5)
    webrat (0.7.2)
      nokogiri (>= 1.2.0)
      rack (>= 1.0)
      rack-test (>= 0.5.3)

PLATFORMS
  ruby

DEPENDENCIES
  cucumber-nagios

I thought it might be an issue with webrat, but I created a webrat spec to do the same test and it passes:
  it "should submit forms" do
    visit "http://localhost:4567/"
    fill_in "username", :with => "my username"
    fill_in "password", :with => "my password"
    response = click_button "Log In"

    response.should contain("Values: my username, my password")
  end

This worked for me, appreciate the heads up!
Webrat.configure do |config|
  config.mode = :rails
  config.open_error_files = false
end


Graph view broken when there are links across stacks

The graph view currently shows nothing if you have any links to a service in another stack.  Fixes that, adds the stack name if not hte current one to the title, and draws them as dashed border.

Verified Fixed v0.31.0-rc4


bug: If the circuit breaker policy is set to more than 1, the circuit breaker does not automatically fuse

Current Behavior
The circuit breaker policy exceeds 1
It doesn't fuse automatically
Expected Behavior
Automatic fusing
Error Logs
No response
Steps to Reproduce
1.The number of failures is set to 2
2.The stress test qps is 20 and all return 500
3.Observation return

Environment
APINTO version (run apinto version):0.17.4
Operating system (run uname -a):Darwin SZ-110200200069.local 23.6.0 Darwin Kernel Version 23.6.0: Mon Jul 29 21:14:30 PDT 2024; root:xnu-10063.141.2~1/RELEASE_ARM64_T6030 arm64

This issue has been released in the latest version, please update to the latest version.


CSS in HTML email

Email clients don't handle external CSS references well so we should avoid that. The initial design of this template included a reference to Semantic UI and that might not be possible given this constraint. We will be brainstorming the best way to avoid that external link before finalizing the template (#28)

Given the discussion, we will be working on creating a new CSS file that styles the HTML email without the requirement of a third party framework. So this custom solution should be very slim and easy to include in the <head> of the email as a <style> element. This should meet the majority of our goals for this email.
We might need to avoid external icon fonts too, given the discussion. Since we only really use a few icons, we should be able to include these as base64 encoded SVG images, I hope.
Also, don't forget to double check styles that you are using against: https://www.campaignmonitor.com/css/ for targeted most of the desktop email clients.


Document current AWS dev deployment

We have an internal deployment process that auto-deploys repo changes to AWS. We need to document how it works. This should include how to log in and update things if someone else on the team needs to change something.
This document should be added to this internal documentation repo.

AWS docs have been added to the internal repo!


Verify apiserver certificate on kube-up

At the moment, kube-up will call curl --insecure to check if the master is reachable, e.g. in cluster/gce/util.sh:597:
until curl --insecure -H "Authorization: Bearer ${KUBE_BEARER_TOKEN}" \

This will leak the bearer token to any man-in-the-middle attacker.

I tinkered with curl a bit #7307 and couldn't find an easy way to pass it root CAs to trust. Let me know if you know any tricks otherwise I'll keep poking at it.

@roberthbailey is this what you're looking for RE: giving curl a ca to trust?
--cacert <CA certificate>
              (SSL)  Tells  curl to use the specified certificate file to verify the peer. The file may contain multiple CA certificates. The certificate(s) must be in PEM format. Normally curl is built to
              use a default file for this, so this option is typically used to alter that default file.

              curl recognizes the environment variable named 'CURL_CA_BUNDLE' if it is set, and uses the given path as a path to a CA cert bundle. This option overrides that variable.

              The windows version of curl will automatically look for a CA certs file named ´curl-ca-bundle.crt´, either in the same directory as curl.exe, or in the Current Working Directory,  or  in  any
              folder along your PATH.

              If curl is built against the NSS SSL library, the NSS PEM PKCS#11 module (libnsspem.so) needs to be available for this option to work properly.

              If this option is used several times, the last one will be used.

--capath <CA certificate directory>
              (SSL)  Tells  curl to use the specified certificate directory to verify the peer. Multiple paths can be provided by separating them with ":" (e.g.  "path1:path2:path3"). The certificates must
              be in PEM format, and if curl is built against OpenSSL, the directory must have been processed using the c_rehash utility supplied with OpenSSL. Using --capath can allow OpenSSL-powered  curl
              to make SSL-connections much more efficiently than using --cacert if the --cacert file contains many CA certificates.

              If this option is set, the default capath value will be ignored, and if it is used several times, the last one will be used.

It looks like this wasn't working because I'm running it from my Mac: http://curl.haxx.se/mail/archive-2013-10/0036.html
Apparently Apple just ignores the --cacert option passed to curl. :/

:-1: blech

At least now I know why it wasn't working.

Very true.  Actually, maybe it's just an upgrade away.  Looks like it was added back in 10.10?  http://curl.haxx.se/mail/archive-2014-10/0053.html

I haven't tried it since I upgraded to 10.10 last week. Maybe I'll have better luck now.


Native StatusBase comparison

This PR makes it possible to run assertions on the unit/app status using ops.model.StatusBase instances.
Before:
assert state.status.unit == ('active', 'foo')
Now:
assert state.status.unit == ActiveStatus('foo')
The implementation relies on a private _EntityStatus object to avoid having StatusBase instances hanging around in the State, avoiding headaches when it comes to serializing/deserializing it. The user-facing API is therefore all based on familiar StatusBase subclasses, while the internals remain ops-unaware, which is good.
The change is backwards-compatible, and some warnings are popped whenever the user attempts to do Tuple[str,str] comparison with _EntityStatus, to nudge a transition to comparing with StatusBase directly.

Yeah, I prefer this too -- uses the regular ops concepts/classes instead of introducing a new tuple format for assertions.

I'll take that as an approval


New spreadsheet script should copy the SOP sheet as well

I don't think that's happening, we should be consistent and copy it as well.

I believe it does already
https://docs.google.com/spreadsheets/d/1s8xGRYCbgRdZnSkUglD7DVzKBieUC_LgpePHFSX6jbY/
If we're seeing different things, maybe its a permissions issue?

I just shared anyways... But yeah its there


MMCA 4561 - Update from 2.9 to Play 3.0

Regarding PR Bot's comment "uk.gov.hmrc.http-verbs-play-30 can be removed - its already provided by uk.gov.hmrc.bootstrap-test-play-30",
We have not explicity declated using "http verbs" in application, so, can we ignored for now

Better to amend the PR title like below
MMCA 4561 - Update Play from 2.9 to 3.0
or
MMCA 4561 - Update Play version from 2.9 to 3.0


[SVG output] check for base element

[This is more a note in case people run into this.]
After Firefox and Edge, Chrome now also has trouble resolving the links in the SVG output's use elements if a base element is around.
Perhaps, v2.x (at least) should check for a base element and switch off the use of use elements.
(This would also fix #831.)

There is already a proposed solution to 831 in my issue831 branch that resolved the issue.  It doesn't turn of the use of <use> but it does cause the links to be full URLs to avoid the base URL.

Oh, sorry, I missed that. Should I close this one?

I probably would.  I don't think we need a duplicate for this one.


Add entities to turn addon on/off

Right now I'm running into an issue where if I'm doing development on my computer while the addon is running on HASS they sometimes conflict as they are both running similar but often not the same code. To get around this I currently need to turn the automations running on HASS off while doing development.
I've added a toggle helper that is turned on by the dev server when its running and in production stops all my automations from running. I'm just wondering if others are doing non-local dev if this might be a useful built-in feature.

There is support for this type of operation in the library, but it's not well documented & requires some implementation details by the dev.
https://github.com/Digital-Alchemy-TS/hass/blob/main/src/extensions/websocket-api.extension.ts#L670
hass.socket.pauseMessages = true

Setting this will cause entity update events to not fire, and for the socket to black hole outgoing messages. Internal workflows, such as maintaining accurate state & registry should still work properly, allowing it to pick up without missing a beat.
I haven't run across a standardized approach to automatically controlling that flag that'd work out of the box though. When the upgraded synapse integration is complete, this would probably be a lot more straightforward to accomplish

I think I can still probably use this, basically just toggle this based on my switch vs. building a wrapper like I've done so far :)


Blur filter is not applied correctly on a photo with applied mask in React.

Steps to reproduce the behavior:

Apply a mask on Image.
Go back to filters and mark "Blur".

Expected behavior
Blur filter is correctly applied on a modified photo.
Screenshots
Before blur

After blur

Desktop :

OS: Mac OS
Browser:  chrome
Version: 3.15.2

@Zywia
Thank you for reporting the bug.
I checked the bug. I'll fix it.


Error trying to use 'az interactive' in the learning sandbox

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az interactive
Errors:
The command failed with an unexpected error. Here is the traceback:
No module named 'prompt_toolkit.interface'
Traceback (most recent call last):
  File "/usr/lib64/az/lib/python3.9/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 663, in execute
    raise ex
  File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 697, in _run_job
    result = cmd_copy(params)
  File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 333, in __call__
    return self.handler(*args, **kwargs)
  File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
    return op(**command_args)
  File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/command_modules/interactive/custom.py", line 41, in start_shell
    azext_interactive.start_shell(cmd, style=style)
  File "/home/adam_braye/.azure/cliextensions/interactive/azext_interactive/__init__.py", line 10, in start_shell
    from .azclishell.app import AzInteractiveShell
  File "/home/adam_braye/.azure/cliextensions/interactive/azext_interactive/azclishell/app.py", line 33, in <module>
    from prompt_toolkit.interface import Application, CommandLineInterface
ModuleNotFoundError: No module named 'prompt_toolkit.interface'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az interactive

Expected Behavior
Environment Summary
Linux-5.4.0-1094-azure-x86_64-with-glibc2.35 (Cloud Shell), CBL-Mariner/Linux
Python 3.9.13
Installer: RPM

azure-cli 2.41.0

Extensions:
interactive 0.4.5
ai-examples 0.2.5
ml 2.10.0
ssh 1.1.2

Dependencies:
msal 1.20.0b1
azure-mgmt-resource 21.1.0b1

Additional Context

Duplicate of https://github.com/Azure/azure-cli/issues/24213


confirm add-steps and and failure-accrual work with docker for mac

we observed the add-steps demo failing with docker for mac, specifically the slow_cooker instances were unable to connect to the application instances.

We should also verify that the linkerd-tcp example works with docker for mac.

Confirmed adds-steps and failure-accrual work for me, Docker for Mac Version 17.03.1-ce-rc1-mac3
In linkerd-tcp, linkerd-tcp fails to connect to namerd. continuing investigation...

related: https://github.com/docker/compose/issues/3800

namerd connection caused in part by https://github.com/linkerd/linkerd-tcp/issues/9

same. add-steps and failure-accrual work for me. linkerd-tcp does not.
Docker for Mac version 17.03.1-ce-rc1-mac3


How to implement static maps Image in Vue

Topic Suggestion
How to implement static maps Image in Vue.
Writing sample(s):
https://www.section.io/engineering-education/testing-for-broken-authentication-in-web-apps/
https://www.section.io/engineering-education/integrating-firebase-database-in-django/
Proposal Submission
Proposed title of article
How to implement static maps Image in Vue
Use keyword research to improve your article's SEO.
Proposed article introduction
Static map APIs allow an image of a non-interactive map to be included in a webpage. You get to render a map as an image, by specifying a coordinate.
Key takeaways
At the end of this article, the reader should be able to understand:

What static map API is
How to render a map as an image in a vue application.
What OpenStreetMap is

Article quality
This article will cover the importance of static map images, how to implement them while leveraging on an open-source map (OpenStreetMap). This article is also going to be easy to follow through, and this is not much explored.
References
N/A
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Thank you for submitting your topic. @shosenwales
After some careful consideration, it struck us that this topic may be a bit over-saturated throughout other blog sites and official documentation.
We believe this is the best way for students to build a great portfolio (for potential employers) is by building what does not exist and what can provide the most value.
Please feel free to suggest an alternate topic to explore. 🚀


analysis server : create test

I wanted to contribute on IntelliJ plugin to have "Create test" and "Create widget test" intent action. But from the discussion we had here (https://github.com/flutter/flutter-intellij/issues/2998#issuecomment-452314085).
It appears that all the heavy works need to be done here under the analysis server to avoid having every client doing their own logic about this feature.
My idea is:

What I want to implement in short time is :

to create an empty test (or widget test) file under the same package as the source (but in test directory, all non existing directory are created).
if test already exist, "create test" become "go to test" and it open the test file on click
In long time I want :
a popup to choose which method I want to tests and generate a scaffold of those method tests.
checkbox to generate or not setup teardown methods

So if the analysis server can provide a way to do that we could implement it also in IDE plugins.

Any progress?

Any progress?


Feature: use MQTT for integration communication

The agent uses MQTT to send sensor values to HASS.
It listens on a port to receive notifications.
The library for MQTT supports subscribing to events: https://github.com/dotnet/MQTTnet/blob/master/Samples/Client/Client_Subscribe_Samples.cs
You could (initially) implement this as something additional without removing the current implementation:

Subscribe to a topic
When receiving a message create a Notification instance for it
Pass the instance to the notification manager

I don't really speak .NET or I would've implemented a PR myself.
The cool thing about using MQTT is that you could initially build it just in the agent for testing (and test it from HASS by using the MQTT service directly). The next step would be to have the HASS integration expose a notify service that internally uses MQTT for sending the notifications.
This should fully resolve issues with inbound connection blockers like firewalls and NAT.
It should be noted that this does require MQTT to be reachable somehow since that is not the case by default when exposing home assistant via Nabu Casa.

Hey @SamMousa,
It currently already subscribes as well (to be able to receive commands). But having the integrations use MQTT internally is a nice idea though! Hadn't thought of that.
I'll keep it in my mind for future updates, could be a nice fallback if something can't be done through websockets (that's where I'm heading with notifications, but not everything can be done through them efficiently).
Thanks!

Either that or invert the connection direction to have the agent open the connection to home assistant... rather than the other way around.

If the agent switches to websockets this will already be the case. And since it's bidirectional it would fully remove the need for a separate notification server.

What specific issues are you running into with websockets?

The new mediaplayer integration; I didn't find a way to build that using websockets.

What specific issues are you running into with websockets?

The new mediaplayer integration; I didn't find a way to build that using websockets.

I just took a look at the media player integration, it seems like it's just sending simple text format payloads?
And looking at the HASS WebSocket API docs...
Couldn't you do something with the event bus, and a event subscribe_trigger? Then in the integration you could send a event with a device ID or something which the subscribe_trigger can use.
Well, either that or MQTT, I suppose.

Hey @ruifung,
Interesting! From what I read, I figured you could only subscribe to existing entities, mostly because of the line:

These are the same triggers syntax as used for automation triggers.

So hadn't looked into it much. But I'll go tinker with it for the next iteration of both integrations. Thanks for the tip.

You cannot register entities via websockets but maybe you don't need to. Just set them up during integration setup, then use websockets to update state!

Figures, nice!

@LAB02-Admin I mean, you don't need to, just (ab)use the event bus to post your own messages there. XD
hassagent_join_event
hassagent_heartbeat_event
hassagent_ping_request_event
etc.etc.etc..
Though, I suppose MQTT would be a lot "cleaner", especially since you can make use of the LWT message to detect when the client drops.

However, all of this makes me think that 'just' using MQTT might be an easier solution instead of multiple technologies. thinking

MQTT Discovery doesn't support Media Players though. Note that you can use MQTT over websockets as well. Just use the mqtt service to publish messages...
For the sensors that makes sense, for the mediaplayer you could look into using something like: https://github.com/TroyFernandes/hass-mqtt-mediaplayer as inspiration or https://github.com/jonaseickhoff/hass-multiroom-mqtt-mediaplayer
Essentially one part that listens to MQTT messages and creates a media player, this can even be a separate integration not related to hass.agent.
And then hass agent just using MQTT over websockets to expose sensors etc

I'm closing most feature requests from github's issue list. They're not ignored, just moved to the HASS.Agent Issue Tracker (you can find your link in a comment above).
That tracker allows me to organise better through what's pending, being done, being released, etc. - instead of one long list, which is beginning to stress me out :p
I will however post a reply here when I've implemented your request, and feel free to still post here when you have any questions/additions.


Malfunctions occur when changing data.

Describe the bug
When horizontal-stack mode, malfunctions occur when changing data.
When data list length is 3, works perfectly.
When length is 2, another card at background disappears.
Lag and blink occured when sliding cards.
when length is 1, nothing visible.
To Reproduce
Steps to reproduce the behavior:

Add Carousel
const [data, setData] = useState([]);
set data
change data length using setData()

Expected behavior
Carousel shows normally.
Screenshots
Versions (please complete the following information):

react: v17.0.2
react-native: v0.65.2
react-native-reanimated: v2.6.0
react-native-reanimated-carousel: v2.3.4
react-native-gesture-handler: v2.2.0

Smartphone (please complete the following information):

Device: Samsung Galaxy S6
OS: Android 7.0
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
<Carousel
  style={styles.carousel}
  width={width - 30}
  height={height * 0.7}
  snapEnabled={true}
  mode={'horizontal-stack'}
  modeConfig={{
    snapDirection: 'left',
    stackInterval: 18,
    moveSize: 500,
  }}
  loop={false}
  data={dataList}
  renderItem={({ item }) => (
    <DataCard
      key={item.dataId}
      item={item}
    />
  )}
/>

I'll check this issue this weekend.

When changed dataset's length is over 3, it works normally.
And another problem occurs when change dataset.
Please check #163
Thanks for great library!

It fixed in 2.3.6 version.


Add support for piping streams to ffmpeg (in and out)

https://stackoverflow.com/a/50697975/2277280

Just to clarify what I am going to do with streams to and from ffmpeg:
I use this library in an ASP.NET Core application. I am retrieving media streams and want them to be converted on the fly. Let's say something like youtube's video options for different resolutions (1080p, 720p, 480, 320, etc.), or different bitrates for music.
The user should also be able to recieve the stream as an actual stream, not a temporary file.
That's why I'd want to give ffmpeg my (media) stream, let it do its magic and retrieve the resulting stream back from the process.
The API surface would change drastically though.
Maybe it's better to create a common base class for the engine and have two concrete Engines for Stream handling and File handling. But then what about Stream input and File output or vice versa.
Ideas and suggestions are always welcome!


scoop-status: will show manifests removed before the second time scoop-update

$ scoop status
Scoop is up to date.
These app manifests have been removed:
    7zip
    cacert
    cmder
...

Solution:
Run scoop update again and it will add the new main bucket automatically. And congrats! You are now using the new main bucket.

@r15ch13 Pin this please.

Seems like everyone took migration well. Only one issue in discord, which user managed to get it fixed.
I think today or tomorrow bucket folder could be deleted from here and this issue closed (Keep pinned unless new more relevant issue show up)

Is there somewhere like a news area we can start posting this stuff too? I was able to work through it via double update but it might be handy to broadcast via mailing list or at least some news on a main page somewhere.

@jwhipp PR #3419 will force to add the new main bucket for all users, it's an enough signal I guess.


[feature-request] Support Lambda Expressions

It would be great if Pinot supported Lambda expressions. For a reference point, PrestoSQL has really rich lambda expression support, where you can even pass in custom functions for sorting an array. Example expressions supported in Presto:
SELECT
  ARRAY_SORT(
    filter(someArrayExpression),
    state -> json_extract_scalar(state, '$.source') = 'something'
  ),
  (st1, st2) -> IF(
      JSON_EXTRACT_SCALAR(st1, '$.timestamp') < JSON_EXTRACT_SCALAR(st2, '$.timestamp'),
           -1,
           IF(
              JSON_EXTRACT_SCALAR(st1, '$.timestamp') = JSON_EXTRACT_SCALAR(st2, '$.timestamp'),
              0,
              1
           )
      )
  )

Calcite has support for Lambda expressions but I haven't taken a deeper look into this.

Hi @ankitsultana,
I would like to contribute on this issue. Could you please help me get more insights on the execution part?

Hello @ankitsultana ,
Can you assign this issue to me ?

@cutiepie-10 : supporting lambda expressions is going to be quite a large effort. Do you have a design doc or a PoC we can take a look at?
If you are new to Pinot I'd recommend picking up smaller starter tasks first.

As @ankitsultana said, this is a complex task that would need a design document. How to evaluate these lambdas in the query engine is not a trivial task that would probably involve several core changes in the engine (including at least extending the function registry).


Fix issue #1394

https://github.com/Microsoft/visualfsharp/issues/1394
@tpetricek @dsyme

Please don't write "DU" but "discriminated union"

Also we should add a test.

@forki thanks


FAR-C installation fails

Background

Operating System: Wiindows 10 x64
CKAN Version: 1.27.2
KSP Version: 1.9.1

Have you made any manual changes to your GameData folder (i.e., not via CKAN)?
No changes have been made to my GameData folder outside CKAN.
Problem
Describe the bug
Install of FAR-C fails with error message
Oh no!

It looks like you're trying to install a mod which is already installed,
or which conflicts with another mod which is already installed.

As a safety feature, the CKAN will *never* overwrite or alter a file
that it did not install itself.

If you wish to install FerramAerospaceResearchContinued 3:<IP_ADDRESS> via the CKAN,
then please manually uninstall the mod which owns:

<EMAIL_ADDRESS>
and try again.
Your GameData has been returned to its original state.

Steps to reproduce
Enable compatibility for 1.9, 1.8, 1.7
Install RO (which contains FAR)
Expected behavior
Successful install message
CKAN error code (if applicable):
None given

https://github.com/KSP-CKAN/CKAN/wiki/Clean-and-reinstall-process#remove-modded-ships

I'm having the same issue. Fresh install - no other mods and verified the game integrity.
About to install...

 * Ferram Aerospace Research Continued 3:<IP_ADDRESS> (cached)
 * Module Manager 4.1.3 (cached)
 * ModularFlightIntegrator <IP_ADDRESS> (cached)

Oh no!

It looks like you're trying to install a mod which is already installed,
or which conflicts with another mod which is already installed.

As a safety feature, the CKAN will *never* overwrite or alter a file
that it did not install itself.

If you wish to install FerramAerospaceResearchContinued 3:<IP_ADDRESS> via the CKAN,
then please manually uninstall the mod which owns:

<EMAIL_ADDRESS>
and try again.
Your GameData has been returned to its original state.
Error during installation!
If the above message indicates a download error, please try again. Otherwise, please open a issue for us to investigate.
If you suspect a metadata problem: https://github.com/KSP-CKAN/NetKAN/issues/new/choose
If you suspect a bug in the client: https://github.com/KSP-CKAN/CKAN/issues/new/choose

@kylemiller3 obviously NOT a fresh install. Those craft files came from somewhere!
https://github.com/KSP-CKAN/CKAN/wiki/Clean-and-reinstall-process#remove-modded-ships

I don’t know what you want me to say. I verified the files; It didn’t work, same error. I deleted install entirely through steam and again same error. I’ll delete the install and verify again and report back.

Deleting the ships folder and re-verifying worked but not deleting the game through steam. Weird to me

Deleting the ships folder and re-verifying worked but not deleting the game through steam. Weird to me

Steam keeps additional, not self-installed, files after uninstall, just like CKAN does.


Remove or enable toggling of ever-present background state borders and state/city names?

In conversation with David Chang, it became clear that it is disrespectful to "suggest" the present day borders and names when viewing the land and indigenous nations from a historical perspective. Moreover, since one can always slide the time bar to the present to see present-day borders, it's reasonable to remove these borders and labels from the background so that the historic borders, tribes, and claims are not diminished by the presence of the present-day borders and labels.
If it is found to be desirable to show the present-day borders and labels when looking at historic times, then a compromise can be struck by enabling the toggle of these present-day borders and labels with a UI switch that is defaulted to off.

@ohmec We will need to discuss the above issue and decide which path to take, if any.

We can do several things here, from going to a pure satellite-based map, to having users select a map, to making the background text more faint. At the moment we're using mapbox/light-v9, which is the lightest one, but there are other services we can research. The answer is in the TileLayer.

Check this out (replace the appropriate lines of ohmec.js) for example:
L.tileLayer('https://stamen-tiles-{s}.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.jpg', {
  maxZoom: 18,
  attribution: 'Map tiles by Stamen Design, ' +
               'CC BY 3.0 ' +
               '— Map data © ' +
               'OpenStreetMap contributors',
  tileSize: 512,
  zoomOffset: -1
}).addTo(ohmap);

Or this one:
L.tileLayer('https://stamen-tiles-{s}.a.ssl.fastly.net/terrain-background/{z}/{x}/{y}{r}.jpg', {
  maxZoom: 18,
  attribution: 'Map tiles by Stamen Design, ' +
               'CC BY 3.0 ' +
               '— Map data © ' +
               'OpenStreetMap contributors',
  tileSize: 512,
  zoomOffset: -1
}).addTo(ohmap);

I do think there is some benefit to compare against modern borders, but I do agree removing the labels would be a good upgrade.

Better yet, check out the list as examples: http://leaflet-extras.github.io/leaflet-providers/preview/

This is my favorite:
Esri.WorldPhysical
These are also very good:
Esri.WorldImagery
USGS.USImagery
Others that wold work, but I don't like as much:
Esri.WorldShadedRelief
MtbMap
GeoportailFrance.orthos

This is my favorite: Esri.WorldPhysical

Dang, I like this one too, but the maxZoom is 9 which is not very high. I'll add it to the list but need to cap the zoom there

Ah, that's too bad. Which one(s) of the backgrounds allows us to Zoom all the way to our current maxZoom?


Delegate selection

Update Group - Pull Down Menue "Delegate"
does not contain oliver_c and oilver_m who are not group members

and lacks approved member MK


HighFive / MorphIO integration test

I would suggest using a ci folder with generic build/test scripts so that (1) we don't do bash programming inside a .yml file (2) we can reuse stuff more easily


[Themes] Dev Server - Improve user logging for render requests

WHY are these changes introduced?
This PR adds extra information around logs when making requests
Fixes: https://github.com/Shopify/develop-advanced-edits/issues/331

WHAT is this pull request doing?
This pull request adds more functionality to output logs when making requests to your local dev server in the theme dev command.
Added:

Timestamp
Truncated paths if path is over 80 characters
Request Duration

Example before changes: GET /collections/all
Example after changes: • 13:00:07 Request » GET /collections/all 325ms

How to test your changes?
Pull down the branch
Run the build command
Run shopify theme dev
Click different paths like collections, products, etc to see the logs in action.

Post-release steps

Measuring impact
How do we know this change was effective? Please choose one:

[ ] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
[x] Existing analytics will cater for this addition
[ ] PR includes analytics changes to measure impact

Checklist

[x] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[x] I've considered possible documentation changes

Beautiful, thanks! Perhaps we can make it more useful with the following:

Extract this whole logRequestLine in an utility.
Start calling it in proxy.ts file as well for non-assets (e.g. things that don't match CDN urls. Or, at least, for known prefixes like /cart/. That way we'll also get logs for POST requests when you add items to cart, etc.
Add the response status code, e.g. GET 200 / (perhaps in green for <400 and red for the others? Or all gray idk).
The method could add some padding-left so that all the methods are aligned (you'll see this once we log POST requests). Example here.

The code that was doing this in Hydrogen is here.
That said, I'm good with doing this in another PR if you prefer, or if the others oppose to adding more stuff to the styles that's also fine!

I will follow up with this in a separate PR!


Problem with building

When I ran the script docker-compose -f docker/compose/sawtooth-build.yaml up, I got:
WARNING: The ISOLATION_ID variable is not set. Defaulting to a blank string.
ERROR: no such image: sawtooth-validator-local:: invalid reference format

How to deal with it?

You can define the ISOLATION_ID variable in your .env file and use the “--env-file” option in order to pass the config in your docker-compose images. You can also use this .env file.


How to access the range dates in the controller

Apologies for the dumb question but I am not able to access the dates in the controller AppCtrl from this example http://plnkr.co/edit/KMxadj?p=preview

I'm not sure what you mean- it seems to work for me. What are you trying to do?

I mean two say in the range option how can I have the start and end date as variable in controllers

You can access them from the selectedDates array individually, but they aren't assigned to any variables by default.
var startDate = Math.min.apply(null, $scope.selectedDates);
var endDate = Math.max.apply(null, $scope.selectedDates);


Creating app shortcuts for the app.

Describe the feature you'd like
When the app icon is long pressed, there are no shortcuts. Shortcuts to directly enter the text or drawable mode can be provided.
Additional context
@iamareebjamal  @adityastic what are your views? Should I proceed with this?
Would you like to work on the issue?
YES.

As a feature I would love to implement it. But currently our app only has a single screens. App shortcuts were made to resolve the navigation depth issue

Let me know your thoughts on it @yashk2000 . This feature is great, but is it necessary?

As we dont have many screens it does not seem required currently. Closing it therefore.


DRILL-6275: Fixed direct memory reporting in sys.memory.

@kkhatua Thanks for pinpointing the root cause! Please review.

Tested fix manually on my laptop.

LGTM. Verified on a 4-node setup with running queries.
+1


API8 - Improve PlayerChatEvent

SpongeAPI | Sponge
#2259

adds an easy way to filter Audiences for MessageChannelEvent.
PlayerChatRouter -> PlayerChatFormatter now only handles message formatting. Which is applied to each audience of a ForwardingAudience
PlayerChatEvent extends MessageChannelEvent to handle the audience target replacing PlayerChatRouter

I've been talking to Faith about this as it's been done and this is a step up from where we were.
I do have a couple of thoughts on a slightly different approach and any feedback/thoughts on this would be welcome.

For this, the intention is that chat formatters are chained. Would a list of formatters that are then executed in order, rather than chained, be better here. My thought was that plugins could inspect the formatters that other plugins have applied and make decisions based on that, so if I detected a chat router that came from UltimateChat, via some heuristic, for example, I might not want to apply mine at all. It should also be possible for a plugin to clear formatters from this list too
That might be complicating it a bit though. I don't mind not doing this, it's just an alternative, but it might not be all the useful.

Protection plugins, such as GriefDefender, may only care about the end result of a message. Rather than having to go and execute the chat formatter on every audience manually, is there merit to create a second "post but not post" event after the formatting has been resolved? Something like:
interface PlayerChatEvent extends Cancellable {

    interface Format extends PlayerChatEvent {
        // this would be what we have now
    }

    interface Formatted extends PlayerChatEvent {

        /*
         * The Audiences that will recieve a message, and their respective message
         */
        Map<Audience, Component> messages();

        /*
         * Protection plugins could stop certain messages getting through to specific
         * audiences
         */
        void filter(Audience audience);

    }

}

Protection plugins etc. that really only care to cancel something may appreciate this.


Map some worldgen stuff

Nice, but why did you remove some mappings such as Saplings and stuff?

For Ore and Foliage, the mappings were moved from net.minecraft.feature to net.minecraft.world.feature. Since those two mapping were just the class names, it looks like git found it easier to just delete the old one and make a new one. If you look again, you should see a new Ore and Foliage mapping, repackaged

Nice, but why did you remove some mappings such as Saplings and stuff?

as amusing said, i repackaged them
the Feature class was in n.m.world.feature but its implementations were in n.m.feature
also (partially) matches yarn standards


[OTBN] Create minimal OTBN backend in RTL

Create OTBN core "backend" modules in a minimal form: execute (with ALU), register file and  write-back.

estimate 12

I have written an ALU and register file that when stitched together will allow us to execute all of the ALU ops. You can find this on my OT fork here: https://github.com/GregAC/opentitan/tree/otbn_backend_wip/hw/ip/otbn/rtl
I've done a scratch testbench that stitches the two together and runs a simple test on the available operations, which is working.
Next I need to implement memory access and probably a shifter (inclusion of shift instruction is still under discussion)

ALU integrated into top-level is in review now: https://github.com/lowRISC/opentitan/pull/2950
When combined with a fake decoder and some suitable instructions loaded in IMem the top-level simulation can run all the ALU operations writing results to the register file.

Merged into otbn-dev as part of #2950. Will go to master in #2981.


Script for inserting cout line in libawkward

Run gen.py to insert cout in all kernel function calls in libawkward

Continuing work in #1044


Bug: Double click on receive or send button opens fragment multiple times

When we double-click the receive button, it opens the receive fragment twice, and just like with the send button, we must repeatedly hit the back button to close it.
https://user-images.githubusercontent.com/76438283/229514152-dce8224f-4430-4819-9b69-c10c1e1cd7ce.mp4
@thunderbiscuit  I can resolve this issue please assign it to me.

Yep this is definitely a bug. Feel free to take this up. Also just FYI, I'm the lead maintainer of this repo, so I get notifications for all messages/issues/PRs. You don't need to tag me in threads 😆.


@JuliaRegistrator register()

@JuliaRegistrator register()

Registration pull request updated: JuliaRegistries/General/86359
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.4.1 -m "<description of version>" de9384fcdfc57f29dd5e139fb444a404e57e174b
git push origin v0.4.1


WIP Save as svg

This makes a change to the toolbar to save an svg file instead of a png.
We should probably allow both.

@SylvainCorlay Any hope for this?

Any progress? This is a must-have for exporting publication quality vector graphics.


Kernel selection shows multiple identically-named kernels

Applies To

[X] Notebooks (.ipynb files)
[ ] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
Was directed to file an issue from https://github.com/microsoft/vscode-jupyter/discussions/10404#discussioncomment-8227558
I have several folders open within a workspace, each containing their own venv in a subdirectory called ".venv". With a new notebook I see the following options when selecting a kernel:

That's obviously not very helpful. I think that:

vscode should perhaps be smart enough to conclude that I want the interpreter from the venv that is in the same directory as the current notebook file.
Kernel options should be identified by their full paths. Perhaps this only triggers when they are selected and/or there are conflicting names.

Note that I am using vs-code remote, in case that's relevant.
VS Code Version
Version: 1.85.2 (user setup) Commit: 8b3775030ed1a69b13e4f4c628c612102e30a681 Date: 2024-01-18T06:40:10.514Z Electron: 25.9.7 ElectronBuildId: 26354273 Chromium: 114.0.5735.289 Node.js: 18.15.0 V8: <IP_ADDRESS>-electron.0 OS: Windows_NT x64 10.0.22621
Jupyter Extension Version
v2023.11.1100101639
Jupyter logs
Visual Studio Code (1.85.2, ssh-remote, desktop)
Jupyter Extension Version: 2023.11.1100101639.
Python Extension Version: 2023.22.1.
Pylance Extension Version: 2023.12.1.
Platform: linux (x64).
Multiple Workspace folders opened ~/src/project3, ~/src/project1, ~/src/project2
04:44:25.996 [info] Start refreshing Kernel Picker<PHONE_NUMBER>996)
04:44:26.010 [info] Using Pylance
04:44:29.138 [info] Start refreshing Interpreter Kernel Picker
04:44:29.185 [info] Starting Kernel startUsingPythonInterpreter, .jvsc74a57bd079bfc075ad23b29666e3496ee83356a386830110bd7d10feceb6f85cec947c02.~/src/project1/.venv/python.~/src/project1/.venv/python.-m#ipykernel_launcher  (Python Path: ~/src/project1/.venv/bin/python, Venv, .venv, 3.10.12) for '~/src/project1/CA-tokenize-splits.ipynb' (disableUI=true)
04:44:29.476 [info] Starting Kernel startUsingPythonInterpreter, .jvsc74a57bd079bfc075ad23b29666e3496ee83356a386830110bd7d10feceb6f85cec947c02.~/src/project1/.venv/python.~/src/project1/.venv/python.-m#ipykernel_launcher  (Python Path: ~/src/project1/.venv/bin/python, Venv, .venv, 3.10.12) for '~/src/project1/CA-tokenizer.ipynb' (disableUI=true)
04:44:30.584 [info] Starting Kernel startUsingPythonInterpreter, .jvsc74a57bd0a8a81ceb799ea1e4f3aaba4a5822d182a3cd21313137b616e3fd980f2fab798a.~/src/project2/.venv/python.~/src/project2/.venv/python.-m#ipykernel_launcher  (Python Path: ~/src/project2/.venv/bin/python, Venv, .venv, 3.10.12) for '~/src/project2/generate.ipynb' (disableUI=true)
04:44:31.998 [info] Process Execution: ~/src/project1/.venv/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
04:44:32.069 [info] Process Execution: ~/src/project1/.venv/bin/python -m ipykernel_launcher --f=~/.local/share/jupyter/runtime/kernel-v2-668325bE7S3RkUv0xT.json
    > cwd: ~/src/project1
04:44:32.160 [info] Process Execution: ~/src/project1/.venv/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
04:44:32.177 [info] Process Execution: ~/src/project1/.venv/bin/python -m ipykernel_launcher --f=~/.local/share/jupyter/runtime/kernel-v2-668325LedoTxULp8ZR.json
    > cwd: ~/src/project1
04:44:32.268 [info] Process Execution: ~/src/project3/.venv/bin/python -m pip list
04:44:32.290 [info] Process Execution: ~/src/project1/.venv/bin/python -m pip list
04:44:32.461 [info] Process Execution: ~/src/project2/.venv/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
04:44:32.487 [info] Process Execution: ~/src/project2/.venv/bin/python -m ipykernel_launcher --f=~/.local/share/jupyter/runtime/kernel-v2-668325CunPll8DKm7y.json
    > cwd: ~/src/project2
04:44:32.582 [info] Process Execution: ~/src/project2/.venv/bin/python -m pip list
04:44:33.461 [info] Process Execution: ~/src/project1/.venv/bin/python ~/.vscode-server/extensions/ms-toolsai.jupyter-2023.11.1100101639-linux-x64/pythonFiles/printJupyterDataDir.py
04:44:35.348 [info] End refreshing Kernel Picker<PHONE_NUMBER>996)
05:18:16.460 [info] Process Execution: ~/src/project2/.venv/bin/python ~/.vscode-server/extensions/ms-toolsai.jupyter-2023.11.1100101639-linux-x64/pythonFiles/printJupyterDataDir.py
05:18:51.302 [info] Handle Execution of Cells 61 for ~/src/project2/generate.ipynb
05:18:51.322 [info] Kernel acknowledged execution of cell 61 @<PHONE_NUMBER>321
05:18:51.327 [info] End cell 61 execution after 0.005s, completed @<PHONE_NUMBER>326, started @<PHONE_NUMBER>321
05:19:09.759 [info] Handle Execution of Cells 61 for ~/src/project2/generate.ipynb
05:19:09.863 [info] Kernel acknowledged execution of cell 61 @<PHONE_NUMBER>863
05:19:09.866 [info] End cell 61 execution after 0.003s, completed @<PHONE_NUMBER>866, started @<PHONE_NUMBER>863
05:19:26.760 [info] Handle Execution of Cells 61 for ~/src/project2/generate.ipynb
05:19:26.864 [info] Kernel acknowledged execution of cell 61 @<PHONE_NUMBER>864
05:19:26.867 [info] End cell 61 execution after 0.003s, completed @<PHONE_NUMBER>867, started @<PHONE_NUMBER>864
05:19:31.060 [info] Handle Execution of Cells 61 for ~/src/project2/generate.ipynb
05:19:31.064 [info] Kernel acknowledged execution of cell 61 @<PHONE_NUMBER>063
05:19:33.361 [info] End cell 61 execution after 2.298s, completed @<PHONE_NUMBER>361, started @<PHONE_NUMBER>063
05:19:45.160 [info] Handle Execution of Cells 61 for ~/src/project2/generate.ipynb
05:19:45.260 [info] Kernel acknowledged execution of cell 61 @<PHONE_NUMBER>259
05:19:45.261 [info] End cell 61 execution after 0.002s, completed @<PHONE_NUMBER>261, started @<PHONE_NUMBER>259
05:19:50.960 [warn] Timeout (after 20000ms) waiting to inspect code 'print(f"{1.5*(1024**3) // 2:,ddef'
05:20:16.787 [info] Handle Execution of Cells 61 for ~/src/project2/generate.ipynb
05:20:16.798 [info] Kernel acknowledged execution of cell 61 @<PHONE_NUMBER>797
05:20:16.802 [info] End cell 61 execution after 0.004s, completed @<PHONE_NUMBER>801, started @<PHONE_NUMBER>797
05:20:31.801 [warn] Timeout (after 20000ms) waiting to inspect code '1.5*(1024**3) / 2 //NGC-DL-CONTAINER-LICENSE'
05:20:38.585 [info] Handle Execution of Cells 61 for ~/src/project2/generate.ipynb
05:20:38.597 [info] Kernel acknowledged execution of cell 61 @<PHONE_NUMBER>596
05:20:38.600 [info] End cell 61 execution after 0.004s, completed @<PHONE_NUMBER>600, started @<PHONE_NUMBER>596
05:24:05.660 [warn] No interpreter for Pylance for Notebook URI "~/src/project3/new_notebook.ipynb"
05:24:31.168 [info] Handle Execution of Cells 0 for ~/src/project3/new_notebook.ipynb
05:24:31.174 [info] Starting Kernel startUsingPythonInterpreter, .jvsc74a57bd0a8a81ceb799ea1e4f3aaba4a5822d182a3cd21313137b616e3fd980f2fab798a.~/src/project2/.venv/python.~/src/project2/.venv/python.-m#ipykernel_launcher  (Python Path: ~/src/project2/.venv/bin/python, Venv, .venv, 3.10.12) for '~/src/project3/new_notebook.ipynb' (disableUI=false)
05:24:32.568 [info] Process Execution: ~/src/project2/.venv/bin/python -c "import ipykernel; print(ipykernel.__version__); print("5dc3a68c-e34e-4080-9c3e-2a532b2ccb4d"); print(ipykernel.__file__)"
05:24:32.771 [info] Process Execution: ~/src/project2/.venv/bin/python -m ipykernel_launcher --f=~/.local/share/jupyter/runtime/kernel-v2-668325Ytdx6bSjVtVK.json
    > cwd: ~/src/project3
05:24:33.768 [info] Process Execution: ~/src/project2/.venv/bin/python -m pip list
05:24:36.168 [info] Kernel acknowledged execution of cell 0 @<PHONE_NUMBER>167
05:24:36.461 [info] End cell 0 execution after 0.293s, completed @<PHONE_NUMBER>460, started @<PHONE_NUMBER>167

Coding Language and Runtime Version
Python v3.10.12
Language Extension Version (if applicable)
v2023.22.1
Anaconda Version (if applicable)
No response
Running Jupyter locally or remotely?
Actually, not sure. It's on the machine I'm remoting into via vscode remote extension

Thanks for filing this issue, will get onto this straight away.

Repro steps

Create workspace folder abc and create a virtual env in that named .venv
Create workspace folder xyz and create a virtual env in that named .venv
Open both of the above folders in a multi-root workspace folder of VS Code
Open a notebook and go into select Kernel => Python Environments

There should be two separate entries for .venv prefixed with the workspace folder names.
I.e. one can differentiate between the two.


Template broken

Hi guys, the current version of the template broke.
app.SetWindowsSpecificAssetsDirectory("Assets"); this line broke, because the maui guys did a typo i think ^^. Maybe update all dependencies and this issue should be fixed.

I made this typo and fixed it in one of the latest releases.
If you update the template to the latest version it should be aligned with the correct name of the method ...Asset.. instead of ...Assect...

Ok, this would be right, but i dont think u fixed it in the current version 1.0.131, as the template is the one from your Readme file.

@adospace the bug is that the csproj file created by the template still uses "1.0.117" instead of the latest. If you update all to 1.0.131 it works:
    <PackageReference Include="Reactor.Maui" Version="1.0.117" />
    <PackageReference Include="Reactor.Maui.Canvas" Version="1.0.117" />
    <PackageReference Include="Reactor.Maui.ScaffoldGenerator" Version="1.0.117" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />


feat (in-cluster): [ingress-controller] update nginx to v1.11.3

WHY
Moving to k8s 1.30 enables the possibility of upgrading to newer nginx versions
What Changed?

Cluster manifest files | based on https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.3/deploy/static/provider/cloud/deploy.yaml
Doc deployment files
Bug fix: add location to rg from e2e validation section

Test

#sign-off


Limited number of fields?

Hey, I was wondering if there was a limit on the number of fields that we can use? Since I always keep getting; for example:
[{"code":"INVALID_FIELDS","data":["tags","releasedate","fulldescription"]}]
When I use more than 7 fields, my POST form is setup like this:
    <form method="POST" action="https://api.staticman.net/v1/entry/velddev/{{ site.github.repo }}/gh-pages">
      <input name="options[redirect]" type="hidden" value="{{post.url}}">
      <input name="options[slug]" type="hidden" value="{{page.slug}}">
      <input class="col-md-2 col-xs-12" name="fields[title]" type="text" placeholder="Your game's name!">
      <input class="col-md-2 col-xs-12" name="fields[author]" type="text" placeholder="Author name(s)">
      <input class="col-md-8 col-xs-12" name="fields[shortdescription]" type="text" placeholder="Short description of your game.">
      <input class="col-md-2 col-xs-12" name="fields[contact]" type="text" placeholder="Contact address">
      <input class="col-md-2 col-xs-12" name="fields[image]" type="text" placeholder="Screenshot URL">
      <input class="col-md-2 col-xs-12" name="fields[gamelink]" type="text" placeholder="Link to your game*">
      <input class="col-md-2 col-xs-12" name="fields[bloglink]" type="text" placeholder="Link to your dev-blog*">
      <input class="col-md-2 col-xs-12" name="fields[tags]" type="text" placeholder="Genre tags*">
      <input class="col-md-2 col-xs-12" name="fields[releasedate]" type="text" placeholder="Release date*, dd/mm/yyyy">
      <textarea class="col-md-12 col-xs-12" name="fields[fulldescription]" placeholder="Your full game description here, Markdown supported."></textarea>
      <button class="col-md-1 col-xs-12" type="submit" style="margin-bottom: 2px;">Submit</button>
    </form>

And a snippet of my _config.yml:
staticman:
  allowedFields: [
  'title',
  'author',
  'shortdescription',
  'contact',
  'image',
  'tags',
  'gamelink',
  'bloglink',
  'releasedate',
  'fulldescription']
  branch: 'gh-pages'
  commitMessage: "New game submission."
  filename: submission-{@timestamp}
  format: 'yaml'
  moderation: true
  path: "_posts/{options.slug}"
  requiredFields: [
  'title',
  'author',
  'shortdescription',
  'contact',
  'image',
  'fulldescription']

Can you share a link to the repository, please?

Sure; https://github.com/velddev/agdg.me

I played with it a bit more and now I get:
{"code":422,"status":"Unprocessable Entity","message":"{\"message\":\"path contains a malformed path component\",\"errors\":[{\"resource\":\"Commit\",\"field\":\"path\",\"code\":\"invalid\"}],\"documentation_url\":\"https://developer.github.com/v3/repos/contents/\"}"}

Okay, give me a few hours and I'll look into it.

Looks like staticmanapp is creating branches, but no data is being added to the new branch commit; nor is a pull request being sent. (I have moderation: true)

The 422 error you're getting is caused by a malformed path. You're making use of options[slug], and yet that field is empty, if you inspect the DOM.
I tested your site locally and by supplying a valid slug I was able to submit the form you've got on the "Submit" page.
Let me know if you still encounter any issues.

Thanks for the reply, I removed the options[slug] setting since I realized all the posts are going into submissions/_posts, and not on separate pages. So it worked.
But since my posts require whitespace to be preserved I tried to test out this: https://github.com/eduardoboucas/staticman/issues/30
e.g.
  format: "frontmatter"
  transforms:
    source: "frontmatterContent"

It returns this however:
{"name":"YAMLException","reason":"duplicated mapping key","mark":{"name":null,"buffer":"# Site settings\ntitle: startpages.cf #top title\npermalink: none # prefix of post, i.e. .../2016-10-20-my-post\ndescription: \"A lovely place to share & submit beautiful startpages.\"\nbaseurl: \"/\"\nurl: \"startpages.cf\"\ngithub_username: twentytwoo\ntimezone: UTC-1\n\n# Meta tag settings\nlicense: MIT\nauthor: May W.\ne-mail<EMAIL_ADDRESS>Rendering settings\nmarkdown: kramdown\nkramdown:\n  input: GFM\n\n# Github\ngithub:\n  repo: startpages.cf\n\n# Staticman\nstaticman:\n  allowedFields: ['title','author','contact', 'tools', 'description','image','link','source']\n  branch: 'gh-pages'\n  commitMessage: \"New startpage submission.\"\n  filename: submission-{@timestamp}\n  format: 'yaml'\n  moderation: true\n  path: \"submissions/_posts\"\n  requiredFields: ['title','author','description','image','source']\n  format: \"frontmatter\"\n  transforms:\n    source: \"frontmatterContent\"\n\n# dev branch\n\u0000","position":816,"line":33,"column":23},"message":"duplicated mapping key at line 34, column 24:\n      format: \"frontmatter\"\n                           ^"}

So yeah... 😢

You have format declared twice in your config.

Right, yes - that would be it, oops.


What about for nested template ?

Have you plan to implement nested template ?
        <parameter name='Options' type='multichoice' default='0,1,2' store='text' prompt='Select desired options'>
            <choice label='P&Sake build script'
                    help="Adds a PSake build script that generates the module directory for publishing to the PSGallery."
                    value="PSake"/>
          ...
        </parameter>

         <!-- Invoke a Plaster template (PSakeDirectoryTemplate\plasterManifest.xml) -->
        <NestedTemplate condition="$PLASTER_PARAM_Options -contains 'PSake'" Value='PSakeDirectoryTemplate'>

Eventually the plan is to have a <dependencies> section above <content> that would take a unique identifier for another template the current template is dependent on.  That is unlikely to make it for the first release.