[website] Redirect Chinese visitors to Apache Chinese CDN provider PART 1

Description
This PR is the part1 of #18422 .To fix slow site speed in China and improve overall loading speed. It adds server side logic to redirect Chinese visitors to Chinese CDN based on Geo IP. This is the most accurate and fastest way to filter visitors.
There are 2 checks to each incoming HTTP requests.

Check user Geoip country code, whether it equals to CN
Check host name in URL to ensure redirect only happens when user initially attempts to access the website. Avoid any loops and subsequent redirect.

If all conditions match, redirect user to Chinese CDN with same URI. For example, redirect from https://mxnet.apache.org/features to https://mxnet.cdn.apache.org/features
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:

Changes

[x] Add logic to redirect Chinese visitors to Apache's Chinese CDN provider

Comments

Preview: http://ec2-34-219-134-42.us-west-2.compute.amazonaws.com
Please note: Geo_ip is set up on this preview server. If you visit http://ec2-34-219-134-42.us-west-2.compute.amazonaws.com/testgeoip.php, you should see your ip and geolocation data.
Following settings are used to stimulate the process:

RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^CN$
RewriteCond %{HTTP_HOST} ec2-34-219-134-42.us-west-2.compute.amazonaws.com
RewriteRule ^(.*) https://mxnet.cdn.apache.org%{REQUEST_URI} [R,L]

Tested by several users in China, redirect works properly and there is a boost of loading speed

@mxnet-label-bot add [website, pr-awaiting-review ]

@mxnet-bot run ci [miscellaneous, unix-cpu]

This is great. Anecdotally, the cdn is faster for me and I'm in California. Maybe we should just use the CDN for all traffic? We heard from another community member in Australia that the site is slow there too... wdyt?

Yeah, I will reach out to Apache to get more info about this, whether it is allowed to redirect more/all users to this CDN, or if they can point official website ip to it. But I guess it will take some time to address this issue, while this is a Chinese CDN provider that might be out of Apache's control.

Just checked with a tool and the results are as follows:
Original website: https://www.dotcom-tools.com/website-speed-test.aspx#2D4761ACDB144D809F0E16105FC25827
CDN website: https://www.dotcom-tools.com/website-speed-test.aspx#D08B03A9E383480C926C9946A86F6956
Generally, the original website is more consistent. The CDN has higher loading time on first as well as second visit.
Of course this would need more thorough inspection, but from the first look it seems like we should only use the CDN when there'a a specific issue we identified.

https://developers.google.com/speed/pagespeed/insights/?hl=en&url=https%3A%2F%2Fmxnet.apache.org%2F
https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fmxnet.cdn.apache.org%2F
You might also want to check out speed insights from google.

@ys2843 please make sure to discuss topics (like generally considering a move to a CDN) on dev@ before reaching out to Apache Infra.

Just checked with a tool and the results are as follows:
Original website: https://www.dotcom-tools.com/website-speed-test.aspx#2D4761ACDB144D809F0E16105FC25827
CDN website: https://www.dotcom-tools.com/website-speed-test.aspx#D08B03A9E383480C926C9946A86F6956
Generally, the original website is more consistent. The CDN has higher loading time on first as well as second visit.
Of course this would need more thorough inspection, but from the first look it seems like we should only use the CDN when there'a a specific issue we identified.
Before taking such drastic steps I'd appreciate some A/B testing or further inspection before simply moving all users to a different host. Apache servers are in our control but others might not.

Agreed,

@ys2843 please make sure to discuss topics (like generally considering a move to a CDN) on dev@ before reaching out to Apache Infra.

Yes, sure. This should be further discussed within the team before moving on. Currently fixing the website in China is what this project primarily aims.


use pretty-quick

This adds a husky hook for auto-formatting (using Prettier) on pre-commit. 👍
Once https://github.com/azz/pretty-quick/pull/54 is merged, we can add prettier-tslint and then pretty-quick will essentially do tslint --fix immediately after prettier --write.
More info: https://github.com/azz/pretty-quick

Note: Anyone can use my changes by installing @alloc/yalc instead of yalc
https://www.npmjs.com/package/@alloc/yalc


Many To Many Relation Issues based on the relation direction

Dear Adam,
I've seen on your latest commits that this part of code is of recent development and maybe you're still working on it.
I was trying it on my model and I was not having the desired results such the one in the Model Example.
Looking at the code and with some debug I think I found the issue. The M2M relation is bi-directional, but is declared on just one of the two models, and they don't share the same field meta parameters. Let's talk about the coffee model, while you traverse the M2M in opposite direction, as in the example, you must work on the related_name field, which is not there if you try to traverse the same relation starting from the model Flavor. To understand on which side of the relation you are I managed to use the auto_created attribute, based on that you can use related name or name.
I attach you the diff file.
Have a try and thank you for your amazing work!
8ded32dbaa5cadd4ccfefe1dfae531fe73003529.diff.txt

Of course! I totally forgot about the other side of the many-to-many. This diff is very useful, do you want to send me a PR so you get credited with the code change? Updating the tests to check the other side of the relationship would also be great if possible!

Actually I'm not super expert with Github flow and I don't want to screw things up.
I also never used tests, sorry :(

@all-contributors add @mbacicc for code

Ok, no worries! Based on your diff I was able to add the fix and tried to credit you for the code as much as possible. I'm going to bump the version a minor and release it now to include this fix. Thanks for your help finding that bug! 🎉


faucet error

What version of Wallet are you using?
fule wallet
What is happening?
faucet not working
steps to reproduce
faucet not working
How it should behave?
Better performance for best testing experience
What os are you seeing the problem on?
Windows Desktop
What browser?
Chrome
What is your browser version?
chrome browser

This error is on our faucet project. We are currently working to improve it. You can keep track of the faucet repo https://github.com/FuelLabs/faucet/.


Error: Cannot find module './out/isolated_vm'

after npm -i
npm run decode -- -t sojsonv7  -i input.js -o output.js
Error: Cannot find module './out/isolated_vm'

Can you provide the complete output? Based on the limited information, I guess it's related to the installation of isolated-vm.

Error: Cannot find module './out/isolated_vm'
Require stack:

D:\Download\decode-js-main\decode-js-main\node_modules\isolated-vm\isolated-vm.js
D:\Download\decode-js-main\decode-js-main\src\plugin\sojson.js
D:\Download\decode-js-main\decode-js-main\src\main.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1143:15)
at Module._load (node:internal/modules/cjs/loader:984:27)
at Module.require (node:internal/modules/cjs/loader:1231:19)
at require (node:internal/modules/helpers:179:18)
at Object. (D:\Download\decode-js-main\decode-js-main\node_modules\isolated-vm\isolated-vm.js:1:18)
at Module._compile (node:internal/modules/cjs/loader:1369:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1427:10)
at Module.load (node:internal/modules/cjs/loader:1206:32)
at Module._load (node:internal/modules/cjs/loader:1022:12)
at Module.require (node:internal/modules/cjs/loader:1231:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'D:\Download\decode-js-main\decode-js-main\node_modules\isolated-vm\isolated-vm.js',
'D:\Download\decode-js-main\decode-js-main\src\plugin\sojson.js',
'D:\Download\decode-js-main\decode-js-main\src\main.js'
]
}

According to the error message, the file isolated-vm.node should exist in folder D:\Download\decode-js-main\decode-js-main\node_modules\isolated-vm\out. Try to reinstall the dependency and the issue may be solved.

According to the error message, the file isolated-vm.node should exist in folder D:\Download\decode-js-main\decode-js-main\node_modules\isolated-vm\out. Try to reinstall the dependency and the issue may be solved.

The "out" directory doesn't exist. The module must be built?
I have only tried "npm i isolated-vm", but no "out" directory

Yes, it's required in D:\Download\decode-js-main\decode-js-main\node_modules\isolated-vm\isolated-vm.js. You may find solution in repo: https://github.com/laverdet/isolated-vm .

VS2019 must be installed on Win


React hook form

Codecov Report
Attention: Patch coverage is 93.75000% with 1 line in your changes missing coverage. Please review.

Project coverage is 99.00%. Comparing base (fc2015a) to head (7137e3e).

Files
Patch %
Lines

...rc/components/Kontakt/KontaktContent.component.tsx
91.66%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #256      +/-   ##
==========================================
+ Coverage   98.00%   99.00%   +1.00%
==========================================
  Files          22       22
  Lines         200      202       +2
  Branches       59       60       +1
==========================================
+ Hits          196      200       +4
+ Misses          4        2       -2

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


Bump swift test-timeout to 2 minutes.

This test is prone to errors because compiling swift apparently is subject to a lot variance (seen up to 1 minute).
Refactor of some test helpers.

We definitly should, yes. @rabbah


"FLOW_SIMPLEADDRESSES" flag does not work with flow.json when running emulator

