Docs: 5.0 beta announcement blog post has invalid config syntax

Page URL:
https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-beta/#supporting-multiple-configuration-files-in-extends
Issue:
examples have extends nested inside compilerOptions multiple times in the section about multi extends. e.g.
// packages/front-end/src/tsconfig.json
{
    "compilerOptions": {
        "extends": "../../../tsconfig.base.json",

        "outDir": "../lib",
        // ...
    }
}

Recommended Fix:
move extends to top level.
cc @DanielRosenwasser

Improved in the RC announcement but some examples for other features still use extends nested inside CompilerOptions.
eg. https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-rc/#satisfies-support-in-jsdoc


docs(structure): include headlines for better structure

The rule contains a lot of content and was hard to consume. Therefore added headlines for structure and better orientation.

@thake Can you take a look if this fits, thank you? This PR refers to issue https://github.com/otto-ec/ottoapi_orga/issues/74


invoice macaroon for LND?

Probably should be obvious, but want to confirm that macaroon_as_base64 should be the invoice macaroon. Thanks.

As DNS records are publicly visible, only invoice macaroons should be deployed, yes! More powerful macaroons can and will likely be abused.


Termux Support

Please make that tool compatible with termux that would be very handy.
installation:
curl -sSf https://sshx.io/get | sed 's|/usr/local/bin|/data/data/com.termux/files/usr/bin|g' | sh

Error:
❯ sshx
2024-11-18T22:47:35.651654Z ERROR sshx: transport error

Caused by:
    0: error trying to connect: dns error: failed to lookup address information: Try again
    1: dns error: failed to lookup address information: Try again
    2: failed to lookup address information: Try again

❯ pkg install tsu  #for running with root
❯ sudo sshx
2024-11-18T22:47:35.651654Z ERROR sshx: transport error

Caused by:
    0: error trying to connect: dns error: failed to lookup address information: Try again
    1: dns error: failed to lookup address information: Try again
    2: failed to lookup address information: Try again

Nice! It looks like installation worked, but there's a DNS error from your logs. Any idea where that might be coming from?

I don't know, maybe any url is blocked by my dns. Kindly test it on your end.

I'd need more details -- unfortunately I don't have termux as you can see. Could you try debugging a bit more on your side, with tools like dig, strace or tcptraceroute?
You can use ChatGPT to help with this if you're not familiar with network debugging.

i tried you can check logs here. If there is any specefic command kindly share.

❯ strace -e trace=network sshx
socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0, [6, 7]) = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0) = 9
connect(9, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 24) = -1 ENOENT (No such file or directory)
u2024-11-19T01:50:13.337578Z ERROR sshx: transport error

Caused by:
    0: error trying to connect: dns error: failed to lookup address information: Try again
    1: dns error: failed to lookup address information: Try again
    2: failed to lookup address information: Try again
+++ exited with 1 +++

It looks like you have your DNS resolver configured to nscd, and it's not working right now. This is not a bug in sshx and is likely a misconfiguration of DNS on your Termux environment.
These suggestions might help https://chatgpt.com/share/673bff16-7194-800e-9255-6edee8150efc


Internal Error & Error Drives

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Hello i dont can open the Page :4000 - only i can open the page :3000 an i get error when he get on table drive.
Also i dont can make a backup :(
Expected Behavior

Example Backup:
pi@raspberrypi:~ $ docker-compose exec -T database pg_dump -U teslamate teslamate > /home/pi/teslamate.bck
pg_dump: error: Dumping the contents of table "addresses" failed: PQgetResult() failed.
pg_dump: error: Error message from server: ERROR:  invalid page in block 20 of relation base/16384/17478
pg_dump: error: The command was: COPY public.addresses (id, display_name, latitude, longitude, name, house_number, road, neighbourhood, city, county, postcode, state, state_district, country, raw, inserted_at, updated_at, osm_id, osm_type) TO stdout;
Steps To Reproduce
No response
Relevant log output
teslamate_1  | 2022-02-02 08:20:02.176 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9104.484 ms)
teslamate_1  | 2022-02-02 08:20:02.177 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:20:02.177 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:20:17.668 car_id=1 [info] Received stream data: :inactive
teslamate_1  | 2022-02-02 08:20:31.271 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9090.299 ms)
teslamate_1  | 2022-02-02 08:20:31.272 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:20:31.273 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:21:00.369 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9092.583 ms)
teslamate_1  | 2022-02-02 08:21:00.370 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:21:00.371 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:25:45.938 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9272.725 ms)
teslamate_1  | 2022-02-02 08:25:45.939 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:25:45.940 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:26:15.041 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9097.931 ms)
teslamate_1  | 2022-02-02 08:26:15.042 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:26:15.043 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:26:18.921 [notice]     :alarm_handler: {:clear, TeslaMate.Vehicles.Vehicle_1_api_error}
teslamate_1  | 2022-02-02 08:26:44.137 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9089.815 ms)
teslamate_1  | 2022-02-02 08:26:44.138 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:26:44.139 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:27:13.245 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9102.358 ms)
teslamate_1  | 2022-02-02 08:27:13.246 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:27:13.246 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:27:18.922 [notice]     :alarm_handler: {:set, {TeslaMate.Vehicles.Vehicle_1_api_error, :fuse_blown}}
teslamate_1  | 2022-02-02 08:29:58.590 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9442.821 ms)
teslamate_1  | 2022-02-02 08:29:58.591 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:29:58.592 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:30:27.737 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9140.842 ms)
teslamate_1  | 2022-02-02 08:30:27.738 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:30:27.739 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:34:18.929 [notice]     :alarm_handler: {:clear, TeslaMate.Vehicles.Vehicle_1_api_error}
teslamate_1  | 2022-02-02 08:35:15.146 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9416.186 ms)
teslamate_1  | 2022-02-02 08:35:15.147 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:35:15.148 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:35:44.250 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9099.269 ms)
teslamate_1  | 2022-02-02 08:35:44.251 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:35:44.252 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:36:13.395 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9138.340 ms)
teslamate_1  | 2022-02-02 08:36:13.396 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}
teslamate_1  | 2022-02-02 08:36:13.396 car_id=1 [error] Error / :unknown
teslamate_1  | 2022-02-02 08:36:42.491 [info] GET https://owner-api.teslamotors.com/api/1/vehicles/196815821148/vehicle_data -> 408 (9091.551 ms)
teslamate_1  | 2022-02-02 08:36:42.492 [warning] TeslaApi.Error / %{"error" => "{\"error\": \"timeout\"}", "error_description" => "", "response" => nil}

Screenshots

Additional data
No response
Type of installation
Docker
Version
1.24.1

I'm getting the same errors in my logs for both my cars

I have now made a new installation. And now another power failure in my house. And now unfortunately the mistake again. How can I simply delete the faulty record?

Two things - I suspect your DB server crashed and maybe mangled the database.
You will need to find out how to fix corrupted postgres database.
If the database is fine, but your records are mangled then:
If you installed a docker version then run
$docker ps (as root, to find out the names of containers)
find the database container's name
then run this:
$docker exec -ti CONTAINTERNAME psql -U teslamate -d teslamate
this will take you into the DB.
\dt (will show the tables)
You will need to find an entry in the specific table and then delete it.


Question on How to use Fetch Values Predicate ?

Hi everyone,
Thanks a lot for this dashboarding tool.
I am using the SQL option to create Superset view to get dynamique view, from some filter value. And it works wells, however I noticed the "Enable Filter Select"/"Fetch Values Predicate" option and I was wondering, how these two option works. I did not find documentation about those, if any can point me to one it would be awesome.
Does this allow us to get dynamic table according to a particular values ?
Thanks for your time.

It's for lowering the cost of fetching the value by using a predicate typically on an indexed or partitioned field. For instance if your table is partitioned by a field name ds, you can add Fetch Values Predicate that looks something like ds >= DATE_ADD(NOW(), DAYS, 7) or something of that nature. That way Superset, when populating the autocomplete values, will add this predicate to the SELECT DISTINCT {column_to_be_filtered_on} FORM {table} WHERE {fetch_values_predicate}.

Great!
I think that the usage of 'fetch_values_predicate' should be added to the documents.

@vnnw
Have you managed to get this working?
I tried many cases but I never saw the WHERE condition appearing in my queries :(
I am using Superset 0.28.1

No. the WHERE condition won't appear in the running queries as you get it by clicking on the upper right button "View Query", if I understand you right.
The 'fetch_values_predicate', as its name suggests, controls how you will get the available values for the filters in the lower left section 'Filters',  so you must use it with 'Enable Filter Select' checked, as the snapshot bellow .

When you add a column into a filter, Superset will fetch the available unique values of this column for you to select from. Then 'fetch_values_predicate' put the WHERE condition on the query fetching  values, so you won't see it and it is also unnecessary.

Thanks for your time and your answer. I get how this features works.

Also pushed this to help: https://github.com/apache/incubator-superset/pull/6171


Spec: Add placeholder to Input.ChoiceSet

Microsoft Reviewers: Open in CodeFlow

thanks!

Spec approved at the 7/12/2019 review meeting

closing out old PRs


404 error on Github Pages static hosting

Describe the bug
When deploying on github pages as described in the docs, an error 404 prevents the slides from rendering.

GET https://louis-sanna-eki.github.io/front-unit-tests-slides/assets/_commonjsHelpers-725317a4.js net::ERR_ABORTED 404
I checked in the dist file this file exist: https://github.com/louis-sanna-eki/front-unit-tests-slides/blob/gh-pages/assets/_commonjsHelpers-725317a4.js
I suspect the _ to break the routing: https://github.blog/2009-12-29-bypassing-jekyll-on-github-pages/
To Reproduce
Steps to reproduce the behavior:

Go to https://louis-sanna-eki.github.io/front-unit-tests-slides/
Open the console
See the error

Desktop (please complete the following information):

OS: Mac OS Ventura
Browser: Google Chrome
Slidev version: 0.39.0

I fixed it with a .jekyll in my public folder.
https://github.blog/2009-12-29-bypassing-jekyll-on-github-pages/


feat: add batch delete support for azblob backend

I hereby agree to the terms of the CLA available at: https://databend.rs/dev/policies/cla/
Summary
This PR implements batch deletion for Azure Storage Blobs.
Closes: #1380

Thanks for the effect, please feel free to reopen this PR when you are ready working on this PR again.

Successfully passed all test with fork of reqsign. Awaiting https://github.com/Xuanwo/reqsign/issues/255.

I noticed that reqsign merged your changes. Are you planning to continue working on this feature?

I noticed that reqsign merged your changes. Are you planning to continue working on this feature?

batch delete already supported for azblob. Are you experiencing any issues when using this feature?


docs: CHANGELOG for 0.29.1 cleanup

Signed-off-by: Leonardo Di Donato<EMAIL_ADDRESS>What type of PR is this?
/kind cleanup
/kind documentation
Any specific area of the project related to this PR?
NONE
What this PR does / why we need it:
Fixes some left-overs in the CHANGELOG for Falco 0.29.1
Which issue(s) this PR fixes:
NONE
Special notes for your reviewer:
NONE
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: leodido
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leodido]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

