trouble decrypting encrypted comment fields

hey! I really love staticman, thanks for all the hard work to those maintaining it!
I've enabled encryption for the e-mail field and message field to use as a regular contact form.. now I'm trying to decrypt my first contact message sent thru staticman.
first I tried:
openssl rsautl -decrypt -in /home/bob/encrypted -out /home/bob/decrypted -inkey /home/bob/.ssh/id_bot_rsa
outputs:
RSA operation error
139704754267456:error:0407109F:rsa routines:RSA_padding_check_PKCS1_type_2:pkcs decoding error:../crypto/rsa/rsa_pk1.c:251:
139704754267456:error:04065072:rsa routines:rsa_ossl_private_decrypt:padding check failed:../crypto/rsa/rsa_ossl.c:491:

then I found this post by VincentTam about Staticman's Encryption Mechanism and try changing my decrypted message to base64 but getting a similar error
cat encrypted | base64 -d | openssl rsautl -decrypt -oaep -out /home/bob/decrypted -inkey /home/bob/.ssh/id_bot_rsa
outputs:
140543979599168:error:04099079:rsa routines:RSA_padding_check_PKCS1_OAEP_mgf1:oaep decoding error:../crypto/rsa/rsa_oaep.c:262:
140543979599168:error:04065072:rsa routines:rsa_ossl_private_decrypt:padding check failed:../crypto/rsa/rsa_ossl.c:491:

I didn't realize it would be this hard, or I would have tried decrypting before I got my first submission to this contact form 😅
I plan to do this in python eventually.. so, I'm not married to this openssl method if you have a suggestion in a different direction.
any help appreciated

Ok, trying again after finding RSA.js.. I copied it's contents to decrypt.js in the root of my staticman project folder, on the server where it's hosted and modified it for this purpose:
const NodeRSA = require('node-rsa')
const key = new NodeRSA()
key.importKey('-----BEGIN RSA PRIVATE KEY-----\n Key found in config.production.json \n-----END RSA PRIVATE KEY-----', 'private');
const decrypted = key.decrypt('539c27a0e4b4bfc25f45b2254245wergdsa10803f725', 'utf8');
console.log('decrypted: ', decrypted);

node decrypt.js
outputs:
/home/bob/staticman/node_modules/node-rsa/src/NodeRSA.js:301
            throw Error('Error during decryption (probably incorrect key). Original error: ' + e);
            ^

Error: Error during decryption (probably incorrect key). Original error: Error: Incorrect data or key
    at NodeRSA.module.exports.NodeRSA.$$decryptKey (/home/bob/staticman/node_modules/node-rsa/src/NodeRSA.js:301:19)
    at NodeRSA.module.exports.NodeRSA.decrypt (/home/bob/staticman/node_modules/node-rsa/src/NodeRSA.js:249:21)
    at Object.<anonymous> (/home/bob/staticman/decrypt.js:4:23)
    at Module._compile (internal/modules/cjs/loader.js:1137:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
    at Module.load (internal/modules/cjs/loader.js:985:32)
    at Function.Module._load (internal/modules/cjs/loader.js:878:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47

While it says probably incorrect key or data, but I've verified both, multiple times.

oh... well, I guess I was sorely mistaken about what I was doing...
Unless I'm, yet again, mistaken, this setting in staticman config hashes the e-mail and the message, which is not a reversible action... which leads me to wonder.
  transforms:
    email: md5
    message: md5

If that's the case, then the form asks for an e-mail address simply to make sure the user enters an e-mail, or is supposed to be used in conjunction with mailgun so you get the email address in a message sent you via mail?

sigh.... https://github.com/eduardoboucas/staticman/issues/358 I don't suppose there's any server side logging?

@infominer33 Sorry, but the logging is minimal-to-nonexistent. I was going to respond earlier that the result of the transform is a one-way hash that can't be reversed, but then you referenced that "Staticman's Encryption Mechanism" article and you made me doubt.

Hi,
I keep getting a similar "oaep decoding error" as above in my browser console when I hit submit on a comment:
_responseJSON: Object { success: false, rawError: "Error: Error during decryption (probably incorrect key). Original error: Error: error:04099079:rsa routines:RSA_padding_check_PKCS1_OAEP_mgf1:oaep decoding error" }
I generated my RSA private key using:
ssh-keygen -m PEM -t rsa -b 4096 -C "staticman key" -f ~/.ssh/staticman_key
and I'm running my staticman instance on Heroku with RSA_PRIVATE_KEY config var set as:
heroku config:add --app staticman-instance-name "RSA_PRIVATE_KEY=$(cat ~/.ssh/staticman_key | tr -d '\n')"
My reCaptcha secret key was encrypted by my staticman instance using below URL form and has been populated in staticman.yml and _config.yml:
https://${bridge_app_name}.herokuapp.com/v2/encrypt/{$recaptcha-secret}
What am I missing?

@mocza The output of
cat ~/.ssh/staticman_key | tr -d '\n'

lacks trailing \n as the 2nd part tr -d '\n' removed all newlines, including the trailing one.  It seems that your API isn't happy about that.
When I was testing #219 three years ago, its author advised me to use a modern code editor to replace all occurrences of the newline character \n with the string \n.  (You may search the hidden discussion for the "missing RSA").
However, in Heroku deployment, that didn't work.  I used
heroku config:set RSA_PRIVATE_KEY="$(cat key.pem)"

in my API setup guide written three years ago before the creation of the GitHub App authorization method.
Recently, I've found an easier method in #402: just copy the contents of the PEM file and paste to the right text area for RSA_PRIVATE_KEY through Heroku's online dashboard.
I suggest you upgrade to v3.

@mocza Hi, how did you fix that problem? I met the same one ...


Change refreshed to refresher

Closing as the older PR #274 contains the same fix, but thanks again!


Fix "cannot import search from googlesearch" if google is not pre-installed

Many people are facing an issue which says "cannot import search from googlesearch" if google is not pre-installed in their systems. This is usually faced by users running their scripts on vps.

Fixed in animec 0.0.3


Improved http client

I'm using v0.12.0 for reference.
Is your feature request related to a problem? Please describe.
The current http client only returns the body from the response. It needs to return all of the response meta data as well. Status, headers etc.
Describe the solution you'd like
I would just return a response object from the rust side and allow people to handle the response however they need in javascript. It would probably make sense to try to emulate the api of popular http clients in the js world, like axios. Perhaps tauri could even supply a backend for one of those clients.
Describe alternatives you've considered
browser's fetch api et al.

Yeah, I agree that our http service in the tauri app (on the rust side) is a little weak. However, I am very much opposed to the general idea that some people have of using "fetch" or similar in the webview, especially considering the frequency with which axios is hit with vulns. We have discussed replacing tiny_http with something more robust. Are you interested in helping us out here @Blquinn ?

Yeah, I agree that our http service in the tauri app (on the rust side) is a little weak. However, I am very much opposed to the general idea that some people have of using "fetch" or similar in the webview, especially considering the frequency with which axios is hit with vulns. We have discussed replacing tiny_http with something more robust. Are you interested in helping us out here @Blquinn ?

tiny_http is the internal http server library Tauri uses to serve the app's assets (JS, CSS, HTML, images...). The issue here is the HTTP client API, which uses attohttpc.
We'd love some contributions here, this is not so hard to write: main changes should be wrriten here along with type changes, docs etc.

tiny_http is the internal http server library Tauri uses to serve the app's assets (JS, CSS, HTML, images...). The issue here is the HTTP client API, which uses attohttpc.
We'd love some contributions here, this is not so hard to write: main changes should be wrriten here along with type changes, docs etc.

@nothingismagick What is the disadvantage of using pure fetch? It seems like it is unlikely to have any vulns and it's modern enough that you don't need a third-party library like Axios to use it.

@nothingismagick What is the disadvantage of using pure fetch? It seems like it is unlikely to have any vulns and it's modern enough that you don't need a third-party library like Axios to use it.

The point is an architectural one. When you are using the webview to perform your "fetch-like" request, you are opening up the system to attacks that can directly influence the interface. I think it is generally better to do the fetching on the Rust side and then send the response to the webview after you have analysed it for correctness or even rewritten it for safety.

The point is an architectural one. When you are using the webview to perform your "fetch-like" request, you are opening up the system to attacks that can directly influence the interface. I think it is generally better to do the fetching on the Rust side and then send the response to the webview after you have analysed it for correctness or even rewritten it for safety.

@nothingismagick @lucasfernog Sorry, missed all these replies for some reason!
I have a decent implementation in a toy project I'm working on specifically in src/tauri/http.ts and src-tauri/src/http.rs.
Pulls in dependencies on ureq (rust http client) and base64 (to serialize request bodies to/from webview). ureq seemed like a solid and tiny http lib, which I picked mainly because it had minimal impact on executable size.
Perhaps you can take a look at the exposed api and let me know what you think?

@nothingismagick @lucasfernog Sorry, missed all these replies for some reason!
I have a decent implementation in a toy project I'm working on specifically in src/tauri/http.ts and src-tauri/src/http.rs.
Pulls in dependencies on ureq (rust http client) and base64 (to serialize request bodies to/from webview). ureq seemed like a solid and tiny http lib, which I picked mainly because it had minimal impact on executable size.
Perhaps you can take a look at the exposed api and let me know what you think?

Actually... now that I look at that it's missing a few things. It's really just the low level request method which exposes all the dials.
Biggest issue is that there's no real way of handling binary responses, or large responses. It loads the whole response body in the webview as a string.
I think a couple things that would improve it are:

Having a "download to file" api, which would be good for binary responses and large responses that you don't necessarily want to load into js memory. ("Upload from file" as well.)
A few helper functions (one for each common http method) like python's requests package an others.

Also, I'm happy to make a contribution if you all like the cut of this http client's jib.

Actually... now that I look at that it's missing a few things. It's really just the low level request method which exposes all the dials.
Biggest issue is that there's no real way of handling binary responses, or large responses. It loads the whole response body in the webview as a string.
I think a couple things that would improve it are:

Having a "download to file" api, which would be good for binary responses and large responses that you don't necessarily want to load into js memory. ("Upload from file" as well.)
A few helper functions (one for each common http method) like python's requests package an others.

Also, I'm happy to make a contribution if you all like the cut of this http client's jib.

I definitely like the look of it, but think we would have to add tests. I like download to file / upload from file, but I would like some kind of sandboxing there - where we give the downloaded file a randomized name that we can track. Otherwise it is an attack vector. Upload from file is similarly potentially an exfiltration tool.
I also think that we need to have some kind of optional header validation and that it would absolutely require a comprehensive acceptlist.
Finally, I think having a test suite would be important. Also, some people might like to see benches...
But all in all would love to see a PR in this direction!

I definitely like the look of it, but think we would have to add tests. I like download to file / upload from file, but I would like some kind of sandboxing there - where we give the downloaded file a randomized name that we can track. Otherwise it is an attack vector. Upload from file is similarly potentially an exfiltration tool.
I also think that we need to have some kind of optional header validation and that it would absolutely require a comprehensive acceptlist.
Finally, I think having a test suite would be important. Also, some people might like to see benches...
But all in all would love to see a PR in this direction!

I just skimmed the ts, and think that it would also be wise to have some kind of error handling there.

I just skimmed the ts, and think that it would also be wise to have some kind of error handling there.

Seems like the file upload/download will need further consideration from a security perspective... Sounds like you're suggesting some kind of a whitelist from the rust side? I think that could make sense. I think it would be prudent to skip that feature for now, as it can easily be added later once proper consideration for security has been given.
I honestly have no idea what happens if an error is returned from the rust side, I assume that translates into some kind of an exception, but we probably want to catch it and translate it into something useful. Especially if the exception is a failure to resolve DNS or something like that.
It definitely needs tests, especially around error handling, both on the rust side and the typescript side.

Seems like the file upload/download will need further consideration from a security perspective... Sounds like you're suggesting some kind of a whitelist from the rust side? I think that could make sense. I think it would be prudent to skip that feature for now, as it can easily be added later once proper consideration for security has been given.
I honestly have no idea what happens if an error is returned from the rust side, I assume that translates into some kind of an exception, but we probably want to catch it and translate it into something useful. Especially if the exception is a failure to resolve DNS or something like that.
It definitely needs tests, especially around error handling, both on the rust side and the typescript side.

Seems like the file upload/download will need further consideration from a security perspective...
Yes, touching FS is pure danger, and allowing remote services to write to and read from is indeed something that needs some thought put into it.

acceptlist == whitelist
Yes, we could actually have a specific acceptlist for all granular features that this API endpoint would provide. Obviously "all" can be an option, but just because I want to allow outgoing does not mean I want to allow incoming.

errors
It depends on how you trap them, but actually i am more worried about the error handling on the TS side to be honest. But I am generally of the more paranoid type.

Long story short: glad you put some thought into it, and am excited to help review your work and get it merged. :)

Seems like the file upload/download will need further consideration from a security perspective...
Yes, touching FS is pure danger, and allowing remote services to write to and read from is indeed something that needs some thought put into it.

acceptlist == whitelist
Yes, we could actually have a specific acceptlist for all granular features that this API endpoint would provide. Obviously "all" can be an option, but just because I want to allow outgoing does not mean I want to allow incoming.

errors
It depends on how you trap them, but actually i am more worried about the error handling on the TS side to be honest. But I am generally of the more paranoid type.

Long story short: glad you put some thought into it, and am excited to help review your work and get it merged. :)