Problem
In flow.json, it is possible to provide an alias for the emulator/testner/mainnet account where the contract is deployed to eg:
{
  ...
  "contracts": {
       "FungibleToken": {
         "source": "./cadence/contracts/FungibleToken.cdc",
         "aliases": {
           "emulator": "0x1234123412341234"
          }
        }
        "FlowToken": {
          "source": "./cadence/contracts/FlowToken.cdc",
          "aliases": {
            "emulator": "0x1234123412341234"
          }
        },
  ...
}

When you run the emulator with the --simple-addresses flag, it automatically creates accounts 0x01 to 0x04  and deploys the standard contracts across these accounts.
By running flow accounts get <account> on each of these accounts, you can see which contracts are deployed to each account and then update the flow.json with the correct emulator alias. For Fungible Token and FlowToken contracts, these are automatically deployed to 0x02 and 0x03, and so you can update the flow.json to this:
{
  ...
  "contracts": {
       "FungibleToken": {
         "source": "./cadence/contracts/FungibleToken.cdc",
         "aliases": {
           "emulator": "0x0000000000000002"
          }
        }
        "FlowToken": {
          "source": "./cadence/contracts/FlowToken.cdc",
          "aliases": {
            "emulator": "0x0000000000000003"
          }
        },
  ...
}

Now, when you restart the emulator with the updated flow.json, you get this error:
invalid alias address for contract
As far as I am aware, this should not cause an error?
Steps to Reproduce
Run emulator with contracts key replaced by above snippet and with the --simple-addresses flag.
Acceptance Criteria
Emulator can run with the simple addresses in flow.json.
Context
I am currently trying to capture the executionCost of minting thousands of NFTs from my contract, and attempting to collect data on how the cost increases with the number of mints. This will allow me to understand the upper limits on minting via my NFT contract.
The plan was to write a script that would start the emulator with --simple-addresses flag, and then loop on creating accounts and purchasing an NFT from the contract. The logs are saved so the execution cost can be recovered for each tx.
The --simple-addresses flag was used as it makes writing the script a lot simpler - for each loop, you just increment the signer address by 1.

Thank you for reporting this, it's actually coming from flowkit which is CLI core lib.

Ok thanks very much @sideninja! 😄


Change Program.cs of Playground.Web to use WebApplication

This resolves #1579 by changing Program.cs of Playground.Web to use WebApplication rather than HostBuilder

@ysmoradi Please check this out

@RezaKargar
The structure has 3 files
Program.cs
Middlewares.cs
Services.cs
But you're submitting only 1 file.
The Todo template's web project is following Todo template's API project structure which has the same 3 files.

@ysmoradi
Oh, right!
I'll fix it

This sounds good to me
Based on the discussion that we did, I ask you to handle this PR @msynk


[T2A3][T15-A3]Lam Jouq Hang Hendersen

Ready for review

Hope this refactoring, and our discussion helps you understand SLAP better.


Auto-generate Protobuf code

Our build process should be able to automagically generate protobuf code for all recently updated Protobuf files.

check .travis.yml and the ci folder.

https://github.com/src-d/proteussrc-d/proteus
https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/code-generator


Add TEST_VERSION to pmd checks

was this to fix this failed test on your dev branch?

was this to fix this failed test on your dev branch?

Nope. This is so that enabling snippets in the metadata repo doesn't break everything.


encoding/xml: use reflect.Value.IsZero

IsZero does the same thing, using this rather than writing it again.

@apocelipes do you plan to open the same PR for encoding/json?

@apocelipes do you plan to open the same PR for encoding/json?

Not yet. You can take it if you want. :)


JSON settings aren't working

Environments:
Prettier Version: 2.0.4
Running Prettier via: CLI or VSCode plugin
Runtime: Node.js v14.5.0
Operating System: macOS Catalina 10.15.6
Steps to reproduce:
prettier --write ./layouts/_default/list.html
Expected behavior:
To use the plugin and format go (Hugo) html
Actual behavior:
I get an error:
[error] Couldn't resolve parser "go-template"
Attempted fixes

Reinstalling plugin
Reinstalling prettier
Reinstalling all NPM packages
Works fine if I rename the files to .gohtml so I assume the issue is with how Prettier sees the config.
Attempted to remove brackets and tried using YAML. I thought this was the solution for a minute.
JSON

{
  "overrides": [
    {
      "files": "*.html",
      "options": {
        "parser": "go-template"
      }
    }
  ]
}

YAML
overrides:
  - files: "*.html"
    options:
      parser: "go-template"

Hi Brennan, happy to see that you're using this plugin 👍
Would you mind telling me if you're have installed prettier & prettier-plugin-go-template locally into your repository, or if you have it installed globally (npm i -g)?
Kind regards,
Niklas

locally in the repo. Just installed globally and it worked great. Easy workaround! Thanks, I should've thought of that :)
Do you have any thoughts on how to best handle nested If/with conditionals when using the plugin?
Perhaps this is only be a Hugo thing:

You're awesome for making this 💪  I previously had the line length set to 1000 characters so it wouldn't break a {{ example }}

Currently the plugin performs the same formatting, for whatever commands are used inside {{}}.
I'll close this for now, as the initial issue is resolved. If you have some other topics just open a new one.


playground: icon for switching theme buttons

It seems that there is no icon for the theme switch button, such as Moon/Sun. Many theme switch buttons we see in our daily lives do have icons.
Before clicking, it may confuse people as to whether this has any other meaning.

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."


Add a non-interactive mode to dream.py

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Add a non-interactive mode to dream.py. This will make it easier to test. It also enables running large batches of renders on multiple machines using automation and remote management tools like Ansible.
Describe alternatives you've considered
The alternative is to use txt2img for testing.

There is already --from_file (which can also read from stdin). If that's not what you're looking for, can you describe what you're looking for more precisely?

Ok, I feel silly. I was looking at the usage and saw "--from_file" but didn't realize that is what I wanted. After I submitted I tried it and yes, it's what I want. Closing.


Automatically add Wagtail system required field when creating new application forms

What is the background for this ticket?
Hypha needs a number of fields to be present in each application form created in Wagtail. These will be applicant email address and applicant name. Without these fields the form cannot function. This is for historial reasons.
While Wagtail does provide some explanation that these fields are required, it is not also seen by users, leading to a usability issue. Especially new users. If users do not know these fields are required by the system, and they do not add them, they will be unable to save their work, meaning wasted time.
After a discussion with Bernard, Fredrik and Di, the decision has been made that these 2 fields are added to any new application form automatically by the system. This will make it clearer that these fields are required to be included.
Proposed UI design
When the user creates a new application form instead of seeing UI elements to add the required fields, displayed like this:

they see them already included in the form, with sample Label and Help text, as shown below:

Feedback
@frjo @fourthletter has this captured our discussion correctly?

related to #2460


⚠ UdeS website (prod) has degraded performance

In ef33640, UdeS website (prod) (https://www.usherbrooke.ca/) experienced degraded performance:

HTTP code: 200
Response time: 936 ms

Resolved: UdeS website (prod) performance has improved in 5162119.


My first branch

Add  PROFILE.md

callmeneo41

https://github.com/Callmeneo41/skills-introduction-to-github/pull/1/commits/f3f99b2b11683fdd4f6c79c368fcdbaab3c51390

.github/steps/-step.txt

README.md

https://github.com/Callmeneo41/skills-introduction-to-github/pull/1/commits/4cc1438f35a9158c3326241e3dc5a9e3aaf1e033

README.md


Use String#replace whenever possible

If there is no need to replace by regexp then there is String#replace which is much faster than replaceAll, thus it's better to use it instead

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

Comparison is base (8cc9d6c) 92.23% compared to head (9b7db13) 92.25%.
Report is 20 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1045      +/-   ##
============================================
+ Coverage     92.23%   92.25%   +0.01%
- Complexity     2764     2765       +1
============================================
  Files           291      291
  Lines          5541     5540       -1
  Branches        600      600
============================================
  Hits           5111     5111
  Misses          274      274
+ Partials        156      155       -1

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

Thanks!


synth_ice40: split map_gates off fine

I am currently looking at some optimizations to be done on iCE40 that would run on the coarse-grain cells. In this case it is very useful to me to be able to stop synthesis before all arch-dependent transformations, but after all arch-independent optimizations have already been done. I.e. see and affect the state just before techmapping, and restart afterwards.
Feel free to close this PR if this is not something desirable, or tell me to also implement this for other synth_* commands.

Feel free to close this PR if this is not something desirable, or tell me to also implement this for other synth_* commands.

LGTM.
The only thing I'm unsure about is re keeping the name fine for the last pre-map block. For the generic synth command it makes sense to have a corase and fine block. But for the others most of fine has been converted into various map_* blocks and now for them fine is just just the things run between the coarse synthesis stuff an mapping.
Now the name fine is essentially a copy&paste artifact, not a reasonable name for most synth_* commands.
What do you think about renaming fine to something like premap, or maybe simply map as it is the start of the mapping phase?

What do you think about renaming fine to something like premap, or maybe simply map as it is the start of the mapping phase?

I think map sounds good! I assume you'll make that change?

Renamed synch_ice40 fine to map in 5fa5dbb.


Typescript errors are no more showed in the terminal since vue-tsc 2

Description
On vue-tsc 2.0.6, console output is empty reporting no typescript errors even if there is an error
Versions

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Here is the error in vscode

What is happening?
The output of the terminal is empty

What should I expect

Steps to reproduce

Clone the repo https://github.com/vidal7/volar-issue-vue-tsc-output
Follow steps in readme.md

I can add that upgrading to typescript version 5.4.2, console now showing something but incomplete.

Same issue, blank lines where the original code was supposed to be. Downgrade to vue-tsc 1.8.27 worked to restore the outputs in the console.

Same issue on<EMAIL_ADDRESS><EMAIL_ADDRESS>Upgrading TS to 5.4.3 shows empty lines on some errors (some are still fine). Downgrading to 1.8.27 helps.

Fixed by https://github.com/volarjs/volar.js/commit/a4147851d85907f7eec662c55db49275d6d1ea6e

Fixed by volarjs/volar.js@a414785

I'm very grateful for this bug fix, but I've reproduced the issue when using --incremental based on this fix:

When vue-tsc --noEmit --incremental, the first execution (without tsconfig.tsbuildinfo), everything works fine and a new tsconfig.tsbuildinfo cache file is generated.
Then, when executed repeatedly, the .ts file still prints the error as expected, but the .vue file no longer prints the source code for the error line.

With<EMAIL_ADDRESS>Based on the latest fixed version：
"@volar/language-core": "2.2.0-alpha.3"
"@volar/typescript": "2.2.0-alpha.3"

@johnsoncodehk I am not quite sure why the issue has been marked as closed. The fix in https://github.com/volarjs/volar.js/pull/158 was made in<EMAIL_ADDRESS>but the current<EMAIL_ADDRESS>depends on<EMAIL_ADDRESS>Therefore, the issue still exists, and only downgrading to version 1.8.27 helps resolve it. Maybe it makes sense to reopen the issue?

We are using @volar/typescript v2

@so1ve You're right, I've got confused with dependency versions when switched packages. I'll remove my previous comment. So then I still have an issue with the following versions:

<EMAIL_ADDRESS>(with<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>(the same for 18.17.1/20.12.0)

I tried to debug and found that the following catch swallows an error: https://github.com/vuejs/language-tools/blob/b80b63a5beff34b6bbc0a58a740e3fd13a97cf90/packages/tsc/index.ts#L52-L56
When I run
yarn run vue-tsc --noEmit

The issue it swallows is "createModuleResolutionCache is not defined".  It fails in @volar/typescript here: https://github.com/volarjs/volar.js/blob/f17c19f712651acde33cc2171a112e64db0b460e/packages/typescript/lib/node/proxyCreateProgram.ts#L58
The best I found is that vue-tsc tries to call proxyCreateProgram via tsc and passes empty proxy object instead of ts with the required methods. Is this the same issue or a new one?

Seemed that your typescript version is too old, could you please upgrade to v5 if possible?

@so1ve you're right. This is the problem. It's working for v5.
Probably it makes sense to specify the minimum supported version in package.json or readme. I checked vue-tsc's peerDependencies, and it lists "typescript": "*"

Sure, PR welcome :)


Title Elements

Title elements contain a concise, descriptive title

Issue addressed in Pull Req:
https://github.com/PeaFunk3000/refactor-challenge/pull/7


Fix: support certificate pem type

Signed-off-by: Kenny Leung<EMAIL_ADDRESS>
Summary

Change is needed to get fulcio test to pass. See https://github.com/sigstore/fulcio/runs/7935433305?check_suite_focus=true
My understanding is that CertificatePEMType is also valid. If not, tests in fulcio will need to be fixed.
https://github.com/sigstore/fulcio/blob/main/pkg/server/grpc_server_test.go#L383
Release Note

Documentation

Would be good to add a test case

Would be good to add a test case

added test

Thanks for making a fix! However, can we revert this? This will cause issues if you try to pass a PEM-encoded certificate, the PKIX parsing will fail.
The Fulcio test is what's wrong, it should be creating a PEM-encoded public key with PublicKeyPEMType.

Ah, I see why the Fulcio tests broke. A PR added PEM block type checking to return a better error message. Previously, the PEM block type didn't matter, so even though the Fulcio test was constructing invalid test input, the tests still passed.
So yea, the correct fix is just to fix the Fulcio test, and revert this.


Remove history npm workaround

No longer needed with any reasonably recent npm.

No longer needed with any reasonably recent npm.

Maybe add a bailout check if the NPM version isn't high enough?

I trust @ryanflorence and @mjackson to keep their installed versions of npm up to date :laughing:

Well, they can blame you if they don't :stuck_out_tongue_winking_eye:
:shipit:


Test RTL5*.

Just adapting attach tests.

LGTM

LGTM

@tcard Can you rebase it with master to see if it's pass?

@ricardopereira Done.


Update package.json to add support for React v19 and Next.js v15

PR checklist:

[x] Figma: icon shapes use “Scale” constraint
[x] Figma: icon components are sorted Z-A in the file
[x] Figma: icon components are built with a single union or compound shape when possible
[x] Figma: library changes are published
[x] SVG: icons render correctly in a browser
[x] SVG: icons are exported with width="15" height="15" viewBox="0 0 15 15"
[x] SVG: no icons are exported with stroke
[x] SVG: no icons are exported with clip-path
[x] SVG: no icons exceed 5 KB
[x] Website is up to date
[x] Sketch file is up to date
[x] IconJar file is up to date

[x] Icon names in the IconJar library are correct
[x] Version in the IconJar library description is correct

Please merge this.

Please merge this.

I think it's ready to merge...

Temporary Fix
https://github.com/radix-ui/icons/pull/184#issuecomment-2436109770

@chaance @hadihallak please merge?

pls merge


Bug in the landing page

Description
The upper border hides behind some div!
Screenshots/testimonials

Can you assign it to me, I have the fix.

Go ahead!


feat(tools): add pfe cli

What I did

add pfe cli

[x] generate|new: same as create-element
[x] lint exports: make sure element files are in export map
[x] lint exports: make sure all targets in export map exist
[x] analyze: generate custom-elements.json
[x] create React wrappers with @lit-labs/react or some such (npm)

move guts of the generator to pfe-tools

I'm pretty happy with how the analyzer works so far. It could use some TUI polish, and is still missing the demos, but once the next version of lit analyzer releases we'll be in range


feat: support complex replacement with SWC AST traversal

Close #2.

Oh I just forgot to modify the example and add the placeholder for config.base.
I think AST traversal and a placeholder is necessary since in the System target there are CSS strings inlined in JS files, which has references to image and font files. To replace that you can't use a simple regex.


Having a Clear() method would be useful.

Nice.  I like it.  Having a Clear() method would be handy.  Resize too.

@joaoportela , would you accept a PR for Clear() (with associated unit tests, etc?)

Yes. I haven't got around to this yet, but a PR is much quicker.


Py3

Port code to Python3.
[nns] Add ResNet-50 NN model.
[NNDataflow] Share the same partition between input layer and external layers. For layered LSTMs, the number of external layers could be quite a few (e.g., 8). The complete combination of all partition choices of these external layers is too high to explore. So we assume all input and external layers share the same partition scheme.
[util] Allow both relative and absolute overheads in approx_dividable.
[LoopBlockingScheme] Bug fix to put weight-pinning code block after buffer sharing.

Coverage decreased (-0.09%) to 99.909% when pulling 5f66176d2939e4c36c103fd433f6a96133549e98 on Pingziwalk:py3 into 5ba0fb1ca1ebebe8aebd7b5a244c6b3bd65405e6 on stanford-mast:master.


Update Dockerfile to use Docker Hub Automated Builds

The NCTL image is built now in a single Dockerfile. This permits to set up a Build Rule in Docker Hub to automate the build each time there is a new casper-node version.

Thank you @ihor !


Ryan M: Watch freebitco.in/?r=\w++

Ryan M requests the watch of the watch_keyword freebitco\.in/\?r=\w++. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

freebitco\.in/\?r=\w++ has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Rejected by NobodyNada in Charcoal HQ. Reason: 'superseded'


Support Cosmos Networks

Is your feature request related to a problem? Please describe.
Support some popular Cosmos network. Please add support for Polygon.

[ ] Cosmos hub: https://hub.cosmos.network/main/hub-overview/overview.html
[ ] Terra 2.0: https://www.terra.money/
[ ] Terra Classic:
[ ] Sei: https://www.seinetwork.io/
[ ] Osmosis: https://osmosis.zone/
[ ] Injective: https://injective.com/
[ ] Babylon: https://www.babylonchain.io/
[ ] Celestia: https://celestia.org/
[ ] Evmos: https://evmos.org/
[ ] OKT Chain: https://www.okx.com/oktc

Research is done. Integration plan will be updated later


question: why new bear metal go compiler?

I am curios why are you developing new go compiler for MCUs when there are already TinyGo project? Have you seen this project?

Hi, please check:
https://github.com/inversepath/tamago/wiki/Frequently-Asked-Questions-(FAQ)#how-does-tamago-differ-from-tinygo
Thanks


provide --allow-origins '*' for application http ingress

FTL currently provides  the --allow-origins '*' for the console. This is super helpful w.r.t not having to hand-roll CORS it would be awesome if a similar flag existed for application http ingress. maybe:

--console-allow-origins '*' for the console
--allow-origins '*' for app?

or keep --allow-origins as is for the console and introduce --ingress-allow-origins for app?

actually, it looks like AllowOrigins gets used for both the console and ingress servers, it just doesn't work for ingress at the moment:

console
ingress


Add Perfect Balance plugin

Tiny plugin to change the skill icon to be perfectly balanced, created for ThisIsLandon on YouTube (unbeknownst to him). It's probably not ideal.

Your config group needs to be something other than "Example".
Also, remove enabledByDefault = false. It confuses users when they install a plugin and then it's not enabled.

The repository link should go to the plugin repo, not your fork of the plugin hub.
Your config group needs to be something other than "Example".
Also, remove enabledByDefault = false. It confuses users when they install a plugin and then it's not enabled.

That's what I get for trying to rush through before leaving. Should all be fixed now.
Is there a way to remove the Config file? I am not using it but I didn't see anything about removing unused configs in the docs.

The repository link should go to the plugin repo, not your fork of the plugin hub.
Your config group needs to be something other than "Example".
Also, remove enabledByDefault = false. It confuses users when they install a plugin and then it's not enabled.

That's what I get for trying to rush through before leaving. Should all be fixed now.


use CairoMakie release

I should mention that scatter markers will be wrong here, because the marker offset is not respected.  I'll let you know when that's fixed (I have the fix, just need to merge it).


Implement admin email update

Closes #494
Overview
This PR implements the proper flow for an admin to update their email. Including the flow to verify the email before updating to the actual admin user.
Changes

Added UpdateEmailEmail template
Added new error code :invalid_email_update_token
Added UpdateEmailController
Added EWalletDB.Validator.validate_email/2
Added a migration and schema for EWalletDB.UpdateEmailRequest
Remove email update from /me.update
Added new OpenAPI specs for /api/admin/me.update_email and /admin.verify_email_update
Added missing tests for ForgetPasswordRequest

Implementation Details
This is pretty much the same flow as ForgetPasswordRequest, except that it tracks the email as well.
Usage
Use the following curl to request an email update:
curl <IP_ADDRESS>:4000/api/admin/me.update_email \
-H "Accept: application/vnd.omisego.v1+json" \
-H "Authorization: OMGAdmin <truncated>" \
-H "Content-Type: application/json" \
-d '{
  "email"<EMAIL_ADDRESS>  "redirect_url": "http://localhost:4000/update_email?email={email}&token={token}"
}' \
-v -w "\n" | jq

Then call the following endpoint with the token from above response:
curl <IP_ADDRESS>:4000/api/admin/admin.verify_email_update \
-X POST \
-H "Accept: application/vnd.omisego.v1+json" \
-H "Content-Type: application/json" \
-d '{
  "email"<EMAIL_ADDRESS>  "token": "<truncated>"
}' \
-v -w "\n" | jq