I'm going to merge this manually since tide unfortunately is in a stall situation and is not able to merge this PR anymore :(

Why are we merging manually?
Doesn't sound like a good practice. I suggest to fix test-infra

Why are we merging manually?
Doesn't sound like a good practice. I suggest to fix test-infra

Hey @leodido
I totally agree with you. It was an exceptional situation. Let me add more details.
Since this PR and https://github.com/falcosecurity/falco/pull/1658 were in a definitive stall (even we fix the problem on test-infra, @poiana won't be able to merge them anymore), I merged them manually to avoid further spamming the GitHub APIs. Thus, I won't manually merge other PRs that are still mergeable by @poiana.
Btw, I and @maxgio92 are trying to debug this problem and maybe find a solution.


Minimal height for KryptonForm

Hi,
Why minimal height for KryptonForms is set on 78 px.? I have collapse option on my forms where I set form height on 40 px.
I use old dlls and its possible to set that height, but now I want to use new dlls and I found this "defect".

This is possibly related to the fixes for #54 and #74
The min Y is set by '
            mmi.ptMinTrackSize.Y = Math.Max(mmi.ptMinTrackSize.Y*2, MinimumSize.Height);

to allow the title bar, and a status bar to be sensibly displayed the mmi.ptMinTrackSize.Y*2 is used from the 'PI.MINMAXINFO mmi = (PI.MINMAXINFO)Marshal.PtrToStructure(m.LParam, typeof(PI.MINMAXINFO));' that is passed to the OnWM_GETMINMAXINFO(ref Message m) call.
Please be aware that on multi-monitor aware dpi, forcing a 40pixel minimum for the use of an extra-largefont on a 4k screen, is going to be rather small !

The reason for the won't fix, is as above, However, if you want to override the the  OnWM_GETMINMAXINFO(ref Message m) call, then you still can, and that will allow you to set a smaller minimum for the form you are wanting to control.

I agree, with 4k displays, setting sizes too small will result in microscopic UI results.


.eq_any([["foo"]]) on SqlType = Array<Text> causes runtime error on Postgres

Setup
Versions

Diesel: ce6fa0bd93877391665254d9bdb23a9c895902ef
Database: Postgres

Feature Flags

diesel: postgres

Problem Description
array.eq_any(array_of_array) doesn't work on Postgres, because Postgres doesn't have such a thing as "array of array". It has 2D array but "2-D array is a different concept".
This causes an error, so we should probably use the non-specialized ANSI IN (...) when dealing with arrays.
What are you trying to accomplish?
table! {
    posts (id) {
        id -> Int4,
        // ...
        tags -> Array<Text>,
    }
}

#[test]
#[cfg(feature = "postgres")]
fn filter_array_by_in() {
    use crate::schema::posts::dsl::*;

    let connection: &mut PgConnection = &mut connection();
    let tag_combinations_to_look_for: &[&[&str]] = &[&["foo"], &["foo", "bar"], &["baz"]];
    let result: Vec<i32> = posts
        .filter(tags.eq_any(tag_combinations_to_look_for))
        .select(id)
        .load(connection)
        .unwrap();
    assert_eq!(result, &[] as &[i32]);
}

What is the actual output?
called `Result::unwrap()` on an `Err` value: DatabaseError(Unknown, "could not find array type for data type text[]")

What is the expected output?
Either of:

test passes, serializing as IN ($1, $2, $3) with $1 = ["foo"]...
Doesn't compile, requiring an explicit writing (e.g. .eq_any(abc).ansi()) to tell it to use ANSI serialization

ATM AFAICT there's no way to even tell it to use ANSI serialization because of bounds here:
https://github.com/diesel-rs/diesel/blob/ce6fa0bd93877391665254d9bdb23a9c895902ef/diesel/src/expression/array_comparison.rs#L100-L103
which forbids the use of the ANSI implementation on Pg Backend (which seems weird since ANSI should always work, no?)
(NB: All of this is useful only to the extent to which indexing will work and this behaves reasonably even if there are 500 different values in there. I recall that we did tend to prefer = ANY maybe because of this but I may be mistaken here, was it only for statement caching ?)
Steps to reproduce
https://github.com/Ten0/diesel/commit/d6c93fd2a8af99df9bc8dc362144e6f599c6030c
or dedicated working branch to fixing this:
cd diesel
git remote add Ten0 https://github.com/Ten0/diesel.git
git checkout array_eq_any
cd diesel_tests
DATABASE_URL="..." cargo test --no-default-features --features "postgres" -- filter_array_by_in --nocapture

= ANY (VALUES (ARRAY['foo']), (ARRAY['bar'])) works, so serializing as a VALUES subquery in the Many specialization would work...

I've pushed #4350 with another approach to fix that problem, but I'm open to different solutions.
As a more general note: I wonder if it would be meaningful (and possible) to have some sort of fuzzer that takes the documentation and keeps generating queries via the DSL and then checks if they compile and if they do not return an syntax error while executing them.

As a more general note: I wonder if it would be meaningful (and possible) to have some sort of fuzzer that takes the documentation and keeps generating queries via the DSL and then checks if they compile and if they do not return an syntax error while executing them.

I feel like it's probably fine if Diesel doesn't cover for mistakes people never make, and there ought to be some of those that the type system allows but the complexity of preventing isn't worth the probability of occurrence...
If this is true, then I'm not sure what would be a strategy to create a test system that would test only "relevant" cases.


Fixed alignment source for Layout/RescueEnsureAlignment when using inline access modifiers

Closes #6326.

Fixed alignment source for autocorrect and check methods.
Implemented alignment node as a parent node + access modifier (if it exists).
I haven't added any fixed node types like :send. Code requires node only respond to access_modifier?. So it will be easy to add any other inline modifiers in future.
Cosmetics to fit with current project styles.

Before submitting the PR make sure the following are checked:

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

Closes #6313.

Sorry, I was very busy this week. I will update it today.

I've removed merge commits and squashed it in single commit again. Ok? Done.

Thanks a lot for the work, are we expecting this to soon be merged and released?
Thanks again for the awesome work 👍


[Request] Sign releases with your PGP key and include hashes

In order to increase the reliability of MEW, I suggest you create a PGP key for MEW, publish it, sign releases and include the signature file in the release downloads. As an additional measure and for easier verification, you could also include hashes (e.g. MD5, SHA-256) of the files.

@gamalielhere @SteveMieskoski this is actually a good feature to have, can you look into travis and check whether we can automate this

@kvhnuke Works fine, thank you.
% gpg etherwallet-v3.20.03.zip.asc
gpg: WARNING: no command supplied.  Trying to guess what you mean ...
gpg: assuming signed data in 'etherwallet-v3.20.03.zip'
gpg: Signature made Do 08 Mär 2018 02:15:16 CET
gpg:                using RSA key 7F059C0F7B9A12F0
gpg: Good signature from "MyEtherWallet Inc<EMAIL_ADDRESS>[unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2FCA 4A1E 3AF4 278F 7AD3  B763 7F05 9C0F 7B9A 12F0

Closing this.

For easier verification, I further suggest displaying a link to the PGP key somewhere in README.md or even including it in the release packages.


vendor: Update go-git for object walker git gc blob slow path

Rebased from master for CI failure.


Could you tag future releases?

Or maybe you are but I'm missing something in the convention being used. It seems like from package.json, that this is on 2.0.6, but the tags only go up to 1.6.0. It'd help to be to match a release to it's source code when debugging/ considering putting in a pull request.

Thanks for your work on this awesome package!

hm, my bad I guess. I thought npm version should do this automatically? I'll look into it soon.

all releases should be tagged now.


use exact path in import

Follow-up on https://github.com/d3/d3/issues/3265

The commit 7083cb62eb4a919172363608ae75505037ce3da8 was made in the two branch.

Ooups, this can be closed then, sorry ; )


how to  find the max value of a tensor

i want to find the max value of a tensor.
i think of a method as follows:
Tensor<xpu, 2, DType> data = in_data[activation::kData].FlatTo2D<xpu, DType>(s);
Shape<1> maxshape=Shape<1>(1);
Tensor<xpu, 1, DType> out_max=NewTensor<xpu,DType,2>(maxshape,Dtype(0),false);
out_max=poolmshadow::red::maximum(pad(data,0,0),Shape<1>,data.shape_[0],data.shape_[1],1,1);
Are there any concise way?
And if i want to use the max value to the following calculation in gpu ,i can't access it using out_max[0] in cpu kernal, so how to solve it?