Introduce interactive_composer which implements a composer in Jupyter.

@ismaelfaro as we discussed i think it would be nice to make a juypter composer. This would be much like the one we have online and you activate it  using
interactive_composer(circuit)

this would go under the wrapper/juypter folder and when you change gates it changes the circuit object you passed it.

so the idea here is to include the Circuit Composer we're building as a jupyter notebook widget, it's in the backlog to be released in the next quarter!

I think this can be closed now -- it will be its own extension which @francabrera will release when complete.


Cannot Use Selectors on Flash Message

Per ember-test-selectors:

Seems like the Flash Message component ought to either revert the @tagName('') change, or port to Glimmer.

The component contains ...attributes so it should be fine for data test selectors.
https://github.com/poteto/ember-cli-flash/blob/49aec796a5123481f9b546cd53409455f38c0c41/addon/templates/components/flash-message.hbs#L1-L3
How are you applying the selectors to the component?
Also, does this help? https://github.com/simplabs/ember-test-selectors/issues/571

I'm going to close this. It turns out we had a class and template override. Yay...


Pre-deserialization-refactor preparatory changes

This is a bunch of preparatory changes to come before the proper deserialization refactor.
To avoid the PR with the first deserialization refactor portion being so big, I extracted them here to be merged sooner.
What's done:

types::write_bytes_opt() becomes more generic;
types: return std::io::Error instead of ParseError where possible - don't unnecessarily broaden the codomain of those functions (not to have to unnecessarily pattern match on their returned error type);
scylla-cql: add assert_matches as dev-dep. It will be helpful in testing deserialization framework, and will also be used in serialization instead of assert!(matches!(...));
codewide: ditch assert!(matches!(...)) - as assert_matches!(...) provide superior experience (providing helpful debugging messages with how the mismatched type looked like), all assert!(matches!(...)) occurences across the code were changed to assert_matches!(...);
serialize: deduplicate do_serialize[_err];
serialize row: polish WrongColumnCount error - names and error messages are changed to better reflect reality.
serialize value: polish TupleTypeCheckErrorKind::WrongElementCount - a bunch of typos are fixed, and some names are changed to be more explicit.

Pre-review checklist

[x] I have split my patch into logically separate commits.
[x] All commit messages clearly explain what they change and why.
[ ] I added relevant tests for new features and bug fixes.
[x] All commits compile, pass static checks and pass test.
[x] PR description sums up the changes and reasons why they should be introduced.
[ ] I have provided docstrings for the public items that I want to introduce.
[ ] I have adjusted the documentation in ./docs/source/.
[ ] I added appropriate Fixes: annotations to PR description.

Rebased on main to fix clippy complaints.


Add support for more elements?

E.g. ul, li, etc.

What's the rule for deciding which elements are included and which are excluded? The elements right now correspond with all values for the display CSS property.

Wouldn't you want to use this for all elements? From the README it sounds like the goal is to magically extract and optimize all inline styles (when possible) to regular css classes. Why include or not include elements? Ideally this would just happen without having to use funny named replacements for standard DOM components.

So I guess what I'm asking is it possible to react into the guts of React and do what this module does to regular old inline styles? Or is this only possible by creating the wrapper components?

Oh, yes we could do this pretty easily. The reason the wrapper components are nice is 1. I prefer the API (less curly braces) and 2. It separates each property into its own expression, so it's less likely people will dynamically try to build a style object (which is not statically analyzable).
So yeah this feature would be nice to have and doable, just I think not as nice as the wrapper components.

This is the exact same feature that came to mind as well. Would be nice if we could implement this for all inline styles, not just for the wrapper components you have specified (and which are really fine, as they correspond to display property values)

@petehunt, so, how are we supposed to style our links  and have it propagated to stylesheet?

@edygar Composition + cascade: <InlineBlock color="...">...</InlineBlock>
I still think the cascade kind of sucks and it'd be better to nest <InlineBlock> inside  but HTML isn't perfect :)
Separates the concerns of styling with the concern of click behavior and semantics, IMO :)

How about
<InlineBlock tag='a' color="..." props={{href: '...'}}> ... </InlineBlock>

Since the tag/component can now be specified with the component prop, I’m going to assume this issue is ok to close.


Fix markdown code blocks using "```command"

HEAD - no top padding and buggy indented code block:

With changes:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Tahler
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: linsun
Assign the PR to them by writing /assign @linsun in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

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

Trimming is a good idea.
I don't think we should change the top padding though. The idea is that the vertical layout of PRE blocks needs to be the same before & after the manipulations done in misc.js. Otherwise, the pages flicker when they load. That is, stuff loads and displays in one way, then JavaScript comes around and changes the DOM, causing everything to flicker and redraw. I've worked hard on the site to avoid all flickering, shifting, etc, so that our pages are rock solid from that standpoint.
Once we switch to Hugo and have our new end-to-end pipeline, I'm hoping that the DOM patching we do in misc.js can be done statically in the original HTML. This would give us additional freedom and would further improve loading speed. There's this thing called PhantomJS where we could load the pages in memory, run the DOM patching logic, and then save the pages back out. Run this in a loop for every page and upload to the web server....
So mind if we just add the trim functionality, but leave the padding alone?

Hmm. I still think the output touching the top of its div is rather ugly, but I see your point about the cascading flickering.
I removed the padding change.

/lgtm

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

Needs approval from an approver in each of these files:

OWNERS [geeknoid]

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

This change messes up the formatting of multi-line command-lines by removing all the leading space on the lines. You can see the effect here: https://preliminary.istio.io/docs/setup/kubernetes/quick-start.html#minikube
Compare that to: https://istio.io/docs/setup/kubernetes/quick-start.html#minikube

Wasn't sure if I should revert or not but there's a fix at #1358.


Replace Bitcoin with EOS

Pretty sure this was a copy-paste from one of your previous Bitcoin projects.
Bitcoin doesn't have anything to do with the prep, correct?

Oh maybe I'm confused, why is a randomized BTC involved in this?


VXRD: Profiling

@sabaronett
So far, we have four options of profiling functions in the pxrd code.

Gaussian: fwhm
Lorentzian: fwhm
Pseudo-Voigt: fwhm, eta,
Mod-pseudo-Voigt: fwhm, A, eta_h, eta_l, N
https://github.com/qzhu2017/XRD/blob/a02536f2dcf74fd28074cc1bec539212eae1b480/pyxtal_xrd/profile.py#L4-L59

At the moment, we have three options in vxrd:

Gaussian: fwhm
Lorentzian: fwhm
Pseudo-Voigt: This is actually Mod-pseudo-Voigt

Can you try to fix this and make it be consistent with our pard code.

OK. I'll try to take care of this today.

@qzhu2017, I've updated the profiling options and parameters in 21b8738747c9a2e2bbd3c094aeeef1e1ebef8d00. However, after reviewing pyxtal_xrd/profile.py  I want to make sure we're on the same page with the parameters available to the user.
Pseudo-Voigt
Although the function prototype here
https://github.com/qzhu2017/XRD/blob/a02536f2dcf74fd28074cc1bec539212eae1b480/pyxtal_xrd/profile.py#L50
shows the argument eta, when you call get_profile for the XRD object
https://github.com/qzhu2017/XRD/blob/a02536f2dcf74fd28074cc1bec539212eae1b480/pyxtal_xrd/profile.py#L137-L150
eta is essentially calculated from fwhm and not passed from a kwarg. Thus in 21b8738747c9a2e2bbd3c094aeeef1e1ebef8d00, I display a FWHM field for this profile, but not eta.
Modified pseudo-Voigt
Although the function prototype
https://github.com/qzhu2017/XRD/blob/a02536f2dcf74fd28074cc1bec539212eae1b480/pyxtal_xrd/profile.py#L5
shows the argument N, get_profile does this,
https://github.com/qzhu2017/XRD/blob/a02536f2dcf74fd28074cc1bec539212eae1b480/pyxtal_xrd/profile.py#L124
and this,
https://github.com/qzhu2017/XRD/blob/a02536f2dcf74fd28074cc1bec539212eae1b480/pyxtal_xrd/profile.py#L152-L162
i.e., N and fwhm are calculated from other parameters, and U, V, and W, are accepted as kwargs. Thus 21b8738747c9a2e2bbd3c094aeeef1e1ebef8d00 displays everything as before (when it was the only pseudo-Voigt option).
Let me know if my analysis makes sense, if I'm mistaken, or if you wish to change anything about how we want the profiling stuff to work. Thanks.