Impact
Run mix ecto.migrate after deployment.
Also new API specs for /api/admin/me.update_email and /admin.verify_email_update.

@T-Dnzt Updated. Please check again.


Function in session is called incorrectly in generated code

When a function is passed to a session and used as in this example:
package Test is

   type Length is range 0 .. 2 ** 24 - 1 with Size => 32;

   type Packet is
      message
         Length : Length
            then Payload
               with Size => Length * 8;
         Payload : Opaque;
      end message;

   generic
      Transport : Channel with Readable, Writable;
      with function Valid_Func return Boolean;
   session Session with
      Initial => Receive,
      Final => Error
   is
      Packet : Packet;
   begin
      state Receive
      is
         Valid : Boolean;
      begin
         Valid := Valid_Func;
         Transport'Read (Packet);
      transition
         then Send
            if Packet'Valid and Valid
         then Error
      end Receive;

      state Send
      is
      begin
         Transport'Write (Packet'(Length => 42 * 8,
                                  Payload => Packet'Opaque));
      transition
         then Receive
      exception
         then Error
      end Send;

      state Error is null state;
   end Session;

end Test;

the generated code expects a procedure but calls this procedure as if it was a function:
generic
   with function Transport_Has_Data return Boolean;
   with procedure Transport_Read (Buffer : out RFLX_Types.Bytes; Length : out RFLX_Types.Length);
   with procedure Transport_Write (Buffer : RFLX_Types.Bytes);
   with procedure Valid_Func (Valid_Func : out Boolean);
package RFLX.Test.Session with

...

   procedure Receive (State : out Session_State) with
     Pre =>
       Initialized,
     Post =>
       Initialized
   is
      Valid : Boolean;
   begin
      Valid := Valid_Func;
      declare
         procedure Test_Packet_Write is new Test.Packet.Write (Transport_Read);
      begin
         Test_Packet_Write (Packet_Ctx);
      end;
      Test.Packet.Verify_Message (Packet_Ctx);
      if
        Test.Packet.Structural_Valid_Message (Packet_Ctx)
        and then Valid
      then
         State := S_Send;
      else
         State := S_Error;
      end if;
   end Receive;

This leads to the following error:
rflx-test-session.adb:26:16: error: missing argument for parameter "Valid_Func" in call to "VALID_FUNC" declared at rflx-test-session.ads:19

I also noticed this recently. The issue seems to be that the parser doesn't recognize the expression "Valid_Func" as a call, but as a variable. So it generates "Obj := Valid_Func;" which would be correct if Valid_Func was a variable, instead of Valid_Func (Obj) which is needed if it's a function call.

While this is obviously a parser issue, I wonder whether we want to support this kind of usage. It implies that the function is either completely static or uses some undefined global state. I could imagine that this could cause some trouble in the generated SPARK code, too. @treiher, what do you think?

The parser is unable to differentiate a variable from a function call with no parameters, as both cases are syntactically identical. The semantics can be just determined after parsing during  semantic analysis (model generation).

I wonder whether we want to support this kind of usage. It implies that the function is either completely static or uses some undefined global state. I could imagine that this could cause some trouble in the generated SPARK code, too. @treiher, what do you think?

I think there are use cases for such functions, e.g., for supplying configuration values to the generated SPARK code.


Addition of Message Carbon support XEP-0280

Although XEP-0280 is experimental, several servers and clients support the protocol as a method of keeping conversation state synchronized.
This plugin simplifies enabling carbon support, and intercepts and handles messages that contain embedded carbons.

Thanks!


Target Encounter Futures?

Jay wrote on another thread:
"We started transitioning to a scheme where the current encounter was always in context, which eliminated the need for target_encounter in most cases. You can still set these attributes, but their use is deprecated, which is why references have been removed from the wiki."
I tried removing the target_encounters from Observation, Procedure, MedicationOrder and CarePlanStart states. A quick run yielded immediate failures. Surveying the existing modules indicates they are still in wide use.
As long as their use is still widespread and is still required, it seems premature to remove them from the documentation.
Jeff
Wellness Encounters.Record_Height [Observation] -> Wellness_Encounter
Wellness Encounters.Record_Weight [Observation] -> Wellness_Encounter
Wellness Encounters.Record_BMI [Observation] -> Wellness_Encounter
Wellness Encounters.Record_Systolic_BP [Observation] -> Wellness_Encounter
Wellness Encounters.Record_Diastolic_BP [Observation] -> Wellness_Encounter
Wellness Encounters.Record_HA1C [Observation] -> Wellness_Encounter
Wellness Encounters.Record_Glucose [Observation] -> Wellness_Encounter
Wellness Encounters.Record_UreaNitrogen [Observation] -> Wellness_Encounter
Wellness Encounters.Record_Creatinine [Observation] -> Wellness_Encounter
Wellness Encounters.Record_Calcium [Observation] -> Wellness_Encounter
Wellness Encounters.Record_Sodium [Observation] -> Wellness_Encounter
Wellness Encounters.Record_Potassium [Observation] -> Wellness_Encounter
Wellness Encounters.Record_Chloride [Observation] -> Wellness_Encounter
Wellness Encounters.Record_CO2 [Observation] -> Wellness_Encounter
Wellness Encounters.Record_Cholesterol [Observation] -> Wellness_Encounter
Wellness Encounters.Record_Triglycerides [Observation] -> Wellness_Encounter
Wellness Encounters.Record_LDL [Observation] -> Wellness_Encounter
Wellness Encounters.Record_HDL [Observation] -> Wellness_Encounter
Wellness Encounters.Record_ACR [Observation] -> Wellness_Encounter
Wellness Encounters.Record_EGFR [Observation] -> Wellness_Encounter
Allergy Immunotherapy.Immunotherapy_Procedure [Procedure] -> Immunotherapy_Treatment
Appendicitis.Appendectomy [Procedure] -> Appendectomy_Encounter
Asthma.Asthma_Screening [Procedure] -> Asthma_Diagnosis
Attention Deficit Disorder.Behavior_Treatment_Procedure [Procedure] -> Behavior_Treatment_Encounter
Colorectal Cancer.Routine_Colonoscopy_Procedure [Procedure] -> Routine_Colonoscopy_Encounter
Colorectal Cancer.Fecal_Test [Procedure] -> Routine_Colonoscopy_Encounter
Colorectal Cancer.Adenoma_Removal [Procedure] -> Routine_Colonoscopy_Encounter
Colorectal Cancer.Adenoma_Biopsy [Procedure] -> Routine_Colonoscopy_Encounter
Colorectal Cancer.Followup_Colonoscopy_Procedure [Procedure] -> Followup_Colonoscopy_Encounter
Colorectal Cancer.Recurrent_Adenoma_Removal [Procedure] -> Followup_Colonoscopy_Encounter
Colorectal Cancer.Diagnostic_Colonoscopy_Procedure [Procedure] -> Diagnostic_Colonoscopy_Encounter
Colorectal Cancer.Partial_Colectomy_Procedure [Procedure] -> Partial_Colectomy_Encounter
Colorectal Cancer.Diverting_Colostomy_Procedure [Procedure] -> Diverting_Colostomy_Encounter
Colorectal Cancer.Chemotherapy_Procedure [Procedure] -> Chemotherapy_Encounter
COPD.Initial_FEV_Test [Procedure] -> DiagnosisEncounter
COPD.Followup_FEV_Test [Procedure] -> COPD_Followup_Encounter
COPD.Lung_Transplant [Procedure] -> Surgery_Encounter
COPD.Lung_Volume_Reduction [Procedure] -> Surgery_Encounter
COPD.Pulmonary_Rehab [Procedure] -> COPD_Followup_Encounter
Lung Cancer.Chest X-Ray [Procedure] -> Diagnosis Encounter I
Lung Cancer.Chest CT Scan [Procedure] -> Diagnosis Encounter II
Lung Cancer.Sputum Cytology (Phelgm) [Procedure] -> Diagnosis Encounter III
Lung Cancer.Thoracentesis (Fluid) [Procedure] -> Diagnosis Encounter III
Lung Cancer.Needle Biopsy (Cells) [Procedure] -> Diagnosis Encounter III
Lung Cancer.Bronchoscopy (Tube) [Procedure] -> Diagnosis Encounter III
Lung Cancer.MRI Brain [Procedure] -> Diagnosis Encounter IV
Lung Cancer.SCLC Radiation [Procedure] -> SCLC Treatment Encounter
Lung Cancer.NSCLC Radiation [Procedure] -> NSCLC Treatment Encounter
Medication Reconciliation.Med_Rec [Procedure] -> Wellness_Encounter
Opioid Addiction.Enter_Directed_Use_Procedure1 [Procedure] -> Enter_Directed_Use_Encounter1
Pregnancy.Pregnancy_Test [Procedure] -> Prenatal_Initial_Visit
Pregnancy.Induction [Procedure] -> Hospital_Admission_For_Birth
Pregnancy.Epidural [Procedure] -> Hospital_Admission_For_Birth
Pregnancy.Augmentation [Procedure] -> Hospital_Admission_For_Birth
Pregnancy.Episiotomy [Procedure] -> Hospital_Admission_For_Birth
Pregnancy.Assisted_Delivery [Procedure] -> Hospital_Admission_For_Birth
Pregnancy.Spontaneous_Breech [Procedure] -> Hospital_Admission_For_Birth
Pregnancy.Normal_Birth_Procedure [Procedure] -> Hospital_Admission_For_Birth
Pregnancy.Premature_Birth_Procedure [Procedure] -> Hospital_Admission_For_Birth
Pregnancy.Induced_Birth_Procedure [Procedure] -> Hospital_Admission_For_Birth
Pregnancy.Ectopic_Pregnancy_Surgery_Procedure [Procedure] -> Ectopic_Pregnancy_Surgery_Encounter
Pregnancy.Induced_Abortion_Procedure [Procedure] -> Induced_Abortion_Encounter
Self Harm.Psychiatric_Evaluation [Procedure] -> ED_Visit_For_Attempted_Suicide
Self Harm.Short_Hospital_Stay [Procedure] -> ED_Visit_For_Attempted_Suicide
Self Harm.Followup_Psychiatric_Evaluation [Procedure] -> Attempted_Suicide_Followup
Self Harm.Autopsy_Examination [Procedure] -> Autopsy_Encounter
Sinusitis.Sinus_Surgery [Procedure] -> Chronic_Sinusitis_Followup
Sore Throat.Throat_Culture [Procedure] -> Doctor_Visit
Total Joint Replacement.Knee_Replacement_Procedure [Procedure] -> Joint_Replacement_Encounter
Total Joint Replacement.Hip_Replacement_Procedure [Procedure] -> Joint_Replacement_Encounter
Asthma.Prescribe_Maintenance_Inhaler [MedicationOrder] -> Asthma_Diagnosis
Asthma.Prescribe_Emergency_Inhaler [MedicationOrder] -> Asthma_Diagnosis
Attention Deficit Disorder.Ritalin [MedicationOrder] -> ADHD_Diagnosis
Attention Deficit Disorder.Strattera [MedicationOrder] -> ADHD_Diagnosis
Colorectal Cancer.Chemotherapy_Drugs_I [MedicationOrder] -> Chemotherapy_Encounter
Colorectal Cancer.Chemotherapy_Drugs_II [MedicationOrder] -> Chemotherapy_Encounter
COPD.Prescribe_Medication [MedicationOrder] -> COPD_Followup_Encounter
Dementia.FirstPrescription1 [MedicationOrder] -> DiagnosisEncounter
Dementia.FirstPrescription2 [MedicationOrder] -> DiagnosisEncounter
Dementia.FirstPrescription3 [MedicationOrder] -> DiagnosisEncounter
Dementia.SecondPrescription1 [MedicationOrder] -> ModeratelySevere_Encounter
Dementia.SecondPrescription2 [MedicationOrder] -> ModeratelySevere_Encounter
Dementia.SecondPrescription3 [MedicationOrder] -> ModeratelySevere_Encounter
Fibromyalgia.Strong_NSAID [MedicationOrder] -> Fibromyalgia_Diagnosis
Fibromyalgia.Prescribe_Lyrica [MedicationOrder] -> Fibromyalgia_Episode
Fibromyalgia.Prescribe_Cymbalta [MedicationOrder] -> Fibromyalgia_Episode
Fibromyalgia.Prescribe_Savella [MedicationOrder] -> Fibromyalgia_Episode
Fibromyalgia.Prescribe_Opioid [MedicationOrder] -> Fibromyalgia_Episode
Gout.Strong_NSAID [MedicationOrder] -> Gout_Diagnosis
Gout.Colchicine [MedicationOrder] -> Gout_Diagnosis
Gout.Uric_Acid_Reducer [MedicationOrder] -> Gout_Diagnosis
Lung Cancer.SCLC Chemotheraphy I [MedicationOrder] -> SCLC Treatment Encounter
Lung Cancer.SCLC Chemotheraphy II [MedicationOrder] -> SCLC Treatment Encounter
Lung Cancer.NSCLC Chemotheraphy I [MedicationOrder] -> NSCLC Treatment Encounter
Lung Cancer.NSCLC Chemotheraphy II [MedicationOrder] -> NSCLC Treatment Encounter
Lupus.Lupus_Nonopioid_Pain_Medication [MedicationOrder] -> Lupus_Diagnosis
Lupus.Corticosteroid [MedicationOrder] -> Lupus_Diagnosis
Lupus.Immune_Suppressant [MedicationOrder] -> Lupus_Flareup
Lupus.Flareup_Corticosteroid [MedicationOrder] -> Lupus_Flareup
Opioid Addiction.Directed_Use_Prescription1 [MedicationOrder] -> Enter_Directed_Use_Encounter1
Opioid Addiction.Directed_Use_Prescription2 [MedicationOrder] -> Enter_Directed_Use_Encounter2
Opioid Addiction.Directed_Use_Prescription3 [MedicationOrder] -> Enter_Directed_Use_Encounter3
Osteoarthritis.OA_Pain_Medication [MedicationOrder] -> OA_Diagnosis
Rheumatoid Arthritis.RA_Nonopioid_Pain_Medication [MedicationOrder] -> RA_Diagnosis
Rheumatoid Arthritis.DMARD [MedicationOrder] -> RA_Diagnosis
Rheumatoid Arthritis.Corticosteroid [MedicationOrder] -> RA_Diagnosis
Sinusitis.Prescribe_Antibiotic [MedicationOrder] -> Doctor_Visit
Sore Throat.Prescribe_Antibiotics_Child [MedicationOrder] -> Doctor_Visit
Sore Throat.Prescribe_Antibiotics_Adult [MedicationOrder] -> Doctor_Visit
Urinary Tract Infections.Prescribe_UTI_Antibiotic [MedicationOrder] -> UTI_Diagnosis
Urinary Tract Infections.Prescribe_OTC_Painkiller_For_UTIs [MedicationOrder] -> UTI_Diagnosis
Urinary Tract Infections.Prescribe_Second_Round_Of_Antibiotics [MedicationOrder] -> Followup_Encounter
Allergy Immunotherapy.Immunotherapy_CarePlan [CarePlanStart] -> Immunotherapy_Consultation
Asthma.Smoker_CarePlan [CarePlanStart] -> Asthma_Diagnosis
Asthma.Nonsmoker_CarePlan [CarePlanStart] -> Asthma_Diagnosis
Attention Deficit Disorder.ADHD_CarePlan [CarePlanStart] -> ADHD_Diagnosis
Colorectal Cancer.Colorectal_Cancer_CarePlan [CarePlanStart] -> Oncologist_Encounter
Colorectal Cancer.Partial_Colectomy_CarePlan [CarePlanStart] -> Partial_Colectomy_Encounter
Colorectal Cancer.Diverting_Colostomy_CarePlan [CarePlanStart] -> Diverting_Colostomy_Encounter
COPD.Nonsmoker_CarePlan [CarePlanStart] -> DiagnosisEncounter
COPD.Smoker_CarePlan [CarePlanStart] -> DiagnosisEncounter
Dementia.Dementia_CarePlan [CarePlanStart] -> DiagnosisEncounter
Fibromyalgia.Fibromyalgia_CarePlan [CarePlanStart] -> Fibromyalgia_Diagnosis
Gout.Gout_CarePlan [CarePlanStart] -> Gout_Diagnosis
Lung Cancer.Lung_Cancer_CarePlan [CarePlanStart] -> Diagnosis Encounter IV
Lupus.Lupus_CarePlan [CarePlanStart] -> Lupus_Diagnosis
Opioid Addiction.Opioid_Addiction_CarePlan [CarePlanStart] -> Addiction_Overdose_Encounter
Osteoarthritis.OA_CarePlan [CarePlanStart] -> OA_Diagnosis
Pregnancy.Pregnancy_CarePlan [CarePlanStart] -> Prenatal_Initial_Visit
Rheumatoid Arthritis.RA_CarePlan [CarePlanStart] -> RA_Diagnosis
Self Harm.Suicide_CarePlan [CarePlanStart] -> Attempted_Suicide_Followup
Total Joint Replacement.Post_Op_CarePlan [CarePlanStart] -> Joint_Replacement_Encounter
Urinary Tract Infections.UTI_CarePlan [CarePlanStart] -> UTI_Diagnosis

As Jay mentioned, the target_encounter field is deprecated and can be removed safely. (the exception is ConditionOnset states where the target_encounter is in the future) The way we've implemented this is to track the current encounter within the Context running the module. When the running module hits an Encounter state, it maintains a reference to that state as the current encounter. Any subsequent clinical states such as Procedure, Observation, MedicationOrder, etc, occur during that encounter. Once the module hits an EncounterEnd state that current encounter is cleared out.  Every clinical state within our modules occurs following an Encounter so there should always be sufficient information to make the target_encounter field safe to remove.

AllergyOnset is in the wiki too. I tried removing the target_encounters from Observation, Procedure, MedicationOrder and CarePlanStart states but ran into problems. I'll try again.

Closing this because I've resolved my internal issues and ignoring the target_encounters is no longer a problem,


⚠ Bofrost.be has degraded performance

In 501331f, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1661 ms

Resolved: Bofrost.be performance has improved in afc74dd.


update hibernate

CVE-2017-7536

Hi Markus,
Could you look at why the tests are failing? It seems just bumping the dependency introduced errors.
Thanks,
Tian

@tnwang  added tomcat-el-api since I found
https://stackoverflow.com/questions/24386771/javax-validation-validationexception-hv000183-unable-to-load-javax-el-express
@tack-sap  ready to be merged, tomcat libs are only testcompile no new libraries added


Network flakiness

Describe the bug
I've been a Psst user for a while, thanks for your nice work on it.
Not sure if it's just me, but for the past few days I experience strange network behavior.
Unclear if this issue originates from Spotify's server/CDN story, or how Psst connects, or somewhere else.
Does anyone else have this issue?
Basically since ~Thursday March 9, when Psst tries to request from api.spotify.com, it gets Network Error: timed out reading response
Curiously if I use a VPN, this error doesn't occur and Psst connects as usual.
Meanwhile regardless of VPN, Spotify.app and https://open.spotify.com are working as usual.
I tried deleting the config.json and re-logging in, but unfortunately no change in Psst behavior.
To Reproduce
Open Psst.
Expected behavior
Psst should show default content (songs, playlists, etc)
Screenshots

Environment

OS: macOS
Version: 13.2.1 (22D68)

Additional context
Psst release is dated Feb 11

Happy to provide more logs/etc to help debug, just let me know.

I tried deleting the config.json and re-logging in, but unfortunately no change in Psst behavior.

Hello @onpaws have you also tried deleting the cache folder? That worked for me with a similar issue.

There is definitely some network flakiness, I've also seen it break in the midst of a VPN connection.

I tried deleting the config.json and re-logging in, but unfortunately no change in Psst behavior.

Hello @onpaws have you also tried deleting the cache folder? That worked for me with a similar issue.

Sounds like you may be suggesting the cache key(s) being somehow dependent on network status? Interesting.
I'll try that next time, thanks


Why router redirect without query params

Description
I need to go directly to the route with query params, like /login?verify-code=123456, but gridsome redirects to /login/ without query params
if I go directly to /login/?verify-code=123456, everything is fine
Steps to reproduce
create a page
go directly to this page with query params
Expected result
go to the page with query params
Actual result
query params disappears
Environment
System:
OS: macOS Mojave 10.14.6
CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Binaries:
Node: 10.16.3 - /usr/local/opt/nvm/versions/node/v10.16.3/bin/node
Yarn: 1.19.1 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/opt/nvm/versions/node/v10.16.3/bin/npm
Browsers:
Chrome: 80.0.3987.149
Firefox: 74.0
Safari: 13.1
npmPackages:
@gridsome/plugin-google-analytics: ^0.1.0 => 0.1.0
@gridsome/plugin-sitemap: ^0.2.3 => 0.2.3
gridsome: ^0.7.0 => 0.7.12
gridsome-plugin-manifest: ^0.3.4 => 0.3.4
gridsome-plugin-modal: ^0.1.1 => 0.1.1
gridsome-plugin-pug: ^0.0.3 => 0.0.3
gridsome-plugin-pwa: ^0.0.13 => 0.0.13
gridsome-plugin-robots: ^0.2.1 => 0.2.1

it turns out it's due to surge.sh


SoundDeviceStream overflow/underflow errors - Re visit!

OK have looked at #12, #269 and #272 (all closed) as I am getting the same error output and choppy audio output. Although these have all been closed, only #272 is marked as resolved (by guesswork?) but then a later post seems to suggest that maybe it wasn't. The issue does not seem fully resolved and I am hoping further info may have come to light since July to resolve the issue in a more scientific and conclusive way.
Using Raspberry Pi Model A running Raspbian GNU/Linux 8 (jessie) with Blue "Snowball" usb mic and powered speakers connected to 3.5mm jack output. Nothing other than Googlesample is running. I have also successfully used the same setup to run Google-Assistant-AIY and get flawless audio output so I don't believe the issue is audio hardware related.
(As before) Error output when running pushtotalk.py sample:
WARNING:root:SoundDeviceStream write underflow (size: 4000)
WARNING:root:SoundDeviceStream write underflow (size: 4000)
WARNING:root:SoundDeviceStream write underflow (size: 4000)
WARNING:root:SoundDeviceStream write underflow (size: 4000)
WARNING:root:SoundDeviceStream write underflow (size: 4000)
WARNING:root:SoundDeviceStream write underflow (size: 4000)
Have played with values in the audio_helpers.py file located at /home/pi/env/lib/python3.5/site-packages/googlesamples/assistant/grpc
Amended the file and changed the audio block size to 80000 and other values as suggested.
DEFAULT_AUDIO_SAMPLE_RATE = 16000
DEFAULT_AUDIO_SAMPLE_WIDTH = 2
DEFAULT_AUDIO_ITER_SIZE = 3200
DEFAULT_AUDIO_DEVICE_BLOCK_SIZE = 80000
DEFAULT_AUDIO_DEVICE_FLUSH_SIZE = 25600`
No improvement. symptoms stay the same. Does anyone have any more info about the SoundDeviceStream error or advice on how I can change the sample rate (if that is the problem). What does the size number indicate in the error message e.g (size: 4000)? NOTE I also tried changing the value of "DEFAULT_AUDIO_SAMPLE_RATE" but this did not change/remove the error.

UPDATE OK with a bit of tinkering I have managed to reduce the choppy audio out by commenting out code in audio_helpers.py that generates the warning message output for the underflow and overflow conditions. It seems that when an under/overflow condition is detected, logging.warning is outputting to the terminal (stdout?) and this is causing the audio playback to briefly be interrupted. You can still detect a slight choppiness in the audio out but it is considerably better than before. Ideally, instead of preventing the output of the warning messages, it would be much better to prevent the under/overflow conditions occurring in the first place!
Code snippet below shows the two logging.warning functions commented out in audio_helpers.py. This file is located at home/pi/env/lib/python3.5/site-packages/googlesamples/assistant/grpc on my setup.
    def read(self, size):
    """Read bytes from the stream."""
    buf, overflow = self._audio_stream.read(size)
    """if overflow:
        logging.warning('SoundDeviceStream read overflow (%d, %d)',
                        size, len(buf))"""
    return bytes(buf)

    def write(self, buf):
    """Write bytes to the stream."""
    underflow = self._audio_stream.write(buf)
    """if underflow:
        logging.warning('SoundDeviceStream write underflow (size: %d)',
                        len(buf))"""
    return len(buf)

I had a quick look at the source code (pushtotalk.py and audio_helpers.py).
I think the root cause for those problems is that the so-called "blocking" API of PortAudio is used, i.e. the .read() and .write() methods of streams. I don't like this API because of exactly those problems. That's why I only mention them shortly in the docs and I don't provide any example using them.
I don't know how to solve this issue while still using the .read() and .write() methods, but I have the feeling it is unnecessarily hard (if not impossible).
I think the best solution would be using a (single) stream with a callback function. But that would mean the whole audio part would have to be completely re-written. So I doubt this will ever happen ...


Need provisioning step-by-step guide

Provisioning is done in one of two ways:
Static (hard-wired in code) Provisioning
In this case, the programmer decides once and for all how a given CPU is going to be used. This is efficient but inflexible, and doesn't scale well, because all CPUs must be mentioned in a table. Still, for small projects this may be appropriate.

Determine the SAMD21 CPUID using a test program.
add the CPUID to SysEUI mapping in MCCI-Catena4410-Arduino-Library/src/lib/gk_WellKnownCpuBindings.cpp. This also defines the base platform to be used for this CPU.
For LoRaWAN provisioning, create the keys (on The Things Network, use the console or use the ttnctl command.
Copy the device-specific LoRaWAN keys to catena-lorawan-provisioning/extra/gk_lorawan_keys.project.cpp.

Dynamic (FRAM-based) Provisioining
If your platform contains a compatible FRAM chip (see, for example, the MCCI Catena 4450), you can dynamically provision your device using USB commands. There are two parts: setting up the FRAM so that the platform is correct, and setting up LoRaWAN.
Entering USB commands
USB provisioning commands are entered in the box at the top of the Arduino terminal. They can also be entered using any standard terminal program (e.g., TeraTerm). Commands are not echoed. Command lines may be terminated with carriage return or line feed.
The command parser will reply with one or more lines of text, separated by newline (line-feed) characters. The last line will either be "OK" (indicating success) or ? followed by an error code (for failure). If you get no response, you should assume that the command has not been executed.
The echo command can be used to check that the command parser is functioning. If you enter the command echo hello world, the program should display:
hello world
OK

Note: your terminal program might display something like:
hello world
                 OK

In this case, you should adjust the terminal program settings so that it displays "linefeed" as "cr-lf" or "newline".
Setting up the platform
If you're using a Feather M0 LoRa with added FRAM, use the sketch Catena4450m101_sensor1 to get started. Download it, and boot. The debug print will complain about not being configured. Don't worry yet.

Determine the 64-bit SysEUI that you will use. If you don't have an IEEE OUI, you can generate a valid random SysEUI using https://github.com/things-nyc/random-eui64.
Enter the following command in the Arduino terminal (using the input box at the top of the terminal screen).
system configure syseui yoursyseui
(Change yoursyseui to the SysEUI you selected in step 1.)
If you want your program to wait for USB before proceeding, say
system configure operatingflags 0
Otherwise, if you want your program to boot up without waiting for USB, say
system configure operatingflags 1
Determine the platform GUID that best describes your system hardware configuration. For the Catena 4450 M101, use:
system configure platformguid 82BF2661-70CB-45AE-B620-CAF695478BC1
For the Catena 4450 M102, use
system configure platformguid 2281255E-AC5C-48CB-A263-9DC890D16638

Once the platform is set up, you don't have to change it unless you complete reset the FRAM contents.
Provisioning for LoRaWAN and The Things Network
This provisioning should be repeated whenever the network keys change.  Both OTAA and ABP configuration are possible, however, we strongly recommend OTAA, and we leave application of ABP to the interested user.

Use the procedure defined by your LoRaWAN network to assign a DevEUI, AppEUI and AppKey. MCCI recommends setting DevEUI the same as your SysEUI, but this is not mandatory; your network provider may require that you follow a different procedure. Also, if you're replacing a broken device, it may make sense to reuse the old DevEUI.
Load the DevEUI using the following command:
lorawan configure deveui thisDevEUI
(Change thisDevEUI to the value determined in step 1.)
Load the DevEUI using the following command:
lorawan configure appeui myAppEUI
(Change myAppEUI to the value determined in step 1.)
Load the AppKey using the following command:
lorawan configure appkey thisAppKey
(Change thisAppKey to the value determined in step 1.)  Very important: don't use the same AppKey value for multiple devices, or you'll compromise the security of your device!
Set OTAA mode:
lorawan configure join 1
Restart the Arduino.  (Unfortunately, this has to be done manually.)

Reprovisioning
Reprovisioning is the same as provisioning, but you should add teh following commands to make sure all prior state is reset:
lorawan configure nwkskey 0
lorawan configure appskey 0
lorawan configure devaddr 0
lorawan configure netid 0

Then continue with provisioning as given above.

@terrillmoore some dissonence between the updated readme and information provided here. For example, I was unable to complete the LoRaWAN provisioning section successfully--couldn't get my device registered to my application. However, once I found this issue, specifically the "Reprovisioning" section at the end of this issue, I entered in
lorawan configure nwkskey 0
lorawan configure appskey 0
lorawan configure devaddr 0
lorawan configure netid 0

And then the serial monitor went into a loop of EV_TXSTART, EV_TXSTART, etc.
Then I git cloned your random sysEUI generator here into my project dir, ran:
cc random-eui.c
./a.out

and grabbed the generated sysEUI printed in my terminal window. You reference it as a potential devEUI above, so on the TTN console I was able to change the devEUI there, and use the command from the above:
system configure syseui yoursyseui

in my serial monitor in atom via platformIO (which could be done in any terminal with cli installed):
pio device monitor --port /dev/cu.usbmodem1421 --baud 115200

then I ran through the LoRaWAN Provisioning commands from the README.md using the generated sysEUI as my devEUI, and now I'm finally seeing packets hitting my backend on TTN console.
This is a bit of a debug dump (sorry). I'm make a pull on your README, and hopefully you can cherry pick somethings that are useful to help people out.
Thanks for your support, excited to have the Catena4450 up and running via TTN.

Another quick thing to consider adding into the README.md is the payload decoder option in the TTN console.
I dropped your code from your Catena message decoder for TTN into my decoder function on the TTN console and now I have lovely human readable data to view without converting hex in my brain - which I can't do thaaaaat well at this point anyway.

Hm, the info here is better than some of the info in the README.md. Leaving this open in hopes that I'll remember to update the README. But we need to split up this repo (keep 4410 separate from 4450, etc.)


separate words, unify acronym style

Some formatting fixes.

Funnily enough, this page is covered in the docs training @kennethgillen - the content is generated from server properties and edits made directly in the docs page will just be overridden next time the autogen job is run.
You'll need to open these changes against the code repo instead - see for example https://github.com/openmicroscopy/openmicroscopy/pull/4656


dhcpd6 PD Auto tracking additons

Does not use dhcp6c mods. uses existing functions to determine the PD length available.

merged, thanks!


Design and UX feedback

From Code for Boston!
Hi there, my name is Mohan Wang and there are some suggestions for this website.
First of all, when I tried to back to the home page, the only way is click go back button. So I suggest add a navigation bar on the top of every page, and there are Home, Profile, or some other kinds of category in this bar. In this way, users can go to any page they want very quickly.
Secondly, for the search bar. Users can type in the students' name in this bar, but for other kind of thing it does not work. For example, I tried to type in Level 7, it could not show anything for me. I would like to use the search bar to search anything I want, that would be very helpful I think.
Third, for the student's profile page. Each box about the information which "2015-2016" and "2014-2015",  all of those show me too much detail, I mean they look very long in a page. I suggest you could add an up or down arrows in the blue area, so users can open or close each box very easily. In this way, designers can make the page very clear.
Fourth, in the room page. When I tried to move my mouse on the student's name and the information after the name, it jumped to different pages, and made me very confused. I suggest add a small tip when users move their on the different area in this page. For example, when users move mouse on student's name, the tip shows "go to Profile", or when users move the mouse on the information after the name, the tip shows "go to Home". And also I have a second solution, which is the color of name and the information after the name is different, so users could know they maybe have different function.
All in all, in my opinion, I think the good user experience is never let users guess what is the function for a bar/button or where is the button I am looking for. And also make the page very clear. I like this website's visual design, the color is friendly. Hopefully my suggestions could help you improve the website.
BTW, if you have more questions or anything, I would like to hear the feedback from you :)
^ this was all from Mohan, thanks so much for the input :) - @kevinrobin

Hi there,
This is Mohan again :) Here are some suggestions for the charts.
First, most hints of the "Student scores, all the time" are very clear. The only issue I found out is there is no number on the coordinate axis. For example, the axis Y should have 0-100, so users can see the results very fast. And in this way, the number on the axis Y can help users understand the meaning about the number "-67 to 11". And also the same issue in the "Student progress, since last assessment".
Second, when I took a look on this chart, I'm not sure which line is the median change line. I confused about the black line and the blue line, I don't know the meaning of both of them. I guessed maybe one of them is zero line. I suggest note the "0" under the black line, so that will be very clear.
Third, for the "Group quartiles each period, all-time" chart, OMG, this is very beautiful, however, forgive me please, the first time when I look at this chart, I totally lost. I have to let Kevin give me some hints so I could guess what is the meaning of the lines. I suggest you could note some tips for the chart, for example, the name for axis Y and axis X. And also the tip box under the chart, such as the high line meaning, the middle line meaning, the green points meaning, etc. So users can understand the chart very quickly.
Thanks :)

Thanks for this detailed feedback Mohan!

Mohan, this is great thanks!  I added a note to your feedback on the charts to https://github.com/studentinsights/studentinsights/issues/2, which we'll probably focus on more next month.
Here's thoughts on your other points:

for navigation, @erose awesomely made the logo clickable here: https://github.com/studentinsights/studentinsights/pull/81.  Additional navigation might be useful, but hasn't come up at all in user testing so we'll wait to learn more for now.
the search bar improvements are great, but probably out of scope for now.  we're really focused only on the use case of "I know a student's name and I want to jump directly to their profile."  I fixed the bug related to typing full names that came up last night in https://github.com/studentinsights/studentinsights/pull/85
for the long vertical column of information, we're working to improve that in the profile v2 page, tracked here: https://github.com/studentinsights/studentinsights/issues/5
Making the mouse interactions consistent between the overview and classroom roster pages is a great idea, I added a separate issue to do that here: https://github.com/studentinsights/studentinsights/issues/88

Since you're not on Github, I'll ping you with an update over email, and will close out this larger feedback issue.  Thanks again for your feedback, and please let us know if you have any other thoughts!


BTF fixes

Make sure we support LLVM generated names which aren't valid C idents.

Also, fix a bug which resulted in failure to load maps->

bpf(BPF_MAP_CREATE, {map_type=BPF_MAP_TYPE_PERF_EVENT_ARRAY, key_size=4, value_size=4, max_entries=24, map_flags=0, inner_map_fd=0, map_name="ingress_node_fi", map_ifindex=0, btf_fd=11, btf_key_type_id=6, btf_value_type_id=6, btf_vmlinux_value_type_id=0, map_extra=0}, 144) = -1 ENOTSUPP (Unknown error 524)

Specifically it is the same fix deployed by libbpf, more information can be found here https://github.com/libbpf/libbpf/issues/355

@dave-tucker  I picked up a commit you had from https://github.com/dave-tucker/aya/tree/program-from-pinned

@alessandrod I broke out the other commit into it's own PR, I will still work on this one ^^ but the other is more pressing ATM
see -> https://github.com/aya-rs/aya/pull/512

@astoycos I'm going to close this one since it only applies to Rust programs with BTF using my ancient branch of bpf-linker. @vadorovsky has a branch of bpf-linker which actually fixes the LLVM debug info, which is the better approach IMHO.


🐛 Error when switching branches

Describe the issue that you're seeing. Any Loom videos or screenshots usually help a lot!
Getting the GraphQL mismatch error when changing branches sometimes.

Figure: Error

Figure: logs look ok
Reproduction
https://github.com/SSWConsulting/SSW.Website-v3
Steps to reproduce
I cannot reproduce this problem consistently.

Create new branch
Change to branch
See error... Sometimes

Would be great to get some more info on what this error means to help debug it on our end
System Info
System:
    OS: macOS 13.3.1
    CPU: (8) x64 Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz
    Memory: 98.19 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.14.0 - ~/.nvm/versions/node/v18.14.0/bin/node
    Yarn: 3.5.1 - ~/Developer/SSW/SSW.Website-v3/node_modules/.bin/yarn
    npm: 9.3.1 - ~/.nvm/versions/node/v18.14.0/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 113.0.5672.126
    Firefox: 113.0.1
    Safari: 16.4
  npmPackages:
    @tinacms/cli: ^1.5.14 => 1.5.14
    tinacms: ^1.5.6 => 1.5.6

Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug.

Hi @JackDevAU,
As per our discussion, @jimmidier has experienced this issue again and so we are reopening the issue.

@JackDevAU,
Further to this issue, during my investigation yesterday with @jimmidier, TinaCloud was returning the correct schema but it appeared that the built site was stuck with the main branch schema. After build, rather than using the TinaCloud schema as a check, should we just trust that the TinaCloud-provided schema is the correct one?

Hey all,
Following a conversation with @jeffsee55. The primary challenge stems from the lack of a migration tool which would handle schema changes.
To address this issue, the migration tool would need to:

Manage schema updates
Ensure content aligns with the updated schema
Provide better error messages when a schema/content mismatch occurs and can't be auto resolved

Currently, any changes to the schema must be made directly on the "main" branch to maintain a 1:1 alignment between the schema and the content. Without this alignment, resolving fields with GraphQL will fail.
This means that if changes to the schema are made in a separate branch, they won’t be able to build those changes on TinaCloud.


Create all pages on website based on site map

Overview
We want to create all pages on the website based on the site map to make it easier for developers to start working on pages and prevent error links.
Action Items
Product

[x] Discuss with Jonathan to see if this is feasible
[x] Make decision on page naming conventions and what holding pages should display
[ ] Make a list of all pages to be created

Resources/Instructions
Site Map
Reference #128

Product has decided that we will not use dashes in the url and tag-generator needs to be renamed to reflect this.

Product has decided that we will not use dashes in the url and tag-generator needs to be renamed to reflect this.

Recommendation is to update the site map (https://github.com/civictechindex/CTI-website-frontend/issues/180) nail down architecture of actual pages to build in site.  In addition, I recommend to be consistent in labeling. For example, is the home page the join page? A prototype would also be great to understand the flow and behaviors.

Recommendation is to update the site map (https://github.com/civictechindex/CTI-website-frontend/issues/180) nail down architecture of actual pages to build in site.  In addition, I recommend to be consistent in labeling. For example, is the home page the join page? A prototype would also be great to understand the flow and behaviors.

Dependency #68

Dependency #68

Developers have a reference list of pages #128


Fix playback NullReferenceException for Playback

Adding withRequest() to PlaybackClient when returning mock response to fix NullReferenceException

Before, when using the playback mode in tests, it would throw a null reference exception because the "request" was not set. HttpResponseBodyDecoder.java#L386 throws this.

Can one of the admins verify this patch?


Issue with umap-learn in R session

Hi,
I have trouble to get the umap-learn Python package to work within Rstudio, and I always got this warning message when my codes used the package.
thanks,
Mei
Here is the detail warning messages:
library(reticulate)
use_condaenv(condaenv="Renv", conda="/home/geru1/anaconda3/bin/conda")
library(umap)
iris.data = iris[, grep("Sepal|Petal", colnames(iris))]
iris.umap_learn = umap(iris.data, method="umap-learn")
Warning message:
In detect.umap.learn(config) :
cannot recognize umap-learn version 0.4.3; set umap_learn_args manually
/home/xxxx/anaconda3/envs/Renv/lib/python3.7/site-packages/umap/spectral.py:4: NumbaDeprecationWarning: No direct replacement for 'numba.targets' available. Visit https://gitter.im/numba/numba-dev to request help. Thanks!
import numba.targets
Here is the umap config info:

iris.umap_learn$config
umap configuration parameters
n_neighbors: 15
n_components: 2
metric: euclidean
n_epochs: 200
input: data
init: spectral
min_dist: 0.1
set_op_mix_ratio: 1
local_connectivity: 1
bandwidth: 1
alpha: 1
gamma: 1
negative_sample_rate: 5
a: NA
b: NA
spread: 1
random_state: 757410806
transform_state: NA
knn_repeats: 1
verbose: 0
umap_learn_args: n_neighbors n_components metric n_epochs init min_dist spread set_op_mix_ratio local_connectivity negative_sample_rate a b random_state verbose
method: umap-learn
metric.function: [function]
umap_learn_version: 0.4.3

Here is my platform info from sessionInfo()

sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux Server release 6.10 (Santiago)

Matrix products: default
BLAS/LAPACK: /usr/prog/OpenBLAS/0.2.8-gompi-1.5.14-NX-LAPACK-3.5.0/lib/libopenblas_nehalemp-r0.2.8.so
locale:
[1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base
other attached packages:
[1] umap_<IP_ADDRESS>    reticulate_1.16
loaded via a namespace (and not attached):
[1] compiler_3.5.0  Matrix_1.2-8    tools_3.5.0     rappdirs_0.3.1  yaml_2.2.0
[6] Rcpp_1.0.0      RSpectra_0.15-0 grid_3.5.0      jsonlite_1.3    openssl_0.9.6
[11] lattice_0.20-34

I believe that the numba related message is just a warning and everything should still work; the other issue looks like it may be an R interaction which I am afraid I am not qualified to say much about.

This worked for me:
library(reticulate)
use_condaenv(condaenv="conda_env_name")

umap = import('umap')

# If you have trouble importing umap, you can give the full path like this:
#umap = import_from_path('umap','/path/to/umap')
iris.data = iris[, grep("Sepal|Petal", colnames(iris))]

mapper = umap$UMAP()
mapper$fit(X=iris.data)
reduced=mapper$transform(iris.data)
plot(reduced,col=iris$Species)

I maintain the R package you are using, @mei2000.
In short - you can ignore the 'cannot recognize umap-learn version' warning in this case. The warning appears as a precaution because the installed version of umap-learn is newer than the R package, but the warning will go away with a new version of the R package.
For more background - The R package loaded via library(umap) includes two separate implementations, one of which is a wrapper for umap-learn. At core, the wrapper performs the operations written out by @radinplaid. It also performs some book-keeping and needs to know which of the R arguments should be passed to the python library. The warning appears because the umap-learn version is higher than what the R package expects. The run-time behavior in this scenario is to make a guess and proceed, which in this case succeeds (the call doesn't use any arguments specific to umap-learn 0.4.3).
I updated the R package to support the new python library. You can start using the updated version by re-installing from github devtools::install_github("tkonopka/umap"), or by re-installing the package in a few days from CRAN. Having said that, the solution by @radinplaid is also worth considering if you are not using the other features in the R package.

Hi Imcinnes,
I just installed umap from github, and the warning message is gone.  Thank you for your help.
Best,
R
From: Tomasz Konopka<EMAIL_ADDRESS>Reply-To: lmcinnes/umap<EMAIL_ADDRESS>Date: Saturday, June 6, 2020 at 3:18 AM
To: lmcinnes/umap<EMAIL_ADDRESS>Cc: "Ge, Robin"<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [lmcinnes/umap] Issue with umap-learn in R session (#440)
I maintain the R package you are using, @mei2000https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_mei2000&d=DwMCaQ&c=ZbgFmJjg4pdtrnL2HUJUDw&r=gJyRJMT77Ocx04AusJOp_Y12i6_6vDEfcqJOkvhC_14&m=YBijHmPngRdWnyFMQQ56PIXVjmEDhL0oLO18qM-5RVw&s=xOo1XbLwT8MXgRokNDxH6VcJpUigewLbxsg10MR7QJ0&e=.
In short - you can ignore the 'cannot recognize umap-learn version' warning in this case. The warning appears as a precaution because the installed version of umap-learn is newer than the R package, but the warning will go away with a new version of the R package.
For more background - The R package loaded via library(umap) includes two separate implementations, one of which is a wrapper for umap-learn. At core, the wrapper performs the operations written out by @radinplaidhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_radinplaid&d=DwMCaQ&c=ZbgFmJjg4pdtrnL2HUJUDw&r=gJyRJMT77Ocx04AusJOp_Y12i6_6vDEfcqJOkvhC_14&m=YBijHmPngRdWnyFMQQ56PIXVjmEDhL0oLO18qM-5RVw&s=1LxWcSWvzMKxbppjzjOv1EIZPjyTEhO6Br8NL7_kpAY&e=. It also performs some book-keeping and needs to know which of the R arguments should be passed to the python library. The warning appears because the umap-learn version is higher than what the R package expects. The run-time behavior in this scenario is to make a guess and proceed, which in this case succeeds (the call doesn't use any arguments specific to umap-learn 0.4.3).
I updated the R package to support the new python library. You can start using the updated version by re-installing from github devtools::install_github("tkonopka/umap"), or by re-installing the package in a few days from CRAN. Having said that, the solution by @radinplaidhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_radinplaid&d=DwMCaQ&c=ZbgFmJjg4pdtrnL2HUJUDw&r=gJyRJMT77Ocx04AusJOp_Y12i6_6vDEfcqJOkvhC_14&m=YBijHmPngRdWnyFMQQ56PIXVjmEDhL0oLO18qM-5RVw&s=1LxWcSWvzMKxbppjzjOv1EIZPjyTEhO6Br8NL7_kpAY&e= is also worth considering if you are not using the other features in the R package.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_lmcinnes_umap_issues_440-23issuecomment-2D640001668&d=DwMCaQ&c=ZbgFmJjg4pdtrnL2HUJUDw&r=gJyRJMT77Ocx04AusJOp_Y12i6_6vDEfcqJOkvhC_14&m=YBijHmPngRdWnyFMQQ56PIXVjmEDhL0oLO18qM-5RVw&s=AznOp4-WHF0_UONlshZIkQFQO9xi9TzK7JFTuAgZE0s&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AHZZK2G4T6CS5IKIPAVO2JDRVHUT7ANCNFSM4NS6J2LQ&d=DwMCaQ&c=ZbgFmJjg4pdtrnL2HUJUDw&r=gJyRJMT77Ocx04AusJOp_Y12i6_6vDEfcqJOkvhC_14&m=YBijHmPngRdWnyFMQQ56PIXVjmEDhL0oLO18qM-5RVw&s=Fy1uuU3cYzeghEDodOrZj41LzTwj5x4i_fJCMbOtwCY&e=.


fix SS keys not returning data

data never returned for SS, fixing it
fixing data.append(item) indentation

Thanks


Set commitOnChange prop for relevant fields in core Hoist components

In particular I think this new prop introduced in #316 would make sense and reduce confusion in admin rest editor forms + login panel.
Right now fields must be blurred to update "validation" and save/login button status.

👍


Java hashCode implementation

I am using rust_swig to generate Java for my classes. I need to be able to check equality between instances of the class in Java, so I need to override their .hashCode and .equals functions. Normally there are code generators to do this, but they do not work for the Java being generated. Do you know of an easy way to implement these functions for the generated classes?

@giarc3

Normally there are code generators to do this, but they do not work for the Java being generated. Do you know of an easy way to implement these functions for the generated classes?

For now you have to add to each class this manualy:
foreign_class!(
class Foo {
self_type Foo;
constructor Foo::new(val: i32, name: &str) -> Foo;
...
foreign_code r#"
  public boolean equals(Object obj) {
    boolean equal = false;
    if (obj instanceof Foo)
      equal = (((Foo)obj).mNativeObj == this.mNativeObj);
    return equal;
  }
  public int hashCode() {
     return (int)mNativeObj;
  }
"#;
);

I will think about how to automate this in the future release.

Thank you for the quick response.
A solution like you posted would be great, as I'm currently forced to implement something like:
public boolean equals(Object obj) {
        if(obj instanceof PolicyGrant){
            PolicyGrant pg = (PolicyGrant) obj;
            return pg.getCategory().equals(this.getCategory()) &&
            pg.getSensitivity().equals(this.getSensitivity()) &&
            pg.getDataSubject().equals(this.getDataSubject()) &&
            pg.getSubstituteId().equals(this.getSubstituteId());
        }
        return false;
    }

Unfortunately, what I am looking for is content comparison, and I believe the code you posted is for address comparison. That is, I want two instances of the object which both hold the same information to be considered equal.
Do you have any suggestions or ways to achieve this without my current manual implementation?

@giarc3

That is, I want two instances of the object which both hold the same information to be considered equal

You can just use your Rust "equal" implementation directly (I mean PartialEq trait):
#[derive(PartialEq)]//!<--- so just generate eq method automatically
struct Foo { ... }

foreign_class!(
class Foo {
    self_type Foo;
    constructor ...;

    private fn Foo::eq(&self, o: &Foo) -> bool; alias rustEq;
foreign_code r#"
  public boolean equals(Object obj) {
    boolean equal = false;
    if (obj instanceof Foo)
      equal = ((Foo)obj).rustEq(this);
    return equal;
  }
  public int hashCode() {
     return (int)mNativeObj;
  }
"#;
});

That's an excellent solution. Thank you very much!

Using this implementation, all of my foreign_classes have very similar implementations for equals and hashCode, with the only difference being the class name. I would like to be able to use a declarative macro to avoid copying code, but I believe that the java expansion is done by the build script before macro expansion, causing it to fail compiling. Is that correct?
Do you know of a way that I could make the macros expand before attempting to generate the java code?

Do you know of a way that I could make the macros expand before attempting to generate the java code?

I suppose you can do it, but it would be much of efforts.
There is other way I suppose. You can just write a little of Rust code.
You still need add fn Foo::eq to foreign_class manually,
but all other things you can generate. Just add code after rust_swig::Generator::expand to traverse all Java generated code and add suitable functions into java files.

In future I may be add some extension point for rust swig, like
foreign_class!(
#[derive(RustSwigClassExtension)] //<--- HERE
class Foo {
...

and in build.rs you can register callback with name RustSwigClassExtension,
that recieve class info (like name, methods lists and so on),
so you add some code into generated code with less efforts,
but this design need more thought.

I implement rough interface for this https://github.com/Dushistov/flapigen-rs/blob/473bd3d5cc809005dd440a13e2c54b293327d706/jni_tests/build.rs#L35


Error calling getActiveLoansAdvanced() function

Hello,
I recently notice that calling getActiveLoansAdvanced(from, to, true, true) it revert with the following reason
if I call this function untill reach 21 it doesnt fail, but when it pass 21 start with this error.
getActiveLoansAdvanced(0, 21, true, true) -> Works
getActiveLoansAdvanced(0, 300, true, true) -> Fails
Error: cannot estimate gas; transaction may fail or may require manual gas limit (error={"code":-32000,"response":"{\"jsonrpc\":\"2.0\",\"id\":20,\"error\":{\"code\":-32000,\"message\":\"execution reverted\"}}\n"}, method="call", transaction={"from":"my address","to":"0xD8Ee69652E4e4838f2531732a46d1f7F584F0b7f","data":"0xc43b962f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001","accessList":null}, code=UNPREDICTABLE_GAS_LIMIT, version=providers/5.4.3)     at Logger.makeError (C:\Users\anon\bzx\node_modules\@ethersproject\logger\lib\index.js:187:21)     at Logger.throwError (C:\Users\anon\bzx\node_modules\@ethersproject\logger\lib\index.js:196:20)     at checkError (C:\Users\anon\bzx\node_modules\@ethersproject\providers\lib\json-rpc-provider.js:118:16)     at WebSocketProvider.<anonymous> (C:\Users\anon\bzx\node_modules\@ethersproject\providers\lib\json-rpc-provider.js:633:47)     at step (C:\Users\anon\bzx\node_modules\@ethersproject\providers\lib\json-rpc-provider.js:48:23)     at Object.throw (C:\Users\anon\bzx\node_modules\@ethersproject\providers\lib\json-rpc-provider.js:29:53)     at rejected (C:\Users\anon\bzx\node_modules\@ethersproject\providers\lib\json-rpc-provider.js:21:65)     at processTicksAndRejections (internal/process/task_queues.js:97:5) {   reason: 'cannot estimate gas; transaction may fail or may require manual gas limit',   code: 'UNPREDICTABLE_GAS_LIMIT',   error: Error: execution reverted       at WebSocketProvider._this._websocket.onmessage (C:\Users\anon\bzx\node_modules\@ethersproject\providers\lib\websocket-provider.js:123:33)       at WebSocket.onMessage (C:\Users\anon\bzx\node_modules\ws\lib\event-target.js:132:16)       at WebSocket.emit (events.js:314:20)       at Receiver.receiverOnMessage (C:\Users\anon\bzx\node_modules\ws\lib\websocket.js:834:20)       at Receiver.emit (events.js:314:20)       at Receiver.dataMessage (C:\Users\anon\bzx\node_modules\ws\lib\receiver.js:437:14)       at Receiver.getData (C:\Users\anon\bzx\node_modules\ws\lib\receiver.js:367:17)       at Receiver.startLoop (C:\Users\anon\bzx\node_modules\ws\lib\receiver.js:143:22)       at Receiver._write (C:\Users\anon\bzx\node_modules\ws\lib\receiver.js:78:10)       at doWrite (_stream_writable.js:403:12) {     code: -32000,     response: '{"jsonrpc":"2.0","id":20,"error":{"code":-32000,"message":"execution reverted"}}\n'   },   method: 'call',   transaction: {     from: 'my address',     to: '0xD8Ee69652E4e4838f2531732a46d1f7F584F0b7f',     data: '0xc43b962f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001',     accessList: null   } }
Thank you for your time

actually there is an issue with BZRX loan as collateral. when there is no collateral left. we plan to fix this

I need help


[OPENENGSB-2379] use correlationID in JMS-port

I changed JMSIncomingPort to use the jms-reply-to field and correlation-id
the the old style did not apply to the well know jms request/reply pattern (see http://activemq.apache.org/how-should-i-implement-request-response-with-jms.html)
I'd really appreciate to see the core of the patch in the mainline as I need this for my project
sorry for the fucked up formatting although it applies to the check style rules ...

I do not like how you like messages. I neither like that the client need to set the correlation ID. IMHO the client can either use the autogenerated message-id and search for it in the correlationId field or he can set it's own. But setting an own correlation ID on client side is simply wrong...

see e.g. http://otndnld.oracle.co.jp/document/products/wls/docs103/javadocs/dotnetclient/weblogic-jms-dotnet-api-10.3-sp0-rp0/WebLogic.Messaging.IMessage.JMSCorrelationID.html

execpt for that problem and various minor formatting errors (sorry for pointing them out but this makes it harder than necessary to read the pull request, quite good work!

kk; I'll give it a shot today. Thx
Kind regards,
Andreas
On Tue, Dec 13, 2011 at 05:39, Tobias Hochwallner <
<EMAIL_ADDRESS>
wrote:

ping ;)

Reply to this email directly or view it on GitHub:
https://github.com/openengsb/openengsb-framework/pull/621#issuecomment-3118770

OK, another word at setting the correlation ID on the client side. It seams that this is not very often done manually but sometimes it is required. Therefore I propose the following behavior: if the correlationId is set use it on the server side (set it back into the new message; otherwise we use the messageId). WDYT?

ping?

Thx. Pls ping me once I can review it.
Send from my mobile. Please excuse the brevity and/or possible auto
correction errors.
On Dec 16, 2011 9:59 PM, "Tobias Hochwallner" <
<EMAIL_ADDRESS>wrote:

Yes sounds good. I will change this.

Reply to this email directly or view it on GitHub:
https://github.com/openengsb/openengsb-framework/pull/621#issuecomment-3182554

Hey Tobi, I would really like to include this, but I would need the latest changes/comments included. Thx

sorry for the delay
I pushed my changes even though I had problems with the pre-push script (different unrelated tests are failing!?)

Thx. I'll give it a shot
On Jan 5, 2012 7:48 PM, "Tobias Hochwallner" <
<EMAIL_ADDRESS>wrote:

sorry for the delay
I pushed my changes even though I had problems with the pre-push script
(different unrelated tests are failing!?)

Reply to this email directly or view it on GitHub:
https://github.com/openengsb/openengsb-framework/pull/621#issuecomment-3375233


Setting up GitHub Actions

[ ] Auto-deploy sur NPM
[ ] Auto-deploy sur NPM (GitHub)

The auto-deployement workflow is triggered on new release.
I've also added auto-testing with Node versions: 12.x, 14.x, 16.x, 17.x.