I think you could move this issue to mshadow repo since it is more relevant (and the question won't be flooded by other questions in this repo).


Prevent duplicate auto-whispers

This change addresses one major problem:

User copies a trade message ("Hi, I'd like to buy your foo")
(good) MercuryTrade sends the trade message automatically
User uses a /command macro (ex: PoE Overlay's /hideout)
PoE Overlay runs "/hideout" in PoE, (changing the clipboard) then
returns the clipboard to the old state (changing the clipboard again)

The clipboard is again ("Hi, I'd like to buy your foo")

(bad) Mercury Trade resends the trade message again

And two minor problems:

When MT starts or restarts, if your clipboard contains an old trade
message, MT will resend it.
When the user refreshes their item search page, they may lose track
of which items they have already messaged. In this case, if they have
already messaged for an item, MT will ping the seller again.

The simple solution to these issues is to check MT's history before
sending a duplicate whisper.
== Why 5?
This seems like a good tradeoff between solving the issues above
(usually only the most recent item is affected) vs creating a new
problem:

A user may refresh an search, hoping to buy from
previously-unresponsive sellers. In this case, they expect MT to send
their whispers, but if MT looks too far back in history (ex: if it
looks at all history), the user will be confused why the whisper-send
feature is "broken"

A history of 5 was also chosen by another project's similar feature, [1]
so it seems doubly-reasonable as an initial choice.
(Previous PR had a mismatched history count)

After more testing, this doesn't work because only part of the trade message is saved to history; it doesn't include the recipient's name.

After more testing, this doesn't work because only part of the trade message is saved to history; it doesn't include the recipient's name.


Currency converter website

This is a currency converter website where user can convert the currency .
Tech stack used :- HTML , CSS , JAVASCRIPT and Currency converter API

@LiQuiD-404  please assign this issue


CD - FAQ - Wait for steady state

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[x] Feature
[ ] Maintenance/Chore

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

@guilhermezanini-harness I see conflicts while doing merge, could you please try to resolve the same and commit again? Thanks!!

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

@deepanshuHarness done!


mypy: Fix strict optional in zerver/views.

@sharmaeklavya2

Automated message from Dropbox CLA bot
@umkay, it looks like you've already signed the Dropbox CLA. Thanks!


Added professional emails

Removed gmail addresses and added professional emails of both heads of admin.
CC - @Ash-29 Please review.

Removed Gmail addresses and added professional emails of both heads of admin.
CC - @Ash-29 Please review.

I think we should not remove cord social mail id as that is common and everyone can access. You can give one more sub heading under contact us like
Adminstrators :
Email id of both of us
But I think<EMAIL_ADDRESS>should be there


Errant tab is comments cause MGI GO load to fail

The problem is in  GO:0042626
It looks like there is a TAB in this comment: See the red ^| in the comment below: (tab location indicated by the ^
comment: Merged with hydrolase activity, acting on acid anhydrides, catalyzing transmembrane movement of substances, see details in https://github.com/geneontology/go-ontology/issues/14642. Merged with GO:0015450^IP-P-bond-hydrolysis-driven protein transmembrane transporter activity, see https://github.com/geneontology/go-ontology/issues/1737.
I will find and remove.
@dougli1sqrd , shouldn't Travis have found this or does it not treats tabs in text as extra white space?

ok; hopefully fixed


Logs output is not in color when using webview

Hi guys,
awesome extension!
One thing that bugs me though, is that the log output does not interpret the ANSI color codes correctly when using the webview. In the terminal it works of course.
It would be awesome if you would add that feature, because using the webview/editor window is way more comfortable than the terminal.
Cheers

Thanks for opening this @mojo2012 . We are in the process to refactor the log view https://github.com/Azure/vscode-kubernetes-tools/pull/773 so we will surely keep this into consideration. Thanks again for the suggestion.

Closing it as new log viewer has been merged and released. Please open new issues if you face any problem or have some ideas how to enhance it. Thank you!!


Speedup of summary_data_from_transaction_data

Replaced pd.period instances with timestamps for the actual calculations / aggregations which yields a speedup of several factors x10 on large datasets. For a dummy dataset with 100000 entries execution time drops from ~7 seconds to 0.13 seconds on my machine.
.to_period is still applied to truncate dates (more consistently in fact) which means results should remain largely unaffected.
Note that starting from pandas 0.24.0 some or all of the operations involving pd.period will also be considerably faster, however, the calculations via timestamps (i.e. integers) here should still have an edge by a couple of factors.

For compatibility reasons _find_first_transactions has to return datetime_col as pd.Period. This requires castings the timestamps back to periods before returning the results. This cast turns out to be relatively expensive, degrading the overall performance by a factor of 2-3 (on very large datasets) compared to when no cast is made.
The implementation remains substantially faster than before and probably faster still after pandas 0.24.0 will have addressed some of the performance issues with period values.


Update uberenv with submodule support: compatibility test

Summary
This is an attempt to update Uberenv to test that not breaking changes were introduced.

@adrienbernede , Axom has been updated to use a submodule for Uberenv which I'm pretty sure is now more up to date than this version.  Can this be closed?

It sure can!


Localization - Add culture code to route

Hello,
I am using the new Localization version.
In some cases I might need to add the culture code to the route:
/{culture}/area/prefix/controller/action/id
What is the best way to do this?
Thank You,
Miguel

Add it via one of the following:
[RouteArea("Name", AreaUrl = "{culture}/area")]
[RoutePrefix("{culture}/prefix")]
[GET/PUT/POST/DELETE("{culture}/url")]
There's nothing in place to do this for you in an automatic way. So you might have to repeat yourself here and there. Hope that helps.
On Feb 14, 2012, at 2:34 PM, shapper wrote:

Hello,
I am using the new Localization version.
In some cases I might need to add the culture code to the route:
/{culture}/area/prefix/controller/action/id
What is the best way to do this?
Thank You,
Miguel

Reply to this email directly or view it on GitHub:
https://github.com/mccalltd/AttributeRouting/issues/48

That is something I would like to avoid ... My idea would be:
When the routes are generated every time {culture} appears it would be replace by current culture.
This behavior could be controlled with a True/False property in the AR configuration.
To be honest I am not sure if that makes sense.
I was also reading the following:
http://adamyan.blogspot.com/
But I am not sure how would this work with AR.

So here's something I just worked up having remembered that an AR user submitted a patch allowing the configuration of a custom route handler. The config code would look like this (this is from the AR.Web project):
routes.MapAttributeRoutes(config =>
{
    config.ScanAssemblyOf<ControllerBase>();
    config.AddDefaultRouteConstraint(@"[Ii]d$", new RegexRouteConstraint(@"^\d+$"));
    config.AddTranslationProvider(translationProvider);
    config.UseRouteHandler(() => new CultureAwareRouteHandler());
});

The route handler looks like this:
public class CultureAwareRouteHandler : MvcRouteHandler
{
    private const string CultureRouteParamName = "culture";

    protected override System.Web.IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
        // Detect the current culture from route data (which happens if using a {culture} route param.
        var cultureRouteData = requestContext.RouteData.Values[CultureRouteParamName];
        var currentCultureName = (string)cultureRouteData;
        if (currentCultureName == null)
        {
            // Fallback to detecting the user language.
            var request = requestContext.HttpContext.Request;
            if (request.UserLanguages != null && request.UserLanguages.Any())
                currentCultureName = request.UserLanguages[0];
        }

        if (currentCultureName != null)
        {
            // Set the current thread's culture based on the detected culture.
            var cultureInfo = new CultureInfo(currentCultureName);
            Thread.CurrentThread.CurrentUICulture = cultureInfo;

            // Add the culture to route data
            requestContext.RouteData.Values[CultureRouteParamName]
                = currentCultureName;
        }

        return base.GetHttpHandler(requestContext);
    }
}

I tested this in the AR.Web project and it works great. Check out the code. Again, I'm still not sure that AR should do anything but rely on the current thread. It might be tricky to put a one-size fits all solution in place when a custom route handler plugged into the routes would do the trick.
If you implemented your own RouteHandler like above, you have a lot of flexibility to support cookies or anything else. Let me know your thoughts.

I agree that a plug and play handler would be ideal.
However, it would be nice to be able to integrate the logic with AR
I tested the handler approach and really liked it. For now I found 2 problems:
1 - Home/Index action. I get a 404 error.
I tried with RoutePrefix("{culture}") or GET("{culture}") on the action and no luck.
On the area routes I simply added: RouteArea("CMS", AreaUrl = "{culture}/CMS")
Here it works fine ...
2 - Translation with Culture Handler.
Consider you have the following route:
http://localhost:6575/en/area/access/roles?p=1
If you go to the URL and replace the "en" by "pt" you will get:
http://localhost:6575/pt/area/access/roles?p=1
The page loads fine and the links get the PT parameter ...
However the url is not translated and the same happens with the links.
There should be a way update/translate the url on the handler.
When I manually change "en" to "pt" in the url the handler should change the culture and translate the url.
Do you understand what I mean?
I will keep testing it and post my feedback here.

By the way, I also tried to use the following to solve problem (1):
RouteTable.Routes.MapRoute("Default", "{culture}/{controller}/{action}/{id}", new { controller = "Home", action = "Index", culture = UrlParameter.Optional, id = UrlParameter.Optional }, typeof(HomeController).Assembly);
But I keep getting the 404 error.

Hi,
I was thinking on problem (2) and:
Consider you have the following route:
http://localhost:6575/en/area/access/roles?p=1
If you go to the URL and replace the "en" by "pt" you will get:
http://localhost:6575/pt/area/access/roles?p=1
And the view is loaded fine ...
Instead of this behavior or, as I mentioned before, translating the route, I think the ideal would be a 404 error.
Because in fact "pt/area/access/roles?p=1" does not exist.
Any idea how to solve this?
Thank You,
Miguel

I chose not to handle this case by default because I was not sure if that would be ideal behavior for everyone. So I think there should a config option to turn on culture-specific route constraints for translated routes. So you would just say: config.ConstrainTranslatedRoutesByCulture = true.
t
On Feb 16, 2012, at 12:51 PM, shapper wrote:

Hi,
I was thinking on problem (2) and:
Consider you have the following route:
http://localhost:6575/en/area/access/roles?p=1
If you go to the URL and replace the "en" by "pt" you will get:
http://localhost:6575/pt/area/access/roles?p=1
And the view is loaded fine ...
Instead of this behavior or, as I mentioned before, translating the route, I think the ideal would be a 404 error.
Because in fact "pt/area/access/roles?p=1" does not exist.
Any idea how to solve this?
Thank You,
Miguel

Reply to this email directly or view it on GitHub:
https://github.com/mccalltd/AttributeRouting/issues/48#issuecomment-4008056

Yes, I think that might be a good option ...
First I considered the full translation but then I started to think ...
And I looked at Google site and the site of the university where I studied.
And it seems logic to fire a 404 error. And maybe give less problems.


adding elyra to imagestream

fixes: #207
Description

I have added the elyra package opendatahub.io/notebook-python-dependencies annotation of imagestream.
How Has This Been Tested?

Merge criteria:

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

/retest

/test all

/retest all

/test all

/retest-required

/test images
/override ci/prow/notebooks-e2e-tests

/override ci/prow/images


[Tour of Beam] [Frontend] Cache examples when switching tabs

Cache examples when switching tabs.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @alexeyinkin

R: @damccorm


TypeError when accessing browserWindow property

The Problem:
when I run my automation scripts I am running into an error 'Cannot read property 'maximize' of undefined'. Spectron is not able to access browserWindow property of electron. When I tried to see the contents of the electron application, I could not find browserWindow property in it. The contents of the app is attached in the below image.

can anyone tell me why the property is missing in the application..?
In addition to browserWindow, many such properties, like electron, webContents, mainProcess, ect, are missing because of which many of my scripts are getting failed.
Thanks in advance.
Karthik

I'm seeing the same issue, electron, webContents, browserWindow are all undefined, while the app.client is fine and is working.

Looks like this is why it's happening:
https://github.com/electron/spectron/issues/174


Partial fast ABI support for C++/WinRT

This is the first stage of the fast ABI support for C++/WinRT. It is not complete, but I want to get what's done checked in to avoid this PR getting hopelessly too big. The bulk of the changes here are actually additional test code. There are also a few small bug fixes. Notables:

I've renamed a few of the projects under /cppwinrt to make it easier to manage a growing set of test projects.

I fixed a bug in the RC generation where the version number shows up incorrectly.

I hardened the WinRT delegate code gen to deal with out params reliably. This is just proactive work. I have not run into any cases of this in the wild, but it simplifies the code gen not having special code to deal with delegates.

The fast ABI work itself is the basic shell and works for consumption and production. Consumption of the fast ABI works for both fastabi-aware consumers and non-fastabi-aware consumers. Callers must opt in to the fast ABI using the -fastabi command line option. This is consistent with MIDLRT and makes sense since this is a breaking change (for consumers).

The next steps are to add more comprehensive testing for the fast ABI and ensure that it lines up with Duncan's implementation. This will naturally lead to more tuning of the implementation. But what we have here is enough for the Composition team to start experimenting, which is critical to get them unblocked and begin their adoption process. I then need to work with Scott on integrating the fast forwarder support.

    { "opt", 0, 0, {}, "Generate component projection with unified construction support" },

(unrelated) consider spelling out "optimized" and "library" since the cmd reader already support substring matches

Refers to: src/tool/cppwinrt/cppwinrt/main.cpp:33 in 923e0d6. [](commit_id = 923e0d6bcf78279bd90cbadea5510d09eb982647, deletion_comment = False)


Collaboration request

Hello, we are making a universal bot to automate websites.
We would like you to collaborate with us since there are few developers who maintain the project.
https://gitlab.com/universales/rentabilidades-team
We are still developing the new version of the program, but you can try our old version from this link.
https://rentabilidadesweb.runkodapps.com/
Cheers

Hey, I checked the GitLab and it looks like an interesting project, but I do not know any Spanish.  Let me know how I can help. You can definitely use code in this repository, but it does not seem like you are using puppeteer

Hey, I checked the GitLab and it looks like an interesting project, but I do not know any Spanish.  Let me know how I can help. You can definitely use code in this repository, but it does not seem like you are using puppeteer

We have just translated the project into English (In the files) so we can better collaborate.
I recommend that you join our telegram group to better talk about all this.
https://t.me/joinchat/HT1hQBCCxBW3HG8c
The idea for now is to separate all functions from
"/public/core/resources/libglobal.js" and leave the functions inside folders, such as the folder "/public/core/resources/human-simulator/click.js"
(More than anything to have the project well organized).
Cheers

We have just translated the project into English (In the files) so we can better collaborate.
I recommend that you join our telegram group to better talk about all this.
https://t.me/joinchat/HT1hQBCCxBW3HG8c
The idea for now is to separate all functions from
"/public/core/resources/libglobal.js" and leave the functions inside folders, such as the folder "/public/core/resources/human-simulator/click.js"
(More than anything to have the project well organized).
Cheers

We have just translated the project into English (In the files) so we can better collaborate.
I recommend that you join our telegram group to better talk about all this.
https://t.me/joinchat/HT1hQBCCxBW3HG8c
The idea for now is to separate all functions from
"/public/core/resources/libglobal.js" and leave the functions inside folders, such as the folder "/public/core/resources/human-simulator/click.js"
(More than anything to have the project well organized).
Cheers

We have just translated the project into English (In the files) so we can better collaborate.
I recommend that you join our telegram group to better talk about all this.
https://t.me/joinchat/HT1hQBCCxBW3HG8c
The idea for now is to separate all functions from
"/public/core/resources/libglobal.js" and leave the functions inside folders, such as the folder "/public/core/resources/human-simulator/click.js"
(More than anything to have the project well organized).
Cheers


Fix for build error due to API update in #2278

Duplicate patch already submitted to fix the issue. https://github.com/bytecodealliance/wasmtime/pull/2335


Create dataset loader for INDspeech_TELDIALOG_SVCSR

NusaCatalogue: https://indonlp.github.io/nusa-catalogue/card.html?indsp_teldialog_svcsr

Dataset
indsp_teldialog_svcsr

Description
INDspeech_TELDIALOG_SVCSR is the first Indonesian speech dataset for small vocabulary continuous speech recognition (SVCSR). The data was developed by TELKOMRisTI (R&D Division, PT Telekomunikasi Indonesia) in collaboration with Advanced Telecommunication Research Institute International (ATR) Japan and Bandung Institute of Technology (ITB) under the Asia-Pacific Telecommunity (APT) project in 2004 [Sakti et al., 2004]. Although it was originally developed for a telecommunication system for hearing and speaking impaired people, it can be used for other applications, i.e., automatic call centers. Furthermore, as all speakers utter the same sentences, it can also be used for voice conversion tasks.

License
CC-BY-NC-SA 4.0

#self-assign


Project template

To simplify the onboarding experience, there should be a project template installable via dotnet new --install.

Would be good to press for solving https://github.com/dotnet/sdk/issues/27200 so we can have nice experience


DRAFT: Try to serialize f64's in geom as f32's for smaller file sizes, for #94

I just did something similar to this here: https://github.com/rory/osmio/pull/4
That was f32 <-> i32, but a similar approach in abstreet could make sense.
In particular, if you're trying to achieve some kind of decimal precision (e.g. to the 0.0001), I think storing as some kind of integer, rather than binary floating point, is the way to go!
Notably, OSM's own internal coordinates are stored in this scaled i32 format.
I don't have time to work on this here in the immediate, but I wanted to leave a note in case someone else pursues it.

Thanks for the reference implementation! Inspired by this, I gave another shot: https://github.com/a-b-street/abstreet/commit/419489bb1bdf950c7880bd422d07d0e6be1d0fa3
For Pt2D, we can reduce the storage size by 4x. Since there are so many Turns with geometry on a map, this brings the udistrict map from 12MB to 10, and the south_seattle from 75MB to 64! I'm going to try something similar for Distance (which should crunch down scenario files) and Duration/Time (which should compress prebaked results). I'm not 100% on the current rounding logic, so I'm planning to write some unit tests and round-trip things to make sure there's no subtle problems introduced. It might also be reasonable to make the in-memory representation use integers, but it's a more difficult change to pull off -- I tried something like it in https://github.com/a-b-street/abstreet/tree/f32_mechanical and hit lots of map importer bugs. Might be easier to do that now, though

Superceded by #686


how to enable next-video-overlay?

It should be enabled by default for episodes of a tv-show. Does it not work?


[bug] Can't connect as administrator

Hi !
I can't connect as administrator, I am blocked on the page user / authentication.
I have en blank page, without redirection.
But if I log with a wrong password, i'm not blocked and a error message (invalid password) appears !
My website with Pagekit : https://astucesweb.fr
Noam

I really need this access, please help me.

I really need this access, please help me.

@unpeudetout, Do you have access to you website database?

Yes, of course !

Good, try to verify if the admin has the correct roles and permission,
and try to manually activate the debug mode, to be able to have more details about the problem

I don't find the option debug mode in my database. Where is it ?
Thanks,
Noam

to activate the debug mode, you need to edit the config.php (in the root of your project)
you have to change two values from false to true:
debug' => false,
and
'debug' =>
array (
'enabled' => false,
),

I have activated the debug mode, and it's... the end of the world.
![screenshot_159](https://cloud.githubusercontent.com/assets/13904910/12074825/6dca35b2-b16a-11e5-92d8-bf290b44e9b5.png

)

:disappointed:
I have a proposition:
try to add
$platform->registerDoctrineTypeMapping('enum', 'string');
under         $platform = $this->connection->getDatabasePlatform(); (line 140) on
app/modules/session/src/Handler/DatabaseSessionHandler.php

Hi !
Thanks, it's working and I erase trycial_annotations table and all it's working.
Thanks a lot,
Noam

:smile: you're welcome


Show Anon, GID, UID in v2 volumes

Anon, GID, UID parameters previously hidden if empty in podman volume for API v2.
Status still hidden if empty, because it should not display a null string
Signed-off-by: Ashley Cui<EMAIL_ADDRESS>Fixes https://github.com/containers/libpod/issues/6524

LGTM
@mheon PTAL

/lgtm
/hold

/approve
/hold cancel


Tighten purpose of array_masked_to_nans

I think that array_masked_to_nans should always return a numpy.ndarray and not a ma.core.masked_array as used to happen. This means we don't have to call data = data.data after every time we use array_masked_to_nans in Iris code.
I've also removed the optional mask argument from array_masked_to_nans as it was only used once and ran the risk of confusing the usage of the function. At its worst, it would have been possible to pass a masked array and an unmatched mask, at which point the function would have returned an array that was not completely filled with nans.

please note, this behaviour was explicitly added in #2392
https://github.com/SciTools/iris/commit/d2116d9a30451e96c54f427fb994de3ffb318c06#diff-6f32db0fa1a9558ed4ded7a2425d9fcdL111
enabling the logic for type changing from int to float to be shared between instances where a masked array exists and needs to be converted to a nan array and instances where a numpy array exists with a known condition as to where to put the nan values
these two cases exist in our different file format loaders and I expect both behaviours to be used more
Additionally, the detail change to iris.fileformats.pp doesn't make sense to me,
data
at https://github.com/SciTools/iris/pull/2424/files#diff-066f828420b27bfd2a03868477b98415L1043
will never be a masked array, always an array, so it will never get masked
perhaps our testing is lacking here, if this isn't resulting in a test failure
in its current form this proposed change appears to be a regressive step to me

@marqh #2392 is so large as to be unusable, can you point to a particular commit?

these two cases exist

Then they should probably be handled separately. As it stood, array_masked_to_nans could very easily be misused by passing both a masked array and a mask, at which point the masked array's mask would be ignored and the supplied mask used to set nan point. In this case the returned value would be partly nan-filled with some masked points not filled with anything.

will never be a masked array

I know, that's why I've converted it to a masked array first, using the same logic as was before used to supply a boolean "mask" to the previous array_masked_to_nans.
In summary, array_masked_to_nans seemed to have become confused in its purpose so I've made a positive assertion so that it does one job well rather than trying to do two overlapping things.

@marqh #2392 is so large as to be unusable, can you point to a particular commit?

There is one commit on this PR, so I have explicitly pointed to the change in the file:

please note, this behaviour was explicitly added in #2392
d2116d9#diff-6f32db0fa1a9558ed4ded7a2425d9fcdL111

I know, that's why I've converted it to a masked array first, using the same logic as was before used to supply a boolean "mask" to the previous array_masked_to_nans.

It was that creation of a mask to immediately remove it again that was identified as an unrequired performance overhead and avoided

As far as I can see, this single place where the 'mask' keyword is used is also redundant, as this code should not need to use masked arrays at all any more :  All the sources of the 'data' variable that  this processes now produce nan-arrays instead.
Thus, no need for a mask keyword!
However this code as we have it is now mixing masks and NaNs, and I think getting it wrong...
For instance, it now uses NaNs for the missing parts of LBCs (on the dask branch), but then uses mask= to convert that to a masked array with land or sea points masked out.  The two types of "missing" don't get combined any more, which I think is a bug.
Worse, the dual use of '_data_bytes_to_shaped_array' now looks wrong to me
-- though again,  not because of any change here ...

as '_data_bytes_to_shaped_array' now returns a nanarray, this it is ok to wrap a dask wrapper around it + use it as your cube lazy data.  This means the code at line 883 in  is good
but the other call in _create_field_data when field.data is a LoadedArrayBytes seems to me now to be wrong :  When this becomes cube.data, it is real data not lazy, so I think it nevers gets "converted back" from nans to a masked array -- which for Iris use it should do.

I'm investigating that...

It was that creation of a mask to immediately remove it again that was identified as an unrequired performance overhead and avoided

Then I guess the PP loader does not need to call array_masked_to_nans at all! And this very much reinforces the fact that array_masked_to_nans does not require a mask kwarg.

Then I guess the PP loader does not need to call array_masked_to_nans at all

it shares the logic about type coercion where nans are required, i.e. the change from int to float. That is the logic which was factored out into the _lazy_data module on request that it be shared
in order to avoid the call at all, this logic would have to be copied back into the fileformats.pp module

Now with extra added rebase after #2421 got merged!

Review actions to address comments from @pp-mo.

Review actions: tests renamed and excess test removed.
@bjlittle @lbdreyer do you have anything to add here? It would be nice to get this in.

Suggested change : https://github.com/dkillick/iris/pull/8
Other than that, I'm good with this + will merge when other have had a chance..

OK, I've changed array_masked_to_nans so that it won't recast int masked array objects with mask=ma.nomask.

Oh good, the tests have passed!
@pp-mo @lbdreyer @bjlittle nudge nudge nudge...
:shipit:


unlock mutex properly in DialStream

@oxtoacart please correct me if I'm wrong, but if the code after L146 returns an error (though hardly happen), the mutex will not be unlocked. This properly unlocks the mutex.

Good catch!


WFLY-4526 component upgrade to Hibernate ORM 4.3.9.Final

Needed to pass the EE JPA TCK tests

Windows Build 1368 is now running using a merge of f9244e1b7a3f850789f24ddb251c01467edf0e43

Linux with security manager Build 1230 is now running using a merge of f9244e1b7a3f850789f24ddb251c01467edf0e43

Linux Build 6265 is now running using a merge of f9244e1b7a3f850789f24ddb251c01467edf0e43

Linux with security manager Build 1230 outcome was SUCCESS using a merge of f9244e1b7a3f850789f24ddb251c01467edf0e43
Summary: Tests passed: 823, ignored: 356 Build time: 0:05:00

Windows Build 1368 outcome was SUCCESS using a merge of f9244e1b7a3f850789f24ddb251c01467edf0e43
Summary: Tests passed: 2847, ignored: 412 Build time: 0:50:06

Linux Build 6265 outcome was SUCCESS using a merge of f9244e1b7a3f850789f24ddb251c01467edf0e43
Summary: Tests passed: 2846, ignored: 412, muted: 1 Build time: 0:50:31


Dev branch

fixing errors now

Emm, the installation of lolcat is really messy, what about telling users install lolcat by themselves? 😟

Sorry my time is cut in half parts, I am here now, so yeah you want what exactly ? x)


Table instance aliases and sharing in sourcedefs

It would be useful for the DBA to be able to define a set of sourcedefs with shared/common parts to their source path.  When building an ermrest query, you would instantiate the common parts only once and reuse the same table instance aliases to construct the remaining (distinct) parts of each source that is being used in a recordset query.
I think there are two reasonable ways to do this:

Add DBA-controlled instance aliases to the inbound/outbound clauses (following syntax in ermrest acl bindings)
Add a new {"sourcekey": "key"} element that can be used as the first element in a source path

In the first approach, each sourcedef would have its own copy of the shared structure.  In the second approach, the DBA would have to factor out the shared prefix part as another named sourcedef, then reference it from each of the sourcedefs that should overlap.
Either way, you have to implement some kind of idempotence to allow a named table instance or shared sourcedef to be added to a query at-most-once and then splice the remaining non-shared parts into the query using context-reset and/or explicit alias-qualifiers in the constructed ermrest query path.

With the recent changes, we added support for the path prefix (the second method that is mentioned above). So in this comment I'm going to focus mainly on addition of DBA-controlled aliases.
The following are the two new properties that we're going to have to support while defining a path in source definition:

alias (right alias): Is used to name a table instance. It can be added to the outbound or inbound nodes in the source definition.
context (left alias):  is used to refer to any of the defined (whether by user or ERMrestJS) aliases. This can be used in outbound or inbound nodes, as well as filter nodes (the syntax for filter nodes is a bit different).

In case of filter nodes, we're going to have to allow [ <leftalias>, <column> ] format which allows us to signal that we want a column from the defined <leftalias> (context).
The following is not finalized and is more like a note that I wanted to capture. The content might not be complete or easily readable and the purpose is just to have them in the issue so we can discuss it. I will keep updating/changing its content
Concerns/Things to discuss:

The only use case that comes to my mind is combining this feature with filter:

 Example 1: Writing disjunctive filters based on columns of different table instances
{
  "source": [
    {"outbound": ["schema", "const1"], "alias": "o1"},
    {"inbound": ["schema", "const2"]},
    {
       "or": [
         {"filter": ["o1", "o1_c1"], "operand": "v1"},
         {"filter": "o2_c1", "operand": "v2"}
    }
  ]
}

 Example 2: Filtering based on a column in another table and then reseting the path
{
  "source": [
    {"inbound": ["schema", "const2"]},
    {"filter": "o2_c1", "operand": "v2"},
    {"context": "M", "outbound": ["schema", "const2"]},
    "RID"
  ]
}

We might also want to allow the last element in the source definition to have context.

I'm not entirely sure what are the other use cases for reusing table instances, but the advantage of sharing path prefix was mainly when multiple sources with same prefix are used in the same context (while parsing facets or generating the main request containing the all outbound paths). And in that syntax, the two place that were using the same prefix would just refer to the same sourcekey. But with alias/context syntax, the definition must come before the usage and given that data-modelers don't have any control over the order of how these sources are used in the URL, I'm not sure how these would play out when we're combining multiple paths in one request.

Should ERMrestJS try to validate these paths? The current syntax goes over the syntax to make sure it is defining a valid path, and also categorizing them.

When a source is defined, depending on its category, ERMrestJS might use that source in different ways and make some modifications:

For related entities, the source is reversed to produce the proper "Explore" link.
For null facet, the source is reversed and used in a right outer join path.
For aggregates, the source is used to determine the path from main table to aggregate column and extra aliases are added to get the response.
For all outbound paths, an alias is added to the last foreign key in the path to be used in the projection list.
For pure and binary association, an alias is added to the association table to be able to properly get trs information for unlink.
For path prefix, the prefix is replaced either with the whole definition or just a table instance that is already defined.
For all the requests the "M" alias is used for the projected table. Therefore in the request to get the facet values where we're creating the URL like this  s:main_table/<other-facets>/<path-from-main-to-this-facet>, we're using alias "T" for the <other-facets> parts. I don't think we want to "leak" these implementation details and we should just allow them to refer to the existing "M"/"T" and then in the code we should just handle this (let them use something like "alias": "base" to just hide this "M" vs. "T").
What about the conflicts with the existing aliases?

To answer regarding use case for user-controlled prefixes aside from
filters:

Within a single source definition, it could be used to build an
internal "tree" structure rather than a long chain of joins, the
same way you connect multiple facets or pseudo columns to a main
table.

Across shared prefixes, one could first reference the shared
prefix by sourcekey, then use one of the internal, user-assigned
aliases within that prefix source as the context for the join.

As you said, the prefix would have to be built into the URL before the
part that uses the prefix.
These tree-like structures also would prevent you from "reversing" a
source path!  So, we have to consider where path reversal is necessary
for an ermrestjs/chaise feature and either disallow the tree-like
sources or degrade the chaise feature to disable it in the presence
of the non-reversible path...


[usbuart] Fix usbuart for all the usb changes

Convert usbuart to have same verilog interface as usbdev and
same register interface as uart with additional USB registers
Simple test can be done by hacking the existing top_earlgrey to slot
the usbuart in rather than usbdev.

Replace usbdev with usbuart in autogen/top_earlgrey.sv
Replace usbdev with usbuart in top_earlgrey.core
Change uart base_addr in hello_world to TOP_EARLGREY_USBDEV_BASE_ADDR

Passes verible and verilator lint checks.
Runs in verilator simulation (reading usb0.log output to see hello_world
messages are received by the host and the Hi!Hi! is echoed.)
Runs on Nexysvideo FPGA board.
Signed-off-by: Mark Hayter<EMAIL_ADDRESS>

@vogelpi you requested in #2753 that I update the usbuart code for all the interface changes in the USB side.
This PR does that. I converted the hardware side to have the same interface as usbdev but the software interface of uart.
Added a bunch of dummy interrupts to get those to match at the interface, potentially some should be connected.
@stefanlippuner I split out the ack termination from your combined isoc/ack because verilator was detecting a potential logic loop (broken in practice because the simple fifo interface is never isoc).
I tidied the code to make it pass lint and fix some coding standard issues. Probably more to do there.
Manual testing only at this point, by hacking into top_earlgrey and hello_world.

@vogelpi you requested in #2753 that I update the usbuart code for all the interface changes in the USB side.
This PR does that. I converted the hardware side to have the same interface as usbdev but the software interface of uart.
Added a bunch of dummy interrupts to get those to match at the interface, potentially some should be connected.
@stefanlippuner I split out the ack termination from your combined isoc/ack because verilator was detecting a potential logic loop (broken in practice because the simple fifo interface is never isoc).
I tidied the code to make it pass lint and fix some coding standard issues. Probably more to do there.
Manual testing only at this point, by hacking into top_earlgrey and hello_world.

I see the license check fails. Is it acceptable to add hw/ip/usbuart/rtl/usbuart_iomux.sv to the manually checked list in util/licence-checker.hjson and include in this PR?

I see the license check fails. Is it acceptable to add hw/ip/usbuart/rtl/usbuart_iomux.sv to the manually checked list in util/licence-checker.hjson and include in this PR?

I see the license check fails. Is it acceptable to add hw/ip/usbuart/rtl/usbuart_iomux.sv to the manually checked list in util/licence-checker.hjson and include in this PR?

SGTM - header seems the same as usbdev_iomux.sv which is already on the exclusion list.

I see the license check fails. Is it acceptable to add hw/ip/usbuart/rtl/usbuart_iomux.sv to the manually checked list in util/licence-checker.hjson and include in this PR?

SGTM - header seems the same as usbdev_iomux.sv which is already on the exclusion list.

@stefanlippuner I split out the ack termination from your combined isoc/ack because verilator was detecting a potential logic loop (broken in practice because the simple fifo interface is never isoc).

Sure, looks fine in usbdev (it should not change anything).

@stefanlippuner I split out the ack termination from your combined isoc/ack because verilator was detecting a potential logic loop (broken in practice because the simple fifo interface is never isoc).

Sure, looks fine in usbdev (it should not change anything).

Force pushed a version where the only change is the license exception addition.

Force pushed a version where the only change is the license exception addition.

@msfschaffner, @a-will, @tjaychen I just noted that this usbuart PR re-aligning the IP with changes in the protocol engine and usbdev from Jan 2021 is still around but we've deleted the usbuart IP from the repo in #12146 . This probably means we should also close this PR.
However unlike the IP itself, we won't be able to restore this PR later on from the history. On the other hand, if we decide to restore usbuart at some point, we probably anyway have to do a lot of re-alignment work. WDYT?

I tried a quick rebase of this PR onto the most recent state before we had removed usbuart from the tree, and it looks like there are several conflicts already. So we will likely need to do quite a bit of re-alignment work anyways.
Let's close this PR for now - I made a backup copy of this to my fork (just in case we need it later down the road).


🦡 [App Badges] Improve voice-over support for badge value

📲 What

Adds the localized string for 99+ so that the + can be moved around/modified by translators.
Displays the uncapped badge value when voice over is enabled.

🤔 Why
iOS voice over natively reads badge value as "1 item", "2 items", "100 items", etc. This functionality was lost when we displayed the badge value as 99+ when it exceeded 99, the screen reader would just read "ninety-nine plus". UITabBarItem does not provide access to its badge value view and digging through the view hierarchy for _UIBadgeView to add an accessibility hint seemed like the wrong approach.
🛠 How
Added an input to RootViewModel so that when voice over is enabled or disabled we can display the uncapped or capped badge value respectively.
👀 See
Enabling and disabling voice-over - note the screen reader focus appearing at the top and the badge value updating accordingly:

♿ Accessibility

[ ] Works with VoiceOver

✅ Acceptance criteria

[ ] Run on device, send yourself a badge value greater than 99, enable and disable voice over.

Looks like we're going to have to also clamp it (or at least visually) for when Voice Over is on...maybe we should just not complicate things and use single logic for both cases (VoiceOver ON/OFF)?

Looks like we're going to have to also clamp it (or at least visually) for when Voice Over is on...maybe we should just not complicate things and use single logic for both cases (VoiceOver ON/OFF)?

We chatted on Slack, but just so that it's also recorded here - we show the uncapped value to retain the built-in behaviour of voice-over, so that the screen reader says "one hundred items" and not "99 plus".
Given that the user would have to have more than 9,999,999 unseen activity notifications before this becomes a UI issue (and only for visually impaired users with voice-over enabled), I don't think we should change this for that edge case.


Document PID limiting

This is a Feature Request

What would you like to be added
Document PID limiting for Pods and Nodes
Why is this needed
PID limiting intends to graduate to GA in v1.20, but it's not yet documented. There is an existing blog article that might be a good starting point.
Comments
/kind feature
/sig node
See https://github.com/kubernetes/kubernetes/pull/94140 and https://github.com/kubernetes/enhancements/issues/757

@annajung this is relevant to the v1.20 release
It looks like the feature is already confirmed for graduation (I'm not sure if there is any process for making sure that features are documented before they are released as GA).

Hi @sftim, I'm currently not aware of any process that exists for that as the decision to need/not need docs are based on the PR owners I believe.
I'll take a note of this and make sure we get documentation for it and for anything that's GA for the release.
I'll also bring this up to the leads to find out if there is a process and update you. Thanks for bringing this to my attention!

Addressed in PR #23929
/close


Error 'There is no field within the filter' for table 49 on field 'Additional Grouping Identifie'

I am using a Docker container with Business Central 14.39 to practice the Upgrade Tool. When I run page 104000 and click in the Wizard on 'Generate Code for Customization Migration' this error occurs. After investigating the problem I have found the reason for this error.
The primary key of table 49 is longer than 250 characters!
Codeunit 104000 makes use of table<PHONE_NUMBER> (Key) which has a field 'Key' that can hold a maximum of 250 characters.
The primary key of table 49 is 251 characters long:
Type,G/L Account,Gen. Bus. Posting Group,Gen. Prod. Posting Group,VAT Bus. Posting Group,VAT Prod. Posting Group,Tax Area Code,Tax Group Code,Tax Liable,Use Tax,Dimension Set ID,Job No.,Fixed Asset Line No.,Deferral Code,Additional Grouping Identifier

If the table has a longer key the 250 it needs to be upgraded in an other way.
Change the code so the table is skipped, procedure IgnoreField in cu 104000 add
IF TableID = 49 THEN
EXIT(TRUE);

Unfortunately the suggested change in CU104000 does not fix the problem.
Change code as shown in picture below.


[BEAM-3776] Fix issue with merging late windows where a watermark hold could be added behind the input watermark.

In particular, testMergingLateWatermarkHolds illustrates a bug
where merging windows for which the hold only depends on the
window can lead to holds being added before the input watermark.
This PR currently doesn't fix the issue just adds a test illustrating the problem.

@huygaa11 can you take a look? @kennknowles indicated you'd be interested in reviewing.

Hi, I will review it today.

@tgroh Can you have an additional look? Also, merge it in later? Thanks.

@tgroh Can you PTAL? Thanks!

Precommit failures?

retest this please

run java precommit

Additionally, running flink:testCompileJava, I get:
> Task :runners:flink:compileTestJava FAILED
/usr/local/google/home/tgroh/git/beam/runners/flink/src/test/java/org/apache/beam/runners/flink/streaming/FlinkSplitStateInternalsTest.java:115: error: method does not override or implement a method from a supertype
  @Override
  ^
/usr/local/google/home/tgroh/git/beam/runners/flink/src/test/java/org/apache/beam/runners/flink/streaming/FlinkSplitStateInternalsTest.java:119: error: method does not override or implement a method from a supertype
  @Override
  ^
/usr/local/google/home/tgroh/git/beam/runners/flink/src/test/java/org/apache/beam/runners/flink/streaming/FlinkBroadcastStateInternalsTest.java:87: error: method does not override or implement a method from a supertype
  @Override
  ^
/usr/local/google/home/tgroh/git/beam/runners/flink/src/test/java/org/apache/beam/runners/flink/streaming/FlinkBroadcastStateInternalsTest.java:91: error: method does not override or implement a method from a supertype
  @Override
  ^
/usr/local/google/home/tgroh/git/beam/runners/flink/src/test/java/org/apache/beam/runners/flink/streaming/FlinkKeyGroupStateInternalsTest.java:133: error: method does not override or implement a method from a supertype
    @Override
    ^
/usr/local/google/home/tgroh/git/beam/runners/flink/src/test/java/org/apache/beam/runners/flink/streaming/FlinkKeyGroupStateInternalsTest.java:137: error: method does not override or implement a method from a supertype
    @Override
    ^
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
6 errors

@tgroh PTAL, now passing


Add configuration for clang-format-6.0 and clang-format 7

It can be used to format the code according to the Google C++ Style Guide (https://google.github.io/styleguide/cppguide.html).

I updated the configuration. It is now much shorter and gives identical results with clang-format-6.0 and clang-format-7.


stack overflow for crazy case involving invariant type and intersections

[@gavinking] Spotted by @RossTate, this crashes the typechecker:
interface Co<out T> {}
interface A satisfies Co<Inv<A&B&Co<Inv<A&B>>>> {}
interface B satisfies Co<Co<B&A>> {}
class Inv<T>() {}
Inv<A&B&Co<Inv<A>>> foo(Inv<A&B> bar) => bar;

[Migrated from ceylon/ceylon-spec#596]

For this particular one:
interface Inv<P> {}
interface A satisfies Inv<A|Inv<A>> {}

attempting to simplify the union A|Inv<A> in Inv<A|Inv<A>> involves checking if Inv<A> is a supertype of A, to see if the latter can be omitted. To do so, we find the Inv<> supertype of A, which is Inv<A|Inv<A>>, and then immediately attempt to canonicalize this type (which looks just like the one we started with). Hence the overflow.
Adjusting Type.isSubtypeOfInternal to use a hacked resolveAliasesNoDedup() which uses a hacked addToUnionNoDedup() which simply omits the code that tries to remove redundant types makes the sample code compile. It does cause two typechecker tests involving dynamic to fail, not sure why.

To share some thoughts:
Most of the tricky intersection cases seem to come down to this: needing to find out if two types are disjoint in order to find out if the two types are disjoint, with at least one of the types being a class or interface.
There are two subcases: (a) when we don't actually need to know if the types are disjoint, and (b) when we do.
Considering (a) first, with the simplified example:
interface Inv<P> {}
interface A satisfies Inv<A> {}
interface B satisfies Inv<A&B> {}

In order to find out what B satisfies, we need to know if A and B are disjoint.

A and B both satisfy Inv<>. They are disjoint if they satisfy Inv<> in incompatible ways.
Therefore, we need to know if A == A&B. If not, then B actually satisfies Inv<Nothing>
We can determine that A != A&B regardless whether or not A and B are disjoint: A&B is either Nothing or A&B, and neither of these is exactly A. We don't actually need to know if A and B are disjoint to discover the answer to (2). They are indeed disjoint.

Presumably, hasEmptyIntersectionOfInvariantInstantiations() could be coded to avoid the extra (unnecessary) work simplifying A&B, thereby eliminating the infinite recursion.
OTOH, it seems such declarations should be disallowed anyway. If the user really wants satisfies Inv<Nothing> (or even satisfies Cov<Nothing> in more complex cases), they should just write it that way.
Now, considering case (b), which is @RossTate's very clever:
interface Inv<P> {}
interface A satisfies Inv<Nothing> {}
interface B satisfies Inv<A&B> {}

we actually do need to find out if A and B are disjoint in order to find out if A and B are disjoint, because their disjointedness is relevant to the definition of the type.
Repeating the steps:

Same: A and B are disjoint if they satisfy Inv<> in incompatible ways.
Same: We need to know if Nothing == A&B. If not, then B really satisfies Inv<Nothing>.
This time, simplifying A&B matters. If A and B are disjoint, then Nothing == Nothing. If not, then Nothing != A&B.

So there's no short-circuit opportunity in (b.3), and we will overflow even with code changes to solve case (a). This is good.
To detect (b), I suppose we could provisionally consider A and B non-disjoint in (b.3), but then ultimately discover that they are disjoint since Nothing isn't exactly the same as a non-disjoint A&B. This would of course have to result in an error.


refactor respond_with engines hash build into single method

improvement on design for #161

@zzak @TrevorBramble ^^ review plz <3

Great work!


_react2.PropTypes.nummber is udefined

E/ReactNativeJS(29533): undefined is not an object (evaluating '_react2.PropTypes.number')

when are you facing this issue. Is that showing warning or error ?

Got same error when first running after install and link

The error is happened with Proptypes
Using below instead

import PropTypes from 'prop-types'

Step 1: Import {ViewPropTypes} from 'react-native'
Step 2: Replace View.propTypes with ViewPropTypes


Can't connect to Docker daemon when SELinux is in use

running Fedora 26
sudo dnf remove docker-ce and reboot (just in case)
sudo snap install --edge --classic microk8s (also tried --beta and --stable)
microk8s.inspect shows everything ok
microk8s.docker -D -l debug <command> outputs nothing and hangs, no matter what command I try (even --help)
I see this in the kubelet log:

$ sudo journalctl -u snap.microk8s.daemon-kubelet.service|tail
Oct 16 08:20:44 gogo microk8s.daemon-kubelet[12994]: W1016 08:20:44.727621   12994 manager.go:253] Timeout trying to communicate with docker during initialization, will retry
Oct 16 08:21:24 gogo microk8s.daemon-kubelet[12994]: W1016 08:21:24.727881   12994 manager.go:253] Timeout trying to communicate with docker during initialization, will retry
Oct 16 08:22:04 gogo microk8s.daemon-kubelet[12994]: W1016 08:22:04.728205   12994 manager.go:253] Timeout trying to communicate with docker during initialization, will retry
Oct 16 08:22:44 gogo microk8s.daemon-kubelet[12994]: W1016 08:22:44.728530   12994 manager.go:253] Timeout trying to communicate with docker during initialization, will retry
Oct 16 08:23:24 gogo microk8s.daemon-kubelet[12994]: W1016 08:23:24.728768   12994 manager.go:253] Timeout trying to communicate with docker during initialization, will retry
Oct 16 08:24:04 gogo microk8s.daemon-kubelet[12994]: W1016 08:24:04.729119   12994 manager.go:253] Timeout trying to communicate with docker during initialization, will retry
Oct 16 08:24:44 gogo microk8s.daemon-kubelet[12994]: W1016 08:24:44.729457   12994 manager.go:253] Timeout trying to communicate with docker during initialization, will retry
Oct 16 08:25:24 gogo microk8s.daemon-kubelet[12994]: W1016 08:25:24.729655   12994 manager.go:253] Timeout trying to communicate with docker during initialization, will retry
Oct 16 08:26:04 gogo microk8s.daemon-kubelet[12994]: W1016 08:26:04.729875   12994 manager.go:253] Timeout trying to communicate with docker during initialization, will retry
Oct 16 08:26:44 gogo microk8s.daemon-kubelet[12994]: W1016 08:26:44.730078   12994 manager.go:253] Timeout trying to communicate with docker during initialization, will retry