@sayred1
Can you double check what are the necessary input parameters for pseudo-Voigt profile function. I think eta is needed. But the current code seems to compute eta from fwhm.
Can you show here which formula you used to compute pseudo-Voigt?

@qzhu2017
So according to https://onlinelibrary.wiley.com/doi/pdf/10.1107/S0021889887087090, eta can be determined to 1% when calculating it in that fashion as a function of the fwhm.

@sabaronett I think you are correct here.


plugins/default: remove default cell when it's empty and the only one

+1 for this request. When you press backspace once more after everything you've typed is erased, you are stuck with the default cell. It overrides the editable text cell and the only way to remove it is via 'move things' interface

Yes, one possibility would be to set a different default cell (e.g. text). But it also makes sense to not remove the last cell when pressing backspace.

did not observe this anymore


[WIP] Fix duplicated log entries

Fixes #74

Codecov Report

Merging #113 into master will decrease coverage by 0.03%.
The diff coverage is 55.55%.

@@            Coverage Diff            @@
##           master    #113      +/-   ##
=========================================
- Coverage   64.33%   64.3%   -0.04%
=========================================
  Files          24      24
  Lines        2044    2059      +15
=========================================
+ Hits         1315    1324       +9
- Misses        579     585       +6
  Partials      150     150

Impacted Files
Coverage Δ

plugin/plugin.go
65.32% <14.28%> (-2.18%)
:arrow_down:

scheduler/scheduler.go
72.88% <81.81%> (+0.34%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 767ef36...9298e52. Read the comment docs.

@Skarlso please have a look. This fixes the bug and also improves the general logging. Logs are now streamed to the disk every second. This improves the output a lot.


[Unity] nn.Module Module and Effect

This PR introduces the Module and Effect in the nn frontend. It adds the built-in Linear, RMSNorm and Embedding modules. And it adds a KVCache effect.
Also, this PR fix the interface of R.nn.rms_norm to support optional bias.

There's some issue with the CI. I squashed and rebased this PR trying to make this work


Simplify download link logic

At the minute the tests hang when running on macOS:
Jest did not exit one second after the test run has completed.

This usually means that there are asynchronous operations that weren't stopped in your tests. Consider running Jest with `--detectOpenHandles` to troubleshoot this issue.

If you run jest —detectOpenHandles this seems to suggest the issue is with sync-request:
Jest has detected the following 1 open handle potentially keeping Jest from exiting:

  ●  PROCESSWRAP

      at start (node_modules/sync-rpc/lib/index.js:33:13)
      at sendMessage (node_modules/sync-rpc/lib/index.js:133:17)
      at createClient (node_modules/sync-rpc/lib/index.js:173:27)
      at Object.<anonymous> (node_modules/sync-request/lib/index.js:16:14)

sync-request is only used to fetch the latest version of the kit from the GitHub API. We currently have to do this becuase, although GitHub provides a /latest/ endpoint to link to the latest release, you can only link to assets if you know the asset filename, and the asset filenames are currently based on the version numbers and so not predictable unless you know the latest version number.
However, we can avoid calling the API at all by instead using the version number as defined in the package.json file. This allows us to simplify the code and remove the sync-request library entirely.
This does rely on the most recent release having been tagged (and thus the release created in GitHub) before the equivalent version is deployed to Heroku. As we have ‘Wait for CI to pass before deploy’ enabled in the Heroku settings I believe this should be the case.

as commented on Slack so just to keep a record :) we might want to keep sync-request as some of our users use it

A comment on why we had the seeming complex logic to look up the url - added in #244
I'm pretty sure it's because the same kit is used for docs and possibly self hosting. If the link were derived using the number in the package.json, it would only ever link to the same version as used by your copy of the kit, not the actual latest version.
Github (at the time) didn't have a way of linking to something like kit/latest so this was my best alternative solution.

I've pushed another commit to fall back to just pointing to https://github.com/alphagov/govuk-prototype-kit/releases/latest when not in 'promo mode' – so the deployed docs site should continue to point directly to the zip, but in the unlikely situation that a user follows the link from their local docs they will end up on the GitHub page for the latest release.

Created an issue against the v10.0 milestone to remove sync-request:
https://github.com/alphagov/govuk-prototype-kit/issues/954


[Question] Can you determine the starting block for the FS?

Hi,
I understand that you can limit how much your FS extends into your flash by setting the block_count parameter, but how can you determine the starting block? My device writes the OTA update binaries to raw flash (as they must be parsed by the bootloader), and uses flash addresses 0 to 512KB. If I just erase them before an OTA, I (potentially) lose the FS. It's not a dealbreaker, I can start with a fresh FS after an update because I assume that an OTA will cause data loss, but I was just wondering, because I swear I read something about multiple, concurrent FS, but I can't find it now.

https://github.com/ARMmbed/littlefs/issues/176
https://github.com/ARMmbed/littlefs/issues/204

Thanks! I knew I read about it somewhere...


Disable scholar.log

The log file created often becomes quite large and unnecessary in production. Is there a way to disable the generation of the file?

Currently, you would have to disable it on your local scholarly. I will mark this as an improvement.

This is a bug not an enhancement. Libraries shouldn't attempt to control logging outputs/handlers. Those should be configured by the user.  Even if I were to disable the logger from my calling script, it doesn't prevent this module from creating the log file on import.
Think about the situation where the dependencies of this module auto-create a log file on import. Your project root directory would be full of dependency logs.

I also don't think this should have been enabled by default. It's file size can get quite large and there is not warning on the user's behalf.

Fixed in v1.0


Update from local to git fails

[odo] Successfully pushed //image-registry.openshift-image-registry.svc:5000/jtkpphcors/cmp-git-testing:latest@sha256:08292070fe9a9c0adc7a7d58c45a8d34f54544cbc13d4ef4bc93b7fd6aacf2a6
[odo] Push successful
[odo] I0531 07:30:38.719650   19049 occlient.go:1752] Waiting for cmp-git-testing-1  build to finish
[odo] I0531 07:30:38.944928   19049 occlient.go:1767] Status of cmp-git-testing-1 build is Complete
[odo] I0531 07:30:38.944966   19049 occlient.go:1770] Build cmp-git-testing-1 completed.
[odo] I0531 07:30:38.945099   19049 component.go:1074] Updating the DeploymentConfig cmp-git-testing image to cmp-git-testing:latest
[odo]  ✓  Waiting for build to finish
[odo]  •  Applying component settings to component: cmp-git  ...
[odo] I0531 07:30:38.973846   19049 occlient.go:3266] Deployment cmp-git-testing started.
[odo] I0531 07:30:39.009024   19049 occlient.go:3278] Deployment cmp-git-testing for DeploymentConfig cmp-git-testing triggered.
[odo] I0531 07:30:39.412991   19049 utils.go:72] Waiting for rollout to finish: 0 out of 1 new replicas have been updated...
[odo] I0531 07:30:39.426097   19049 utils.go:72] Waiting for rollout to finish: 0 out of 1 new replicas have been updated...
[odo] I0531 07:30:47.226928   19049 utils.go:72] Waiting for rollout to finish: 0 out of 1 new replicas have been updated...
[odo] I0531 07:30:53.214208   19049 utils.go:72] Waiting for rollout to finish: 0 out of 1 new replicas have been updated...
[odo] I0531 07:30:53.226263   19049 utils.go:80] Waiting for rollout to finish: 0 of 1 updated replicas are available...
[odo] I0531 07:35:39.228848   19049 cmdutils.go:26] Error:
[odo] unable to update DeploymentConfig image for cmp-git component: unable to update the current DeploymentConfig cmp-git-testing: unable to wait for DeploymentConfig cmp-git-testing to update: Timed out waiting for annotation to update
[odo]  ✗  Failed to update config to component deployed
[odo]  ✗  Applying component settings to component: cmp-git

It seems to be a flake. It was introduced #1740

/priority medium

