CH02 - Invoke Service return 403 but myrole is added to access_token

I have a bit of a strange issue where "myrole" is added to the access_token but Invoke Service function still return "403 - Access Denied"
"Show Access Token"

Text after pressing "Invoke Service" button at http://localhost:8000/

Seeing the same issues. Did you manage to resolve it?

Staring for a bit into the source code of keycloak-node-connect I think I figured out the issue in my case. Since it was something I created it might not be the same in your case but maybe it helps someone else.
The issue was I changed this line
app.get("/secured", keycloak.protect("realm:myrole"), function (req, res) {

to this
app.get("/secured",` keycloak.protect("myrealm:myrole"), function (req, res) {

Since I thought the realm has to be the name of the realm. But it is a description where the role should be looked for. The algorithm of the keycloak protector is here and the check for the role Token.prototype.hasRole that is uses is here.
Here is the working function with couple of printouts that might help you debug.
app.get("/secured", keycloak.protect("realm:myrole"), function (req, res) {
  let tok = req.kauth.grant.access_token;

  console.log(tok.hasRole("realm:myrole"));

  res.setHeader("content-type", "text/plain");
  res.send("Secret message!");
});

I am having the same issue, any solutions?

For me the problem was that during docker build step app.js wasn't newly 'compiled'. So either check inside of container which version of app.js you have or run it without docker.

https://github.com/PacktPublishing/Keycloak-Identity-and-Access-Management-for-Modern-Applications/issues/27#issuecomment-1822036222


use GTM rather than reportWebVitals

Fixes #9202
This removes the Next.js' reportWebVitals function.
Instead we will track core web vitals in GA4 with Google Tag Manager.
I've set this up in Google Tag Manager and previewed locally, it will just need to be published once this code change has been deployed.

I should have said that, because of the GTM template we are using, this limits us to collecting 3 metrics (Largest Contentful Paint, Cumulative Layout Shift and First Input Delay). Which are the 3 that Google Search Console uses in its Core Web Vitals report.
Previously we had also been collecting Time to First Byte and First Contentful Paint as well.
I could look into creating a custom HTML tag to capture more metrics if we think it's important. What do people think?


defaultValue type errors on number input

Im receiving an error
Warning: Failed prop type: Invalid prop 'defaultValue' of type 'number' supplied to 'TextField', expected 'string'.
on the following code:
const thisValue = 5;
const type = number;

return <TextField
            id={field}
            label={!noLabel ? field : null}
            type={type}
            defaultValue={thisValue}
            className={classes.textField}
            margin="normal"
            multiline={type === 'text' ? true : false}
            rowsMax="4"
            onChange={this.handleInputChange}
            InputLabelProps={{
            shrink: type === 'text' ? false : true,
          }}
/>

This makes no sense as it is a text field of type='number ... am I missing some sort of best practices here?

my apologies I am pretty new to the coding world It didnt occur to me to do a pull request! haha. in the future of small issues like this I will submit one :) I see you fixed it already so thanks!


chore: upgrade pyo3 to 0.23

Some of the APIs have changed due to changes in PyO3, but overall I think this is simpler.
The main difference from a user's perspective is that they can use MSTL.custom_trend() with any Python class now (it's properly duck typed), rather than needing to pass their class to PyTrendModel first. All the other changes are just to work with new PyO3 APIs.

Summary by CodeRabbit

New Features

Enhanced method signatures for better clarity and usability across multiple classes (e.g., MSTL, AutoETS, Dtw, Forecast).
Added optional parameters with default values in various methods.

Bug Fixes

Improved handling of Python object conversions in methods like fit, to_numpy, and seasonalities.

Documentation

Updated method documentation to clarify expected parameters and their usage.

Chores

Adjusted visibility of certain structs and methods to restrict access within the crate.

This is still failing because CI is running maturin build --find-interpreter, which ends up trying to build for Python 3.13t (free-threaded), which is as-yet unsupported by rust-numpy (see https://github.com/PyO3/rust-numpy/pull/471).
It's not the first time the --find-interpreter flag has caused issues :thinking: I wonder if we should switch away from it and specify the interpreters we build for manually?


[Frontend/Backend] Change all frontend REST calls to websockets

[x] Yggdrasil location
[x] Blocked contacts
[ ] Status
[ ] Chats
[ ] Authenticated

@JorisBassle @EdwardKerckhof
What is the state here, is this still something we want and need to do? Is this a priority thing? If we still want to do it what is the expected effort and result?


Fix: Update README_Docker_and_RA.md

Fixed a quotation typo in the echo command.
Fixed git checkout failure.

closed by #126


update README to suggest using Node v10 or lower

I spent a few hours trying to get the extension to build and it would always fail with various errors. Turns out if you try to build with a Node version that's greater than 10 it will fail (yeah, should have tried that first). I tried v16, 14, and 12 with no success.

I had the same issue until I checked the package.json: https://github.com/toolkit-for-ynab/toolkit-for-ynab/blob/master/package.json#L151
This would help a lot, and I hope that the project can update to node 14+ at some point...

Ah, yep, there it is.
"engines": {
    "node": "^8.16.0 || ^10.13.0 || >=11.10.1",

It seems like >=11.10.1 might be a mistake? It should be ^11.10.1 instead. i.e.
"engines": {
    "node": "^8.16.0 || ^10.13.0 || ^11.10.1",

That way yarn correctly throws an error if you try to yarn install with a version of node that's not one of those 3 major versions (or not greater than or equal to the minor version for each).
$ yarn install
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version "^8.16.0 || ^10.13.0 || ^11.10.1". Got "12.22.1"

That's odd, I'm running node 16.1.0 and the extension has been building successfully for me.
I'm on Windows, with node and yarn installed via chocolatey. I had to install Python and Visual Studio Build Tools for node-gyp but after that I don't think I had any issues.

I'm on MacOS 10.14.6 Mojave, and had the same issues as OP, yarn and nvm installed via brew, and node installed via nvm.

I've been running node 12 without any issues (x64 Win10).  Haven't tried v14 or v16.

Blegh, we should always support the LTS version of node. I'll try to spend the time this weekend getting this to work!

hmmm so I just tried this on osx and windows and it's working fine :(
node: 14.16.0
yarn: 1.16.0

Well, I'm not sure what changed but I'm able to build it no problem now with the latest LTS version (building on linux). I can also build without issue on v8, v10, v11, v12, and v13. I still think it's probably a good idea to update the package.json engines and the readme.


add go report

Coverage remained the same at 60.0% when pulling f98082b6e81723559ad5340258d305f0be620f7a on goreportcard into 8e1e1d15170164197bd33df872ba55d2f3f64db2 on master.


Fix invalid tests.json

Add a comma delimiter for "_invalid_metadata_test.InvalidMetadataTest".

@soltanmm Please take a look.

@dgquintas I'll mark up the test failures per protocol later today.


Terminal sparkle is cut off

have side by side terminal
trigger the sparkle in the RHS
:bug: it isn't fully visible

I'm not sure how to repro without starting out with shell integration enabled, creating decorations or a quick fix (fail a command), then switching shell integration off:


Armada: concession implementation

Hi,
The current concession implementation for Armada isn't in accordance with the tourney regs.
If a player concedes, the score is auto 8-0 MoV 140 to his opponent.
This, however, is not correct.
If the score, at the time of the concession, is greater than 8 MoV 140 (for example 9 MoV 200), that's the number of points awarded to the winner. The conceding party still gets 0 oc.
So if a Concession could just give 0 to the conceding party, but the winner gets tourney pts and MoV as entered into the results block, that would be great.

This should be correct in any 5.0.0+ build.

Excellent, thank you.
Bjørn
2017-10-16 15:10 GMT+02:00 Christopher Brown<EMAIL_ADDRESS>
This should be correct in any 5.0.0+ build.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Killerardvark/CryodexSource/issues/42#issuecomment-336881832,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbvbE7AIOrCnZwzilbOPsxyOfSKHTg1_ks5ss1XigaJpZM4NrSjq
.


remove position: absolute on settings button

Fixes #689

Hi @fuzzmz thank you for contributing but someone else got assigned to the issue. Please next time comment on the issue to get assigned before working on it.


Enable usage of machine set CRATES var

Repos using the run_task script would like to set the CRATES env var by using
REPO_DIR=$(git rev-parse --show-toplevel)
CRATES="$(cargo metadata --no-deps --format-version 1 | jq -j -r '.packages | map(.manifest_path | rtrimstr("/Cargo.toml") | ltrimstr("'"$REPO_DIR"'/")) | join(" ")')"

I don't know exactly why but this results in some sort of square braces data type that seems to only work in a loop using for crate in $CRATES instead of the for crate in ${CRATES[@]} like we currently have.

Using $PWD like that will mean that the script doesn't work if it's run from the wrong directory. I think we have an env var set somewhere already which uses git rev-parse --show-toplevel or something to orient our scripts around a fixed directory.

I'll come back to this after #11 merges.

The commit hash from this branch is now used in https://github.com/rust-bitcoin/rust-bitcoin/pull/3201 to verify this works using CI.

Shall we give @Kixunil a chance to take a look, especially since I copied his code to get the looping to work?

Also Kix ought to be a maintainer on this repo.


Fixed Javadoc compilation

Hi Johnny,
the project wasn't compiling anymore as the Javadoc contained bad HTML. I fixed that.
Regards
Marco

Coverage remained the same at 97.29% when pulling 34d47b4193f7e9b0b81a3203aac3bf237b722509 on marcoschulte:master into fcf7197a578835ea9516992755699ceb550612e7 on johnnymongiat:master.

+1. Looks good. Thanks for the fix Marco.
Thanks,
Johnny


Expose test_pattern to api

@kytrinyx : This is the PR for https://github.com/exercism/x-api/issues/95. Not sure if more changes are required. Please have a look and provide me the feedback.

This looks great! Thanks so much.


Distribute Beaker Browser via dat and fetch updates from there

Currently dat://beakerbrowser.com/docs/install/ links to GitHub Releases for the downloads.
It would be nice to have dat:// download links instead. Please also distribute Beaker Browser via dat://beakerbrowser.com/ and fetch updates from there.

Before we can do this, we'll need to update electron-updater to support Dat as a transport.

...or AppImageUpdate, I guess


[bug?] SLF001 does not detect private access to function return value

foo._bar  # SLF001 error
foo()._bar  # not an error

Is this a bug? Would expect ruff not to care whether we are accessing a _-prefixed symbol on a function return value or not.

Yeah I think that's a bug.


Integrate llvm-project at 95f0f69f1ff8eff34a00a47a236c2f91a2392c70

Reset third_party/llvm-project: 95f0f69f1ff8eff34a00a47a236c2f91a2392c70 (2022-04-12 11:51:00 +0200): Revert "[AST] Add a new TemplateKind for template decls found via a using decl."

Looks like some fixes to pydm needed. I can push a commit first thing in the morning unless if someone else gets to it.

Thanks that would help. I just got the builds working, though I am not sure all my fixups are actually correct. Need Ben's eyes on them.

Looks like some fixes to pydm needed. I can push a commit first thing in the morning unless if someone else gets to it.

Leaving a note here as well. I am looking into this now, ill see how far I get...


Scenes in ECS

With the term Scene, I mean something that fills the screen. Such as "level 1 in pacman", or "main menu", or "settings", or "high scores".
How should one handle this / switch between them, in ECS / engi?
My original thought was to add / remove Systems on-the-fly, indicating which would be active and which would not. I am not sure if this is the best/correct way to go, or if there's another (more idiomatic) approach?

I think that instead of doing this with Systems, we should allow switching between Worlds or CustomGames.

:+1: @paked


a quick fix for cli, update in README, and removal of 'health' command in cli

removing 'health' command from cli.  no admin/healthcheck  in com.mesosphere.sdk.api
./dcos-hello-world-darwin hello-world health
HTTP GET Query for http://<IP_ADDRESS>/service/hello-world/admin/healthcheck failed: 404 Not Found

updated README.md, added a note about api-port

api-port is dynamically set by Marathon.  In yml file, it should be “api-port: {{PORT0}}”

Marathon dynamically selects a port, and pass this info to the framework, so framework can start the service on that selected port.

The health check endpoint is used by Cassandra and Kafka. If we want to keep the command around for those services (I'm not sure we do), there should be separate PRs which add the command back in their respective CLIs:

https://github.com/mesosphere/dcos-kafka-service/blob/master/cli/dcos-kafka/main.go
https://github.com/mesosphere/dcos-cassandra-service/blob/master/cli/dcos-cassandra/main.go


JOBSUB_TEST_INSTALLED environment flag

Added support for doing:
JOBSUB_TEST_INSTALLED=1 pytest
to test the installed version of jobsub, rather than the copy we're sitting in.

Trying to test this by putting a copy of the test subdirectory completely away from the rest of the repo and
running tests...  Not happy so far :-(  May need another patch...

Okay, so now with that latest commit all the tests look good if you have just the "jobsub_lite/tests" subtree, and you set
JOBSUB_TEST_INSTALLED=1 in the environment.


Remove floor

What tools do we need?
Steps?

Here's a video, where a floor gets removed.

Floor is removed 👍


Don't use %d printf format string for size_t variables

Summary: This PR fixes #1534. The problem is that we're using the %d conversion specifier to print values of type size_t, which may theoretically lead to wrong output or system crash. The straightforward solution of using the dedicated specifier %zu is not at our disposal because it is C99, leaving us with the option of using a C89 specifier alongside an explicit cast. In order to ease modification of the approach, in particular switching to %zu in the future, this PR introduces local macros FMT_ZU and FMT_ZU_CAST for the conversion specifier and cast, respectively, defaulting to %llu and unsigned long long.
NB: Initially I thought of using global macros defined in debug.h, but those would need to have the form MBEDTLS_XXX, making printf statements almost unreadable, and at the same time care would need to be taken to clarify that even though those macros are defined in a public header, they can be changed or removed any time. I therefore decided to instead replicate the definition of FMT_ZU and FMT_ZU_CAST in the three files ssl_cli.c, ssl_srv.c, ssl_tls.c that need them. The names FMT_ZU / FMT_ZU_CAST are not carved in stone, and I'm open for better suggestions, as long as they are short and expressive.
For more information, see #1534, the internal ticket IOTSSL-2204 and the commit message of 1e2c30d.
Internal Reference: IOTSSL-2204.

Before looking at the code, I have a remarks and a question about the general approach (as usual, thanks for making a clear summary of it in the PR cover).

I agree that %zu is C99, but so is long long, so it feels a bit weird for it to be the default. OTOH, I just checked and we're already using long long in one place in the library (entropy.c) since at least Mbed TLS 2.4.0 and I don't know that anybody complained so far, so perhaps long long is one part of C99 that's more widely implemented than %zu.
I assume the problem only exists in the SSL module because the call to printf is indirect via the debug module, and that in other places the compiler would throw warnings. Is that correct?

Forgot one question: did you consider adding the attribute to the debug function so that we know we got all occurrences and won't introduce any new one in the future? Of course this would be conditional on the compiler identification - and we should check if Clang supports a similar attribute.

Forgot one question: did you consider adding the attribute to the debug function so that we know we got all occurrences and won't introduce any new one in the future? Of course this would be conditional on the compiler identification - and we should check if Clang supports a similar attribute.

@mpg I didn't consider adding it to the code, but I used it to check that I didn't miss case.

I agree that %zu is C99, but so is long long, so it feels a bit weird for it to be the default. OTOH, I just checked and we're already using long long in one place in the library (entropy.c) since at least Mbed TLS 2.4.0 and I don't know that anybody complained so far, so perhaps long long is one part of C99 that's more widely implemented than %zu.

Oh, good point, thanks! What about using the presence of the macros ULLONG_MAX and SIZE_MAX to pick the right type and specifier?

I don't think we can assume the presence of SIZE_MAX ensures the availability of %zu, as it seems to be that (from a C library maintainer's perspective) adding SIZE_MAX is easier than adding support for %zu. On a related note, uint32_t is declared in stdint.h while PRIu32 is in inttypes.h, and I remember seeing some toolchains supporting the former header but not the later (I think it was some version of Visual Studio, not sure if they fixed that in the meantime).
OTOH, I have a lot of trouble imagining why someone would provide ULLONG_MAX if unsigned long long is not available (or actually how: you might not be able to represent that value with a smaller type), so I think it's safe to use that, and perhaps fall back to unsigned long if it's not available.
Regarding the attribute, would you have any objection to adding it to the code? I think it could help future maintenance. Clang seems to support it too, and both GCC and Clang allow testing for support of specific attributes with __has_attribute (in order to avoid issues with compilers that define __GNUC__ but are not actually that GCC-compatible - I'm looking at you, armcc5).

Regarding the attribute, would you have any objection to adding it to the code? I think it could help future maintenance.

No, I don't have objections, I'll add it.

OTOH, I have a lot of trouble imagining why someone would provide ULLONG_MAX if unsigned long long is not available (or actually how: you might not be able to represent that value with a smaller type), so I think it's safe to use that, and perhaps fall back to unsigned long if it's not available.

Ok, then let's go with using unsigned long long and %ull is ULLONG_MAX is defined, and unsigned long and %ul otherwise.

@mpg I believe I have addressed your feedback. Please re-review.

@mpg I addressed your comment. Could you please re-review?

The CI failed with a weird error that I don't understand. I tried to re-run the job but it doesn't seem to respond.

Unfortunately this branch has conflicts that must be resolved before merging.

Labeling as "needs: backports" as this is labeled as a bug, so it needs backport unless justified otherwise.

Unfortunately, this has bitrotted, and was done afresh in https://github.com/ARMmbed/mbedtls/pull/3579.


Move bankruptcy prompt to a top-of-page prompt (instead of a modal)

This would make it feel more natural to read a few things before declaring bankruptcy.

I'm working on this.

Forgive me, the modal doesn't pop up when I login to Zulip, even if I have unread messages. @timabbott

@Tanuja-Sawant it only pops up if you have like 400 unread messages.  You might need to do https://github.com/zulip/zulip/issues/2676 first to make this easily testable :).

@timabbott #2676 seems like an intensive issue and I'm new to this. If you think I should go forward with it anyways, can you direct me on how to start?

Well, the other approach is you could just make the modal shown up always (easy tweak) while you're testing this, and once it's working well, we merge a version that only shows up with lots of unread messages.

We haven't exactly implemented this, but something similar was done via #8399.

@zulipbot claim


license-summary

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 75.25%. Comparing base (5a5876b) to head (a76d926).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #21      +/-   ##
==========================================
+ Coverage   75.22%   75.25%   +0.02%
==========================================
  Files          41       41
  Lines         892      893       +1
  Branches      162      163       +1
==========================================
+ Hits          671      672       +1
  Misses        117      117
  Partials      104      104

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add dt.js

I have added a custom node js module which is known as date and time or dt module. This is a good contribution :)
Happy coding!

ok i will redo it


[Internationalization] - Integrate Lokalise.co pipeline

We need to integrate and setup lokalise.co for a better translation workflow and management.
Als do we have to add some mention of lokalise.co on our readme.

I think this is the perfect issue for @mattwr18, what do you think?

You Need github Admin rights and the same for lokalise.

@mattwr18 we can give you admin powers for lokalise, interested?

hey sorry, I saw this, but didn't respond and forgot about the comments...
I would be interested in working on this when I can be given access

It’s basically done already.

Close #99


Fix recover password title

Fixes #3206

A new inspection was created.

The inspection completed: 1 new issues

It worked for me in L7.X.
Best,
Pedro


Throughput and Timing of the API

Based on some analysis of the API throughput below is a summary of the conversation from #9, and the latest test using v1beta2 which measures the same throughput as v1beta - this could slow things down when trying to analyze whole genomes but I am sure we can come up with a solution:
$ curl -X POST -H "Content-Type: application/json" -d '{"variantSetIds":["3049512673186936334"], "referenceName":"chr2","start":1,"end":85000,"pageToken":null}' https://www.googleapis.com/genomics/v1beta/variants/search?oauth_token=ya29.... > one_page_token.txt

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12.9M    0 12.9M  100   104  2288k     17  0:00:06  0:00:05  0:00:01 3658k

$ curl -X POST -H "Content-Type: application/json" -d '{"variantSetIds":["3049512673186936334"], "referenceName":"chr2","start":1,"end":85000,"pageToken":null}' https://www.googleapis.com/genomics/v1beta2/variants/search?oauth_token=ya29.... > one_page_token.txt

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 12.9M    0 12.9M  100   104  1769k     13  0:00:08  0:00:07  0:00:01 3975k
$

It might be helpful to try out a few different approaches to optimize it for large data throughput.  In order to not post the whole discussion again and to catch people up on the analysis so far, below is our discussion in chronological order:
@dionloy : https://github.com/googlegenomics/utils-java/issues/9#issuecomment-60462202
@pgrosu : https://github.com/googlegenomics/utils-java/issues/9#issuecomment-60470893
@siddharthab : https://github.com/googlegenomics/utils-java/issues/9#issuecomment-60471658
@pgrosu : https://github.com/googlegenomics/utils-java/issues/9#issuecomment-60473101
@dionloy : https://github.com/googlegenomics/utils-java/issues/9#issuecomment-60488629
@siddharthab : https://github.com/googlegenomics/utils-java/issues/9#issuecomment-60488905
@dionloy : https://github.com/googlegenomics/utils-java/issues/9#issuecomment-60489275
@elmer-garduno : https://github.com/googlegenomics/utils-java/issues/9#issuecomment-60502091
@siddharthab : https://github.com/googlegenomics/utils-java/issues/9#issuecomment-60502713
@pgrosu : https://github.com/googlegenomics/utils-java/issues/9#issuecomment-60502722
@pgrosu : https://github.com/googlegenomics/utils-java/issues/9#issuecomment-60502759
I'm sure we can come up with a solution.
~p

Closing this issue in favor of the new GRPC support for Reads and Variants.


Question: Integrate with Prerender Service (prerender-node)

Can I use it with Express.js middleware?

Yes :) Here is a sample that uses an express middleware: https://github.com/firebase/functions-samples/blob/master/authorized-https-endpoint/functions/index.js

Oh and sorry, I meant that you can use express middlware with  Cloud Functions. Not sure about pretender-node since I'm not very familiar with it but if it supports simply calling a function with an HTTP request and HTTP response (like Express) it should work.

First of all, sorry for my poor English.
After searching through Deep Web (joking), I found the solution. And the coolest solution was that I was able to integrate my Pioneer Ionic application with Firebase Hosting using Cloud Functions.
After reading the following topic:
https://github.com/firebase/firebase-tools/issues/33
The @TheRoccoB user explains how to host the static Web application in Firebase Hosting and redirect traffic from a URL to Cloud Functions.
What I did was map the routes that I have to index as:
{
        "source": "/ shop / **",
        "function": "ssr"
      },
      {
        "source": "/ * / promotions / **",
        "function": "ssr"
      }
Since "ssr" is the name of my function in Cloud Functions. So I used the library https://github.com/prerender/prerender-node to check if the request is from a google crowler, in case I redirect the request to a https://github.com/prerender/prerender server.
const prerender = express ();
prerender.use (cors);
prerender.use (
    require ('prerender-node')
    // .set ('prerenderServiceUrl', 'http: // localhost: 3000')
    .set ('prerenderToken', '** TOKEN **')
);
prerender.use (require ('prerender-node'). set ('beforeRender', function (req, done) {
    // do you need to do?
    console.log ('Rendering URL:', req.path);
done ();
}));
prerender.use (require ('prerender-node') set ('afterRender', function (err, req, prerender_res) {
    // do you need to do?
    console.log (req.path + 'rendering completed!');
    console.log ('Errors:', err);
}));
prerender.get ('*', (req, res) => {
    console.log ('Calling function for URL:', req.path);
    res.set ('Cache-Control', 'public, max-age = 300, s-maxage = 600');
    res.status (200) .send (fs.readFileSync ('./ www / index.html'). toString ());
});
exports.ssr = functions.https.onRequest (prerender);


Add documentation for IDE-support

Hi,
is it possible to have an IDE-support for the framework7-vue-tags?
I use WebStorm and I had no autocomplete for the f7-tags.
Do you have any documentation or idea how to solve this?
Regards

Ah, got it.
If you install the official vue.js-Plugin, then you have a chance for an autocomplete:
You have to cancel the exclusion of the folder node_modules/framework7-vue so that the IDE indexes all the Vue.js-Components in that folder.
All the tags from the examples are still unknown (first image), but if you open the autocomplete (Ctrl+Space, second image) and select the vue-component, then the components get imported in the script-section of the vue-file (third image).
Autocompletion for the attributes of the component is still missing because the IDE does not know the return value of the core method Utils.extend().


I cannot open browser with my existing profile

```

customConfig:{
chromePath:"C:/Program Files/Google/Chrome/Application/chrome.exe",
userDataDir: "C:/Users/Administrator/AppData/Local/Google/Chrome/User Data/Profile 15",
}
But the puppeteer browser is opend

I suggest you try \ instead of /.

As you can see in my code, I wroute / instead \\
customConfig:{
chromePath:"C:/Program Files/Google/Chrome/Application/chrome.exe",
userDataDir: "C:/Users/Administrator/AppData/Local/Google/Chrome/User Data/Profile 15",
}
But the puppeteer browser is opened without my existing profile


[Next] Allows more texture units to be used by modern Android and Apple devices

Also defaults precision fragment on ios to 'highp' - to stop issues of wobbling sprites by default like with https://github.com/pixijs/pixi.js/issues/3742
canUploadSameBuffer to not use it's own ios detection code, and use 'ismobilejs'

@GoodBoyDigital PR as requested. Didn't do as part of 'legacy' because legacy mode limits MAX_TEXTURES to 1 in SpriteRenderer anyway.


Add note about newer Windows versions behavior

https://github.com/MicrosoftDocs/windows-itpro-docs/issues/8535

@nam31 : We may want the usual review from JohanFreelancer9, although the author review would be good too.

@Teresa-Motiv PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

Sorry for the delay--I've been tied up with another project. This change has to be documented in our internal triage process, which I will start this morning. The text also needs to be re-edited to match current standards.

Fix has been published from the internal repo, and is now live


update blog contract & add functional front-end

This is a first version. Would gladly appreciate suggestions and remarks

Could you try to display an error message when there is no provider available and therefore not display the rest of the body page?

Good point. The loader component will be rendered before displaying the page or the error message if no providers were found.


Add files via upload

Sorry, our campus website isn't available in English.
Website: https://cosmopointcollege.edu.my/
IT Course Page: http://cosmopointcollege.edu.my/program/diploma-2/diploma-in-information-technology/
This is the Malaysian Qualifications Register showing that this course is 3 years.
https://www2.mqa.gov.my/mqr/english/epapar.cfm?NoRujA=A9226&IdAkrKP=2755

Proof of official email domain for enrolled students.

@Gks0001 Pull request merged. Thank you!


Chef-13: Remove deprecated Chef::Client attrs

@chef/client-core this one should be the simplest of tap-ins

sometimes we noodle way too hard on all the possible ways we might break someone that was doing something incredibly silly, and our capacity to imagine user silliness is nearly unbounded (because, to be fair to us, every now and then users do come up with a real whopper...)

i think i'm skipping this one in the RELEASE_NOTES deliberately, it should not affect anyone and CHANGELOG.md should be good enough for it.


Panic in Uri::try_from

It should not panic on empty input:
use fluent_uri::{Uri, UriRef};

let a = UriRef::parse("").expect("Valid URI ref");
let b = Uri::try_from(a);

// thread '<unnamed>' panicked at /.../fluent-uri-0.3.0/src/ri.rs:842:18:
// called `Option::unwrap()` on a `None` value

Fixed in 92ba6fdfadf920f0f60145b77b18e23bd409bcf5. Thank you for reporting! I'll publish a new release after I check other parts of the code.

Amazing! Thank you for your swift response and fix! :)


'Global Action' button enabled regardless of setting

It's cludged for now with '!important' in the inline style.  The problem is with specificity:
body.mod-toolbox .tb-action-button {
    display: inline-block;
    /* ... */
}

Is overriding the inline style.

If only there were !moreimportant.  Surly that would never be abused.

It's "fixed" though!


Support mask analysis against 0, and between two scalars

Support was added for two new scenarios:
arith.cmpi ge %scalar, %c0: aka offset comparison to the lower bound of 0. Mask analysis already has an implicit assumption that the beginning of a mask starts at 0, so support was added to allow this case through and assumes that this comparison evaluates to true.
arith.cmpi slt %scalar,_1 %scalar_2: offset comparison between two scalars. E.g.:
%11 = tt.expand_dims %offset
%cst_4 = arith.constant dense<324> : tensor<16x1xi64>
%23 = arith.cmpi slt, %11, %cst_4 : tensor<16x1xi64>

This example is notable in that we cannot take the normal approach of computing the minimum of the lhs and rhs as the new dimension (the lhs offset may be 0). To handle this, a ternary operator is inserted to evaluate the comparison at runtime. If it succeeds, we keep the existing dimensions from the lhs, otherwise we assume nothing should be loaded/stored.

@microsoft-github-policy-service agree company="Meta"


add TryInto impls

Please add a description and an argument for why you want this.

Sure 😄
function.decode_output returns a Vec<ethabi::Token>. These helpers make it easy to do something like this:
let x: U256 = returned_tokens[0].try_into()?

Digging into the code more. It looks like I could use these helpers instead do:
let x: U256 = returned_tokens[0].to_int()?

They seem to have the same goals.


.sel(drop=True) fails to drop coordinate

Using both xarray 0.9.6 and current (0.9.6-16-gb201ff7), da.sel(drop=True, **indexers) and da.isel(drop=True, **indexers) return unexpectedly different results.
Setup:
In [1]: import xarray as xr, pandas as pd, numpy as np

In [2]: years = pd.Index(
   ...:      pd.date_range('1981-01-01', '2100-01-01', freq='A', closed='left'),
   ...:      name='time')
   ...: ages = pd.Index(['age0', 'age1', 'age2', 'age3'], name='age')

In [3]: arr = xr.DataArray(
   ...:     np.random.random((len(years), 4)), dims=('time', 'age'),
   ...:     coords={'time': years, 'age': ages})

In [4]: arr
Out[4]:
<xarray.DataArray (time: 119, age: 4)>
array([[ 0.755194,  0.1316  ,  0.283485,  0.616929],
       [ 0.01667 ,  0.907853,  0.667366,  0.146755],
       [ 0.338319,  0.782972,  0.367624,  0.390907],
       ...,
       [ 0.453521,  0.807693,  0.094811,  0.603297],
       [ 0.405114,  0.821691,  0.633314,  0.259406],
       [ 0.41722 ,  0.012957,  0.329089,  0.774966]])
Coordinates:
  * age      (age) object 'age0' 'age1' 'age2' 'age3'
  * time     (time) datetime64[ns] 1981-12-31 1982-12-31 1983-12-31 ...

I would expect the following operations to return identical results:
In [5]: arr.sel(time='2012', drop=True)
Out[5]:
<xarray.DataArray (time: 1, age: 4)>
array([[ 0.086045,  0.467905,  0.101005,  0.503311]])
Coordinates:
  * age      (age) object 'age0' 'age1' 'age2' 'age3'
Dimensions without coordinates: time

In [6]: arr.isel(time=31, drop=True)
Out[6]:
<xarray.DataArray (age: 4)>
array([ 0.086045,  0.467905,  0.101005,  0.503311])
Coordinates:
  * age      (age) object 'age0' 'age1' 'age2' 'age3'

Note that time is still seen as a dimension in in the .sel results.
The same behavior is seen for Dataset.sel(drop=true):
In [7]: ds = xr.Dataset({'arr': arr})

In [8]: ds.sel(time='2012', drop=True)
Out[8]:
<xarray.Dataset>
Dimensions:  (age: 4, time: 1)
Coordinates:
  * age      (age) object 'age0' 'age1' 'age2' 'age3'
Dimensions without coordinates: time
Data variables:
    arr    (time, age) float64 0.08604 0.4679 0.101 0.5033

In [9]: ds.isel(time=31, drop=True)
Out[9]:
<xarray.Dataset>
Dimensions:  (age: 4)
Coordinates:
  * age      (age) object 'age0' 'age1' 'age2' 'age3'
Data variables:
    arr    (age) float64 0.08604 0.4679 0.101 0.5033

drop=True is actually intended to control dropping scalar coordinates, but the result of indexing with '2012' isn't producing a scalar. In this case, what you need is to squeeze out the length one dimension, with .squeeze().
The counter intuitive behavior you are seeing for indexing with a string for a year like arr.sel(time='2012') is something we inherit upstream from pandas: http://pandas.pydata.org/pandas-docs/stable/timeseries.html#slice-vs-exact-match

thanks for the schooling. learned something new!

If you can point to a place in docs where you were mislead, suggestions for clarification would be very welcome.

I wasn't misled by the docs, just by my intuition. But now that you've made the distinction between '2012' and '2012-12-31' this totally makes sense:
In [24]: arr.sel(time='2012')
Out[24]:
<xarray.DataArray (time: 1, age: 4)>
array([[ 0.244146,  0.702819,  0.06614 ,  0.211758]])
Coordinates:
  * age      (age) object 'age0' 'age1' 'age2' 'age3'
  * time     (time) datetime64[ns] 2012-12-31

In [25]: arr.sel(time='2012-12-31')
Out[25]:
<xarray.DataArray (age: 4)>
array([ 0.244146,  0.702819,  0.06614 ,  0.211758])
Coordinates:
  * age      (age) object 'age0' 'age1' 'age2' 'age3'
    time     datetime64[ns] 2012-12-31

In [26]: arr.sel(time=np.datetime64('2012-12-31'))
Out[26]:
<xarray.DataArray (age: 4)>
array([ 0.244146,  0.702819,  0.06614 ,  0.211758])
Coordinates:
  * age      (age) object 'age0' 'age1' 'age2' 'age3'
    time     datetime64[ns] 2012-12-31


Replace content_json TextField with content JSONField in PageRevision

In the same spirit as #8021.
This is a breaking change. Maybe we should add a @cached_property or something so that users can still access content_json? That would still break the queries, though.
The tests pass, but I haven't tested this on a Wagtail project yet (#8021) too. Will do that soon after this.

Testing this PR on wagtail-bakery using docker-wagtail-develop:
Before

(Should've shown type(revision.content_json) to be more explicit that it's still str, but you get the idea.)
After

I can query with JSON-specific operators on psql:

I can also query with JSONField-specific path lookup, and the model field type will be dict once retrieved:


Google Auth - Authenticate button can be disabled until the user enters data in the mandatory fields

What kind of request is this (question/bug/enhancement/feature request):  bug
Steps to reproduce (least amount of steps as possible):

Login to Rancher UI
Go to Global --> Authentication --> Google

The Authenticate with Google button can be disabled until the user enters all the data in the fields marked mandatory.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master-head
Installation option (single install/HA): single

verified on master-head (07/10/2019)
Authenticate with Google is enabled only after the users enters data in the mandatory fields.


fixed issue on edge which was throwing SCRIPT5007 error

The issue was also reported here: https://github.com/zsusac/ReactHTMLTableToExcel/issues/12

Can this please be merged?

Can someone please merge this


Web animations not working in dart, only js

When using the web-animations-js polyfill and compiling dart code to javascript, all animation code works as expected in all browsers (tested on chrome, firefox, Opera, dartium)
However, when not using dart2js but instead running dart code directly in dartium, an exception occurs:
Exception: Unsupported operation: [info: e:\b\build\slave\dartium-win-full-dev\build\src\third_party\webkit\source\bindings\core\dart\custom\dartelementcustom.cpp:100]
border.dart:92 CoilBorderElement.attached
package:template_binding/src/template_iterator.dart:389 _TemplateIterator@905045800._insertInstanceAt@905045800
package:template_binding/src/template_iterator.dart:480 _TemplateIterator@905045800._handleSplices@905045800
package:template_binding/src/template_iterator.dart:358 _TemplateIterator@905045800._valueChanged@905045800
package:template_binding/src/template_iterator.dart:331 _TemplateIterator@905045800._updateValue@905045800
package:template_binding/src/template_iterator.dart:326 _TemplateIterator@905045800._updateIteratedValue@905045800
package:polymer_expressions/polymer_expressions.dart:302 _Binding@528331630._convertAndCheck@528331630
package:observe/src/dirty_check.dart:120 <anonymous closure>
package:observe/src/dirty_check.dart:111 <anonymous closure>
package:observe/src/dirty_check.dart:111 <anonymous closure>

I suspect the same fix that was applied in dart2js needs to be applied somewhere else as well, as this DOES work in Dartium when using dart2js, just not when running in pure dart.

The dart2js part of this seems to have been fixed in #18202

I don't think it's the same fix. The Dartium error is that a function animateCallback has not bee implemented.
Do you have a simple example that fails?

Only a complex application at the moment, I'll give a stab at a simple example tomorrow


[AVM Module Issue]: Add access to container registry via private endpoint

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Issue Type?
Feature Request
(Optional) Module Version
No response
(Optional) Correlation Id
No response
Description
Add access to container registry via private endpoint

hello @AcceleratorFramew0rk
this seems to be a valid feature request. Would you like to open a PR for the maintainers to review ?

#115 would help accomplish this, as the AVM module for ACR supports private endpoints via the standard interface

This has been added in #119


keybase.md

Keybase proof
I hereby claim:

I am linzhen7153 on github.
I am lamzx (https://keybase.io/lamzx) on keybase.
I have a public key ASDaze0z6knwkGQA45AzvhOzggNESKnQk1uA9_9oOfX2igo

To claim this, I am signing this object:
{
  "body": {
    "key": {
      "eldest_kid": "0120dacded33ea49f0906400e39033be13b382034448a9d0935b80f7ff6839f5f68a0a",
      "host": "keybase.io",
      "kid": "0120dacded33ea49f0906400e39033be13b382034448a9d0935b80f7ff6839f5f68a0a",
      "uid": "9e949029459fc6808fdfd06a1238e019",
      "username": "lamzx"
    },
    "merkle_root": {
      "ctime":<PHONE_NUMBER>,
      "hash": "8f0d85702c3a4c7514ca0ef19d8e3c9a882cd58c9177afe60a027d217f3bebd65050302a48c79efc63edfe320b04b283799d5c839f67743e166f73f2553b76d1",
      "hash_meta": "e3cf4d1923f90fcddfdf345c5f8b2f7437272bacaa1ed42589f8ceaf3889c581",
      "seqno": 6685560
    },
    "service": {
      "entropy": "gCJ7Cw8/sC0KTNH5AY6cLg6M",
      "name": "github",
      "username": "linzhen7153"
    },
    "type": "web_service_binding",
    "version": 2
  },
  "client": {
    "name": "keybase.io go client",
    "version": "4.4.1"
  },
  "ctime":<PHONE_NUMBER>,
  "expire_in": 504576000,
  "prev": "ca6504dbb51b469fd0ef7cefd49edc3af284836c48cd34cff094f414b0e20cfc",
  "seqno": 5,
  "tag": "signature"
}

with the key ASDaze0z6knwkGQA45AzvhOzggNESKnQk1uA9_9oOfX2igo, yielding the signature:
hKRib2R5hqhkZXRhY2hlZMOpaGFzaF90eXBlCqNrZXnEIwEg2s3tM+pJ8JBkAOOQM74Ts4IDREip0JNbgPf/aDn19ooKp3BheWxvYWTESpcCBcQgymUE27UbRp/Q73zv1J7cOvKEg2xIzTTP8JT0FLDiDPzEIG6HvbHoHzDDDasUzUE0QLUxE/u/uwuBuFumlL2OaOvDAgHCo3NpZ8RAUvFWQn21+QAaDXnflUbmytuNZZraowsHOffLdm7mdQY3DastjCMubdV76dUV5IMWPKCw9OeJ3XbLgUzthC78CahzaWdfdHlwZSCkaGFzaIKkdHlwZQildmFsdWXEIO6jUeEJl1SPXogtnlz6nRQ0MGN8LI9VIwhWZmLVi7PPo3RhZ80CAqd2ZXJzaW9uAQ==

And finally, I am proving ownership of the github account by posting this as a gist.
My publicly-auditable identity:
https://keybase.io/lamzx
From the command line:
Consider the keybase command line program.
# look me up
keybase id lamzx

Hi
I can see you’re verified on Keybase with a gist elsewhere, so I guess this was a mistake. Can it be closed?
Thanks
Paul


chroot: failed to run command '/prepare.sh': Too many levels of symbolic links

Although I've successfully installed a crouton on a USB Drive multiple times before, I'm having issues this go around.
Steps I've taken:
Open Crosh --> shell
$ sudo su
fdisk -l
umount /dev/sdb1
mkfs -t ext4 /dev/sdb1
unplug and replug USB drive
exit
$ sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton
$ sudo crouton -t audio,chrome,cli-extra,xfce-desktop,kde-desktop,extension,xorg,xiwi -p /media/removable/USB\ Drive
After a few moments, the script gets to "Moving bootstrap files into the chroot..."
Several "Installing ________ into the chroot" lines
...
Installing xbindkeysrc.scm into the chroot...
Installing xiwi.conf into the chroot...
Installing xorg-dummy.conf into the chroot...
Installing xserverrc into the chroot...
Installing xserverrc-xiwi into the chroot...
Installing xserverrc-local.example into the chroot...
Installing enter-chroot into the host...
Installing delete-chroot into the host...
Installing edit-chroot into the host...
Installing mount-chroot into the host...
Installing unmount-chroot into the host...
Installing crash_reporter_wrapper into the host...
chroot: failed to run command '/prepare.sh': Too many levels of symbolic links
Failed to complete chroot setup.
Unmounting /media/removable/USB Drive/chroots/xenial...
I've not run into this error before. Any ideas on how to resolve?

@amenokos,
I believe the issue is due to a recent change in Chrome OS that mounts external media with the 'nosymfollow' option.
See this comment for more details and a workaround: https://github.com/dnschneid/crouton/issues/4360#issuecomment-739508057
Hope this helps,
-DennisLfromGA

Thank you, DennisL. That seemed to solve the issue. Installing now...

Closing. Please re-open if this issue is still a concern.


PRETTY_FUNCTION  definition issue

The check for PRETTY_FUNCTION at least on gcc returns false in the g3log/g3log.hpp:33:
#if !(defined(__PRETTY_FUNCTION__))
For instance, I tested the following code:
#if defined(__PRETTY_FUNCTION__)
error
#endif

#include <iostream>

int main() {
  std::cout << __PRETTY_FUNCTION__ << std::endl;
  return 0;
}

Which compiles and runs fine. I assume it's because the PRETTY_FUNCTION is a magic literal and not a macro?
This causes issues with other libraries that use the literal when including g3log.hpp because g3log.hpp overrides the magic literal.

https://gcc.gnu.org/onlinedocs/gcc/Function-Names.html
PRETTY_FUNCTION should be AFAIK part of gcc, potentially depending on GCC setup that is not the case for you. I think there are potentially bigger problems lurking for you , when gcc is compiling one library in one way and you are integrating other libraries that are constructed with a whole different GCC setup. At least that's how I interpret your answer.
I don't see this as an issue with g3log . This seems to be to be a system setup issue on your company's side.
g3log is public domain, so one option is to fork the repo and remove the troublesome code - if you can't align the GCC configurations across your systems.

I think there may be some misunderstanding. So what I am trying to convey is that it is part of gcc, but is not defined as macro. It's a magic literal. It doesn't get defined until compile time after the preprocessor AFAIK. You can't test it with defined(), I believe.
So what's happening with g3log is that it is always overriding the built-in PRETTY_FUNCTION literal as far as I can tell.
Here is an example that shows it not being defined but printing the result:
https://coliru.stacked-crooked.com/a/93197612dbae85cc
You can click edit and recompile it if you want.
Here's a stack overflow post that confirms my thoughts:
https://stackoverflow.com/a/48223048/15387245

Look at that. "Magic Constants" -- and I considered myself a (at one time at least) C++ expert. You learn something new everyday.
It seems that the idef check is just nonsense in this case. Since we really want the adorned function, through __PRETTY_FUNCTION__, maybe just remove that ifdef definition section from the code?
Please put up a PR so we can evaluate. Nice find!
ref:  https://gcc.gnu.org/onlinedocs/gcc/Function-Names.html


Support for Swift on Linux & Windows?

Is your feature request related to a problem? Please describe.
xmake mentions that Swift is one of supported languages, however. After attempted use of it on Windows or Linux I found that it will not work on those two OS's as I receive errors trying to use it. Swift is a cross-platform language now (or at least is getting there.) for Linux and Windows (still heavily WIP, and a lot of issues facing with SPM can be solved with CMake).
I would love to see xmake add ability to use it and Swift outside of Apple ecosystem, as you can easily use the language outside it.
Describe the solution you'd like
As mentioned above. Add Linux & Windows support for Swift to xmake.
Describe alternatives you've considered
CMake is the only alternative solution for current issues with Swift on Windows, but I would sincerely prefer to use xmake over it.
Additional context
N/A

I supported it on linux, windows. But I only test it on linux.
$ xmake f -c -vD
$ xmake -rvD
[ 25%]: compiling.release src/main.swift
/mnt/swift-5.5.2-RELEASE-ubuntu20.04/usr/bin/swiftc -c -O -o build/.objs/test/linux/x86_64/release/src/main.swift.o src/main.swift
[ 50%]: linking.release test
/mnt/swift-5.5.2-RELEASE-ubuntu20.04/usr/bin/swiftc -o build/linux/x86_64/release/test build/.objs/test/linux/x86_64/release/src/main.swift.o -Xlinker -s
[100%]: build ok!

I supported it on linux, windows. But I only test it on linux.
$ xmake f -c -vD
$ xmake -rvD
[ 25%]: compiling.release src/main.swift
/mnt/swift-5.5.2-RELEASE-ubuntu20.04/usr/bin/swiftc -c -O -o build/.objs/test/linux/x86_64/release/src/main.swift.o src/main.swift
[ 50%]: linking.release test
/mnt/swift-5.5.2-RELEASE-ubuntu20.04/usr/bin/swiftc -o build/linux/x86_64/release/test build/.objs/test/linux/x86_64/release/src/main.swift.o -Xlinker -s
[100%]: build ok!


Build Workspace Fails on apt-get update -yqq

Description:
Trying to use laradock for the first time. Running docker-compose up -d nginx mysql fails on apt-get update -yqq.
Expected Behavior:
Containers should build and start.
Context information:
Step 18/284 : RUN set -xe;     apt-get update -yqq &&     pecl channel-update pecl.php.net &&     groupadd -g ${PGID} laradock &&     useradd -u ${PUID} -g laradock -m laradock -G docker_env &&     usermod -p "*" laradock -s /bin/bash &&     apt-get install -yqq       apt-utils       libzip-dev zip unzip       php${LARADOCK_PHP_VERSION}-zip       nasm &&       php -m | grep -q 'zip'
 ---> Running in 0512bd43a721
+ apt-get update -yqq
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/universe/source/by-hash/SHA256/85a7976ea41248e3229e294ef1c4a08e1f8d73eea8e72fb2f3e9019fee580f05  File has unexpected size (13190 != 383410). Mirror sync in progress? [IP: <IP_ADDRESS> 80]
   Hashes of expected file:
    - Filesize:383410 [weak]
    - SHA256:85a7976ea41248e3229e294ef1c4a08e1f8d73eea8e72fb2f3e9019fee580f05
    - SHA1:7dd0496a39f48f393561fc92511a2457819a9303 [weak]
    - MD5Sum:5f4049f849a5c11b2a6a9891784d6eb1 [weak]
   Release file created at: Tue, 29 Sep 2020 01:33:12 +0000
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/source/by-hash/SHA256/048d421bd4238b19ecc322b0a60b8d1f15273fe0af3b321e5aab32e44f750e9e
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/binary-amd64/by-hash/SHA256/85dd67482418054348b32656256f41ed6b981b0770698b2d206ea5c392070ccb
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/universe/binary-amd64/by-hash/SHA256/0f8165743907a079f16e3799bd2b25d167a798eee3e9742d4444410904998b40
E: Some index files failed to download. They have been ignored, or old ones used instead.
ERROR: Service 'workspace' failed to build: The command '/bin/sh -c set -xe;     apt-get update -yqq &&     pecl channel-update pecl.php.net &&     groupadd -g ${PGID} laradock &&     useradd -u ${PUID} -g laradock -m laradock -G docker_env &&     usermod -p "*" laradock -s /bin/bash &&     apt-get install -yqq       apt-utils       libzip-dev zip unzip       php${LARADOCK_PHP_VERSION}-zip       nasm &&       php -m | grep -q 'zip'' returned a non-zero code: 100

Output of docker version
Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:41:33 2020
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.12
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.10
  Git commit:       48a66213fe
  Built:            Mon Jun 22 15:49:27 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Running on Mac OS Catalina.

Problem was that Screen Time - Content & Privacy Restrictions were enabled on Mac. Turning this off resolved this issue.


Correct translation of tutorial

Coverage remained the same at 100.0% when pulling fe52174801e8a2c8b3e5e5ff8098df0697f2a313 on sofiiakopach:docs into ee49f46a37826c6125f0a136fa08612d168e99bf on openprocurement:master.

Coverage remained the same at 100.0% when pulling 68298274b8b0cec5e6ddcd7b10f2ed8f692befaa on sofiiakopach:docs into ee49f46a37826c6125f0a136fa08612d168e99bf on openprocurement:master.


Support for in-cluster management of loxilb

Currently, as a preferred method, loxilb runs outside cluster while kube-loxilb runs inside cluster. But we should be able to manage loxilb inside cluster as well.

We need to confirm if there are any issues to support in-cluster mode on AWS after this :
https://aws.amazon.com/blogs/containers/amazon-vpc-cni-now-supports-kubernetes-network-policies/


[E2E] Automate VM listener P1 tests [Part 2/2]

[ ] Kill vm when hostd was down and verifies volumes remain attached when hostd restarts as

hostd knows nothing of the killed VM
attach a volume
kill hostd
verify vmdkops_admin volume ls > verify volume stays as attached
kill the vm
restart hostd > verify vmdkops_admin result
status of the volume should remain attached as hostd knows nothing of the killed VM

[ ] Kill vm when hostd was down and verifies volumes remain attached when hostd restarts as hostd knows nothing of the shutdown VM

attach a volume
kill hostd
verify vmdkops_admin volume ls > verify volume stays as attached
shutdown the vm
restart hostd > verify vmdkops_admin result
status of the volume should remain attached as hostd knows nothing of the shutdown VM

Code coverage related - mustfix for Kubecon.


Add dev_getBlockStats RPC

This adds a new RPC:
pub struct BlockStats {
    pub witness_len: u64,
    pub witness_compact_len: u64,
    pub block_len: u64,
    pub block_num_extrinsics: u64,
}

#[rpc(name = "dev_getBlockStats")]
fn block_stats(&self, hash: Hash) -> Result<Option<BlockStats>>;

It is meant as a way to gain insides about the bottle necks of a given chain. While some information can only be learned through this RPC (witness related information) some of them are redundant: You can query the whole block and then measure the size of the block and the number of extrinsics. However, I think it still makes sense to include them as this saves us from transmitting the whole block to the RPC client (possibly over the internet) in order to learn about these statistics.
I have written a CLI tool that queries this draft version of the RPC:
cargo install --git https://github.com/athei/povstats.git --locked

# This will just connect to a locally running node and calls the RPC on each new block
povstats

The output when running this against a substrate --dev node without submitting any extrinsics to it looks like this:
27: Some(BlockStats { witness_len: 8179, witness_compact_len: 6124, witness_compressed_len: 5685, block_len: 226, block_num_extrinsics: 1 })
28: Some(BlockStats { witness_len: 7960, witness_compact_len: 5869, witness_compressed_len: 5412, block_len: 129, block_num_extrinsics: 1 })
29: Some(BlockStats { witness_len: 7894, witness_compact_len: 5901, witness_compressed_len: 5473, block_len: 129, block_num_extrinsics: 1 })
30: Some(BlockStats { witness_len: 8564, witness_compact_len: 6379, witness_compressed_len: 5918, block_len: 226, block_num_extrinsics: 1 })
31: Some(BlockStats { witness_len: 8535, witness_compact_len: 6382, witness_compressed_len: 5913, block_len: 226, block_num_extrinsics: 1 })
32: Some(BlockStats { witness_len: 8698, witness_compact_len: 6513, witness_compressed_len: 6065, block_len: 226, block_num_extrinsics: 1 })
33: Some(BlockStats { witness_len: 7842, witness_compact_len: 5913, witness_compressed_len: 5471, block_len: 129, block_num_extrinsics: 1 })
34: Some(BlockStats { witness_len: 7886, witness_compact_len: 5925, witness_compressed_len: 5473, block_len: 129, block_num_extrinsics: 1 })
35: Some(BlockStats { witness_len: 8520, witness_compact_len: 6497, witness_compressed_len: 6064, block_len: 226, block_num_extrinsics: 1 })

It happens inside: sp_api::Core::execute_block which is called by the new RPC.

I am not sure with the abstraction level that you are using, and I don't see any code that specifies on top of which state you are executing the given block. What I can say for sure is that to execute any arbitrary block, you certainly need its parent state, which may not be available. This error that you said also rings a bell for me in try-runtime, and I recall the reason was not using the proper parent state.

I thought I did correctly specify the parent state by calling the runtime API at the block's parent's hash:
runtime_api.execute_block(&BlockId::Hash(*parent_hash), block)

I thought I did correctly specify the parent state by calling the runtime API at the block's parent's hash:
runtime_api.execute_block(&BlockId::Hash(*parent_hash), block)

that sounds correct to me. Perhaps to double check: if you pass an old-block's hash to a non-archive node, do you get an error?

In generally I'm against adding new rpc methods that are added for everybody by default. However, the functionality here could maybe added to the state_traceBlock rpc method.

Isn't modifying existing RPCs that are included for anyone even worse? I can move it to its own crate so the RPC is optional.

Isn't modifying existing RPCs that are included for anyone even worse?

I mean we would just add some data to the output that you can just ignore on the calling site.

Isn't modifying existing RPCs that are included for anyone even worse?

I mean we would just add some data to the output that you can just ignore on the calling site.

This is basically modifying the RPC in a backwards compatible way. So is adding a new RPC. Why is adding a new one worse?

My two cents:

We don't have a good process to decide when/how/who to add RPCs (same for deprecation).
Over time I've seen people think that "unsafe" RPCs are a way to signal that an RPC is experimental/debug-only/unstable. This is not the case, or rather, it's a bit of a semantic acrobatics. Unsafe means that an RPC should not be exposed to untrusted input, either because it does dangerous things or because it puts a lot of strain on the node and thus exposing a DoS veector.
@tomaka 's approach when re-designing the RPCs is to be very explicit about which RPCs are stable and which aren't, by including "unstable" in the name. I think that's one way to go about it (preferably letting the proc macro do the heavy lifting).
Given that up until now, adding or changing an RPC has been pretty much "do whatever you want", I think it's unfair to block this PR and I don't think the functionality fits very well as an extension to traceBlock

In other words: no objections to merge this from me (but it'd be good to start making up our minds about how to add RPCs, the sooner the better).

In other words: no objections to merge this from me (but it'd be good to start making up our minds about how to add RPCs, the sooner the better).

This is relative easy. Don't add RPCs automatically to every node building on Substrate. Adding RPC functionality to Substrate isn't bad and we can name them unstable or whatever. However, people building on Substrate should decide on their own what kind of RPCs they want to expose.

In other words: no objections to merge this from me (but it'd be good to start making up our minds about how to add RPCs, the sooner the better).

This is relative easy. Don't add RPCs automatically to every node building on Substrate. Adding RPC functionality to Substrate isn't bad and we can name them unstable or whatever. However, people building on Substrate should decide on their own what kind of RPCs they want to expose.

So a new category within sc-rpc would be fine? Putting it into a new crate just adds more boilerplate for no benefit.

Yeah, a new category in sc-rpc is okay :) I mean, I have no idea how the structure with jsonrpsee looks, that was the reason I proposed to speak with @dvdplm :)

@dvdplm said: The less boilerplate the better for out transition. So even adding a new category has a lot of boilerplate and makes the transition more work. That said, we need to balance this against how bad it us for RPCs to "just show up" when you bump substrate.

I mean, I have no idea how the structure with jsonrpsee looks, that was the reason I proposed to speak with @dvdplm :)

The amount of work for devs is quite similar, maybe slightly less but not by much.

Okay so I will add a new category then. I still have no idea how to call this category. I was thinking about calling it dev to clearly indicate that it will contain some seriously wonky RPCs that are not really stable. We could then add new stuff there without much concern because wouldn't add this category to their production node anyways.
What do you think?

Ready for review now:

Moved RPC to a new category.
Added docs.
Removed the witness_compressed_len. It is too assumptions. Client can compress itself if wanted.

bot merge


Add exploring-p2p-hashrate-markets-v2 review to bitcoinplusplus/layer-2

This PR adds exploring-p2p-hashrate-markets-v2 transcript review to the bitcoinplusplus/layer-2 directory.

Got it! Thanks for the pointers. I'll keep this in mind for the next time. Appreciate you moving forward with merging the submission!


⚠ Potential ForceOP exploit

Sending a plugin message to the channel ecb:channel with the UTF-String contents ActionsSubChannel and console_command: op %player% will result in the plugin running the untrusted command from the packet. This needs bungeecord to be enabled in the spigot.yml file.
Potential fix:
Simply blocking any messages coming on that channel from a client connection via the proxy (Velocity, Bungeecord) would resolve this issue.

Skill issue

This is already being fixed and tested.

PR

The exploit was being abused by me and my friend for a few weeks now so it isn't "potential" but still nice that you're warning people.


Several improvements for the catalog

Just refactoring and more.
Please @schleichardt review but I'll merge it right away. Any comments I will apply them next week.

Ok, so I will review it on Tuesday, if you don't mind.

Not at all :)
And sorry for the mixing of topics, I was in the plane moving things around until I was satisfied with the whole picture.


Async verison abstract page rendering

Not sure if I can do like this? =D
I made a branch from your branch and updates CacheService, it's callers and the new IPageRenderer to be async.
I hope that you can manage to check this out and play wait it =D

Looks great - merged!


Adding Tableau Viz to dashboard extensions

@filippostableau @johnDance @seanmakesgames @Kovner @alicemhsiao
Added two new topics:

trex_tableau_viz.md - How to add Tableau Viz to a dashboard extension; Tableau Viz error messages
trex_tableau_viz_ref.md - Reference information about what goes into the inputSpec parameter for the createVizImageAsync method; options for encoding, etc.

Updates:

Added Tableau Viz to the Release Notes (What's New)
Fixed broken link (and error) about the existence of an XSD for the .trex file (trex_create.md)
Updated _config.yml  - gems deprecated and replaced by plugins

It is an object, so it should behave and be described as an object. I like your idea of dropping JSON. And yes, our example should remove the quotes from the keys.
Good ideas all around. Thanks!

Thanks, John.  Revised the reference page to refer to a JavaScript object, rather than a JSON one.


Create separate classes for Tables, Commands and State Locators

@nergal-perm the puzzle #116 is still not solved.

@nergal-perm the only puzzle #116 is solved here.

Commands could now live as an object out of Locators hierarchy


Landing Page and helper files

The landing page was designed from scratch, and necessary files were included for styling and responsiveness. The logo for the website was designed and the typography was also designed. An option to switch the theme was added with storing the theme in the localStorage so that the browser remembers the chosen theme of the user. The color and the different styling and responsiveness of the page can be easily viewed by the screenshots attached below:

The colors are predefined using the css ":root" to enable a hazzle free change of color. Also the JS file includes the corresponding theme switching.
This enabled me to learn a lot and thanking you @manwar.

I am excited to review your fabulous work. Well done and keep it up great work. @himanshisrestha


ci: use GCS Bazel cache for Windows quickstart builds

This change is

Running time is about 13m with a warm cache:
https://source.cloud.google.com/results/invocations/bbe69efb-f1ed-4651-b169-112e275bd455/targets

Ping, in case this one was lost in the shuffle for similar fixes for macOS and Linux and the non-quickstart builds.


Remove dependency on System.Web

The handler contains dependency on System.Web due to a single line of code:
Line 279 in Auth0AuthenticationHandler.cs:
var state = HttpUtility.ParseQueryString(context.Request.Query["state"]);
I think it's possible to use Uri.ParseQueryString
This dependency is redundant, and while it's in place, I'm not sure if this middleware can be used in selfhosting scenarios

I'm need the exact same thing.

I will look into your issues sometimes next week @arieradle


Datadog policy includes S3 GetObject?

Hi all
I see that in the "all" policy attached to the Datadog role has been added the s3:GetObject action:
https://github.com/cloudposse/terraform-aws-datadog-integration/blob/c70209d806ad517890bf9e345573eb735f625088/all.tf#L64
I do not understand why it should be needed and it is not listed in the official Datadog documentation:
https://docs.datadoghq.com/integrations/amazon_web_services/?tab=roledelegation
                "s3:GetBucketLogging",
                "s3:GetBucketLocation",
                "s3:GetBucketNotification",
                "s3:GetBucketTagging",
                "s3:ListAllMyBuckets",
                "s3:PutBucketNotification",

Is this a typo?
Same for s3:ListObjects, but the security concern about GetObject seems greater in my opinion.
Thanks,
Luigi

Fixed in #46


Strengthen tests for datetime mapping

As stated by @keichinger in https://github.com/CuyZ/Valinor/pull/40#discussion_r771919725, the test-cases below can lead to false-positive, mainly because every case is mapping to the exact same datetime.
https://github.com/CuyZ/Valinor/blob/f12ef39e2f92667d97e84e632f8a08e617252d2a/tests/Integration/Mapping/Type/DateTimeMappingTest.php#L18-L60
Changing each case to a different datetime everytime would strengthen the tests and ensure the expected behaviour is correct.

Fixed in #84, thanks @Lucian-Olariu!


Repeating side navbar inner list elements

side navbar inner elements are appearing in the background please suggest me to resolve this issue

Thanks,
Rajesh

I had the same problem. Just edit your  _app-base.scss located in the assets/sass/ folder as I show you:
.nested-menu {
    .list-group-item {
        cursor: pointer;
    }
    .nested {
        list-style-type: none;
    }
    ul.submenu {
        height: 0;
    }
    & .expand {
        ul.submenu {
            list-style-type: none;
            height: auto;
            li {
                a {
                    color: #FFFFFF;
                    padding: 10px;
                    display: block;
                }
            }
        }
    }
  & .hidden {
    visibility: hidden;
  }
}

then you must edit each div menu in the typescript file sidebar.ts in the following way:

                   Menu

                        Submenu

                        Submenu

And that's all! :)


Python config file that contains file path locations

file = "BSP/Simulator/DataGeneration/Data/FILE.csv" is used in a lot of python scripts but if we decide to change the directory path or a file name, we have to go through each script and edit that. Moving this to a central location and having individual variables for the directory and file names will make editing easier and cleaner.
TODO: Create a config python script that holds file names/locations and make all the python scripts that are currently in the simulator branch access these variables.
Future Note: Make sure all future merges use the config file.

I just realized that I added more file that have this problem when I merged in the pull requests for PLL and Watchdog

Is this issue ready to be closed with the merge of #105 into simulator?

Strobelight.py isn’t using config.py. I’ll update that


refactor(streaming): remove dist key for global simple agg & rename to GlobalSimpleAggExecutor

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
As title. We reuse SimpleAggNode for both global and local ones, where dist_key should be unused for global simple agg.
Checklist

[x] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Refer to a related PR or issue link (optional)

StreamSimpleAgg

Cool.


Add support for merge commits (multiple parents)

Resolved in #66 in commit 2468e72fe54c00aac77a2bd4bf6b692f82fcd9e7

Still not solved.
+ Interfaces has support
- But commit history is not traversing both branches of a merge commit
Solve this with depth first search


Remove addons/strip-limits.libsonnet addon

README.md is still pointing to addons/strip-limits.libsonnet addon as a way to strip containers from set resource limits. However since release-0.8 resource requests are first-level settings and users should use the following form:
values+: {
  <component>+: {
    resources: {
      requests: { SET HERE },
      limits: { SET HERE },
    },
  },
}

README section should be removed and a new doc describing how to set resource requests and limits should be created. This also fits nicely with https://github.com/prometheus-operator/kube-prometheus/issues/1005
Anything else we need to know?:
Issue created as a result of https://github.com/prometheus-operator/kube-prometheus/pull/1498

@paulfantom I did this for all components in my cluster, however I can't find a way to set the resource requests for kube-rbac-proxy.

Good point @andrein, looking at the code it does seem like kube-rbac-proxy is kinda left out.
@paulfantom what do you think about kube-rbac-proxy being embedded into the defaults of the object that use them?
e.g. node exporter could have something like this:
local krp = import './kube-rbac-proxy.libsonnet';

local defaults = {
  local defaults = self,
  // Convention: Top-level fields related to CRDs are public, other fields are hidden
  // If there is no CRD for the component, everything is hidden in defaults.
  name:: 'node-exporter',
  namespace:: error 'must provide namespace',
  version:: error 'must provide version',
  image:: error 'must provide version',
  resources:: {
    requests: { cpu: '102m', memory: '180Mi' },
    limits: { cpu: '250m', memory: '180Mi' },
  },
  .
  .
  .
  .
  kubeRbacProxy:: {
    name: 'kube-rbac-proxy'
    upstream: 'http://<IP_ADDRESS>:' + defaults.port + '/',
    secureListenAddress: '[$(IP)]:' + defaults.port,
    resources: {
      requests: { cpu: '100m', memory: '100Mi' },
      limits: { cpu: '150m', memory: '100Mi' },
    }
   .
   .
   .
  }
};

function(params) {
  local ne = self,
  _config:: defaults + params,

  local kubeRbacProxy = krp(ne._config.kubeRbacProxy),
  .
  .
  .
}

I like the idea!
On top of that, assuming that all the kube-rbac-proxies have roughly the same resource usage, I would also like to be able to specify those limits globally in main.libsonnet like so:
{
  values:: {
    common: {
      kubeRbacProxy: {
          resources:: {
            requests: { cpu: '102m', memory: '180Mi' },
            limits: { cpu: '250m', memory: '180Mi' },
        },
      },
    },
  },
}

or, maybe as a separate component like so:
{
  values:: {
    kubeRbacProxy: {
        resources:: {
          requests: { cpu: '102m', memory: '180Mi' },
          limits: { cpu: '250m', memory: '180Mi' },
      },
    },
  }
}

What do you think?

That would make sense. However I think this would clash with the idea of reusing CRD-defined fields in defaults and reducing additional fields.
Ideally we would put the kube-rbac-proxy definition into defaults.containers list, but this is also problematic from UX pov.
I think for now we would need to keep this strip-limits addon, but reduce its scope only to additional containers.
BTW. why do you need to remove limits on kube-rbac-proxy container in the first place?


chore(CI): Reduce binary size in Docker builds

This PR removes debug info from the binary manager in Docker builds by using standard go link options. This change reduces the binary from 47M to 33M.

Wow, thanks, this seems really useful! It seems the stunnerd Dockerfile already contains the necessary linker flags


dependency injection on block_cache

block_cache is the front end of fixed_size_cache_manager, which means the former one relies on the later.
If fiex_size_cache_manager is destroyed before block_cache, bad access will show up.
The motivation here is that to enable the client to use general_fstream directly without any global setup and tear down, where the destruction order is explicitly handled.

the basic idea is to hold a reference of fixed_cache_manager inside of block_cache instance. The same underlying concept with dependency injection.


deploy.yml is not created on new  postgres installation

Hmm, interesting @muco-rolle ! Gonna check it right now!.
Thanks for noticing.
All the other required files are being created?

Fixed! Thanks yo @muco-rolle for noticing!
Any other thing, feel free to ask!


Slack alternatives

content/join.md says the way to join is to email or join Slack. I would recommend self-hosting a discussion service using a free tool such as Discourse, Rocket.Chat, or Wire instead of using a non-free service.

I'd recommend Mattermost for the best Slack alternative.

There are just 13 days left before the free trial of Slack Pro ends.
Calculating:
$8.75 USD * 458 members = $4K/month.
Do we have $4K right now if we want to buy it?

Rocky Linux team already using Mattermost. Link:
As openEla and RockyLinux is also supported by CIQ, I think Mattermost will be launch soon.


Octo-STS as bypasser for Rule sets

Hey,
We have a Ruleset and I wanna bypass PR's made by Octo-STS. Therefore I selected the Octo-STS app as an bypasser, but this does not have an effect and the ruleset is still active.
Do you have experience with that?

Yeah, we do this to allow bypassing some of our org-level rulesets.  Here's one that allows our automation to create branches on the upstream (instead of needing a fork):


[Unity][Bugfix] Check for trivial re-bindings in MatchCast nodes

The KillAfterLastUse pass that was implemented in https://github.com/apache/tvm/pull/15810 checked for trivial re-bindings in VarBinding nodes, but not in MatchCast nodes.  As a result, CodeGenVM's de-duplication of registers resulted in the object being killed prematurely.
y = R.match_cast(x, R.Tensor(...)) # Trivial rebinding here.
                                   # CodeGenVM has these share a register.

R.memory.kill_tensor(x)  # Kill x after last usage.
                         # Register is set to None.

_ = R.ExternFunc("set_item")(y) # Use of the cleared register through y.

@junrushao This change should resolve the MLC-LLM error you found in https://github.com/apache/tvm/pull/15852.  It works in my local setup, and it would be good to validate that it works on your side as well.

Just hit the issue of ValueError: Do not know how to handle type object, fixed by this PR. Thanks.


White background box appeared for my comment section

Hello,
I'm using dark theme, windows 10, on chrome. I haven't checked my blog in a while so I am not sure exactly how it broke, but the white box was not present in my last build around 2 months ago.

url?

https://aizera.page/post/connie-say-myanmar-lyrics/
I linked the latest post but it happens on every post so far

This was interesting... I think this is a browser bug, we'll see what they say...
https://crbug.com/1175484
Removing the color-scheme meta element and the :root { color-scheme: ...  } property from your stylesheet resolves the issue but I doubt you want to do that.

here's the response:

This is per spec where the used color-scheme of the iframe element and the iframe document's root element differ.
If you add style="color-scheme:light" on the iframe element it becomes transparent.

I've shipped the fix, looks like it's working on your site now. Thanks for reporting this.


Can't merge ECMWF perturbed and control forecast together as xarray since release 0.10

Hi there,
Since the release 0.10.1, the EUMETNET benchmark plugin is partly broken because apparently cfgrib does not accept anymore to merge the control and perturbed ECMWF  forecasts together.
I use the multi source to do that (see here), but when calling to_xarray, I get the following issue:
DatasetBuildError                         Traceback (most recent call last)
File /opt/tljh/user/envs/climetlab_test/lib/python3.9/site-packages/cfgrib/dataset.py:633, in build_dataset_components(index, errors, encode_cf, squeeze, log, read_keys, time_dims, extra_coords)
    632 try:
--> 633     dims, data_var, coord_vars = build_variable_components(
    634         var_index,
    635         encode_cf,
    636         filter_by_keys,
    637         errors=errors,
    638         squeeze=squeeze,
    639         read_keys=read_keys,
    640         time_dims=time_dims,
    641         extra_coords=extra_coords,
    642     )
    643 except DatasetBuildError as ex:
    644     # NOTE: When a variable has more than one value for an attribute we need to raise all
    645     #   the values in the file, not just the ones associated with that variable. See #54.

File /opt/tljh/user/envs/climetlab_test/lib/python3.9/site-packages/cfgrib/dataset.py:471, in build_variable_components(index, encode_cf, filter_by_keys, log, errors, squeeze, read_keys, time_dims, extra_coords)
    460 def build_variable_components(
    461     index: abc.Index[T.Any, abc.Field],
    462     encode_cf: T.Sequence[str] = (),
   (...)
    469     extra_coords: T.Dict[str, str] = {},
    470 ) -> T.Tuple[T.Dict[str, int], Variable, T.Dict[str, Variable]]:
--> 471     data_var_attrs = enforce_unique_attributes(index, DATA_ATTRIBUTES_KEYS, filter_by_keys)
    472     grid_type_keys = GRID_TYPE_MAP.get(index.getone("gridType"), [])

File /opt/tljh/user/envs/climetlab_test/lib/python3.9/site-packages/cfgrib/dataset.py:273, in enforce_unique_attributes(index, attributes_keys, filter_by_keys)
    272         fbks.append(fbk)
--> 273     raise DatasetBuildError("multiple values for key %r" % key, key, fbks)
    274 if values and values[0] not in ("undef", "unknown"):

DatasetBuildError: multiple values for key 'dataType'

During handling of the above exception, another exception occurred:

DatasetBuildError                         Traceback (most recent call last)
Input In [17], in <module>
----> 1 fcs = ds.to_xarray(xarray_open_dataset_kwargs=dict(squeeze=True))
      2 fcs

File ~/climetlab-eumetnet-postprocessing-benchmark/climetlab_eumetnet_postprocessing_benchmark/gridded/training_data_forecasts.py:398, in TrainingDataForecastSurfacePostProcessed.to_xarray(self, **kwargs)
    397 def to_xarray(self, **kwargs):
--> 398     fcs = self.source.to_xarray(**kwargs)
    399     variables = list(fcs.keys())
    400     ds_list = list()

File /opt/tljh/user/envs/climetlab_test/lib/python3.9/site-packages/climetlab/readers/grib/fieldset.py:203, in FieldSet.to_xarray(self, **kwargs)
    185     xarray_open_dataset_kwargs[key] = mix_kwargs(
    186         user=user_xarray_open_dataset_kwargs.pop(key, {}),
    187         default={"errors": "raise"},
   (...)
    190         logging_main_key=key,
    191     )
    192 xarray_open_dataset_kwargs.update(
    193     mix_kwargs(
    194         user=user_xarray_open_dataset_kwargs,
   (...)
    200     )
    201 )
--> 203 result = xr.open_dataset(
    204     self,
    205     **xarray_open_dataset_kwargs,
    206 )
    208 def math_prod(lst):
    209     if not hasattr(math, "prod"):
    210         # python 3.7 does not have math.prod

File /opt/tljh/user/envs/climetlab_test/lib/python3.9/site-packages/xarray/backends/api.py:495, in open_dataset(filename_or_obj, engine, chunks, cache, decode_cf, mask_and_scale, decode_times, decode_timedelta, use_cftime, concat_characters, decode_coords, drop_variables, backend_kwargs, *args, **kwargs)
    483 decoders = _resolve_decoders_kwargs(
    484     decode_cf,
    485     open_backend_dataset_parameters=backend.open_dataset_parameters,
   (...)
    491     decode_coords=decode_coords,
    492 )
    494 overwrite_encoded_chunks = kwargs.pop("overwrite_encoded_chunks", None)
--> 495 backend_ds = backend.open_dataset(
    496     filename_or_obj,
    497     drop_variables=drop_variables,
    498     **decoders,
    499     **kwargs,
    500 )
    501 ds = _dataset_from_backend_dataset(
    502     backend_ds,
    503     filename_or_obj,
   (...)
    510     **kwargs,
    511 )
    512 return ds

File /opt/tljh/user/envs/climetlab_test/lib/python3.9/site-packages/cfgrib/xarray_plugin.py:99, in CfGribBackend.open_dataset(self, filename_or_obj, mask_and_scale, decode_times, concat_characters, decode_coords, drop_variables, use_cftime, decode_timedelta, lock, indexpath, filter_by_keys, read_keys, encode_cf, squeeze, time_dims, errors, extra_coords)
     77 def open_dataset(
     78     self,
     79     filename_or_obj: T.Union[str, abc.MappingFieldset[T.Any, abc.Field]],
   (...)
     96     extra_coords: T.Dict[str, str] = {},
     97 ) -> xr.Dataset:
---> 99     store = CfGribDataStore(
    100         filename_or_obj,
    101         indexpath=indexpath,
    102         filter_by_keys=filter_by_keys,
    103         read_keys=read_keys,
    104         encode_cf=encode_cf,
    105         squeeze=squeeze,
    106         time_dims=time_dims,
    107         lock=lock,
    108         errors=errors,
    109         extra_coords=extra_coords,
    110     )
    111     with xr.core.utils.close_on_error(store):
    112         vars, attrs = store.load()  # type: ignore

File /opt/tljh/user/envs/climetlab_test/lib/python3.9/site-packages/cfgrib/xarray_plugin.py:39, in CfGribDataStore.__init__(self, filename, lock, **backend_kwargs)
     37 else:
     38     opener = dataset.open_fieldset
---> 39 self.ds = opener(filename, **backend_kwargs)

File /opt/tljh/user/envs/climetlab_test/lib/python3.9/site-packages/cfgrib/dataset.py:730, in open_fieldset(fieldset, indexpath, filter_by_keys, read_keys, time_dims, extra_coords, computed_keys, log, **kwargs)
    728 index = messages.FieldsetIndex.from_fieldset(fieldset, index_keys, computed_keys)
    729 filtered_index = index.subindex(filter_by_keys)
--> 730 return open_from_index(filtered_index, read_keys, time_dims, extra_coords, **kwargs)

File /opt/tljh/user/envs/climetlab_test/lib/python3.9/site-packages/cfgrib/dataset.py:706, in open_from_index(index, read_keys, time_dims, extra_coords, **kwargs)
    699 def open_from_index(
    700     index: abc.Index[T.Any, abc.Field],
    701     read_keys: T.Sequence[str] = (),
   (...)
    704     **kwargs: T.Any,
    705 ) -> Dataset:
--> 706     dimensions, variables, attributes, encoding = build_dataset_components(
    707         index, read_keys=read_keys, time_dims=time_dims, extra_coords=extra_coords, **kwargs
    708     )
    709     return Dataset(dimensions, variables, attributes, encoding)

File /opt/tljh/user/envs/climetlab_test/lib/python3.9/site-packages/cfgrib/dataset.py:654, in build_dataset_components(index, errors, encode_cf, squeeze, log, read_keys, time_dims, extra_coords)
    652         fbks.append(fbk)
    653         error_message += "\n    filter_by_keys=%r" % fbk
--> 654     raise DatasetBuildError(error_message, key, fbks)
    655 short_name = data_var.attributes.get("GRIB_shortName", "paramId_%d" % param_id)
    656 var_name = data_var.attributes.get("GRIB_cfVarName", "unknown")

DatasetBuildError: multiple values for unique key, try re-open the file with one of:
    filter_by_keys={'dataType': 'pf'}
    filter_by_keys={'dataType': 'cf'}

So the problem seems to be that it has become more strict about the multiple values for keys, using this function enforce_unique_attributes.
cfgrib version is 0.9.10.
How can I resolve this issue? Can I tell him to be more forgiving about the attributes uniqueness?
Thank you in advance.

To reproduce, simply install the plugin
pip install climetlab climetlab-eumetnet-postprocessing-benchmark
and run the notebook https://github.com/Climdyn/climetlab-eumetnet-postprocessing-benchmark/tree/main/notebooks/demo_ensemble_forecasts.ipynb .

I see. I reproduced the issue, thanks for the detailed report.
The reason is that your grib files (from mutiple sources) are not compatible.
Previous versions of (0.9.9 and below), we were sending each grib separately to cfgrib.
But now, for multi source of grib, climetlab is doing the indexing, computing offsets etc. and presenting to cfgrib something that looks like a unique grib file. If you open such a grib file cfgrib fails with this error.
Nevertheless, we do want to support this use case nicely. I will work on it during the next few days.

We would like to make cfgrib ignore the value of the inconsistent key (namely "dataType" which is sometimes 'pf' and sometimes 'cf'). This is not yet implemented in cfgrib. I added it in climetlab and opened an issue to have it implemented in cfgrib.
Would you mind checking that this solves the issue?

Use the current develop branch of climetlab (commit ee697ff or latter)
Change your TrainingDataForecastSurfacePostProcessed.to_xarray() to add the option to ignore the failing keys as follow:

        fcs = self.source.to_xarray(
            xarray_open_dataset_kwargs={"backend_kwargs": {"ignore_keys": ["dataType"]}},
            **kwargs,
        )

It seems to work now indeed:

Does that mean that we need to overload the to_xarray routine everywhere this might happen?

Yes, the current default behaviour of cfgrib is to raise an error when the GRIB are not consistent. The rationale is that we really do not want to change the grib file on the fly without the user deciding it explicitly.
So, yes, the option "ignore_keys" needs to be added everywhere you need it.

Ok thanks, I think that this issue can be closed when there is a new release with the fix then.

version 0.10.3 released.

After implementing this modification, everything seems fine and I will release a new version of the plugin. Thanks for your help.


Repeat Events

How to make repeat the events yearly, or monthly?

to reload events you can use this instruction :
$('#calendar').fullCalendar('refetchEvents');

to reload events you can use this instruction :
$('#calendar').fullCalendar('refetchEvents');


support blury

This is working for blur #27

I don't think its part of the scope of this library or the material guidelines.


(Map Editor) (bloodborne) Central Yharnham - Loading assets seems to stop at 70%

It still lets me work in the Map Editor and do things but I don't think it's actually trying to save anything when I press Ctrl-S (Save)

This seems like a very recent regression

I can confirm things were still fine here at least -
https://github.com/vawser/Smithbox/commit/7a628328c1c83664e777ab0e5aef975a5ad66bf1
Have yet to bisect further to see which commit broke it

Might be related to the texture change, the resource manager seems to have an old bug where it hangs when loading certain textures.


Handle finding of nested resources

Suppose my routes are as follows:
resources :posts do
    resources :comments
end

That is to say, a Comment is nested below the Post resource.
I have the following URL for viewing a comment on its own page:
/posts/ABC/comments/XYZ

The following works perfectly:
@post = Post.find(params[:post_id])

However, when attempting to retrieve a specific comment, based on the post:
@post = Post.find(params[:post_id])
@comment = Post.comments.find(params[:id])

I see the following error:
ActiveRecord::RecordNotFound at /posts/ABC/comments/XYZ
Couldn't find Comment with 'id'=XYZ [WHERE "comments"."post_id" = 123]
- - -
SELECT  "comments".* FROM "comments" WHERE "comments"."post_id" = $1 AND "comments"."id" = $2 LIMIT 1  [["post_id", 123], ["id", 0]]

Another attempt was the following:
@comment = Comment.where(post: @post).find(params[:id])

which errored with:
Couldn't find Comment with 'id'=XYZ [WHERE "comments"."post_id" = 123]
- - -
SELECT  "comments".* FROM "comments" WHERE "comments"."post_id" = 123 AND "comments"."id" = $1 LIMIT 1  [["id", 0]]

Note that in each case the ID is 0 because I'm passing the HashID which is converted to the integer 0.
It would be great to support this without requiring me to refactor my code and manually handle the HashID <--> ID conversion. Any thoughts?

Related problem for Obfuscate IDs: https://github.com/namick/obfuscate_id/issues/44

@olliebennett Sorry for the delayed response! I didn't realize I was getting notifications for this repo. That's definitely an issue I'd like to work out. I'll can block out some time to work on a solution, or if you'd like to try a pull request, you're more than welcome. Let me know either way. Thanks!

Hi @jcypret
I solved the issue in my own gem with this.
https://github.com/dtaniwaki/acts_as_hashids/blob/09e1b379c22ba6a6ace5677a403e0f144af94cdf/lib/acts_as_hashids/core.rb#L52
You can extend has_many with your custom find. Hope it's helpful in your case.

This would definitely be a great feature to have, I scope nearly all my queries through a single top level model. I.e. Foo.find(1).bars.find('qJ5YM5Lp')
@dtaniwaki as an aside I just tried your gem and it doesn't appear this functionality works - are you sure it should? If so I'll open an issue.

@SirRawlins That functionality doesn't currently work on master. Working on a new version in the sign-hashids branch that resolves this as well as a few other minor issues. Hoping to have a new release this week. You're welcome to give the branch a try.
That branch removes including it in all models. You instead include it select models using: include Hashid::Rails.

@jcypret sounds awesome. I'll give that a try, thanks so much.

This has been resolved in the latest release. Specs have been added to exercise associations: https://github.com/jcypret/hashid-rails/blob/49ba2f9126f0daea292974a62a66bb3c25aee825/spec/hashid/rails_spec.rb#L31

@jcypret finally got around to dropping this in today and even running 1.0.0 I'm still getting the same error when running association.find(params[:hash_id]) - I am able to use association.find_by_hashid() as a work around, but it's less than ideal.
I'm wondering if your test case is giving a false-positive, I wonder if it should be using comment.to_param instead of comment.id?
https://github.com/jcypret/hashid-rails/blob/49ba2f9126f0daea292974a62a66bb3c25aee825/spec/hashid/rails_spec.rb#L36

@jcypret I'm still seeing this issue on 1.2.1

@jcypret @SirRawlins Scratch that, I think the issue arises when the parent model does not have hashids enabled.  Adding Hashids::Rails to both the parent and child models works as expected.

I can't seem to get find all to work. I have a form where I post the hashids  ( model_ids: [hashids...] ).
However when I post this form I get this error:
Couldn't find all Model with 'id': (0, 0, 0) (found 0 results, but was looking for 3)
This works fine when passing normal ids


Added ports for kerberos template with defaults

Description
As described in https://github.com/confluentinc/cp-ansible/issues/1371
Added variables for kerberos port(s) with defaults for the currently hard-coded values in krb5.conf.j2 to allow installation e.g. in cloud-hosted MS AD setups.
Fixes #1371
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

How Has This Been Tested?

Local testing of template in ansible
Integration - full deployment in target system with modified template

Test Configuration:

fallback / defaults:

ansible all -i "localhost," -c local -m template -a "src=./roles/kerberos/templates/krb5.conf.j2 dest=./test.txt" --extra-vars='{kerberos: {realm: TEST.REALM, dns_lookup_realm: test.realm, dns_lookup_kdc: test.kdc, ticket_lifetime: 42, forwardable: false, udp_preference_limit: 4242, default_tkt_enctypes: aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96, default_tgs_enctypes: default, permitted_enctypes: none, canonicalize: false, allow_weak_crypto: false, kdc_hostname: kdc.local, admin_hostname: krb.local } }'

new variables:

ansible all -i "localhost," -c local -m template -a "src=./roles/kerberos/templates/krb5.conf.j2 dest=./test.txt" --extra-vars='{kerberos: {realm: TEST.REALM, dns_lookup_realm: test.realm, dns_lookup_kdc: test.kdc, ticket_lifetime: 42, forwardable: false, udp_preference_limit: 4242, default_tkt_enctypes: aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96, default_tgs_enctypes: default, permitted_enctypes: none, canonicalize: false, allow_weak_crypto: false, kdc_hostname: kdc.local, admin_hostname: krb.local, kdc_port: 666, admin_port: 777 } }'

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] Any dependent changes have been merged and published in downstream modules
[x] Any variable changes have been validated to be backwards compatible

Thanks!


Bounds function

Hi Vincent,
Have you think to add functionality on importing image data from image path?, i mean, when you have complete Sentinel 2 image (all bands) in your colab or local directory, so you can use bounds function.
I try this:
`cd /gdrive/My Drive/Notebooks/data/S2C/
scene_id = 'T18NWL_20170404T153111_B03.jp2'
bounds = sentinel2.bounds(scene_id)`
but I got this error:
InvalidSentinelSceneId: Could not match T18NWL_20170404T153111_B03.jp2
Thanks in advance, JL

Hi @jaimebayes
the rio_tiler.sentinel2 submodule is ONLY to access AWS Public Dataset. If you have local data you should use rio_tiler.main submodule.


Question/Clarification re: "Two actions with the same type MUST be strictly equivalent"

As defined in the readme, I think a strict reading says that two actions of the same type must be strictly equivalent, i.e.:
firstActionOfTypeA === secondActionOfTypeA

But my interpretation is that the intent is to say that the type values must be strictly equivalent, not the two actions themselves, i.e.:
firstActionOfTypeA.type === secondActionOfTypeA.type
firstActionOfTypeA !== secondActionOfTypeA

If i'm both reading and interpreting correctly, I think the section might need rewording. So my question is, am I doing both of those things correctly? :stuck_out_tongue:

+1 This is confusing.

Yeah, I had the exact same thought.

+1 definitely confusing as it says the action (object) MUST be identical


Migrating data to a CMS for accessibility

[Use Case]
As this project grows, I think it will be more important to have the contents of the site be edited by anyone.
https://github.com/uclaacm/opensource/blob/cb1af1fefc888938ac1016f2d18253f70dc9bc38/data/projects.ts#L1-L17
I believe these contents can be integrated into a CMS like Contentful, Netlify CMS, or Strapi. It would make it easier for committees to edit the site AND wouldn't require cluttered PR's that's soul purpose is changing site content.
[Proposed Solution]

Migrate data to CMS
call data in getStaticProps
pass projects data to page

It would seem wise to wait for additional use cases before such a migration is justified. Spinning up a new system is a lot of work, and maintaining it is even more work (what happens if Netlify gets acquired and shuts down?). I suggest two additional options to consider, if we want to make the process more contribution-friendly:

Migrate the file to YAML or some other easier to read format (as an example, Hack uses YAML for their Workshop Archive, which contains all their events for the past twelve quarters, without much problem)
Creating a Google Form for people to submit their own projects, which allows exporting to a tabulated/structured format like YAML, JSON, or a JavaScript object literal.

Very insightful! I'm writing an issue documenting a bigger and more expansive scope project that would make this CMS idea make more sense.
But I understand committing data into a repo. My preference and theory behind scaling a big project is to have the commits be geared towards features, fixing bugs, and documentation. And allow the content updating happen outside the realm of the project itself.
I'm outlining it all in an issue atm and hopefully can get it up by tonight :)


Made Ticker::next Send+Sync.

This PR makes the Future returned by embassy_time::Ticker::next Send+Sync. This resolves #2748. Since embassy_time::Timer is already a Future and it already is Send+Sync, no further changes were necessary on that end.

CI-Failure appears unrelated.

We can't make this Future 'static, since the poll_fn takes in a non-static mutable reference to self.

to fix CI, rebase your commit on top of latest git main.

Done


Ensure that git clones are removed during merge attempts.

Previously erroneous code meant that none of the cloned git repositories
that were created during a merge attempt were removed post-success/failure.
This fix ensures that they now are.
Change-type: patch

Connects to #86