inspection-report-20181016_082316.tar.gz

Hi @akaihola ,
Thank you for reporting this.
Here is what happens. When dockerd starts it listens on a socket (unix:///var/snap/microk8s/current/docker.sock), selinux is blocking socket communication by default as discussed in https://forum.snapcraft.io/t/selinux-blocking-socket-activation-on-fedora/6931 . You can verify this by temporarily disabling selinux and restarting microk8s:
sudo setenforce permissive
sudo snap stop microk8s
sudo snap start microk8s

I am taking a look now how/if we can detect selinux and set it to allow the required socket communication.
Thank you for taking the time to report this issue and apologies for any inconvenience.

Hi @ktsakalozos,
Thanks for pointing out SELinux as the reason for my problem.
I wonder if there's a manual way to allow the required socket communication which I could use as a temporary work-around? I know the basics of SELinux, so if you can give some pointers, I can probably figure it out and post the work-around here.

Thank you for volunteering @akaihola.
When you have SELinux you get a number of deny audit entries in /var/log/audit/audit.log. Here is a sample I got from microk8s running on a VM https://pastebin.com/L41JPeei . We will need to tell SElinux not to deny operations coming from the microk8s binaries.  Then we will patch the install (or configure) hook https://github.com/ubuntu/microk8s/blob/master/snap/hooks/configure to detect the presence of SELinux and apply the rules. In this way any new installation will work.
The part that I would need your help is to translate the audit logs and turn them into a script with appropriate rules. Do you think you could do that?
I appreciate your help. Thank you.

@ktsakalozos, here's an excerpt from my /var/log/audit/audit/log:
$ sudo egrep "microk8s|docker" /var/log/audit/audit.log
type=SERVICE_START msg=audit(1543238936.928:7757): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=snap.microk8s.daemon-apiserver comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset"
type=SERVICE_START msg=audit(1543238936.931:7758): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=snap.microk8s.daemon-apiserver-kicker comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset"
type=SERVICE_START msg=audit(1543238936.935:7759): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=snap.microk8s.daemon-controller-manager comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset"
type=SERVICE_START msg=audit(1543238936.939:7760): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=snap.microk8s.daemon-docker comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset"
type=SERVICE_START msg=audit(1543238936.942:7761): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=snap.microk8s.daemon-etcd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset"
type=SERVICE_START msg=audit(1543238936.948:7764): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=snap.microk8s.daemon-kubelet comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset"
type=SERVICE_START msg=audit(1543238936.952:7766): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=snap.microk8s.daemon-proxy comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset"
type=AVC msg=audit(1543238936.953:7767): avc:  denied  { execute_no_trans } for  pid=31172 comm="snap-exec" path="/var/lib/snapd/snap/microk8s/313/command-daemon-apiserver.wrapper" dev="loop5" ino=644 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=file permissive=1
type=AVC msg=audit(1543238936.955:7770): avc:  denied  { ioctl } for  pid=31172 comm="command-daemon-" path="/var/lib/snapd/snap/microk8s/313/command-daemon-apiserver.wrapper" dev="loop5" ino=644 ioctlcmd=0x5401 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=file permissive=1
type=SERVICE_START msg=audit(1543238936.959:7771): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=snap.microk8s.daemon-scheduler comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'UID="root" AUID="unset"
type=AVC msg=audit(1543238936.966:7772): avc:  denied  { map } for  pid=31243 comm="ip" path="/var/lib/snapd/snap/microk8s/313/bin/ip" dev="loop5" ino=34 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=file permissive=1
type=AVC msg=audit(1543238936.985:7778): avc:  denied  { map } for  pid=31191 comm="etcd" path="/var/snap/microk8s/common/var/run/etcd/member/snap/db" dev="dm-1" ino=1329028 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:snappy_var_t:s0 tclass=file permissive=1
type=AVC msg=audit(1543238936.993:7779): avc:  denied  { setattr } for  pid=31185 comm="dockerd" name="docker.sock" dev="dm-1" ino=1329196 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:snappy_var_t:s0 tclass=sock_file permissive=1
type=AVC msg=audit(1543238936.995:7780): avc:  denied  { sys_resource } for  pid=31185 comm="dockerd" capability=24  scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:system_r:snappy_t:s0 tclass=capability permissive=1
type=AVC msg=audit(1543238936.995:7781): avc:  denied  { write } for  pid=31185 comm="dockerd" name="docker-containerd.sock" dev="dm-1" ino=1329115 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:snappy_var_t:s0 tclass=sock_file permissive=1
type=AVC msg=audit(1543238937.009:7782): avc:  denied  { unlink } for  pid=31337 comm="docker-containe" name="docker-containerd.sock" dev="dm-1" ino=1329115 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:snappy_var_t:s0 tclass=sock_file permissive=1
type=AVC msg=audit(1543238937.510:7808): avc:  denied  { connectto } for  pid=31172 comm="kube-apiserver" path="/var/snap/microk8s/313/etcd.socket:2379" scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:system_r:snappy_t:s0 tclass=unix_stream_socket permissive=1
type=AVC msg=audit(1543238937.998:7809): avc:  denied  { getattr } for  pid=31185 comm="dockerd" name="/" dev="dm-1" ino=2 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:fs_t:s0 tclass=filesystem permissive=1
type=AVC msg=audit(1543238937.998:7810): avc:  denied  { mounton } for  pid=31185 comm="dockerd" path="/var/snap/microk8s/common/var/lib/docker/overlay2" dev="dm-1" ino=1329046 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:snappy_var_t:s0 tclass=dir permissive=1
type=AVC msg=audit(1543238938.002:7811): avc:  denied  { getattr } for  pid=31185 comm="dockerd" path="/proc/sys/net/ipv4/ip_forward" dev="proc" ino=31995 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:sysctl_net_t:s0 tclass=file permissive=1
type=AVC msg=audit(1543238938.002:7812): avc:  denied  { getattr } for  pid=31185 comm="dockerd" path="/proc/sys/net/bridge" dev="proc" ino=831900 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:sysctl_net_t:s0 tclass=dir permissive=1
type=AVC msg=audit(1543238938.988:7814): avc:  denied  { getattr } for  pid=31196 comm="run-with-config" path="/var/snap/microk8s/313/docker.sock" dev="dm-1" ino=1329196 scontext=system_u:system_r:snappy_t:s0 tcontext=system_u:object_r:snappy_var_t:s0 tclass=sock_file permissive=1

I'm now running on a freshly installed Fedora 29 box.

Thank you @akaihola ,
How do you tell SElinux to allow these operations? I guess I have to do some reading.

@ktsakalozos, I can't answer that without studying a bit either. I could check if we have more experienced SELinux users at work.

It sounds to me like Fedora isn't a first-class citizen distro for Snap. Searching for selinux] or the Snapcraft forum found several threads that are probably related.

I ran this command:
audit2allow -M microk8s

and pasted in the lines from audit.log (see my long comment above). It created for me the files microk8s.pp and microk8s.te. The contents of microk8s.te are:
module mypol 1.0;

require {
	type insmod_exec_t;
	type var_run_t;
	type snappy_var_t;
	type proc_net_t;
	type modules_object_t;
	type fs_t;
	type cgroup_t;
	type unlabeled_t;
	type http_cache_port_t;
	type snappy_t;
	type sysctl_net_t;
	type unreserved_port_t;
	class file { create execute execute_no_trans getattr ioctl map open read write };
	class sock_file { getattr setattr unlink write };
	class dir { add_name create getattr mounton write };
	class capability sys_resource;
	class unix_stream_socket connectto;
	class process setsched;
	class tcp_socket { name_bind name_connect };
	class filesystem getattr;
}

#============= snappy_t ==============
allow snappy_t cgroup_t:dir { add_name create write };
allow snappy_t cgroup_t:file { create write };
allow snappy_t fs_t:filesystem getattr;
allow snappy_t http_cache_port_t:tcp_socket name_bind;
allow snappy_t insmod_exec_t:file { execute execute_no_trans getattr open read };
allow snappy_t modules_object_t:file { getattr open read };
allow snappy_t proc_net_t:file { getattr open read };
allow snappy_t self:capability sys_resource;
allow snappy_t self:process setsched;

#!!!! This avc can be allowed using the boolean 'daemons_enable_cluster_mode'
allow snappy_t self:unix_stream_socket connectto;
allow snappy_t snappy_var_t:dir mounton;

#!!!! This avc can be allowed using the boolean 'domain_can_mmap_files'
allow snappy_t snappy_var_t:file map;
allow snappy_t snappy_var_t:sock_file { getattr setattr unlink write };
allow snappy_t sysctl_net_t:dir getattr;
allow snappy_t sysctl_net_t:file { getattr write };

#!!!! This avc can be allowed using the boolean 'domain_can_mmap_files'
allow snappy_t unlabeled_t:file map;
allow snappy_t unlabeled_t:file { execute_no_trans ioctl };
allow snappy_t unreserved_port_t:tcp_socket name_connect;
allow snappy_t var_run_t:file { getattr open read };

If I run
sudo semodule -i microk8s.pp

then microk8s works as described in the README.
I hope this is helpful for enabling support for SELinux enabled systems.

I got some success with the process you describe above @akaihola.
However as soon as the first denials were addressed a few others came up.

@ktsakalozos, you're right, my list wasn't complete. I'll continue exploring this.

@ktsakalozos It was great to meet you at the cfgmgmt camp.
On this subject, I was about to extract all rules I added on my computer, but I know it is not a good option as every container we will create will need a new set of rules.
I decide to check how docker / containerd was doing on the subject. They have a pre-defined set of rules inside an rpm (container-selinux) Those are defined in a repo: https://github.com/containers/container-selinux.
My idea was first to try to set the selinux container type  on the docker in the snap, but unfortunatly I got a small issue: Snap are read only, so the chcon -t container_runtime_t /snap/microk8s/current/usr/bin/dockerd return a read only fs error.
Not sure how to test that. It would be cool if installing the snap requires the container-selinux RPM then change the type of  docker binaries to the container_runtime_t. It would be cooler if it solves every issue ;)