Running odo with args: [create nodejs cmp-git --project ocsrqiklsu --git https://github.com/openshift/nodejs-ex --min-memory 100Mi --max-memory 300Mi --min-cpu 0.1 --max-cpu 2 --context /tmp/413991312 --app testing]
[odo]  •  Validating component  ...
[odo]  ✓  Validating component [345ms]
[odo] Please use `odo push` command to create the component with source deployed
[odo]
Running odo with args: [push --context /tmp/413991312]
[odo] Validation
[odo]  •  Validating component  ...
[odo]  ✓  Validating component [368ms]
[odo]  •  Checking component  ...
[odo]  ✓  Checking component [18ms]
[odo]
[odo] Configuration changes
[odo]  •  Creating component  ...
[odo]  ✓  Initializing component
[odo]  •  Triggering build from git  ...
[odo]  ✓  Triggering build from git [76ms]
[odo]  •  Waiting for build to finish  ...

[odo]  ✗  Failed to create component with name cmp-git. Please use `odo config view` to view settings used to create component. Error: unable to wait for build cmp-git-testing-1 to run: timed out waiting for the condition

[odo] unable get build log cmp-git-testing-1
[odo] github.com/openshift/odo/pkg/occlient.(*Client).FollowBuildLog
[odo] 	/go/src/github.com/openshift/odo/pkg/occlient/occlient.go:1949
[odo] github.com/openshift/odo/pkg/component.Build
[odo] 	/go/src/github.com/openshift/odo/pkg/component/component.go:807
[...]

Details - https://prow.svc.ci.openshift.org/view/gcs/origin-ci-test/pr-logs/pull/openshift_odo/1875/pull-ci-openshift-odo-master-integration/845
@mik-dass Is it related to this issue ?

@amitkrout I don't think so as this issue is related to the update scenario and from the logs the above error occured during the first push


Adding 'System' to the registry paths.

The registry paths didn't include the "System" key and it was confusing for the users when they tried to copy-paste the path.

@PawelWMS. Yes that would be very confusing. Thanks for fixing the path.
Page Writer

@PageWriter-MSFT: You're welcome but I think you only closed the pull request without merging the changes. Are you going to do it in a separate commit?


remove TS files

@dmahugh,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


[Exploration] Storybook organization

The goal of this issue is to explore ways of organizing/structuring the CFPB React component library in Storybook.
Task

Gather structure/organization examples of other Storybook component libraries
Share approaches with the Design Engineering team
Make a decision about how we would like to structure/organize the content

Storybook libraries

https://design.va.gov/storybook/
https://trussworks.github.io/react-uswds/
https://govuk-react.github.io/govuk-react/
https://react.carbondesignsystem.com

Exploration 1:
Here's an example from the Storybook website.
It seems like a pretty simple approach:

The page/tab we now label "Overview" would be labeled "Docs"
Each variation/type would be a "Story"
They do not show overt visuals of the different states on the page.
Following on the "Buttons" example our Stories would be

Primary
Secondary
Disabled
Destructive
Printed
Super
Full-width
Group
Static icon (may be covered by the pagination component)
Animated icon (confirm use case for SBL)

Button as link and button as destructive link may be more appropriate in the links section. In the button section the link is shown in a section called "Destructive actions" and includes the button and the link. The destructive link on it's own does also appear in the Links section of the Design System.

Things I like

Carbon

All stories are on a single page, though I also like the ability to focus/modify a single variant at a time (like our current implementation)
Groupings (Components vs Elements)

USWDS

Ability to toggle between Canvas/Docs

GOVUK

Their Welcome page gives nice context on how to use the library
Their grouping (Form, Typography, Navigation, Layout)

VA

How to use Storybook
Additional guidance in the component's Overview header

GOV.UK

Content is broken up into categories that include form, typography, page and layout, and navigation
Categories are not in alphabetical order (so what is the ordering logic?)
Types within categories are alphabetized

Welcome
Example Application
FORM
Button
Checkbox
Date field
Error summary
Error text
Fieldset
File upload
Form group
Hint text
Input field
Input
Label text
Label
Multi choice
Radio
Search box
Select
Textarea
TYPOGRAPHY
Caption
Details
Document Footer Metadata
Heading
Inset text
Lead paragraph
List item
Ordered list
Paragraph
Phase banner
Table
Tag
Unordered list
Warning text
PAGE & LAYOUT
Footer
GlobalStyle
Grid col
Grid row
Main
Page
Panel
Section break
Top nav
NAVIGATION
Back link
Breadcrumbs
Link
Pagination
Related items
Skip link
Tabs
UTILITY
Loading box
Visually hidden
Icons
DOCS
Accessibility
API
Contributing
USWDS

Components is a very large bucket of alphabetized components

Welcome
DESIGN TOKENS
Swatches
Page Templates
Authentication Pages
Documentation Pages
Landing Page
Not Found Page
Components
Accordion
Alert
Banner
Breadcrumb
Button
Button groups
Card
CharacterCount
Checkbox
Collection
Combo box
Date input
Date picker
Date range picker
Dropdown
File input
Footer
Form controls
Form elements
Form templates
Grid
Header
Icon list
Icons
Identifier
Input prefix or suffix
Modal
Pagination
ProcessList
Radio buttons
Range slider
Search
Select
Side navigation
SiteAlert
Step Indicator
Summary box
Table
Tag
Text input
Textarea
Tooltip
Typography
Validation
CFPB Design System

Sections are sometimes not meaningful, for example “Lists and tables” section contains Lists and Tables pages

Foundation
BASICS
Color
Grid
TYPOGRAPHY
Fonts
Headings
Paragraphs
BRAND SYMBOLS
Logo
Seal
GRAPHICS
Iconography
Components
ALERTS
Banner notification
Notifications
BEHAVIOR
Expandables
Summaries
FORM ELEMENTS
Buttons
Checkboxes
Dropdowns and multiselects
Fieldsets
Helper text
Labels and legends
Links
Radio buttons
Range sliders
Text inputs
LISTS AND TABLES
Lists
Tables
Patterns
INTERACTION PATTERNS
FORMS
Designing forms
E-mail signup forms
NAVIGATION
Filterable list control panels
Pagination
TRANSITIONS
Transition patterns
LAYOUT PATTERNS
INTRODUCTIONS
Heroes
Text introductions
Item introductions
FEATURED CONTENT
Cards
Featured content module
Wells
Taglines
MAIN CONTENT
Info unit groups
Interactive charts
Pages
Landing pages
Sublanding pages
Browse pages
Learn pages
Filterable list pages
Document detail pages
Story pages
Development
ATOMIC
Atomic components
LAYOUT
Base images
Blocks
Column dividers
Main content and sidebars
UTILITIES
Helper classes and mixins
Media queries
Variables
CFPB Design System - Mapped to GOV.UK
Welcome
Example Application
Form
Checkboxes
Buttons
Date field (date picker)*
Dropdowns and multiselects
Error summary*
Error text*
Fieldsets*
File upload*
Form group* (USWDS + UK)
Form templates* (USWDS)
Helper text* (this is called hint text in USWDS and UK)
Labels and legends
Alerts -- Notifications -- (this contains in page notifications, inline notifications and form level alerts - should probably be broken up differently for our context)
Radio buttons
Text fields/inputs (Text input and text area input - should we break these apart?)
Search box
Navigation
Breadcrumbs
Links
Pagination
Related links
Page and Layout
Cards
“Divider”* (horizontal rule)
Footer
Grid
Header
Heroes
Item introductions
Megamenu
Text introductions
Wells
Taglines
Typography
Headings
Icon list* (USWDS)
Icons
Inset text*
Lead paragraph*
List item
Ordered list
Paragraph
Table
Tag*
Unordered list

CFPB Design System - Mapped to GOV.UK

This is an attempt at mapping the CFPB DS to more of a UK.gov approach. I have placed an * next to content that is either missing from our library or has some other inconsistency
There is a question of how best to break things up into separate components (For example Text input and text area are in the same DS section. Should they be separated into individual components?
If we added a category called "Elements" what would you put in there from the CFPB DS list posted here

Welcome
Example Application
Form
Checkboxes
Buttons
Date field (date picker)*
Dropdowns and multiselects
Error summary*
Error text*
Fieldsets*
File upload*
Form group* (USWDS + UK)
Form templates* (USWDS)
Helper text* (this is called hint text in USWDS and UK)
Labels and legends
Alerts -- Notifications -- (this contains in page notifications, inline notifications and form level alerts - should probably be broken up differently for our context)
Radio buttons
Text fields/inputs (Text input and text area input - should we break these apart?)
Search box
Navigation
Breadcrumbs
Links
Pagination
Related links
Page and Layout
Cards
“Divider”* (horizontal rule)
Footer
Grid
Header
Heroes
Item introductions
Megamenu
Text introductions
Wells
Taglines
Typography
Headings
Icon list* (USWDS)
Icons
Inset text*
Lead paragraph*
List item
Ordered list
Paragraph
Table
Tag*
Unordered list

My attempt at grouping the pieces of the CFPB DS in a more cohesive way
* = Not Implemented
@ = Does it belong in DSR?
Design Guidance*@
Links to documentation or things that do not have an associated implementation

Accessibility
Data Visualization
Equity-centered Design
Print
Patterns

Designing Forms
Pages*@

Should these be implemented as Layout components?

Transitions

Content
Components to structure and style content

Text

Heading
Paragraph

Body
Lead
Subheading

HelperText
Label

Graphics & Media

Chart*?
Icon
Images*

Image*
Figure*

Video*

Featured Content

Banner/Tagline
Cards*
Expandable
FeaturedModule*
Info Units*@
Introductions

IntroHero (Hero)
IntroText*
IntroItem*

Notification
Summaries*
Well

Structured Content

List
Table

Layout
Components to structure pages

Block*
Divider

RowDivider (Divider)
ColumnDivider*

Footer
Grid
Header (PageHeader)
Page Layouts

MainWithSidebar
MainWithLeftSidebar
MainWithBleedbar

Navigation

Link
Navbar
SkipNav
Pagination

User Inputs
Components to gather user input (not always in a Form? ex. Login button used as Nav element)

Button
Checkbox
Dropdown
EmailSignup*
Fieldset*
FilterPanel*
Radio*
Range*@
Text

InputText
AreaText*
DateText*
InputTextWithButton*
InputTextWithButtonInside*

Utilities
Tools to assist with common dev tasks

Color*
Helper classes and mixins*
Media queries*@
Variables*@

General emphasis on matching heading levels between custom overviews <=> Auto generated

How can we customize the auto generated heading levels?

Need to make all overviews custom?
Can we remove the Stories section label from auto pages?

How would that affect the page heading hierarchy?
Could we change the headings used for, what are currently, nested sections?


Add anchor links to h1s through h6s

Thoughts?

Ah, need to pull in master. One sec.

Meniacal laughter.

fixes #580

Thank god for Meld.

I can't hover over the link on h2s

@lewisgoddard ah, the icon isn't actually hoverable. The whole heading is. Lemme poke at it.

I'd go with what I said on Slack, prepend an  on the h# and just hide it with CSS when not hovered.

[ ] Sidebar is busted. No subheadings

You've broken the next page links a little too. Maybe we should add a class to those that can be targeted with :not('.next-page')

@lewisgoddard hm, imho the next page links should not be
s. They're not headings.

I think that's what they were previously, and I can't add classes or ids to paragraphs.

Seems to work as expected for me. Link can be copied. Open in new tab works. Smooth scrolling still works.


balena.yml

@shawaj If I edit the balena.yml file to update the support link is that going to mess anything up? This needs doing across other fleets too.

Fixed in https://github.com/NebraLtd/helium-miner-software/pull/539


add search tests for IndexedSeq

Updates #754

Codecov Report

Merging #763 into master will increase coverage by 0.2%.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           master    #763     +/-   ##
========================================
+ Coverage    52.1%   52.3%   +0.2%
========================================
  Files         196     196
  Lines       11904   11904
  Branches     1646    1649      +3
========================================
+ Hits         6202    6226     +24
+ Misses       5702    5678     -24

Impacted Files
Coverage Δ

extras/src/main/scala/spire/math/FixedPoint.scala
36.61% <0%> (-1.1%)
:arrow_down:

core/src/main/scala/spire/math/Algebraic.scala
66.86% <0%> (-0.82%)
:arrow_down:

core/src/main/scala/spire/math/SafeLong.scala
97.63% <0%> (+0.33%)
:arrow_up:

core/src/main/scala/spire/math/Natural.scala
65.75% <0%> (+0.6%)
:arrow_up:

core/src/main/scala/spire/math/Interval.scala
71.2% <0%> (+1.79%)
:arrow_up:

...ala/spire/math/poly/BigDecimalRootRefinement.scala
85.43% <0%> (+3.97%)
:arrow_up:

...ore/src/main/scala/spire/math/interval/Bound.scala
58.26% <0%> (+5.51%)
:arrow_up:

core/src/main/scala/spire/math/Searching.scala
100% <0%> (+20.58%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e03aaed...b0cee50. Read the comment docs.


List LSP support on LSP page

The reference page for listing languages supported LSP is https://github.com/Microsoft/language-server-protocol/wiki/Protocol-Implementations , please make sure the Ceylon support from https://github.com/jvasileff/vscode-ceylon/blob/master/server/source/com/vasileff/ceylon/vscode/module.ceylon is added there ( request to https://github.com/Microsoft/vscode-languageserver-protocol/issues/8 )

@mickaelistria good idea, thanks. I've posted the request.

Done!


Release hal-0.7

TODO:

reach the milestone
test wgpu-rs
publish Naga, metal-rs, gfx
figure out https://github.com/zakarumych/gpu-alloc/issues/33
merge https://github.com/zakarumych/gpu-descriptor/pull/10 before it's published

I believe all the items on this list are done in preparation to the release, and we just need to bump the versions and publish.

I believe all the items on this list are done in preparation to the release, and we just need to bump the versions and publish.


GEODE-5934 change start/stop instance to create/delete instance

Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[x] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[x] Is your initial contribution a single, squashed commit?

[n/a] Does gradlew build run cleanly?

[n/a] Have you written or updated unit tests to verify your changes?

[n/a] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

@smgoller looks like this was missed in your big refactoring


Roll Flutter Engine from d993e0d55fc6 to fb067eab70c5 (3 revisions)

https://github.com/flutter/engine/compare/d993e0d55fc6...fb067eab70c5
2022-08-31<EMAIL_ADDRESS>[Impeller] Compute shader support (flutter/engine#35750)
2022-08-31<EMAIL_ADDRESS>Roll Skia from e0b87738eca7 to 45fe3b5a6710 (9 revisions) (flutter/engine#35841)
2022-08-31<EMAIL_ADDRESS>Roll Clang from 41d4067d0b7c to 039b969b32b6 (flutter/engine#35840)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


[in_app_purchase] not updated README for 2.0.0

I've moved from 1.0.9 to 2.0.0 (next version) and many breaking changes were introduced. In changelog (https://pub.dev/packages/in_app_purchase/changelog) I read this:

Deprecates the InAppPurchaseAndroidPlatformAddition.enablePendingPurchases()
but in README (https://pub.dev/packages/in_app_purchase) we have this:

if (defaultTargetPlatform == TargetPlatform.android) {
    InAppPurchaseAndroidPlatformAddition.enablePendingPurchases();
  }

Also it became extremely complex to be integrated now with so many files when I only needed this before:
class PaymentQueueDelegate implements SKPaymentQueueDelegateWrapper {
  @override
  bool shouldContinueTransaction(
      SKPaymentTransactionWrapper transaction, SKStorefrontWrapper storefront) {
    return true;
  }

  @override
  bool shouldShowPriceConsent() {
    return false;
  }
}

I only have a paid version and a subscription.

Also wanted to mentioned that I find these issues related to documentation quite often for important packages like this one or for google_mobile_ads:
https://github.com/googleads/googleads-mobile-flutter/issues/461
https://github.com/flutter/flutter/issues/93316#issuecomment-974014239
https://github.com/flutter/flutter/issues/89950
Changes on these 2 can modify earnings and cause bad reviews from users if that affects their accounts.

There was already a PR to fix this, it's just going through review: https://github.com/flutter/plugins/pull/4597

Also wanted to mentioned that I find these issues related to documentation quite often for important packages like this one

Please continue to provide feedback (or PRs) when you do; that's how things get fixed.

or for google_mobile_ads: googleads/googleads-mobile-flutter#461 #93316 (comment)

I'm not sure of the relevance here; the Flutter team doesn't control the documentation for plugins that aren't part of the Flutter project.

Changes on these 2 can modify earnings and cause bad reviews from users if that affects their accounts.

Calling this deprecated method is a no-op, and cannot affect earnings or user experience.

There was already a PR to fix this, it's just going through review: flutter/plugins#4597

But why are not documentation and code changes merged together? 2.0.0 was released 8 days ago.

I'm not sure of the relevance here; the Flutter team doesn't control the documentation for plugins that aren't part of the Flutter project.

I'm talking about this one: https://pub.dev/packages/google_mobile_ads

https://youtu.be/m0d_pbgeeG8?t=493
Not sure why is that on a different repo though.

Calling this deprecated method is a no-op, and cannot affect earnings or user experience.

I was referring more about the documentation not reflecting the exact changes we have to make. For this example I shared https://github.com/flutter/flutter/issues/89950 I didn't know that part was failing. Definitely my fault because I didn't test it properly again after update it, but when reading the docs I didn't think I had to. So if that creates problems with purchases I can either have or bad reviews (if the user made a purchase and he's not retrieving a paid version) or less earnings (if he cannot make purchases).

There was already a PR to fix this, it's just going through review: flutter/plugins#4597

But why are not documentation and code changes merged together? 2.0.0 was released 8 days ago.

Because updating documentation is a manual process, and mistakes can happen.

I'm not sure of the relevance here; the Flutter team doesn't control the documentation for plugins that aren't part of the Flutter project.

I'm talking about this one: https://pub.dev/packages/google_mobile_ads  https://youtu.be/m0d_pbgeeG8?t=493

I'm not sure where the screenshot you've included is from, but it's not that package. flutter.dev is not the publisher of google_mobile_ads.

Not sure why is that on a different repo though.

Because it's not part of the Flutter project.

Because updating documentation is a manual process, and mistakes can happen.

Oh yeah, I totally understand that, but so do the code. What I mean is why not merging both together, code and info? (not sure if the process has to be like that for some reasons tbh)

I'm not sure where the screenshot you've included is from, but it's not that package. flutter.dev is not the publisher of google_mobile_ads.

Hmm... maybe I had some other package open and took it from there, you're right, it's from google.dev, not flutter.dev (didn't notice this difference until now).
Just curious, what's the difference here? I thought all packages for Flutter made by Google were from flutter.dev.
Because, at least to me, ads and purchases are quite connected to each other being both the only ways to make money from our apps, and here there is a different team (I guess) supporting the other package.
Don't want to go too off-topic specially if that belongs to other team, but since this was related to README/documentation I wanted to mention that I find myself sometimes a bit lost trying to follow best approaches. admob_firebase deprecated by google_mobile_ads, Admob, mediation, AdSense, AdManager (which we can be also used now in that package), native or banners... The documentation changes too much between all of these and I can understand that some devs move to 3rd party companies to show their ads (which also translates to less profit for Google). Where is the best place to get support from all of this?
Normally Google/Flutter's packages are the most documented ones but also the most complicated one to setup properly. Is there any common place where we can gather all of this and try to put questions together?
More examples:
https://github.com/googleads/googleads-mobile-flutter/issues/461#issuecomment-989307070
https://github.com/googleads/googleads-mobile-flutter/issues/463

Because updating documentation is a manual process, and mistakes can happen.

Oh yeah, I totally understand that, but so do the code. What I mean is why not merging both together, code and info?

Because we forgot the README needed to be updated for that change. Again, mistakes happen. I'm not sure what more you are looking for here.

I thought all packages for Flutter made by Google were from flutter.dev.

No, only packages maintained by the Flutter project are published by flutter.dev.

Because, at least to me, ads and purchases are quite connected to each other

The team responsible for Google Mobile Ads is not involved with Apple Pay (unsurprisingly) or Google Play, which are the SDKs wrapped by in_app_purchase.

google_mobile_ads, Admob, mediation, AdSense, AdManager (which we can be also used now in that package), native or banners... [...] Where is the best place to get support from all of this?

I can't advise you on the best place to get support on things that aren't part of the Flutter project.


chore(ci): Add KinD connection test to integration-operator-conftest

Fixes #652
Signed-off-by: Christian Zunker<EMAIL_ADDRESS>

For the other integration tests, it was already implemented:
https://github.com/aquasecurity/starboard/blob/main/.github/workflows/build.yaml#L101
https://github.com/aquasecurity/starboard/blob/main/.github/workflows/build.yaml#L139
and
https://github.com/aquasecurity/starboard/blob/main/.github/workflows/release.yaml#L54
https://github.com/aquasecurity/starboard/blob/main/.github/workflows/release.yaml#L87


Change the floor of the building view

Issue description
Hello there, it is a possible to change the level of view ( not the zoom ) from the map? In the following image, it displays the floor 0, and I would like to change to display the floor 1.
https://imgur.com/VOwe8U7
Steps to reproduce and a minimal demo of the problem
Just click the link image and observe the element surrounded by the black square
Is there any way to could change the floor / level of building?
Thank you

I dont think this is possible with the current google javascript api. There might be a hacky work around though, if there is a easier way i would really like to know
If you add an event listener on pov_changed and log the latitude and longitude
console.log('lat lng', streetView.getPosition().lat(), streetView.getPosition().lng());

You will notice that when the floor levels change even though technically the latitude and longitude should be the same, they are not. So if you can work out the unique latitude and longitude for floor 1 and then set the street view
new google.maps.StreetViewPanorama(mapReference, {
  position: {
    lat: location.latitude,
    lng: location.longitude
  });

Then it should set it to that level based on the position.
This is not ideal at all though, and even worse if you are not wanting to initially set the street view i.e the user drops the pegman into the map.
I cant find any documentation on this functionality, there might be something hidden in the elevation service https://developers.google.com/maps/documentation/javascript/elevation

This is a support issue that doesn't represent a bug or a concrete feature request, so I'm closing this issue. Feel free to chat below or use the official Discord chat: https://discord.gg/XAr2ACE


cmd/compile: Type confusion vulnerability on identically named generic structs

What version of Go are you using (go version)?

$ go version
go version go1.19 linux/amd64

Does this issue reproduce with the latest release?
This issue affects the latest version. I have tested Go 1.18 and Go 1.18.5, in addition to Go 1.19, both of which are affected as well.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/mce-gabrielp/.cache/go-build"
GOENV="/home/mce-gabrielp/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/mce-gabrielp/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/mce-gabrielp/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.19"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3251415554=/tmp/go-build -gno-record-gcc-switches"

What did you do?
Compile and execute the following program: https://go.dev/play/p/54u9Z1S7oUZ
package main

import "fmt"

func foo() {
	type data[T any] struct {
		A T
		B []T
	}

	v := data[int]{}
	fmt.Println(v)
}

func bar() {
	type data[T any] struct {
		A T
	}

	v := data[int]{}
	fmt.Println(v)
}

func main() {
	foo()
	bar()
}

What did you expect to see?
The following output:
$ go run repro.go
{0 []}
{0}

What did you see instead?
$ go run repro.go
{0 []}
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1 pc=0x45dd49]

goroutine 1 [running]:
reflect.typedmemmove(0xc0000061a0?, 0x487de0?, 0x47de01?)
	/usr/local/go/src/runtime/mbarrier.go:191 +0x19
reflect.packEface({0x488ae0?, 0x1?, 0x0?})
	/usr/local/go/src/reflect/value.go:123 +0x65
reflect.valueInterface({0x488ae0?, 0x1?, 0x0?}, 0x30?)
	/usr/local/go/src/reflect/value.go:1508 +0xbb
reflect.Value.Interface(...)
	/usr/local/go/src/reflect/value.go:1478
fmt.(*pp).printValue(0xc00010c270, {0x488ae0?, 0x1?, 0x4?}, 0x76, 0x2)
	/usr/local/go/src/fmt/print.go:753 +0xa5
fmt.(*pp).printValue(0xc00010c270, {0x487de0?, 0x51c7a8?, 0x441186?}, 0x76, 0x1)
	/usr/local/go/src/fmt/print.go:896 +0x16b2
fmt.(*pp).printValue(0xc00010c270, {0x48e280?, 0x51c7a0?, 0x7?}, 0x76, 0x0)
	/usr/local/go/src/fmt/print.go:837 +0x12b4
fmt.(*pp).printArg(0xc00010c270, {0x48e280?, 0x51c7a0}, 0x76)
	/usr/local/go/src/fmt/print.go:743 +0x756
fmt.(*pp).doPrintln(0xc00010c270, {0xc000104f50?, 0x1, 0x0?})
	/usr/local/go/src/fmt/print.go:1200 +0x150
fmt.Fprintln({0x4b8008, 0xc000012018}, {0xc000104f50, 0x1, 0x1})
	/usr/local/go/src/fmt/print.go:284 +0x4f
fmt.Println(...)
	/usr/local/go/src/fmt/print.go:294
main.bar()
	/home/mce-gabrielp/repro.go:23 +0x5e
main.main()
	/home/mce-gabrielp/repro.go:28 +0x1c
exit status 2

It run ok with Unified IR.

Yeah, we need to add uniqifiers to the names of internal types when they are generic.
There's an easy workaround, make the names unique yourself. So probably not worth backporting. So this may be a case where we just wait for unified IR to fix it.

Unified IR correctly handles the type identity here, but the scope disambiguation number is ending up visible in the rtype info.
This program should print *main.T *main.T[int]:
package main

import "fmt"

func one() any { type T int; return new(T) }
func two() any { type T[_ any] int; return new(T[int]) }

func main() {
	fmt.Printf("%T %T\n", one(), two())
}

It does correctly with GOEXPERIMENT=nounified. But with GOEXPERIMENT=unified, it prints *main.T *main.T·2[int].
I think it's because this code in types/fmt.go only knows to trim the dot suffix from the end of the symbol:
https://github.com/golang/go/blob/9485d4c1bd871be792d03c29b7902f6ac284ed27/src/cmd/compile/internal/types/fmt.go#L338-L352
The easiest, most robust solution is to change unified IR's mangling to use main.T[int]·2 instead.
Alternatively, types/fmt.go could know to look for the dot-suffix in the middle of the name, not just at the end. But I worry that has subtle failure cases when anonymous struct types are present (because of struct tags).


Make log timestamp format for the add-on identical with Tailscale's format

Proposed Changes
It just looks better.
And if TS logs suppressed after 200 lines, without this, we don't have date in the log messages.
Old:
2024/11/14 22:14:33 wgengine: Reconfig: configuring userspace WireGuard config (with 0/9 peers)
[22:14:33] INFO: Starting NGinx...
2024/11/14 22:14:33 wgengine: Reconfig: configuring router

New:
2024/11/15 16:27:37 web server running on: http://<IP_ADDRESS>:25897
2024/11/15 16:27:37 INFO: Starting NGinx...
2024/11/15 16:27:37 control: doLogin(regen=false, hasUrl=false)

Related Issues

Thanks for this suggestion, but I'm going to friendly decline this one.
All add-ons provided by this project are now in sync.
../Frenck


laravel-7-upgrade

Not compatible with laravel 5. Changed snake_case
Made the resources use something like outlineId instead of id because
laravel 7 requires for the variable name to match what is in the
controller, and that's how we did them there.

closing PR. create PR into 7.0 branch


IOError: [Errno 2] No such file or directory: '/var/log/ryu/ryu.log'

Hi all,
I am new for Ryu. I installed Ryu in Ubuntu 16 by following https://github.com/osrg/ryu and
https://github.com/osrg/ryu/wiki/OpenFlow_Tutorial. However, when I tried to run ryu-manager, I always got the following error:
linux@linux-VirtualBox:~/ryu$ PYTHONPATH=. ./bin/ryu-manager ryu/app/simple_switch.py
Traceback (most recent call last):
File "./bin/ryu-manager", line 19, in
main()
File "/usr/lib/python2.7/dist-packages/ryu/cmd/manager.py", line 68, in main
log.init_log()
File "/usr/lib/python2.7/dist-packages/ryu/log.py", line 79, in init_log
disable_existing_loggers=False)
File "/usr/lib/python2.7/logging/config.py", line 85, in fileConfig
handlers = _install_handlers(cp, formatters)
File "/usr/lib/python2.7/logging/config.py", line 163, in _install_handlers
h = klass(*args)
File "/usr/lib/python2.7/logging/handlers.py", line 391, in init
logging.FileHandler.init(self, filename, mode, encoding, delay)
File "/usr/lib/python2.7/logging/init.py", line 913, in init
StreamHandler.init(self, self._open())
File "/usr/lib/python2.7/logging/init.py", line 943, in _open
stream = open(self.baseFilename, self.mode)
IOError: [Errno 2] No such file or directory: '/var/log/ryu/ryu.log'
Does anyone help me to solve this problem?
Thanks.

Hi, Did you get a solution for this? I am getting the same error.

I solved this by installing RYU with 'pip install ryu' (I had installed it from source before)

Hi all,
I am new for Ryu. I installed Ryu in Ubuntu 16 by following https://github.com/osrg/ryu and
https://github.com/osrg/ryu/wiki/OpenFlow_Tutorial. However, when I tried to run ryu-manager, I always got the following error:
linux@linux-VirtualBox:~/ryu$ PYTHONPATH=. ./bin/ryu-manager ryu/app/simple_switch.py
Traceback (most recent call last):
File "./bin/ryu-manager", line 19, in
main()
File "/usr/lib/python2.7/dist-packages/ryu/cmd/manager.py", line 68, in main
log.init_log()
File "/usr/lib/python2.7/dist-packages/ryu/log.py", line 79, in init_log
disable_existing_loggers=False)
File "/usr/lib/python2.7/logging/config.py", line 85, in fileConfig
handlers = _install_handlers(cp, formatters)
File "/usr/lib/python2.7/logging/config.py", line 163, in _install_handlers
h = klass(*args)
File "/usr/lib/python2.7/logging/handlers.py", line 391, in init
logging.FileHandler.init(self, filename, mode, encoding, delay)
File "/usr/lib/python2.7/logging/init.py", line 913, in init
StreamHandler.init(self, self._open())
File "/usr/lib/python2.7/logging/init.py", line 943, in _open
stream = open(self.baseFilename, self.mode)
IOError: [Errno 2] No such file or directory: '/var/log/ryu/ryu.log'
Does anyone help me to solve this problem?
Thanks.

Hi, I have the same problem. But I figure it out. Could you check your ryu document location? You might download Ryu in ROOT. If you download in the root, first (sudo rm -rf ryu) to rm ryu from root. Then download again, do not download under root.

soo, this is closed then, right?

yes


questions about 'agent.py'

Hello! I am interested in your fantastic research work and have some questions when reading your code:
In the 'agent.py' (/crowd_sim/envs/utils/), I noticed these lines in the 'get_next_observable_state' function: (when the kinematics is 'unicycle')
next_vx = action.v * np.cos(self.theta)
next_vy = action.v * np.sin(self.theta)
My question is why it should be 'self_theta' ? I mean why the next_vx and next_vy are not computed using the new theta = self.theta + action.r ?
Could you please explain it? Thank you very much!

Thank you for pointing out the mistake. After looking at the code, I think it's a bug and I have fixed it. However, this bug doesn't change any results in the paper because all current human policies only have the holonomic constraint.


Close websocket on job_end event

Was experiencing this issue when trying to implement a better run button
on juttle-viewer. Currently we await the server to issue a close event,
and as a result was reporting the job as running (for several seconds), when it really had
recieved a job_end event.
It's better for the job-manager to close itself and immediately
get set to STOPPED state.
@go-oleg @VladVega @davidvgalbraith

Will we get confused now when the server close event comes after job_end or is it ok?

+1


How to change font?

Hi guys,
First of all, I have to admit that fastpages is awesome! It's so easy to get started.
However, When I write in Chinese, the display is not pretty. Such as:
https://donyum.github.io/blog/markdown/2020/04/17/docker-with-GPU-support.html
So, I wonder if there is a way to change the font.
Other advises that can beautify pages with Chinese are also appreciated.
Thx a lot!

Thanks, @DonYum this section in the README contains instructions
https://github.com/fastai/fastpages#customizing-fastpages


Test coverage for tracking.py

Currently there is no test coverage for tracking.py which has caused a regression. Add tests.

https://github.com/datafold/data-diff/issues/501

Alternatively a static analysis tool like pylint would catch this


what is the link in

on this part what is the link in that quote

The link over here, should be the link to one of the following files:

twitter-client.js
[OR]
twitter-client.min.js


UI Designing: Try on Material Design

Credit: MDIX
Still have some problems.
Also the TabControl isn't have a good look.
Preview:

The designing still have a lot of problems, we should set the value of the size of some of the elements exactly.

Rework tab control wen

kawaii design

kawaii design

绒绒 design

kawaii design

~绒绒~ design

绒绒 cat design


Support for IDataRecord to Object mappings

Support for IDataRecord to Object mappings

Just evaluating at the moment, looks good :+1:  Is it a big job to implement this functionality? I have lightweight data access code and would like to map from DataReader to my POCO's. I'm hand writing the mappings at the moment but this is tedious.
I could try to help if you can give some guidance as to where to start.


The package mentions requires-python = ">=3.9" but it uses Python 3.10 syntax

In main.py there is the code
        total: int | None = None,
        message: str | None = None,

But for Python 3.9 it needs to be
        total: Optional[int] = None,
        message: Optional[str] = None,

otherwise the tool crashes with 3.9

welp, that's embarassing, just fixed it.


Problem with nested Navigator and page navigation

I want to change this project for my needs.
The main goals are:

Go to the new page from the root pages using nested navigator and root navigator(so I can hide or show BottomNavigationBar)
Change the tab and go to the nested pages from the root or nested page .
Also, I don't want to use Offstage and Stack in the app.dart because I don't want to build my pages even when user doesn't use them.

Changed files:
app.dart:
class App extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => AppState();
}

class AppState extends State<App> {
  TabItem _currentTab = TabItem.first;
  GlobalKey<NavigatorState> _navigatorKey = GlobalKey<NavigatorState>();

  void _selectTab(TabItem tabItem, {String pushReplacement, String push}) {
    if (tabItem == _currentTab) {
      // pop to first route
      _navigatorKey.currentState.popUntil((route) => route.isFirst);
    } else {
      setState(() => _currentTab = tabItem);
    }
  }

  _tabPush(TabItem tabItem, String path){
    _selectTab(tabItem);
    _navigatorKey.currentState.pushNamed(path);
  }

  _rootPush(String path){
    Navigator.pushNamed( //root navigator
        context, path
    );
  }

  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () async {
        final isFirstRouteInCurrentTab =
        !await _navigatorKey.currentState.maybePop();
        if (isFirstRouteInCurrentTab) {
          // if not on the 'main' tab
          if (_currentTab != TabItem.first) {
            // select 'main' tab
            _selectTab(TabItem.first);
            // back button handled by app
            return false;
          }
        }
        // let system handle back button if we're on the first route
        return isFirstRouteInCurrentTab;
      },
      child: Scaffold(
        body: RootNavigatorProxy(
          tabPush: _tabPush,
          navigateNamed: _rootPush,
          child: body(_currentTab),
        ),
        bottomNavigationBar: BottomNavigation(
          currentTab: _currentTab,
          onSelectTab: _selectTab,
        ),
      ),
    );
  }

  Widget body(TabItem tabItem){

   return Navigator( //nested navigator
      key: _navigatorKey,
      initialRoute: tabRoute[tabItem],
      onGenerateRoute: RouteGenerator.generateRoute,
    );

  }

}

root_navigator_proxy.dart:
class RootNavigatorProxy extends InheritedWidget{
  final Function navigateNamed;
  final Function tabPush;

  RootNavigatorProxy({
    Key key,
    @required Widget child,
    @required this.navigateNamed,
    @required this.tabPush

  }) :  assert(child != null),
        super(key: key, child: child);

  static RootNavigatorProxy pushNamed(BuildContext context, String path) {
    return context.dependOnInheritedWidgetOfExactType<RootNavigatorProxy>().navigateNamed(path);
  }

  static RootNavigatorProxy changeTabPush(BuildContext context, TabItem tabItem, String path) {
    return context.dependOnInheritedWidgetOfExactType<RootNavigatorProxy>().tabPush(tabItem, path);
  }

  @override
  bool updateShouldNotify(RootNavigatorProxy old) {
    return (navigateNamed != old.navigateNamed
        || tabPush != old.tabPush);
  }
}

first_page.dart(root page):
class FirstPage extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
            title: Text('First page')
        ),
        body:
        Center(
          child: Column(
            children: <Widget>[
              RaisedButton(
                child: Text('To nested'),
                onPressed: () =>  Navigator.pushNamed(context, 'second')
              ),
              RaisedButton(
                child: Text('To root'),
                onPressed: () =>  RootNavigatorProxy.pushNamed(context, 'second')
              ),
              RaisedButton(
                  child: Text('Change tab and push'),
                  onPressed: () =>  RootNavigatorProxy.changeTabPush(context, TabItem.second, '/nested')
              )
            ],
          ),
        )
    );
  }
}

But unfortunately this doesn't work. When I click on the item in the bottom menu, the pages do not change. I understand that this is because I use the same _navigatorKey, so Navigator doesn't want to look at the new initialRoute which has changed.
So I tried a dirty hack and use _navigatorKey = GlobalKey<NavigatorState>() in the _selectTab, but now I can't use the Change tab and push button, because _navigatorKey reset to the new NavigatorState without state( _navigatorKey.currentState equals to null in the _tabPush), so now changing tabs works, but push after that - doesn't work..
I also tried many more options to achieve the necessary behavior, but nothing works.
So, how can I achieve the needed behavior which I described as goals?
Regards!

isinitialroute only works on first build, any update to that will not work. that is an issue we are trying to solve with navigator 2.0 https://github.com/flutter/flutter/issues/45938. It should also make it easier to write nested navigators

I will close this issue, if you have more question, you can comment in the https://github.com/flutter/flutter/issues/45938


Could not decode JSON response

Hi,
I tried to use your php Api but after trying to connect to my zabbix server i got response "Could not decode JSON response". I have generated classes files using builder and copy those two class files to my web application directory.
here's my php script:
// load ZabbixApi
//require 'ZabbixApiAbstract.class.php';
require 'ZabbixApi.class.php';
try {
// connect to Zabbix API
$api = new ZabbixApi('https://zabbix.lizard.pl/api_jsonrpc.php', 'admin', 'pass');

} catch(Exception $e) {
// Exception in ZabbixApi catched
echo $e->getMessage();

}
and here's the error:
API request: {"jsonrpc":"2.0","method":"user.login","params":{"user":"admin","password":"pass"},"id":"14151208298496"}{"jsonrpc":"2.0","result":"6910be3f52dfc6b1df493a4b424e9510","id":"14151208298496"} Could not decode JSON response.
It looks like api connects to server and gets response but in wrong format.
Where should I search for the problem? Is your api supports connection on https?
Please help.