Nice talking to you face to face @GregoireW .
Indeed the file system with the binaries is read only and I read the labels are filesystem metadata.
I want to see if I can set labels during the build of the snap package. I will have news on this soon.

Has this changed at all?
k3s has made some progress with SELinux support:

https://github.com/rancher/k3s/issues/1372#issuecomment-581797716
https://github.com/rancher/k3s/issues/533

Has this changed at all?

As MicroK8s is a snap most of the AppArmor and SELinux configuration is taken care by the snapcraft underlying layer. On the MicroK8s side we are working towards a strictly confined snap that would comply with the snapcraft best practices and will take advantage of all the security enhancements offered.

These docs may be helpful for implementing SELinux support at the snapcraft layer: "Formally add support for SELinux (Enforced mode)" https://github.com/k3s-io/k3s/issues/1372#issuecomment-581797716


API Documentation Interfaces article not updated

the article in https://roman-right.github.io/beanie/api-documentation/interfaces is not the same as https://github.com/roman-right/beanie/blob/main/docs/api/interfaces.md
i think this leads to the link from https://roman-right.github.io/beanie/tutorial/aggregation/ to be broken and also the nav bar on the right does not show all sections

Oh, thank you for the catch. Documentation is my weak point :)
I'll fix it soon.
(Hm. I, probably, have to make tests for docs, didn't think about it before)


[Live] Use (de)hydration system for event payload

Hi!
2 times recently, the same situation has occurred with users - where they want to emit an event with an object - e.g.
#[LiveAction]
public function save(LiveResponder $responder): void {
    $responder->emitUp('foo:save', [
        // dto
        'data' => new BlogPost($id, $title),
       // or an entity
        'post' => $post,
    ]);
}

And the listener:
#[LiveListener('foo:save')]
public function saveMandatoryDataSection(#[LiveArg] BlogPost $data, #[LiveArg] Post $post): void
{
}

Currently, this doesn't work and it wasn't designed to work. Arrays are JSON-encoded, and all other values are just printed in the attributes for the frontend - https://github.com/symfony/ux/blob/2.x/src/LiveComponent/src/Util/LiveAttributesCollection.php#L33-L39 - objects were not designed to work here.
But... it could work. What if we sent the individual values (at least the values that are objects) through the dehydration system? Then, we registered a "value resolver" that only acted for LiveListener situations that would attempt to hydrate these values?
Or perhaps this is something you can opt into?
Or perhaps we just need better docs that say:

If you want to pass an entity, pass 'post' => $post->getId() and then the normal entity value resolve will allow for a Post $post argument.
If you want to pass a DTO, send it through the deserializer, then unserialize it in your live listener method.

Solution 2 clearly for me.
Or users will expose a lot of data not knowing this is "public"

I'm for solution 1. What data are you talking about @smnandre? It's gonna be the same data already dehydrated by the LiveComponent?

By "solution 2" i mean "better doc" to be clear :)
And to be honest passing full object in Events is like passing full object in Messenger messages.... not something i'd recommand.

It would be nice to allow passing object as explained in my issue some times ago: https://github.com/symfony/ux/issues/1483. It's not that bad to allow components to talk each other using small dto's, the same way that components "talkt" to javascript with the hydrate/dehydrate.

You mean the issue i suggested a working solution ? :p

Let's continue the discussion in #1744


Formatted README

WHY are these changes introduced?
Makes the README more readable / useful.
WHAT is this pull request doing?

Corrected package ( GitHub ) links
Added NPM links
General formatting
Made package names copyable
Switched list item headings to the topic of the item

Please add a description and tags to the repository and disable the unsed Projects tab.

I have signed the CLA!

@lizkenyon I reworked the content that was added since 2022.
https://github.com/PhoneDroid/Contribute-Shopify_App_JS/tree/main