I've updated the builder to support all Zabbix 2 versions. I've tested the build process with the Zabbix 2.2 and Zabbix 2.4 front end and the classes built successfully. But I only have a Zabbix 2.4 installation, so I couldn't really test the generated class files w/ the Zabbix 2.2 API.
I've also created new sub directories for each Zabbix version (2.2/ and 2.4) under build/ and I'll create a new tag/release as soon as the 2.2 class file is tested. For future Zabbix versions, we can build separate class files and store them next to the old ones, but as @execthis already mentioned, we should create a new tag/release as well.
@hanzklotz can you test the builder again against Zabbix 2.2 and give me some feedback?

It's still not working. No error message this time - only blank page. On old files everything works.

Found the solution :) at least in my case.
I didn't have the api address in the server url.
So just append api_jsonrpc.php to your zabbix url.
Like so: http://x.x.x.x/zabbix/api_jsonrpc.php
@domibarton could you please put that somewhere in the documentation, I didn't see it anywhere.

btw. thank you for phpzabbixapi. Great job.

Thank you for your reply and sorry for my delay.
I'll try to update the documentation here on github.

No, thank you, and keep up the good work.
On Tue, Apr 28, 2015 at 10:42 PM, Dominique Barton<EMAIL_ADDRESS>
wrote:

Thank you for your reply and sorry for my delay.
I'll try to update the documentation here on github.
—
Reply to this email directly or view it on GitHub
https://github.com/domibarton/PhpZabbixApi/issues/5#issuecomment-97201766
.

--
Lijep pozdrav,
Ivan Ravnjak
E-mail<EMAIL_ADDRESS>GSM: 098/9123 740
MSN<EMAIL_ADDRESS>

Documentation is up to date.
I've added an example on the github page on Basic Usage and there's an example in the function / method annotations as well:
    /**
     * @brief   Class constructor.
     *
     * @param   $apiUrl         API url (e.g. http://FQDN/zabbix/api_jsonrpc.php)
     * @param   $user           Username for Zabbix API.
     * @param   $password       Password for Zabbix API.
     * @param   $httpUser       Username for HTTP basic authorization.
     * @param   $httpPassword   Password for HTTP basic authorization.
     */

    public function __construct($apiUrl='', $user='', $password='', $httpUser='', $httpPassword='')


Analytics is not tracked when page is reloaded

Currently, Project is using segment for observing the track events.
I set all the configuration in the current project and it seemed to be Ok.
But, it is for some cases.
For most of cases, it doesn't track.
So, critical problem is that tracking is not triggered when I continuously reload page.
But when I create new tab and load website, analytics works fine.
Can anyone please help on this one?

At first running, it is tracking successfully.

After reloading the page, tracking is not triggered.

Did you find a solution to this?


More intuitive sorting order of domains

The problem is how to implement this "intuitive" order (very) efficiently.

a.example.com
b.example.com
c.example.com
example.org
a.example.org
a.a.example.org
b.example.org
c.example.org

Solution: come up with an "expensive" algorithm (new) and use it carefully.


Client Allocation Request for: Sharif University of Technology

Client Allocation Questions
Core Information

Name: Sharif University of Technology
Website / Social Media: https://www.sharif.edu
Region: Asia (excl. Greater China)
DataCap Requested: 300TiB
Addresses to be Notarized: f1lakkooooyscwt5crl3b5nj3szcnh5g2mcz3sxsa
Notary Requested: IreneYoung

@emf-developer Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Sorry @emf-developer, I suggest you issue a large Dataset application. You can apply here: https://github.com/filecoin-project/filecoin-plus-large-datasets/issues


Fix owner losing permissions to their own SAM resource

#1805
Problem was that a new owner policy was being created when adding
another owner, and the new owner policy only added the new owner.

We don't need to ever create an owner policy explicitly, as SAM
is configured for dockstore-tool resource to always create a default
owner policy. This is unlike the writer and reader policies, which we do
need to explicitly create.
The problem originated in that I was passing the list of policies
the new user already belonged to ensurePolicyExists(), which would
check to see if the owner policy existed, and it wasn't in the list.
Two fixes for that, to be safe.

Don't ever let ensurePolicyExists() create an owner policy
Pass all of a resource's existing policies to ensurePolicyExists,
instead of just the ones the new user already belongs to.

In doing that, I noticed that initializePermissions was not
returning the policy's permissions.
Finally, in looking at this, I noticed the setPermission already
returns the list of permissions, and WorkflowResource was
unnecessarily fetching them again.

Coverage increased (+35.4%) to 69.761% when pulling 4bd4b195aa8daa2f493d401525c19bd986e64459 on feature/1805/doubleownerpolicy into ef961f86dbe08133a88cac090a088cd62584d0be on develop.


Bump Rails to 5.2.1

Full Rails 5.2.1 release was released yesterday. 🎉

Thanks 👍

You're very welcome.
Would you be up for automating dependency updates with Dependabot? I think it would save you a bit of time and help keep codetriage up-to-date, but I also have a bigger plan for it: I'm keen to get more open source apps using it so I can use the data on the CI runs for dependency updates to find bugs in new releases and point the maintainers to the failing CI run as a reproduction step.
What do you reckon?

Can’t hurt. Do we need to sign up for it or enable in some way?

❤
Yeah - just add it from here and then add codetriage once you get through to http://app.dependabot.com.
Let me know if you have any trouble / feedback at all.

I added codetriage/codetriage


return early (before init/allocation) if no actual decode will happen

When no actual decode will happen, just parsing of frameheader/TOC, there is no need to actually initialize things and allocate internal stuff that will be used during decode. Also it's not a good idea to check things like the presence of DC frames since they will not have been decoded either, but that's OK since the frame itself will not be decoded. So just return early (after reading the frameheader and TOC, but before the actual frame decoder initialization).
This fixes https://github.com/libjxl/libjxl/issues/699 and somewhat reduces the memory footprint of jxlinfo and other applications that just want to get info about frames without doing actual decode.

Looks correct to me from the API point of view


feat: Add KID to the credential-offers API - ATL-7704

Description:
feat: Add KID to the credential-offers API - ATL-7704
Checklist:

[ ] My PR follows the contribution guidelines of this project
[ ] My PR is free of third-party dependencies that don't comply with the Allowlist
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked the PR title to follow the conventional commit specification

For the tests to be passing ATM means there is a lack of tests

I messed up the rebase I'm still trying to fix it

coverage: 48.506% (+0.02%) from 48.488%
when pulling 4b4eae9b6101eb2dcb578ef4eb3fc9ca16dc2b9d on feat/ATL-7704-add-KID-to-the-credential_offers-API
into d29eebbef29773103814528c382a3000c4f3b29b on main.

:rocket: Merge success


Fix 2D shader preview draws over uniform

This fixes the issue #76337.
I've put the CanvasItem shader preview inside a SubViewport the same way it is done for the Spatial shader preview.

We have a helpful tutorial in the official documentation for rebasing a pull request and removing extraneous commits! https://docs.godotengine.org/en/latest/community/contributing/pr_workflow.html#the-interactive-rebase

Ok, thanks, I think I fixed it. Sorry again for not following the guidelines.

This fixes the issue #76337.

@Tetane Note writing it like this won't automatically link the issue to be closed on merging the PR. See Linking a pull request to an issue (I've already edited it so it's linked properly).

Thank you! Merged.

Cherry-picked for 4.0.3.


Connexion with Flask-JWT-Extended response 401 not authorized

Description
I have a project already in production, being a REST API designed with flask, flask-restful and flask-jwt-extended. The system did not have any documentation yet, but this was necessary, being my first using connexion. I created the documentation by "swagger.editor.io" and created the correct instances in the project.
Initially I was unable to access the application, soon realizing that the need to install the CORS package, solving the first problem. Now I am unable to authenticate to any endpoint of the system, either by generating swagger / ui or POSTMAN. How do I disable connexion security or include the flask-jwt-extended decorator to validate the token?
Expected behaviour
Connexion Accepts Flask-JWT-Extended settings
Actual behaviour
Apart from the token generator endpoint, the others do not allow authentication.
Steps to reproduce
Connexion insertion in my project
n this short excerpt from init you can see that I had a problem adapting connexion to the project. Thanks a lot to the team for answering this  #217 .
'''Added Swagger Docs'''
    options = {
        'uri_parsing_class': OpenAPIURIParser
        }
    con_app = connexion.App(
        __name__, specification_dir='templates/docs',
        options=options
        )
    con_app.add_api('swagger.yaml')

    app = con_app.app

    app.config.from_object(config[config_name])

    '''Added LOG in project'''
    gunicorn_logger = logging.getLogger('gunicorn.error')
    app.logger.handlers = gunicorn_logger.handlers
    app.logger.setLevel(gunicorn_logger.level)

    '''Added JWT'''
    configure_jwt(app)

    '''Added CORS'''
    CORS(app)

My endpoints build with Restful
All project endpoints were built using flask-restful package and flask-jwt-extended authentication, below is a simple example of the features that exist within the project.
It works correctly without connexion, but now any endpoint I try to access, even generating the token I don't have access to.
class Status(Resource):
    @jwt_required
    def get(self):
        db = session_ws()
        status_schema = StatusSchema(many=True)

        todo = []
          descriptions = {state.id: state.name for state in status}
          for item in obj:
              item.status_description = descriptions.get(item.status_id)
              todo.append(line)
          result = line_schema.dump(todo)

        return send_reponse(pagination(
            result.data, '/status',
            start=request.args.get('start', 1, type=int),
            limit=request.args.get('limit', 100, type=int)
            ), 200, ('Content-Range', len(result.data)))

Response swagger-ui
{
  "detail": "No authorization token provided",
  "status": 401,
  "title": "Unauthorized",
  "type": "about:blank"
}

My swagger.yaml file
openapi: 3.0.2
info:
  title: Microsservices Tests
  description: API Rest
  version: '1.0'
  contact:
    email<EMAIL_ADDRESS>servers:
- url: http://<IP_ADDRESS>:5000/nlt
  description: Developer server
components:
....
  securitySchemes:
    Auth:
      type: http
      scheme: bearer
      bearerFormat: JWT
....
paths:
...
  "/status":
    get:
      tags:
      - Status
      summary: Access Status of items
      operationId: app.routes.ms_status.Status.get
      description: List of items of client acess this endpoint
      security:
      - Auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  example:
                    count: 3
                    message:
                    - item: '1'
                      status_description: Stand by
                    - item: '2'
                      status_description: Out
                    - item: '3'
                      status_description: Off
        '401':
          description: Not Authorized
          content:
            application/json:
              schema:
                example:
                  message: Token Expired
        '500':
          description: Error Internal Server
          content:
            application/json:
              schema:
                example:
                  message: Error Microsservice

Additional info:
Output of the commands:

python --version = Env: Python 3.6.8 :: Anaconda, Inc.
pip show connexion | grep "^Version\:"= Version: 2.3.0
Lib: Flask-JWT-Extended: Version: 3.18.2
Lib: Flask-Restful: Version: 0.3.7

Hi @xarpy ,
I was looking into this because I wanted to be able to add a bearer token to the swagger UI and try some requests from there. What I realized after a couple of hours of searching is that the error that is returned is from the swagger package. If you remove the security specification. You'll be able to run it.
"/status":
get:
tags:
- Status
summary: Access Status of items
operationId: app.routes.ms_status.Status.get
description: List of items of client acess this endpoint
security: <-- remove
- Auth: [] <-- remove
I think this fixes your issue with not being able to authenticate with Flask-JWT-Extended. If you want te be sure, create a curl request with the authorization header and your token as bearer
for reference, here's another issue that was opened with regards to your issue (scroll to the bottom)
https://github.com/zalando/connexion/issues/806#issuecomment-448184925

if you remove the security: <-- remove

Auth: [] <-- remove this thing then how are you going to authenticate the swagger through api.

This is not a bug.
according to https://connexion.readthedocs.io/en/latest/security.html  With Connexion, the API security definition must include a x-tokenInfoFunc or set TOKENINFO_FUNC env var.
x-tokenInfoFunc must contain a reference to a function used to obtain the token info. you havent added x-tokenInfoFunc in openapi doc.
For example
components:
  securitySchemes:
    jwt:
      type: http
      scheme: bearer
      bearerFormat: JWT
      x-bearerInfoFunc: routes.decodetoken

where in routes.py for my case
from flask_jwt_extended import decode_token
def decodetoken(token):
    return decode_token(token)


Upgrade decorator syntax to Typescript 5.0

Typescript 5.0 (currently in beta) will introduce stable well-typed decorators. If experimentalDecorators is enabled, the current version will continue to work. If not, the new decorators require some changes to this library.
For example, this is the error that comes with @jsonObject:
Unable to resolve signature of class decorator when called as an expression.
  The runtime will invoke the decorator with 2 arguments, but the decorator expects 0-1.ts(1238)

Since the new version will replace the experimental syntax in the long term, this should be adjusted.

Looks like the repo is abandoned again. Any alternatives?


[Question] Multiple DestinationNavigationHost

Hi, I have the following questions about DestinationNavigationHost:

Can coexist two or more host?
In true case, how can I navigate between hosts?
How can avoid that the navigation host contains all graphs in multi module app?

Im building a multi module app with your library for research the best posible architecture in this repo:
ArtGallery
Thanks in advance!

Hi @javierpe !

Yes, you can.

When you have Multiple NavHosts (lets say A and B), there will be one Destination of NavHost A that will call NavHost B. This destination has access to both NavControllers (from A and B). To navigate to a Destination that belongs to NavHost A, you use NavController from A, to navigate to a Destination that belongs to NavHost B, you use NavController from B.
You can then use a class like class NavHostANavigator(val navController: NavController) and pass that class via dependencyContainerBuilder (https://composedestinations.rafaelcosta.xyz/destination-arguments/navhost-level-parameters#use-dependenciescontainerbuilder-to-prepare-dependencies). After that, any destination from NavHost B that requests for a NavHostANavigator class will have it and can use that to navigate to NavHostA's destinations.

You need to have multiple "top level" NavGraphs you pass one of those for each NavHost.
https://composedestinations.rafaelcosta.xyz/defining-navgraphs#through-navgraph-annotations (search for "top-level").
Then you use those NavGraph annotations to have either destinations or nested graphs be a part of it. And then you pass those top level NavGraphs one for NavHostA and the other to NavHostB.

Let me know if this helped :)

@raamcosta Thank you! Only a last question, how can I build a BottomBarNavigation without DestinationsNavHost?


Documentation URL Link Invalid

In files blob_basic_samples.py and blob_advanced_samples.py the documentation URL http://azure.github.io/azure-storage-python/ref/azure.storage.blob.html gives a 404

@tamram You might want to look at this.


First attempt to resolve test failures

Seems like the 94118 zip code is not supported by Google anymore.  Replaced with a zip code and lat lng close to me.  Added a test for the foreign zip code where the theater had a null phone number.

Should fix #9.

Strange, another SF zip code (94104) doesn't work either. Typing "San Francisco, CA" works. The Oakland zip 94601 fails. A zip in Fresno, CA (93704) works though. Wonder if Google Movies no longer supports Bay Area zip code searching.

Thanks for looking into this, though. I'll package up 0.4.0 tonight.

Really weird... Eventually it might make sense to set up several tests in major metropolitan areas and run the test monthly or something.  Odds are that they will continue to change things.
Lat long search seems to still work: http://google.com/movies?near=37.7822890,-122.4637080

0.4.0 published. Thanks again, dude.


Fix regression in reverse proxy documentation

From Apache: AllowEncodedSlashes not allowed in <Proxy> context
Move this out of <Proxy> block
Fixes #7632
I've also moved the #comment to its own line so you can just copy and paste without syntax error

Codecov Report

Merging #7634 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #7634      +/-   ##
==========================================
+ Coverage   41.26%   41.28%   +0.01%
==========================================
  Files         469      469
  Lines       63716    63716
==========================================
+ Hits        26295    26304       +9
+ Misses      33997    33989       -8
+ Partials     3424     3423       -1

Impacted Files
Coverage Δ

models/gpg_key.go
56.66% <0%> (+0.83%)
:arrow_up:

models/repo_list.go
73.09% <0%> (+1.01%)
:arrow_up:

routers/repo/view.go
43.25% <0%> (+1.01%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cdaf9a5...e8e1d2f. Read the comment docs.


First version that creates an EC2 instance with an nginx server, and …

…the VPC-plumbing included (followed Travis Media)

Good enough.


Customize forms

Customize the following forms:

Transaction
budget
Filter

LGTM.
One suggestion, is it possible to make the currently focused field in bold / white instead of blue? (Kind of hard to read over grey background)

:+1: (and agree with Florent's comment)


Question: Can markdig be customized to output dita files used for technical documenation? Attached a sample conversion in the comments

Should be possible with custom renderers.
But quite a bit of work...so I'd go with something like markdown2dita (even if it's not a .NET-based solution, but for simplicity one shouldn't be that strict 😉).

Can markdig be customized to output dita files used for technical documenation? Attached a sample conversion in the comments

Yes, likely, otherwise, as @gfoidl is suggesting, it's also quite some work. It's up to your project/requirements.