poi-ci #23 failed

Build 'poi-ci' is failing!
Last 50 lines of build output:
[...truncated 408 lines...]
 ---> 60db93dd4554
Successfully built 60db93dd4554
Successfully tagged openhackff78acr.azurecr.io/jenkins/api-poi:poipr23
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (push)
[Pipeline] sh
+ docker push openhackff78acr.azurecr.io/jenkins/api-poi:poipr23
The push refers to repository [openhackff78acr.azurecr.io/jenkins/api-poi]
dac8e2a331a9: Preparing
5c3a9a18579e: Preparing
b29986f25fdb: Preparing
b116468880ac: Preparing
57bda236ae67: Preparing
ef68f6734aa4: Preparing
ef68f6734aa4: Waiting
b116468880ac: Layer already exists
5c3a9a18579e: Layer already exists
57bda236ae67: Layer already exists
dac8e2a331a9: Layer already exists
b29986f25fdb: Layer already exists
ef68f6734aa4: Layer already exists
poipr23: digest: sha256:eb529fcf7ba7fb49d313fb9a733ba636d2c46b74c01cee3d19ff0fc078469ccf size: 1577
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Helm Install)
[Pipeline] sh
+ export KUBECONFIG=/home/jenkins/.kube/config
[Pipeline] sh
+ helm version --client
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
[Pipeline] sh
+ helm version
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] echo
Post Build Results
[Pipeline] script
[Pipeline] {
[Pipeline] properties
[Pipeline] }
[Pipeline] // script
[Pipeline] step

Changes since last successful build:

[hattan shobokshi] 4b82011405a7707fa0ab7e897000daf25ab9bbae - added tests to trips dockerfile

[hattan shobokshi] de85fb92aa0a53ca9d65ee5cd2d10afb01aa295f - added local path to go test command for trips

[hattan shobokshi] 72228b5d84b2512c3c72a2a938610e95cb9c8554 - updated to trips dockerfile for unit testing

[hattan shobokshi] 73cfe9a4dc270efd6218669b9c4b23962e1a0e71 - adding post build issue notifier to trips jenkins files

[hattan shobokshi] 88dd079fbdffb93a947ce21665458d4a22a7c066 - modified user-java dockerfile to add tests and github notifier for

[hattan shobokshi] bafd980f7b26be2cecd95478da274ea9d57652ee - adding tests to userprofile dockerfile and build notifier to

[hattan shobokshi] 0858130a2d219614313c6222305173f6350efc43 - added poi helm upgrade

[hattan shobokshi] 3ef735e5019261a83f880db2cb92e0fea867fd01 - poi-jenkins file . adding steps to help install stage

View full output

Build 'poi-ci' is failing!
Last 50 lines of build output:
[...truncated 115 lines...]
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (push)
[Pipeline] sh
+ docker push openhackff78acr.azurecr.io/jenkins/api-poi:poipr24
The push refers to repository [openhackff78acr.azurecr.io/jenkins/api-poi]
dac8e2a331a9: Preparing
5c3a9a18579e: Preparing
b29986f25fdb: Preparing
b116468880ac: Preparing
57bda236ae67: Preparing
ef68f6734aa4: Preparing
ef68f6734aa4: Waiting
b29986f25fdb: Layer already exists
dac8e2a331a9: Layer already exists
57bda236ae67: Layer already exists
5c3a9a18579e: Layer already exists
b116468880ac: Layer already exists
ef68f6734aa4: Layer already exists
poipr24: digest: sha256:eb529fcf7ba7fb49d313fb9a733ba636d2c46b74c01cee3d19ff0fc078469ccf size: 1577
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Helm Install)
[Pipeline] sh
+ export KUBECONFIG=/home/jenkins/.kube/config
[Pipeline] sh
+ helm version --client
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
[Pipeline] sh
+ helm version
Client: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.11.0", GitCommit:"2e55dbe1fdb5fdb96b75ff144a339489417b146b", GitTreeState:"clean"}
[Pipeline] sh
+ helm upgrade --install api-poi /var/lib/jenkins/workspace/poi-ci/apis/poi/helm --namespace default --set repository.image=openhackff78acr.azurecr.io/jenkins/api-poi --set repository.tag=jenkins-poi-ci-24 --set rollingUpdate.maxUnavailablePercentage=0% --set rollingUpdate.maxSurgePercentage=10% --set env.webServerBaseUri=http://akstraefikopenhackff78.eastus.cloudapp.azure.com --set ingress.rules.endpoint.host=http://akstraefikopenhackff78.eastus.cloudapp.azure.com
Error: UPGRADE FAILED: Ingress.extensions "api-poi-mydrive-poi" is invalid: spec.rules[0].host: Invalid value: "http://akstraefikopenhackff78.eastus.cloudapp.azure.com": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] echo
Post Build Results
[Pipeline] script
[Pipeline] {
[Pipeline] properties
[Pipeline] }
[Pipeline] // script
[Pipeline] step

Changes since last successful build:

[hattan shobokshi] 4b82011405a7707fa0ab7e897000daf25ab9bbae - added tests to trips dockerfile

[hattan shobokshi] de85fb92aa0a53ca9d65ee5cd2d10afb01aa295f - added local path to go test command for trips

[hattan shobokshi] 72228b5d84b2512c3c72a2a938610e95cb9c8554 - updated to trips dockerfile for unit testing

[hattan shobokshi] 73cfe9a4dc270efd6218669b9c4b23962e1a0e71 - adding post build issue notifier to trips jenkins files

[hattan shobokshi] 88dd079fbdffb93a947ce21665458d4a22a7c066 - modified user-java dockerfile to add tests and github notifier for

[hattan shobokshi] bafd980f7b26be2cecd95478da274ea9d57652ee - adding tests to userprofile dockerfile and build notifier to

[hattan shobokshi] 0858130a2d219614313c6222305173f6350efc43 - added poi helm upgrade

[hattan shobokshi] 3ef735e5019261a83f880db2cb92e0fea867fd01 - poi-jenkins file . adding steps to help install stage

No changes
View full output

Build was fixed!


Relationships window broke

Appears there's an issue in window_character.gui as it works fine if I delete that file.

'onclick = "[CharacterWindow.SetTab('relations')]"' <-- Fix


refactor: Code with dependencies_required decorator

Refactor Code to Use dependencies_required Decorator for Dependency Checks
Motivation
To simplify the code and improve maintainability, we should use the dependencies_required decorator for dependency checks. This avoids repetitive import and error handling code.
Solution
I have refactored the code to replace manual dependency checks with the dependencies_required decorator and passed all required tests

For example:
Original Code
try:
    import neo4j
except ImportError:
    raise ValueError(
        "Could not import neo4j python package. "
        "Please install it with `pip install neo4j`."
    )

# Function that uses neo4j
def some_function():
    pass

Refactored Code
@dependencies_required('neo4j')
def some_function():
    import neo4j  # This is safe now since the decorator ensures the dependency is installed
    pass

I reviewed the failed tests, and they all relate to connection errors caused by the OpenAI API. However, all tests passed successfully in my local environment when I ran pytest test. I'm unsure how to resolve these test failures on GitHub, as it seems the OpenAI API is expected to be a developer's local environment variable.

I reviewed the failed tests, and they all relate to connection errors caused by the OpenAI API. However, all tests passed successfully in my local environment when I ran pytest test. I'm unsure how to resolve these test failures on GitHub, as it seems the OpenAI API is expected to be a developer's local environment variable.

Hey @Zheng-Lu , no worries, it's because your this PR is submitted from your repo which doesn't add api keys required. I have added you into CAMEL org so you can create new branch in CAMEL repo directly next time, thanks for the contribution!


Can't install SpotifyXP

Hi, I am running Windows XP SP2 in Dutch. (see screenshot)

JAVA_HOME is correctly configured in environment variables, and Python, Java & Maven are in PATH.
I was able to init and build SpotifyXP.jar but when I execute java -jar SpotifyXP.jar I get:
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/spotifyxp/Initiator : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown_Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoaderş1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown_Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

I eventually found the precompiled .jar file, but that gave me the same error. When I run it on my Windows 11 laptop, the installer opens.
I have installed Java 7, Python 3.4.4 and Apache Maven 3.9.9.
Do I need to upgrade to SP3 or what should I do?

Nevermind, I figured out how to install Java 8 (I had to use the .msi installer, the .exe installer doesn't work).

I want to support Java 7 some time in the future but that wouldn't need a big rewrite


[BUG/ISSUE] Clicking show more info toolbar icon doesn't display error message

https://github.com/martinet101/WingetUI/commit/014c9a3e347dba14c41fa5e96f6a4e46f36508de error message is not shown for Local PC packages (nothing happens)

Is there any error shown on the log?

Is there any error shown on the log?
For me the dialog still works

Really? I've tried on both Windows 10 and Windows 11 and I don't get this error message when I click Local PC packages:

It used to work in https://github.com/ppvnf/WingetUI/tree/patch-27

This seems to be fixed in 1.5.1 beta

I think it might be related with the issues on the admin dialog (that were reported by the error report)


Added automatic each serializer

Summary

Added conditional to detect if activemodelseriazers is present and use the serializers defined for the models

Issue
Solves #47

          1 Error

:no_entry_sign:
Please put back the * Your contribution here. line into CHANGELOG.md.

          1 Warning

:warning:
Unless you’re refactoring existing code or improving documentation, please update CHANGELOG.md.

Here's an example of a CHANGELOG.md entry:
* [#56](https://github.com/Wolox/wor-paginate/pull/56): Added automatic each serializer - [@hdf1986](https://github.com/hdf1986).

  Generated by :no_entry_sign: Danger

          1 Error

:no_entry_sign:
CHANGELOG.md needs to be changed

  Generated by :no_entry_sign: Danger


⚠ Bofrost.at has degraded performance

In 44531d2, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1323 ms

Resolved: Bofrost.at performance has improved in 34d0fc1 after 6 minutes.


Be aware of database and schema

This PR allows to details sync_map per database and per schema. As roles are global to cluster, it's pretty useless.

Codecov Report

Merging #41 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #41   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           6      6
  Lines         525    546   +21
=====================================
+ Hits          525    546   +21

Impacted Files
Coverage Δ

ldap2pg/role.py
100% <ø> (ø)
:arrow_up:

ldap2pg/config.py
100% <100%> (ø)
:arrow_up:

ldap2pg/manager.py
100% <100%> (ø)
:arrow_up:

ldap2pg/utils.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Unexpected end of script for very big transaction

When restoring a testnet wallet, I kept getting the following exception, which prevented me from restoring the wallet:
ERROR [JavaFX Application Thread] c.s.s.w.WalletForm [null:-1] Error retrieving wallet history
com.sparrowwallet.drongo.protocol.ProtocolException: Unexpected end of script
	at com.sparrowwallet.drongo/com.sparrowwallet.drongo.protocol.Script.parse(Unknown Source)

Message in wallet:
Error loading transactions: Unexpected end of script

From my debugging, it seems this is caused by txid d2041eb9ae42969ca9437b3a225ec88750321485acb426b2a5db7d651e2155da (1 of 20,000 multisig) at path m/84'/1'/0'/0/19.
Xpub:
vpub5YVHy2Rnk6cLGRfJLkq6fNgDb45eJHh9U6nNjMqAg9qXU4EW6Bj5REk1NgusJymoQHnPE87d5kNB8r9CPGARRLW9jj7XjQiZ3pFuZbN6p6G

Edit: as a suggestion, the wallet could skip problematic transactions (printing a warning) and continue syncing.
PS: the wallet has premix, postmix and bip47 transactions, but not sharing the xpubs since those are loaded correctly.

The issue here is that the script in the transaction is actually not valid. Most of the large script is a repetition of the bytes 2103ff27279c2e8aaf6f8cf7f92172e9979be1bdb53bc74085c905be00319cd5c0c7 but at the very end of the script, the bytes 4e71ae appear.
This is OP_PUSHDATA4 (0x4e) which should be followed by 4 bytes of data. In this case, there are only 2 bytes (0x71ae), making the script technically invalid. I'm actually surprised this was allowed - it seems some degree of leniency is allowed.
Given this it makes sense for Sparrow to have some leniency as well. From https://github.com/sparrowwallet/drongo/commit/a8df17ff5eb906cf1d929f978fdad34bb244ce55, Sparrow will continue with transaction parsing if an invalid OP_PUSHDATA opcode is found, using whatever part of the script it has managed to parse before this point.


rename Future::select to Future::race

Both JS and reactive streams use race for what we call select. So perhaps we should consider following suit.
This is after feedback from @withoutboats that the name may not be right.

I like this name Future::race. It's familiar to me, than select.

I'll update #405 with this change.

While I agree that race is a good name, I would not use familiarity and the JS API as an argument.
The reasoning is mainly that this requires the user to have a specific context (either being from the JS world or knowing the specifics of select vs race). We should also somehow make sure that people searching select may also find race.

Related (here I talked about select! but it also applies to select()): https://github.com/rust-lang-nursery/futures-rs/issues/760#issuecomment-522719159

We should also somehow make sure that people searching select may also find race.

I believe we could mention "select" in the docs of race() and then it would pop when searching for "select" in rustdoc.

This was closed by https://github.com/async-rs/async-std/pull/405.


refactor: fix broken wait_for_file due to missing EOF in file

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

failed to remove this in https://github.com/Azure/AgentBaker/commit/2533aac35b0be6b97e23e3cfcb4cbcd0d8411975#diff-4f9504893023c819ba00993d7db2a80f9883ef64f249e6e61b06d18094f3d425R316


UI: Score filter closes when you drag the slider

Describe the bug
Score filter closes when you drag the slider outside the select screen
To Reproduce
Steps to reproduce the behavior:

Go to dataset
Click on prediction / Score
Drag the slider outside of the dropdown
Filter closes

Expected behavior
Mantain opened the filter
Environment (please complete the following information):

OS [e.g. iOS]:
Browser [e.g. chrome, safari]:
Argilla Version [e.g. 1.0.0]:
ElasticSearch Version [e.g. 7.10.2]:
Docker Image (optional) [e.g. argilla:v1.0.0]:

Fixed in #1822


Usage through zerotier VPN

Is your feature request related to a problem? Please describe.
I did not manage to use nixos-anywhere on a host that can only be reached via a zerotier VPN
Describe the solution you'd like
Apply the host's configuration to the kexec installer, so that the installer can be reached through the VPN
Additional context
I have tried to apply my hosts nixos configuration to the installer via this nixos module that I import into the hosts config:
anywhere-installer.nix:
{extendModules, inputs, lib, ...}: let
  extendedNixos = extendModules {
    modules = [
      (inputs.nixos-images + /nix/kexec-installer/module.nix)
    ];
  };
in {
  system.build.anywhereVm = extendedNixos.config.system.build.vm;
  system.build.anywhereInstaller =
    lib.mkForce extendedNixos.config.system.build.kexecTarball;
}

... and then use nixos-anywhere like this:
nix run github:numtide/nixos-anywhere -- --flake .#my-machine<EMAIL_ADDRESS>--kexec $(nix build .#nixosConfigurations.my-machine.config.system.build.anywhereInstaller --print-out-paths)/*

... but the machine did not join the zerotier network. Not sure why. I could not debug this further as this was a remote machine.
It would be nice to have a VM test for the full nixos-anywhere installation. As of now there is only one for the formatting AFAIK.
Being able to test custom installers would be important, because when trying on a real host there is always only one shot unti the machine is stuck.

That will not be visible with the current design because we use the nixos VM test framework that has no access to the internet.


Add resources to dApp section

dApp section has only two resources but it can be improved. Add more resources.

I can try adding resources to this. If Okay assign it to me !

I am participating in Hacktoberfest 2023, Can I get this issue assigned?

Sure. Go on work on this.


[PERFSCALE-3282] [RFE] Jetlag L3 deployments

Test and document jetlag L3 deployments.
Considering two scale lab allocations (with and without public vlans) (cloud x and cloud y), it should be possible to deploy cloud y from a bastion in cloud x leveraging jetlag.
This could potentially be helpful for several scenarios, including extending BM CPT to other clouds without the need of requesting additional network permissions.
Ideally, test SNO, MNO and ZTP deployments.

[x] MNO
[ ] SNO
[ ] ZTP

https://issues.redhat.com/browse/PERFSCALE-3282

So far, MNO deployments have been successfully tested.
Cloud31 rdu3 deployed in cloud19 rdu3 w/o issues using the following vars.yml:
[root@m42-h01-000-r760 ansible]# grep -vE "#|^$" vars/all.yml
---
lab: performancelab
lab_cloud: cloud19
cluster_type: mno
worker_node_count: 2
ocp_build: "ga"
ocp_version: "latest-4.16"
networktype: OVNKubernetes
public_vlan: false
enable_fips: false
ssh_private_key_file: ~/.ssh/id_rsa
ssh_public_key_file: ~/.ssh/id_rsa.pub
pull_secret: "{{ lookup('file', '../pull_secret.txt') }}"
bastion_cluster_config_dir: /root/{{ cluster_type }}
smcipmitool_url:
bastion_lab_interface: eno3
bastion_controlplane_interface: eno1
bastion_vlaned_interface: ens7f1
setup_bastion_gogs: false
setup_bastion_registry: false
use_bastion_registry: false
controlplane_lab_interface: eno3
controlplane_pub_network_cidr:
controlplane_pub_network_gateway:
jumbo_mtu: false
rwn_lab_interface: eno1np0
rwn_network_interface: ens1f1

FYI there shouldn't be any rwn vars anymore as Remote Worker node cluster functionality was removed.


CI is currently failing

https://github.com/hdl/conda-prog/runs/3798528658?check_suite_focus=true
Completed jobs: 21. Jobs overall: 24
Completed jobs: 21. Jobs overall: 24
Completed jobs: 21. Jobs overall: 24
Completed jobs: 22. Jobs overall: 24
Completed jobs: 22. Jobs overall: 24
Completed jobs: 23. Jobs overall: 24
Completed jobs: 24. Jobs overall: 24
Error: Process completed with exit code 1.

https://github.com/hdl/conda-prog/runs/3798641890?check_suite_focus=true
   tools/openocd: -  Installing..
   -------------------------------------------------------------------

  Downloading and Extracting Packages

  openocd-0.11.0_418_g |            |   0%

  openocd-0.11.0_418_g |            |   0%
  PathNotFoundError: /Users/runner/work/conda-prog/conda-prog/workdir/conda-env/conda-bld/osx-64/openocd-0.11.0_418_g918811529-20210923_083448.tar.bz2

  Error: Process completed with exit code 1.

Fixed by https://github.com/hdl/conda-prog/commit/72c20080bb5aef3338fa1f289da39328d28e2671


GCC bin dir on path

It has apparently become necessary to push gcc bin dir to path when building sysimg. fix #29

Hi dhoegh,
How did you add the path to Julia? I added in the window path but it seems does not work. The path is seen when I use path in cmd.
Thanks.

Thank you! To those of us who are new to the Julia ecosystem, how do we get this update?

Got it. Works. Thanks!


Scroll offset is wrong when changing header height while scrolling

When changing the fixed header while scrolling (e.g. onScrollIn/Out of elements) the offset is calculated in a wrong way which leads to a wrong scroll position.

Change animate() function so that it uses the most recent value of the scrollers offset (which can be set using scrollIn/Out from outside) in order to use the correct header height as offset during the scroll animation.

Change animate() function so that it uses the most recent value of the scrollers offset (which can be set using scrollIn/Out from outside) in order to use the correct header height as offset during the scroll animation.


Use flag PackageManager.MATCH_ALL to search all Android browsers

Potential fix for #58.
The existing implementation only queries for the default browser when pulling app candidates with the ACTION_VIEW intent.  For example, if Samsung's "Internet" browser application (running Chromium 44) is set as default, even with Chrome installed, isAvailable() will return false.  This change more closely aligns with the comment on line 75

Looks legit, thx!

@EddyVerbruggen thanks for merging so quickly! If you have any time today, releasing a new version/point release with this fix would be hugely appreciated.

Available from npm in version 1.4.7 now 💥

Awesome :)
Thank you so much!
On Mar 23, 2017, 1:28 PM -0500, Eddy Verbruggen<EMAIL_ADDRESS>wrote:

Available from npm in version 1.4.7 now 💥
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


Hope to support Chinese language

I am from China, thank you very much for open source,Hope to support Chinese language

You can change the Spoken language to Chinese (zh) on Settings-Audio if what you need is Chinese voice input.

You can change option of the Spoken language to Chinese (zh) or so in Settings-Audio if what you need is Chinese voice input.
no,I just want the page copy to support Chinese


OpenHome Player support seems to be missing

What version of Music Assistant has the issue?
2.0.4
What version of the Home Assistant Integration have you got installed?
2024.5.4
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
I have an OpenHome player that I wanted to use with MusicAssistant. It works fine when controlled through the regular MediaPlayer widget. However I can't add anything to it when using Music Assistant. I guess this might be more related to the OpenHome AddOn than MusicAssistant itself but I don't know where to start debugging the issue.
How to reproduce
Have an OpenHome player. Try playing basically anything. Notice it is not doing so.
Turning it on and off, however, works fine.
Music Providers
Tidal, Radio
Player Providers
OpenHome (Home Assistant provider)
Full log output
No response
Additional information
No response
What version of Home Assistant Core are your running
2024.5.4
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Generic x86-64 (e.g. Intel NUC)

I don’t know what this is exactly. Google says it is a piece of software? If so use Snapcast to play to your computer instead. Only minimal support will be provided for HA players where this is a native MA alternative.

This is a protocol used by Linn players, among others. It has an integration with Home Assistant just doesn't allow me to play anything from Music Assistant's Library.
How can I create a native OpenHome integration for MA then?

Do you see in the logs of your music-assistant addon anything like that?

How can I create a native OpenHome integration for MA then?

Have a look at the dev docs, come and ask questions in the dev player providers diacord channel.
https://github.com/music-assistant/music-assistant.github.io/blob/main/docs/developer-docs/dev-docs.md

I am closing this as it is a feature request. If you can provide a PR to add support that would be great otherwise open a feature request in the discussions area and we will see what support it gets


Add Extension CNN-HPO to documentation

This PR adds another extension to the list of community extensions. I would add to the page https://asreview.readthedocs.io/en/latest/extensions/overview_extensions.html. This extension and its description are written by @BartJanBoverhof . The extension in question is https://github.com/BartJanBoverhof/asreview-cnn-hpo.
On top of that; this PR uncomments two ASReview extensions, that were previously hidden.

Thanks!


Can I save the rendered image as an svg image?

Is there a way to get the rendered .svg image?
I want to insert the .svg images rendered by the plugin into the .md file so that my document has better compatibility.
For example, I can more easily post on my blog or use the advanced slides plugin to create slides.

Yes, you can press Ctrl+Shift+I to open the developer tools. Then use Inspect Element and hover over the svg image in order to obtain the <svg> content in the HTML.

Thx!

Note: on Mac you need ⌥ option + ⌘ command + I  to toggle developer tools

Would it be feasible to add an export button to the tikz code blocks that would save the svg?


[CR Android] Set path to json file from gradle and/or from in app

Device: xx
OS version: xx
SDK version: 9.8.0
[Android] Google Play Services version: 9.8.0

Step 3: Describe the problem:
We have multiple flavor dimensions which should point to separate Firebase projects & environments.
Sadly the way json files are set via flavors/dimensions really clutters our file structure. It would be really helpful for us if we could set the environments from the gradle build process and/ or even better from the code.
Use case:
Debug   com.app.firebase.debug <-- Firebase Test project
Beta       com.app.firebase  <-- Firebase Test project
Prod       com.app.firebase  <-- Firebase prod project
Of course imagine you have 3-4 countries and the complexity of json files maintenance gets even bigger.
Also this would resolve the breakage of builds where flavors do not use FCM but fail due to missing json file.
Thanks

@originx it wouldn't be possible to set from code since all of the configuration from the json file happens even before the project Java code is compiled (happens during gradle configuration).
I am going to close this issue since it does not have to do with this quickstart repo, but I will forward your feedback to the team.
Also could you describe how having "3-4 countries" would complicate things?  Are you using one Firebase project for each country?

Thank you for the response,
This is oversimplified example of multiple dimensions that we have issues with:
flavorDimensions 'payed', 'country', 'api'
bleeding {
   dimension 'api'
   minSdkVersion 21
}
compat {
   dimension 'api'
   minSdkVersion 16
}
payed {
   dimension 'payed'
}
free {
   dimension 'payed'
}
germany {
   dimension 'country'
}
italy {
   dimension 'country'
   ....
}
mexico {
   dimension 'country'
   ....
}
unitedStates {
   dimension 'country'
   ....
}

You would end up with flavors:
debug
release
main
germany
mexico
...
freeItalyCompat
freeItalyBleeding
freeGermany
freeGermanyCompat
freeGermanyBleeding
freeMexico...
payedGermanyCompat
payedGermanyBleeding
....

We have 2 Firebase projects, reason for this is to avoid accidentally pushing a "hello world notification" from DEV, QA or anyone to millions of users on Production
TEST firebase project
-debug builds com.package.app.debug
-release builds /for QA, Beta testers com.package.app
PROD firebase project
-live production com.package.app
This means beta and prod package names overlap, have same package name and the only thing they differ in is environment endpoints and configs.
Problems we have:
-we need to put a json config file in empty flavor folders so we can compile properly(even for flavors that SHOULD not include/use Firebase), you need a dummy JSON file
-we would need an extra dimension for production, internal test so we can put json files in those extra folders, the complexity of the project structure complexity would be increased immensely
What would be good to have:
Ability to configure file locations via gradle build configs, for example in flavor definitions:
// override this with -PisProduction=true to create publishable release builds
ext.isProduction = project.hasProperty("isProduction") ? ext.isProduction.toBoolean() : false

germany {
    if(isProduction){
     //noFirebase=true  used if flavor should not have firebase at all
       firebaseJsonFile = "../firebaseGermanyProd"
      }else{
           firebaseJsonFile = "../firebaseGermany"
      }
}

This would remove the overhead of unneeded files immensely and also you could disable firebase for flavors that are not needed
Since we have an enterprise project this would really help us control it more and keep it cleaner.
I will open a feature request on the following site with this content, just wanted to put it here for reference also:
https://firebase.google.com/support/contact/bugs-features/

If you only have two JSON files, what happens if you just put them in app/src/free and app/src/payed and then don't put them in all those other folders?  I believe that should work, and then for example freeGermany would use the one in free and payedGermany would use the one in payed.

Please see comment, it does not work: https://github.com/googlesamples/google-services/issues/54#issuecomment-204587543
for that issue, but in the end suggestion to place it so its:
germany {
if(isProduction){
//noFirebase=true  used if flavor should not have firebase at all
firebaseJsonFile = "../firebaseGermanyProd"
}else{
firebaseJsonFile = "../firebaseGermany"
}
}
would resolve everyones issues I believe and it is cleaner since more control is on the dev side

@samtstern this does not work, you get  an error about not being able to find google-services.json

This works:
def getCurrentFlavor() {
    Gradle gradle = getGradle()
    String  tskReqStr = gradle.getStartParameter().getTaskRequests().toString()

    Pattern pattern;

    if( tskReqStr.contains( "assemble" ) )
        pattern = Pattern.compile("assemble(\\w+)(Release|Debug)")
    else
        pattern = Pattern.compile("generate(\\w+)(Release|Debug)")

    Matcher matcher = pattern.matcher( tskReqStr )

    if( matcher.find() )
        return matcher.group(1).toLowerCase()
    else
    {
        println "NO MATCH FOUND"
        return "";
    }
}

productFlavors {
        beta {
            dimension 'releasetype'
            applicationIdSuffix 'beta'

            def currentFlavor = getCurrentFlavor()
            println "Flavor: " + currentFlavor

            if(currentFlavor.contains("beta")) {
                println "Using Beta google-service.json"
                copy {
                    from 'src/beta/'
                    include '*.json'
                    into '.'
                }
            }
        }
        prod {
            dimension 'releasetype'
            def currentFlavor = getCurrentFlavor()
            println "Flavor: " + currentFlavor

            if(currentFlavor.contains("prod")) {
                println "Using Production google-service.json"
                copy {
                    from 'src/prod/'
                    include '*.json'
                    into '.'
                }
            }
        }


Can't access onTap method like TextField

Awesome plugin! Thanks
How can I access the onTap method like it is used in Text Field? Is it possible?
I want to list some suggestions if the user taps the autocomplete search field.

I've solved it via:
                onFocusChanged: (bool focues) => {                   if (true)                     {                       _autoCompleteKey.currentState.filteredSuggestions =                           suggestions                     }                 },


Move react to peerDependencies

closes #14

https://github.com/animakit/animakit-expander/commit/3febe42417cbe12a5ca74f0398e82346a1879b0f
Thank you!


chore: add @JsonCreator to TypedGraphQLError

In my sample projects, when writing testing codes, I want to deserialize the errors result to type-safe TypedGraphQLError, it does not work.
I have to add a @JsonCreator to archive this purpose, eg.  spring-graphql-sample/dgs-kotlin MutationTests and verification clause.

@berngp If possible to enable the java compiler -parameters arguments globally and add Jackson parameter names module, thus we can erase all @JsonProperty annotations in the constructors.

@hantsy, was already thinking of adding the -parameters flag already for a different reason. Thanks for pointing it out here as well.


Version 0.7.2 breaks Glimmer.js app

We used ember-service-worker with our Glimmer.js app and it just worked fine with version v0.6.2  now we tried to upgrade to the newest version which is currently v0.7.2  but this upgrade broke our build. This is due to the fact, that Glimmer.js has not installed ember-cli-babel and therefore the following code breaks:
https://github.com/DockYard/ember-service-worker/blob/5ffad2483808e3a05860b3f00fb731e0fd24c147/lib/service-worker-builder.js#L125
On the other hand adding ember-cli-babel breaks our Glimmer.js build. So I'm not sure how to resolve this issue.
I know that Ember.js is not Glimmer.js and therefore I'm not sure if this is an issue with ember-service-worker or a Glimmer.js issue. Nevertheless it would be great to share as much addons and plugins as possible between Ember.js and Glimmer.js
Just let me know what you think about this issue

@marten-dockyard could someone give me feedback on this issue? If we want to support glimmer.js and if we have a rough idea how to do so, I could try to create a PR 🙂

would be great to get some opinion about this problem. As I said, I could maybe help to make this addon available for glimmer.js

Looks like this would have started here: https://github.com/DockYard/ember-service-worker/commit/9d6db8a846c270b641010bdef6a87e14fe7d1d40#diff-61e7a77a0dda836b877cba3567f38581
My understanding is that this choice was made to leverage ember-cli-babel various features to work with targets, polyfills, etc. I must admit that I haven't had a chance to work much with glimmer. I don't see anything immediately in glimmer that prevents the usage of ember-cli-babel. Can you explain your scenario a bit more? Do you have any suggestions for alternate approaches?

@eshtadc thanks for the response :-) if I add ember-cli-babel to our glimmer.js project we can not build it anymore. Maybe it's a bug with the glimmer-application-pipeline. I need to investigate this in more detail maybe I need to open an issue at the glimmer-application-pipeline as well


Malformed SVG file leads to freeze

The problem is in recursive growth of the number of elements due to nested  elements creating multiple copies of the content. Eventually it leads to exponential increase in the number of items during rendering.
Nothing in the log. The SVG file is attached. GenerateXxeDos2_2.svg.txt

Not sure if there is something to do here. If the SVG requests to paint that many elements it will take a lot of time to do so. Do you have something in mind how you would like this to be handled? In my opinion if the SVG content is not to be trusted then this should be handled on the application level. For example this can be achieved with a custom DomProcessor in the post-processing stage.

Well, I understand the reasons for that answer, but at the same time it sounds like “with DDOS it will take a long time to process all those requests”. And then the server just can't serve the users.
I would do something like this, but I think the solution would be more efficient if it is incorporated in the library itself with all the inner details of SVG file processing and the architecture:
fun hasExcessiveUseExpansion(svgContent: ByteArray, maxDepth: Int = 5, maxCopies: Int = 100): Boolean {
  val document = try {
    DocumentBuilderFactory
      .newInstance()
      .newDocumentBuilder()
      .parse(ByteArrayInputStream(svgContent))
  } catch (t: Throwable) {
    Logger.error(t, "Failed to parse SVG image")
    return false
  }

  val useElements = document.getElementsByTagName("use").takeIf { it.length > 0 } ?: return false

  val graph = mutableMapOf<String, MutableList<String>>()

  (0..<useElements.length).forEach { i ->
    val useElement = useElements.item(i) as? Element ?: return@forEach
    val href = useElement.getAttribute("xlink:href").removePrefix("#")
    val parentId = (useElement.parentNode as? Element)?.getAttribute("id") ?: return@forEach

    graph.computeIfAbsent(parentId) { mutableListOf() }.add(href)
  }

  fun countCopies(node: String, currentDepth: Int): Int {
    if (currentDepth > maxDepth) return 0

    val directCopies = graph[node]?.sumOf { countCopies(it, currentDepth + 1) } ?: 1
    return directCopies.coerceAtMost(maxCopies)
  }

  return graph.keys.any { countCopies(it, 1) >= maxCopies }
}

The problem here is that there are countless ways to trick these sort of checks. For example if your SVG above is modified so each #atk0 group wraps its content with another <g> indirection your code above breaks.
While I don't intend to tackle this soon I am open to accept PRs in this regard.

Thinking about this a bit more I believe I have figured out how to do robust checking against large implicit use graphs (without actually having to traverse all of them during the check, which would cause hangs during loading).

It would be even more interesting to see the code than the result 🙂


New metrics: aws billing metrics checker

This script checks AWS billing metrics.
http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/billing-metricscollected.html

@sparkgene  Can you check the Travis output please.  Thanks


Visual Studio for Mac is retiring Aug 31 2024

The installation instructions for MacOS users uses Visual Studio. Visual Studio for mac is going away soon, however.

Hi @kevinwheeler, the installation instructions of visual studio code are given in the Readme. Even I use vscode in my mac.

Hey @keshavdalmia10! The only vs code instructions I see are in a link to a different page off of the main readme. IE the main readme says:
This section will cover how to install lean locally for you to use in your environment. Refer to the following readme files for a detailed guide regarding using your local IDE with Lean:
VS Code
VS
Anyhow, the MacOS section of the main readme should probably just contain a link to the vs code instructions. Or the MacOS section of the readme should be deleted. Right now it just serves as a distraction and leads in the wrong direction. Or at the very least the MacOS section could say that using visual studio is a legacy option and recommend the reader goes to the vs code instructions.

I can pick this up. I'm a new user/contributor, and a Mac user


Error Post-Version 1.9.0 Update Hindering Mod Launch

After the recent update Master Duel to version 1.9.0, an error has surfaced preventing the mod YgoMaster from launching. I seek assistance in diagnosing and resolving this issue. Many thanks, everyone.

Same

same

Where is this update?

Master Branch build.
User have to manually build folder using Build.bat (please keep in mind that Microsoft Visual Studio is required as well as .NET library of min. 4.0)

Issue confirmed fixed in latest Master branch build (manual build).

I did try to manual build it but I'm confuse if I done something wrong

I can't do that

Never mind. After few try to fix the build, I got it working

Please, if you fix it, send it to us

Please, if you fix it, send it to us

I'm not sure if I'm allow to upload the files here. Can I?

yes

https://github.com/pixeltris/YgoMaster/issues/370

you can

YgoMasterClient.zip
Just the update. I don't know which one you need so I pick I'll give you both.

Compile your own build if it doesn't work. just download the Visual Studio from microsoft. Also you might need the data update too. I could upload my whole file but mine is edit differently.

ok

Hold on a minute. I could just zip my master files that already compile from the build.

YgoMaster.zip
This is the build that I made that doesn't have any change on it

How can I send you my file?

Abanoubawny1 can you share your zip?

Client updated typically break YgoMaster so these kind of things are expected. v1.45 fixes these.


molecule: user != group scenario

Note: this is WIP, do not review or merge until it the test passes.

@guidograzioli FYI, please review and then "rebase and merge" if you have no comment.


Add Redux Router.

@davezuko two purposes here:

Wanted to document how to switch over to redux router for anyone who is interested
Wanted to make sure my suggested changes aren't breaking anything (please let me know!)

Thanks for your work here -- I'm switching from pure rails to rails api + react frontend and this has helped quite a bit.

Hey thanks, I appreciate it and it looks pretty good. There's one change I'd like to make since currently nothing renders for the index route. Could we maybe do something akin to this?
import { Route, IndexRoute } from 'react-router';
import React           from 'react';
import CoreLayout  from 'layouts/CoreLayout';
import HomeView   from 'views/HomeView';

export default (
  <Route path='/' component={CoreLayout}>
    <IndexRoute component={HomeView} />
  </Route>
);

I'm not a huge fan of the random links next to the "increment" button in the HomeView. I understand it's there to demo the route functionality, but I don't really think it's all that necessary to prove that react router does its job. If you are cool with making those changes I'd love to merge this in.

@davezuko great! let me know how this works for you.

Perfect, thank you so much! Merged.


Add support for Progressive Web Applications

Enabling support for PWAs allows users to "install" VTP6 onto their devices. It also sets up potential for an offline mode to be added later on, which would be especially useful on mobile devices.
The PWA branch is fully functional.
A large number of images were auto generated these were done to enable proper support on Android, iOS and Windows as the existing image sizes were not sufficient.
Currently the vast majority of users are on Windows 10/11 and using Microsoft Edge. Adding PWA support would increase mobile device usability and take advantage of Edge's ability to use PWAs, this would improve the overall experience of VTP6.

A lot of the images could probably be removed to make the code base less bloated.


Roadmap 2.0

This issue provides an overview of intended (potentially breaking) changes for collections 2.0 release
Please comment if you disagree, feedback is welcome!

[ ] BREAKING  - Only store collections in metadata.collections. In 1.x for example a collection called news is also stored as metalsmith.metadata().news. This plugin should not pollute, and potentially overwrite, multiple other metadata keys
[ ] BREAKING - Store collection metadata as properties on the collection, instead of in the property metadata. This makes for cleaner access in templates, eg collections.news.title instead of collections.news.metadata.title, and is in line with how metadata is defined for files and build metadata. Might be safer in that case to have collections be an object with items: Array<File> property instead of an array.
[ ] Pushing the file objects (as references) in collections is problematic for adding previous/next references when a file is assigned multiple collections: which collection would the previous/next references then refer to? The first? The last? The current tests are lacking in this regard. But the file objects cannot be cloned as "collection items" because they will get out of sync with subsequent plugin transforms. The file objects need the reference to be on them to be accessible in templates.  3 paths to go:

BREAKING - Remove support for multiple collections. All good without extra tests
BREAKING - The previous and next references become objects with a key matching each collection assigned to the file, eg. next.tech & next.hobby.
BREAKING - The previous and next references are removed. The collection key on the file becomes an object with a key matching each collection, whose value is [name:string, previous:[...File],next:[...File]]. Layouts can then do: {{ collection.news.next.title }} or when looping `{{# each collection }}{{#each this }}{{/each}}

[ ] Allow specifying either collection or collections in file front-matter, but normalize it to collection as an array.

Anyhow it seems to increasingly make sense to map collections as:
{
  name: 'my-collection',
  items: [File, File, File],
  ...metadata
}

And to remap them on the file objects as collection as:
{
  name: 'my-collection',
  ...metadata
  previous: [File, File],
  next: [File, File]
}

Usage examples:

Get the first collection (in nunjucks): {{ collection | first }}

As someone who's interested in the next/prior references--I think my preferred option is the middle one. Since that's the most flexible one for sure, and having next/prior (and also first/last, but that's a different point altogether) are in my opinion quite important.
Though, hmm. Another way to implement that particular thing might be to keep track of where in the collection an item is? Because if I know that there are 5 elements in the collection I'm interested in, and I'm currently on element 2, that means that the previous element is element 1 and the next is element 3, and I can create next/previous/pagination with that knowledge.


Add script to pull message from pubsub subscription

Motivation and Context
Testers and potentially us too, need to inspect messages that we've emitted.
What has changed
Added script to allow us to grab a message off a subscription, so we can look at it.
How to test?
Do something that will cause some messages to be emitted, then run (for example): ./get_message.sh shared-project event_case-update_rh
Links
Trello: https://trello.com/c/XO67i7Kd

 Script to allow Yogi (and other testers) to pull messages from a pubsub topic locally to examine the contents (5)


Issue #SB-7172 fix: Batch Creation UI Fixes.

Below issues are fixed for Batch Creation :

Increase create batch form size to huge. There is a huge empty space in the first screen and is not as per the design spec.
Change font colour of ‘Select Mentors’/‘Select Participants as mentioned in the invision design doc
Change the colour of selected items in the drop downs from grey to blue (blue used in ‘Create Batch’ button which is our standard colour).
Change the colour of the ’tick mark’ in the select Org, Mentor & Participant dropdowns from grey to blue.

@harishgilimi - here are the screens of fixed issues.

@harishgilimi FYI - this is still WIP. Pls do not merge it. We will let you know once completed

@harishgilimi - this is good to merge now.


Add Crashlytics plugin to opensource list

Description
Add Crashlytics plugin to the list of Firebase Flutter open source libraries. This change will list it here:
https://firebaseopensource.com/projects/flutter/plugins/

Merging since failures don't have anything to do with changes and changes are only to docs.


ci: add docker build CI workflows 🐳

Thanks for the contribution, but I'm going to close this PR because of this line
We can add this in as a feature and get it done pretty quickly, but this PR opens the repository up to security issues I'm not fully comfortable with. It allows leaking secrets.GITHUB_TOKEN to a followup malicious PR.


Issue in ParallaxBackground and ParallaxLayer.

Tested versions
4.3
System information
Windows 10 - Godot Engine v4
Issue description
Hi all. I am a newcomer studying the creation of 2D platformers in Godot Engine. An error arose when creating the simplest parallax, almost without the use of code. Attached the video. That is, parallax does not work well, the button has fun.
bg.gd:
extends ParallaxBackground

var speed = 100

func _process(delta):
	scroll_offset.x-= speed * delta

menu.gd:
extends Node2D

func _on_play_4_pressed():
	get_tree().quit()
	 # Replace with function body.

func _on_play_5_pressed():
	get_tree().change_scene_to_file("res://level.tscn")

Steps to reproduce
Parallax does not work well, the button broke.
Minimal reproduction project (MRP)
Project:
Whispers of Flame.zip
Video:
https://github.com/godotengine/godot/assets/170451422/ab81c4ab-2020-4370-ba83-382d95380c53

The official language of these channels is English, please make any reports or comments in English, if you do not know English please use some translation software or ask for help.

Tested in 4.3 and is fixed. I assume it was one of the culling issues we had.


Title Case Sentence - Not Working

Title Case a Sentence

The compiler works well but I can not go ahead

I don't know why it's not being accepted, it solve all necessary steps.
Here's the code

function titleCase(str) {

  var stringSplited = [];
  stringSplited = str.split(" ");
  var ans = "";
  var soft = " ";

  for(var i=0;i<stringSplited.length;i++)
    {
      if(i === stringSplited.length-1)
        soft = ".";

     ans += stringSplited[i][0].toUpperCase()+stringSplited[i].replace(/[^]/,"").toLowerCase()+soft;
    }

  return ans;
}

titleCase("HERE IS MY HANDLE HERE IS MY SPOUT");

@Anciso Your code works provided two things.

Remove the if statement that adds a period at the end as the results do not have periods.
Your current code returns the correct string but has a space character at the end which is what is rendering it wrong. You can correct this by changing your return to return ans.trim(); to remove the trailing space.

It can be helpful to ask in the FCC Help Javascript or Help chat rooms on Gitter to see if anyone can confirm that there is indeed an issue with the tests before submitting it on Github.
Happy coding!

Thanks Thanks Thanks Thanks Thanks Thanks Thanks Thanks Thanks.
Very apreciated, I did that... look for some help there (Gitter) but no one was helpfull enough.
Very apreciated !!!
Obrigado !!!

@Anciso Hi Anciso, I solved the same challenge with the similar regular expression,
ans += stringSplited[i][0].toUpperCase()+stringSplited[i].replace(/[\S]/,"").toLowerCase();
It worked well but i don't really understand why this regular expression can retrieve the string starting from the second character? thx

Hi @renewu0707 Sorry does not answer you earlier...... Well its all because the regular expression and the replace function... the replace function will replace the string but instead replace all the string it will only replace first char on the string and the rest of that string will remain intact....
We must remember the regular Espression's used /[^]/.
Here's an example:
var strReplaced = "Bush".replace(/[^]/,"C");
return strReplaced;
 // it will return "Cush".

Sorry my English I'm learning now.., my native language is Portuguese.
I hope I've helped.
Happy Coding !!


Bump cardano-node to 1.34.1

[x] Bump node
[x] Tweak readme
[x] Fix a few new compilation warnings/errors
[x] Also bump to 1.34.1

Comments
Blocked by stack + sublib problem
Guided by git diff 1.33.0 1.34.0 -- cabal.project in cardano-node
Issue Number
ADP-1433

bors try

bors try

bors r+

bors r+

bors r+


[Candidate 2v2 Forgotten Factory ZH v2] Chinook reaches into crane when collecting supplies

Observed behavior
Chinook reaches into crane when collecting supplies.
Expected behavior
Cranes are not located at the center of Supply Docks.
Screenshots

Could be moved, although same could happen since Chinooks don't always collect from the middle, many factors.

as designed

As designed.


Readme update -output_file rather than -out_file

On the Readme, I believe the argument for making predictions should be -output_file rather than just -out_file.  The code worked when I typed in the former rather than the latter.  -out_file is the argument under the Quickstart section.

thanks for catching this--updated readme


fix(sequencer): grpc height hack to fix ibc invalid proof error

same as #1488 but based off sequencer tag 0.16.0.

closing for #1691


Server starts but no login page or content is displayed in the game

Hi. Firstly, congrats for putting the project out there to everyone!
I follow the installation process, then I execute server.exe. The output is as follow:

However, in the game, there is nothing there. No login prompt is shown to me also.
What could I have missed?
Thanks!

Resource installed in: C:\RAGEMP\resources\GTA-RP
C:\RAGEMP\settings.xml:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <acl_enabled>false</acl_enabled>
  <log_console>true</log_console>
  <log_chat>true</log_chat>
  <resource src="GTA-RP" />
</config>


Multiple query fields with same name only returning last value

Context

I have a Flask/Flask-RESTPlus (very simple) that has a query parameter, fields, that is described as:
parser = api.parser()
parser.add_argument('q', type=str,
                    help='A [lucene-syntax](https://lucene.apache.org/core/2_9_4/queryparsersyntax.html) query',
                    default='*')
parser.add_argument('from', type=int, help='The starting record to return (for pagination), zero-based', default=0)
parser.add_argument('size', type=int, help='The number of records to return (for pagination)', default=10)
parser.add_argument('fields', help="fields to include in output. See 'mapping' endpoints for list of available fields", action='append')

Expected Behavior

When running locally and querying with:
http://localhost:5000/....fields=a&fields=b...

My code sees the fields as an array of fields.
Actual Behavior

When running on the API endpoint after deploying (and updating), I see only the last value of the fields parameter.
Possible Fix

Steps to Reproduce

The issue only manifests itself once deployed, not in the "local" environment.
Your Environment

Zappa version used: 0.45.1
Operating System and Python version: Python 3.6.4 :: Anaconda, Inc., MacOS
The output of pip freeze:

$ pip freeze
aniso8601==3.0.0
argcomplete==1.9.2
base58==0.2.4
boto3==1.7.6
botocore==1.10.6
certifi==2018.4.16
cfn-flip==1.0.3
chardet==3.0.4
click==6.7
docutils==0.14
durationpy==0.5
elasticsearch==6.2.0
Flask==0.12.2
flask-restplus==0.10.1
future==0.16.0
hjson==3.0.1
idna==2.6
itsdangerous==0.24
Jinja2==2.10
jmespath==0.9.3
jsonschema==2.6.0
kappa==0.6.0
lambda-packages==0.19.0
MarkupSafe==1.0
placebo==0.8.1
python-dateutil==2.6.1
python-slugify==1.2.4
pytz==2018.4
PyYAML==3.12
requests==2.18.4
s3transfer==0.1.13
six==1.11.0
toml==0.9.4
tqdm==4.19.1
troposphere==2.2.1
Unidecode==1.0.22
urllib3==1.22
Werkzeug==0.14.1
wsgi-request-logger==0.4.6
zappa==0.45.1

Link to your project (optional):
Your zappa_settings.py:

{
    "dev": {
        "app_function": "app.app",
        "aws_region": "us-east-1",
        "profile_name": "default",
        "project_name": "sradbv2-web",
        "runtime": "python3.6",
        "s3_bucket": "zappa-sradbv2",
        "domain": "api-omicidx.cancerdatasci.org"
    }
}

According to: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-known-issues.html
Duplicated query string parameters are not supported.
So this is not a Zappa problem, AWS API Gateway simply doesn't allow it.

That text is no longer found on that page. Is it fixed on their end now? I'm still seeing this issue as well.


Webpack. Async chunk loading

I have an SPA apllication. It created by vue.js, webpack. A ClientApp folder with size - 422 Kb (contains components only). It's because I developed this application 4 months.
I have a components and loading it using lazy loading. Now I'm trying to split code using optimization property. But I can't understand how to do it. The bundle file size 658 Kb, but I need not bigger than 100 Kb.
How can I do it? And is that possible?

It looks like you just deleted our lovely crafted issue template. It was there for good reasons. Please help us solving your issue by answering the questions asked in this template. I'm closing this. Please either update the issue with the template and reopen, or open a new issue.


Rename cupy.padding submodule to cupy._padding

Rel #3420.
This PR renames cupy.padding submodule to cupy._padding to indicate it is CuPy's private submodule and not intended to be used by users.

@takagi Could you fix for Travis failure?

I've fixed it!

Jenkins, test this please.

Jenkins CI test (for commit f1ab4c2a2e5f14425859fc4fa9c5cecd8f068531, target branch master) succeeded!

LGTM.


Add build in IPFS node description

The full text for IPFS node tooltip is:
The IPFS node is built in right in your browser. It helps store and resolves the content from the distributed storage. NFTs, moon passports, ENS, with contents address, can be resolved right here. It is green (red) because the IPFS node is (in)active and (not) resolves the content.


Color code inside Display Name

Some "Npc's" have the color code inside their Display Name.
For example the Tentacle and Columns at The Whisperer:

Fixing next update


Staff home page"  template failed!

Describe the issue
Your request to provision
"Staff home page" template failed!
Please report the issue here providing the following provisioning action correlation ID: b445564e-a2ff-4d1c-8f1f-2ae59b820a02 !
Expected behavior
The given sharepoint site to have the template applied and provisioned
Screenshots
If applicable, add screenshots to help explain your problem.
Details (please complete the following information):

PnP Correlation ID: correlation ID: b445564e-a2ff-4d1c-8f1f-2ae59b820a02 !

Reference Template: [please provide the URL of the template in the Look book site. It should be something like: https://provisioning.sharepointpnp.com/details/eb5d4741-e2f4-44f1-954b-e7d598585c63

Primary language of the target tenant: [provide the LCID of the primary language of the target tenant]

Are you using a Tenant Global Admin account to provision the template: [Yes/No]
YES

Additional context
Add any other context about the problem here.

Hi,
Thanks for using the Look Book site. Based on the event log, we can see that there was an "access denied" exception while trying to upload a custom file into the target site. It might be that the site was in use while the provisioning was running. Could you please try again, targeting a fresh new site? Thanks for your cooperation.


Polish Readme

Add introduction to ecosystem projects, as well as bi-weekly meeting information.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

LGTM


TypeError: '_Stat' object does not support indexing

I'm running the code on a server. However, when I run the init.sh, I received the following error messages. What's wrong with the code?
I'm using python 2.7 and mxnet-1.2.1.
Traceback (most recent call last):
  File "setup_linux.py", line 92, in <module>
    cmdclass={'build_ext': custom_build_ext},
  File "/opt/conda/envs/python27_mxnet/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/opt/conda/envs/python27_mxnet/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/opt/conda/envs/python27_mxnet/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/opt/conda/envs/python27_mxnet/lib/python2.7/site-packages/Cython/Distutils/old_build_ext.py", line 185, in run
    _build_ext.build_ext.run(self)
  File "/opt/conda/envs/python27_mxnet/lib/python2.7/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "setup_linux.py", line 74, in build_extensions
    build_ext.build_extensions(self)
  File "/opt/conda/envs/python27_mxnet/lib/python2.7/site-packages/Cython/Distutils/old_build_ext.py", line 192, in build_extensions
    ext.sources = self.cython_sources(ext.sources, ext)
  File "/opt/conda/envs/python27_mxnet/lib/python2.7/site-packages/Cython/Distutils/old_build_ext.py", line 322, in cython_sources
    rebuild = self.force or newer_group(depends, target, 'newer')
  File "/opt/conda/envs/python27_mxnet/lib/python2.7/distutils/dep_util.py", line 75, in newer_group
    target_mtime = os.stat(target)[ST_MTIME]
TypeError: '_Stat' object does not support indexing

I meet the same error with python3.6.5 when install sklearn, did you solved it?


Update URL to prestashop-project.org

Questions
Answers

Description?
Update URL to prestashop-project.org

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes PrestaShop/PrestaShop#29836.

Thanks @PrestaEdit and @SD1982


Up to speed

Reasons for making this change
[Please describe them here]
If this is related to existing tickets, include links to them as well.
Checklist

[ ] I'm updating documentation

[ ] I've checked the rendering of the Markdown text I've added

[ ] I'm adding or updating code

[ ] I've added and/or updated tests
[ ] I've updated docs if needed
[ ] I've run npm run cs-format on my branch to conform my code to prettier coding style

[ ] I'm adding a new feature

[ ] I've updated the playground with an example use of the feature

will merge on branch


dummy commit to trigger Github Actions workflow

Trying to kick-start Github Actions.

Hmm, maybe we could either install all we require (even if it is already there) or not install anything which is there already. Currently we are somehow in the middle of these:
We install, but it is there already:
bison is already the newest version (2:3.0.4.dfsg-1build1).
flex is already the newest version (2.6.4-6).
libffi-dev is already the newest version (3.2.1-8).
libffi-dev set to manually installed.
pkg-config is already the newest version (0.29.1-0ubuntu2).

We do not install, but it is there already(?):
build-essentials

I just tested on a minimal ubuntu 18.04 image (ubuntu:18.04 from docker hub), where no build tools are installed by default, and noticed that the pkg-config package already pulls in everything from build-essential. So I don't know why I remember needing to install build-essentials (maybe this was different on trusty, which I started with, trying to start as close as possible to the Travis build script as possible before).
But what I now also noticed is that a minimal 18.04 needs a bit more installed than what I have in the current workflow step.
It needs:

git - to clone the repos we're building from
libffi-dev + pkg-config - for MicroPython
python3 - for building mpy-cross from MicroPython
bison + flex - for building binutils-esp32ulp

So our choices are:

Install nothing, because the Github Actions image already contains all we need
Install all of the above packages (even though it'll mostly be a no-op)

Now that you pointed me this way, I would actually lean towards the second, because it should (?) make switching to a different build image in the future easier (it's a form of documentation essentially), e.g. when updating to ubuntu-20.04 or similar (currently not possible because binutils doesnt compile). And it would be more resilient to Github potentially changing the build image.
I think I will update the install step to install all we need (i.e. choice 2 above) and if you prefer the other route, I can fix it later. I think I will also throw in build-essentials, just for good measure.

Perhaps also reject this PR, then there's dummy commit cluttering up the history. I will make a new PR for the change to the install step.

as desired...


Solution to day 15 golang

Hi,
this is my solution to problem of day 15 with go. I didnt find the of option of golang in thee hacker rank page, but i tested with this input:
4
2
3
4
1
and with
5
8
11
2
3
4
And seems to works fine.

@gmgalvan , this repo is for the solution which is supported by hackerrank in different languages. I cannot merge this PR as there is no option for golang on hackerrank for this problem. you can pick another problem which is available for solving in golang.  will be closing this PR.


Sqlite side

Everything appears to work fine. Further testing is needed but all 14203 resources are added and the ones I've looked at seem ok. Testing is needed for queries to compare vs actual test server reports.

Merged not deleted


[8.x] Ignore fillable protection when passing 'Validated' data

This is a proof of concept that could settle the fillable dilemma. Currently there seems to be 2 options:

Use $fillable to set the attributes that can be mass assigned from the controller: the problem here is that sometimes the fillable attributes are context dependent: we'd like certain attributes to be fillable in one module of the app (i.e. the users profile) but different attributes in another module (i.e. the users module in the admin panel).

Unguard all the attributes and be careful about what we pass to our modules: this is the approach I prefer, but I've found scenarios where one developer in the team forgets about this and leaves a potential vulnerability in the app.

The problem with mass assigning attributes to Eloquent models since to arise mainly from the following scenario:
new User($request->all())
If we are passing validated attributes, that shouldn't be a problem, or at least it's more explicit:
        $data = $request->validate([
            'name' => ['required'],
            'email' => ['required', 'email'],
            'password' => ['required', 'min:8'],
        ]);

        User::create($data);

But since both the validate and the all methods return an array, it's impossible for Eloquent to know how the data is passed from the "controller".

I propose we implement a "Fillable" interface that can ignore the fillable protection.
An additional advantage of returning a "Validated" object from the validate method instead of a plain array is that we could add extra methods like "only", "except", "transform", to grab or change parts of the validated data, then pass it to multiple models, etc.
I'd like to know what you think.

Marked this as a draft for you. Feel free to mark as ready once you're done. It's probably best to only send in finished prs however and discuss ideas in the ideas repo.

What if I try to do $data['name']?

I like the gist of this.

Why not have the Validated class be an actual Collection instance?

Great idea! I was thinking about implementing ArrayAccess, only, except, etc. 😅 #BetterExtendCollection
This is now possible:
        $data = $request->validate([
            'name' => ['required'],
            'email' => ['required', 'email'],
            'password' => ['required', 'min:8'],
        ]);

        $data['password'] = bcrypt($data['password']);

        User::create($data);

The User model has no fillable or guarded properties 👍
@JosephSilber not sure about the nomenclature, though, because I didn't like referring to Validated inside Eloquent. Maybe Illuminate\Foundation\Data?

Maybe some generic term like "approved" could work, like ApprovedBag.
Or maybe a more explicit Whitelisted or something similar.

In the example you gave, wouldn't using forceCreate() or forceFill() have the same result? For example:
$data = $request->validate([
    'name' => ['required'],
    'email' => ['required', 'email'],
    'password' => ['required', 'min:8'],
]);

$user = User::forceCreate($data);
// or
$user = (new User)->forceFill($data)->save();

It kind of seems to me like being able to implicitly override the $fillable attributes with validated data defeats the purpose of using $fillable.

@SjorsO exactly, the idea is to make $fillable unnecessary.
$fillable is not enough to cover all possible scenarios / contexts where you want to pass data to a model. We can only use $fillable as a last line of defence against request()->all().
But when you are validating data, you only add the fields you want to accept within a given context. For example, you wouldn't write this in UserProfileController:
$data = $request->validate([
    ...
    'role' => ['in:user, admin']
]);

If you don't want the user to change its own role, anyway. But maybe you'd add that logic in AdminUserController.
With this proposal the models will no longer be exposed to the "open" array you can get from methods like request()->all() but only objects with data that has been validated according to the rules of each context.

@JosephSilber please have a look. I'm now using ApprovedBag. I don't like Whitelist as it does sound like fillable (with guarded being a "blacklist").
My wife works in QA and she suggested "Audited", which sounds interesting.

For consistency, I also changed the methods associated to data in the Validator class, so they all return Collections, even invalid() returns a Collection (but not an ApprovedBag).

😊 I like the idea, but I would dare to bring it a bit forward.
We could break this here and just accept the validated objects. By doing so, we completely remove the risk of mass assignment since those objects/interfaces can expose a toArray method to serialize the final feeding.
The same would apply to all the array feeding methods we have across eloquent. Therefore, eloquent can expose the interface to be implemented.
If gone this route, we could even have specialized objects for each database update action, such as: insert, update, delete, etc.
💥 Nice work.

@gocanto that sounds interesting but I wouldn't vote to go that far, at least not now. Passing arrays to Eloquent can come in handy when creating seeders, for example.

Personally I think it's a bad idea because of 2 reasons:

When you use $fillable you somehow expect they will protect your application. Now it won't be longer true and it would be confusing - in some cases $fillable would be used and in some others it wouldn't be.
The other problem is how validated() returns data. When you validate arrays in most cases it won't be as expected.

Assuming input looks like this:
'user' => [
    'name' => 'Sample'
    'email' =><EMAIL_ADDRESS>    'password' => 'somepassword',
    'is_admin' => true,
]

and validation looks like this:
$data = $request->validate([
        'user' => ['required', 'array']
        'user.name' => ['required'],
        'user.email' => ['required', 'email'],
        'user.password' => ['required', 'min:8'],
]);

in $data variable you will have the whole input, so using User::create($data['user']) would cause  filling also is_admin field alhough it's not included in validation. So now, someone wouldn't have this set in $fillable, they would use validated input and they would have filled is_admin field although it shouldn't be.
In addition I really think $fillable should be deprecated in favour of using $guarded to force people to care about data they use for saving.
It's really easy to imagine scenario when you have some fields in $fillable and have 2 endpoints - one for regular user and one for admin and in both cases someone uses User::create($request->all()); because they think - I have validation, I have whitelisted fields in $fillable so nothing bad will happen.
But after a month or more they add in there new field that should be available to fill only by admin and then any user can really update this field if they guess this field name.

How would this work with Form Request objects?

How would this affect people who guard everything, and never use mass assignment?

$user = new User;
$user->first_name = $request->input('first_name');
$user->last_name = $request->input('last_name');
$user->save();

@mnabialek: I think what you mention is a bug I reported long ago and that it was fixed by @themsaid.
This change is obviously a breaking change that's why I sent it to Laravel 8.
@browner12:

Form Requests will return a Validated object (that extends Collection and implements ApprovedBag) instead of an array.

It shouldn't affect that syntax in any way.

@sileence Do you know when it was fixed? In Laravel 6.x it is still present I believe, I haven't tested it on 7.x yet.

@mnabialek https://github.com/laravel/framework/blob/6.x/tests/Foundation/FoundationFormRequestTest.php#L51

@gocanto that sounds interesting but I wouldn't vote to go that far, at least not now. Passing arrays > to Eloquent can come in handy when creating seeders, for example.

@sileence Yes, they are handy and should stay like so. What I am thinking about it is having a kind of object abstraction being returned from validation where you have the required interface implemented and can call from.
for instance:
$validate->getInrsetBag()
$validate->getUpdateBag()

or anything related. We can even have entities by model and required them to update db.
Just food for thoughts :)

@gocanto that's not the purpose of this proposal, but you can build those objects in the current version of Laravel, you could also use/adapt FormRequest for that. But that's a completely different topic to what I'm trying to achieve.

@sileence  Just tested validation in latest 7.x version (7.6.2) but validation data still cannot be trusted.
I'm sending such data in test:
$response = $this->post('/validate', [
    'users' => [
        [
            'name' => 'Person 1',
            'email' =><EMAIL_ADDRESS>            'is_admin' => true,
        ]
    ],
    'anything' => 'else',
]);

And my controller method looks like this:
$validated = $this->validate(request(), [
    'users' => ['required', 'array'],
    'users.*' => ['required', 'array'],
    'users.*.name' => ['required', 'string'],
    'users.*.email' => ['required', 'email'],
]);

dd($validated);

In response I get:
array:1 [
  "users" => array:1 [
    0 => array:3 [
      "name" => "Person 1"
      "email" =><EMAIL_ADDRESS>      "is_admin" => true
    ]
  ]
]

although is_admin flag shouldn't be there.
So assuming validated data returns what you really expect is still a bad idea and I believe there are much more complicated cases than this - this is the simplest one.

@mnabialek well, you are accepting users.*, the wildcard means all the fields, no?
Maybe it should be 'users' => ['required', 'array'] ?

@sileence  No, I'm telling that each user element should be array.
When using
'users' => ['required', 'array'],

I say that users should be array and using
'users.*' => ['required', 'array'],

I say also each user should be array
So everything is fine with those validation rules I believe but in this case validated returns invalid data.

@mnabialek thanks for pointing that out, I'll have a look over the weekend.

@mnabialek I've been checking the problem you mentioned and it turns out it was not a problem at all. Because $data['user'] will return an array and since the fillable protection will still be there and/or the model won't be "unguarded" then you won't be able to pass unintended attributes.
In order to bypass the fillable protection you need to pass a Validated object not an array (unless the model is unguarded!). In this PR https://github.com/laravel/framework/pull/32498 I introduced the possibility of getting a Validated instance containing subdata from the full Validated object by calling a very specific method that can also filter the data by allowed keys.
This PR https://github.com/laravel/framework/pull/32452 also introduced the option to whitelist keys when validating an array.
I hope this helps.

As a side note, since Validated is a Collection this is also possible:
$data = $this->validate([
    'name' => 'required',
    //...
    'tos' => 'required|accepted',
]);

User::create($data->except('tos'));

Part of me likes the proposed solution, part of me does not. The whole thing completely removes the meaning of fillable, I would like it to be more granular.
My suggestion, since it is planned for the 8 version anyway: An additional parameter at update, create, ... and fill. Content is an array with fields that bypass protection.
Example $this->update($data, ['protected-field1', 'protected-field2']);
The functions would look something like this:
public function update(array $attributes = [], array $options = [], **array $forcefields = []**)
{
    if ( $this->exists ) {
        return false;
    }

   return $this->fill($attributes, **$forcefields**)->save($options);
}

And the fill method:
public function fill(array $attributes, **array $forcefields = []**)
{
    $totallyGuarded = $this->totallyGuarded();

    foreach ($this->fillableFromArray($attributes) as $key => $value) {
        $key = $this->removeTableFromKey($key);

        // The developers may choose to place some attributes in the "fillable" array
        // which means only those attributes may be set through mass assignment to
        // the model, and all others will just get ignored for security reasons.
        if ($this->isFillable($key) **|| isset($forcefields[$key]**) {
            $this->setAttribute($key, $value);
        } elseif ($totallyGuarded) {
            throw new MassAssignmentException(sprintf(
                'Add [%s] to fillable property to allow mass assignment on [%s].',
                $key, get_class($this)
            ));
        }
    }

    return $this;
}

Of course this is just a quick throw in, for example the logic to set guarded fields is missing, I'm not sure if isset is enough for more complex (user.*.phonenumber) fields... but this is about my favorite solution.

@EmmaPurple I like your idea as well, with the only exception that it leads to a bit of duplication, for example:
´´´
$data = $request->validate([
'name' => ['required'],
'email' => ['required', 'email'],
'password' => ['required', 'min:8'],
]);
$user->fill($data, ['username', 'email', 'password']);
´´´
But, yes, my idea is to get rid of the use of fillable and having developers whitelisting the data at a controller level.
It's more granular to whitelist at a controller level because you can have 3 diff controllers persisting different columns and fillable cannot cover all the scenarios, but the validation, that you should be adding anyways, can:
´´´
// PostController
$data = $request->validate([
'title' => ['required', 'min:10'],
'content' => ['required', 'max:200'],
]);
$user->fill($data, ['title', 'content']);
´´´
´´´
// ReviewPostController
$data = $request->validate([
'title' => ['required'],
'content' => ['required'],
'reviewer_notes' => 'string',
'meta_description' => ['required'],
'status' => 'in:draft,reviewed',
]);
$user->fill($data, ['title', 'content']);
´´´
´´´
// AdminPostController
$data = $request->validate([
'title' => ['required', 'max: 100'],
'content' => ['required'],
'reviewer_notes' => 'string',
'meta_description' => ['required'],
'status' => 'in:draft,reviewed,published',
'author_id' => '...',
]);
$user->fill($data, ['title', 'content']);
´´´
My only concern is duplicating validation rules, it makes me thinking the could live in the model and we could whitelist the parameters at a controller level, similar to Rails, however there are a few scenarios where it could be useful to have different rules for different controllers (the 'status' field in my example).

The problem is easily circumvented.
Probably a method is called anyway, which has the ValidationRules as return (called in create and update).
To solve your problem a second method and array_merge will help:
public function getExtendedValidationRules() {
return array_merge($this->getValidationRules(),
[
...
]
);
}
I use something like that more often, because I often have data that cannot be changed after a certain moment.
For example cars for sales: Here usually everything may be changed until the sales contract. From that point on it is not allowed anymore. So I use the one ValidationRule getter before a sales contract, the other validationRule getter if there is a valid contract.
By the way, I also use a solution which avoids the problem with the fillable, but unfortunately has to be implemented every time:
I pass the complete, validated data to a separate method, which sets the protected fields (not contained in fillable) one by one and removes them from the array, the rest goes to the actual update method.
This way I can see immediately which additional / protected / special fields are updated. And this already works ^^

I use something like that more often, because I often have data that cannot be changed after a certain moment.
For example cars for sales: Here usually everything may be changed until the sales contract. From that point on it is not allowed anymore.

That's a good point of why it's better to define rules in a per case scenario.

By the way, I also use a solution which avoids the problem with the fillable, but unfortunately has to be implemented every time:
I pass the complete, validated data to a separate method, which sets the protected fields (not contained in fillable) one by one and removes them from the array, the rest goes to the actual update method.

That's something else this PR tries to solve. I don't like doing things like this:
// Before
$data = $this->validate([
    'role' => 'in:user,editor,admin',
]);
// $data is an array

// $user = new User;
$user->role = $data['role'];
$user->fill($data);
$user->save();

If you are already validating the role it should be "fillable":
// After
$data = $this->validate([
    'role' => 'in:user,editor,admin',
]);
// $data is a Validated / ApprovedBag

User::create($data); // $user->update($data);

I'm not really sure this is going to be a significant improvement from what we have now to be honest.


Yield ReusableInputStreamer as numpy array or something

Hi! I'm interesting is there any way to get converted data as chunks?  In my case i need to restream data to grpc as bytes, np array or io.wav object. I've tried with elevenlabs api and got problems that data is samples and i can't to handle it properly (sluttering and etc problems). Can elevenlabslib be solution for this?

This is possible using voice.stream_audio_no_playback - I haven't added a version of ReusableInputStreamer which does this as I figured it wouldn't be very useful, but I could?

It will be great, cause for something like real-time communication it lost a lot of time on connection to API

sorry for bothering, but can't figure out this from docs.
 Do not initialize these classes directly! Use the voiceFactory factory method.

I should probably make voiceFactory private.
In short - don't try to create voices yourself. Get them from the ElevenLabsUser object, with the user._get_voice() methods (either by id or by name).

b = voice.stream_audio_no_playback(text)

for i in b:
    try:
        a = i.get()
        print(a)
    except Exception as e:
        print(e)

Sorry again, but if try something like that, it return all request in one chunk. I think that it might depending on chunk size and with longer text there might be more chunks? Also this array representing mp3 format as numpy array or it already converting to wav?

Added ReusableInputStreamerNoPlayback, which does what it says. Here's a usage example:
input_streamer_no_playback = ReusableInputStreamerNoPlayback(voice)
#The parameter must be an iterator, not a single string, as this is meant for input streaming!
audio_future, transcript_future = input_streamer_no_playback.queue_audio(write())
audio_queue = audio_future.result()
transcript_queue = transcript_future.result()

audio = audio_queue.get()
while audio is not None:
    print(audio)
    audio = audio_queue.get()

As far as the chunking goes, yes, it depends on how long the text is, and the chunk size.
And as for the format, numpy arrays are format agnostic - that is, they're their own format. You can turn them into a wav pretty easily, or any other format.

Thank you!


Highlighting visually broken

Cell wrappers do not fill the whole cell anymore (even that those have negative margins).
See defined columns demo.

Fixed.


Better YouTube handling

[ ] Handle iframes like Feedbin (prevent swipe events)
[ ] Stretch goal: Parse YouTube specific RSS metadata

Maybe this is better suited here instead of opening a new issue. Let me know what you think, @jocmp.
If you scroll through an article, then YouTube videos get already played (or paused) while you scroll over them. Here's an example with a random article:
https://github.com/user-attachments/assets/48bdd603-3904-44f9-a9e0-12399a669a7c
This can be quite irritating and in my opinion the playback should be harder to trigger, with a tap instead of on scrolling.
Also, thanks a lot for this great app! 🙏

Hey @scharmach thanks for reporting. I was able to reproduce this. It looks like any touch event (including a swipe) will autoplay YouTube. It's possible to avoid if you swipe around the video, but it's not easy. I'll see if I can modify this so that it's not so easy to start the video.

I'm working on a custom overlay that should prevent YouTube's touchy behavior. On click the video will start as expected. Here's a sneak peek!
https://github.com/user-attachments/assets/a388f8f6-30f9-4bba-98ac-4c111346827c

This is available as of 2024.12.1085-dev.


update _message_type_lookups

https://github.com/langchain-ai/langchain/pull/19034

/gcbrun

This should be an easy review, can anyone approve it? @lkuligin . Need this in my project 👀


MAX78000: issues with external SPI RAM (aps6404l) in quad mode

I'm using an external SPI RAM (aps6404l) connected to SPI0 and it works well when I use it in standard 4-wire SPI mode. I can read and write data fine. I am using the sync Master Transactions API.
However, when I enable Quad mode the write operation seems to work but the read operation hangs in the SDK functions.
I did a bit of debugging and it appears that the Master Done flag bit in the SPI0 INTFL register doesn't get set. This means that the function MXC_SPI_RevA1_MasterTransaction never returns since there is this loop while (!((req->spi)->intfl & MXC_F_SPI_REVA_INTFL_MST_DONE)) {}.
This is strange because if I inspect the request it seems that all the data has been read: rx_len is what I expect and the buffer seems to contain the data I expect.
I then noticed that if I try to read 75 bytes or less the Master Done flag gets set correctly but if I try to read more bytes it doesn't. This doesn't happen in 4-wire mode where I can read different buffer sizes just fine.
All of this happens using an SPI frequency of 24MHz, if I increase it to 50MHz I can only write data to the RAM but I cannot read anything, not even buffers smaller than 75 bytes. Again, in standard 4-wire mode, this is not an issue, I can use 50MHz and read/write just fine.
I'm a bit confused on what's going on, especially because it seems the transaction is completed but the flag is not set. And also, why it only works for buffers smaller than 75 bytes.

Hi @alessandro-montanari,
Are you using the APS6404 that's on-board the MAX78002EVKIT?  If so, see the PR linked above.  I've had some drivers written for it that have been living in the QSPI example project, but they've needed some cleanup for a while.  I've just updated them in the PR to expose them universally.
Regarding the flag not being set - it's difficult to say exactly what this could be.  I have some experience with a couple quirks in our SPI drivers I gained while writing the APS6404 drivers.  At a high level our SPI API was not compatible and I had to rewrite a highly optimized "fastspi" implementation.
See this block in the QSPI read implementation.  Essentially we have to issue two separate transactions to comply with the timing requirements of the APS6404 QSPI reads - one for the TX side and one for the RX side.  We hold the SS line in between the two transactions so that the IC sees them as one.  The previous SPI API was not fast enough to do this.  You need less than about 12uS in the gap.  The updated drivers should be functional, and they expose a simple aps6404_read/aps6404_write/aps6404_enter_quadmode interface.  See the updated example.
Regarding the speed - I've only been able to communicate with the APS6404 reliably at 24Mhz.  On some EVKITs I can get 30Mhz, but this seems to be an issue with the hardware layout and design of the board itself.  Since we have exposed every pin with a jumper, the higher speeds seem to degrade due to layout and/or noise injection issues.  The SPI0 pins also share connections to the TFT display on the kit, which further introduces some potential for impedance and interference issues.  I've updated the BSP to disable the TFT on startup and forced the highest drive strength for the pins in the drivers.  This helps significantly, but it still seems that a more optimized layout would be needed to get speeds up to the fullest capability of the SPI peripheral (60Mhz).


Fix Latency on julia 1.9

This PR fixes a major latency issue on Julia 1.9 (per @vtjnash on slack)

it is a constructor for a type with too many Union parameters

The fix is to remove several Union parameter types. I also took the opportunity to reduce the type space for Solver-- there is no need to have I <: Int and FT in the type space since Int will always resolve the same and FT can be grabbed from eltypes of member arrays.
Main:
julia> @time using RRTMGP
[ Info: Precompiling RRTMGP [a01a1ee8-cea4-48fc-987c-fc7878d79da1]
532.620944 seconds (517.19 M allocations: 140.311 GiB, 2.15% gc time, 0.16% compilation time: 86% of which was recompilation)

This PR:
julia> @time using RRTMGP
[ Info: Precompiling RRTMGP [a01a1ee8-cea4-48fc-987c-fc7878d79da1]
  5.199173 seconds (5.78 M allocations: 453.897 MiB, 1.94% gc time, 15.94% compilation time: 88% of which was recompilation)

It's still not fantastic (there are other structs with several Unions), but it's at least not catastrophic.

bors try

bors r+

bors r-

bors r+


Add ability to translate suggestions for input tags

Allow for array with key + label in suggestions.
Forms\Components\TagsInput::make('')->suggestions(fn () => [['test' => __('test')]])

I don't understand, whats the point? 🤔

Show a translated label which may be different to the value that's saved.

I don't think that's not how <datalist> works IIRC


[bug] Duplicate comment icons

🐞 Bug report
Description
I see a newer feature of the tool is that the comments are displayed in-line. Looks cool! Although I noticed a weird bug, it displays three comment icons instead of one. And every time I click the "Code Review:" text and click back into the file, it adds two more.

Could it also be explored to put the comment icon at the end of any given line instead of wherever the comment ends? That would be quite helpful since those comment icons can interrupt the line of code I'm reading.
Reproduction

Open a file with some code
Create a new code review comment
Click on the "Code Review:" text above the code you just highlighted
Click back into the file
Repeat as desired

🌍 Your Environment

Using Windows 10 to connect to a linux server via Remote SSH. However, was able to reproduce the same/similar issue without this remote connection.

I implemented the icon placement fix (at the end of the line) with version 1.29.1. please check it out. When you can confirm that the bug doesn't exists anymore, I will close this issue.

Thanks for the icon fix! Can confirm I don't see that the bug in 1.29.1.


Assigning array of different type can overwrite original array reference

Godot version
4.0 ae86d90
System information
Windows 10 x64
Issue description
This is a bit convoluted, but it boils down to this:
var base_array: Array[int]
var array: Array[int]
array = base_array
array.append(1)
print(base_array) # prints [1]
var new_array := []
array = new_array
print(base_array) # prints []. base_array is gone??

array variable was holding base_array. We then assign a different array to array (it's important that it's a new variable). Assigning to array overwrites base_array.
Does not happen if base_array is not typed.
Does not happen if new_array is Array[int]
Steps to reproduce
Run the code above.
Minimal reproduction project
N/A

#69248 fixes it.
I don't know if you have rights to do reviews/approvals in GDScript/Core section.
But if you do - I would appreciate a look at the PR.
It started simple but then grew because there were so many issues with typed arrays.
I can try to separate and remove things out of it if it helps.
Have no problem squashing - just kept it as separate commits for now because it became too much for one.
If it matters - I am on rocket chat thing so can respond there too.


Changes for continuous integration builds should go to master...

... for first automated release build.

Spot an error on created image names. Small thing but needs to be fixed starting on continuous-integration-branch :-/


Migration from "styled-components" to "linaria"

I'm currently working on a project that utilizes the following stack of dependencies:
"dependencies": {
    "@noriginmedia/norigin-spatial-navigation": "^2.0.2",
    "preact": "^10.16.0",
    "preact-router": "^4.1.2",
    "react-virtuoso": "^4.6.2",
    "styled-components": "^6.0.0",
    "zustand": "^4.4.4"
}

Everything is functioning correctly, but I'm aiming to enhance the performance on older devices.
To achieve this, I'm looking to switch from using "styled-components" to "Linaria". However, when I attempt to add the following line of code to the focusable component:
const { ref, focused } = useFocusable();
I encounter the following error during development:
[vite] Internal server error: $RefreshSig$ is not defined in...
Have any of you encountered this issue before?

Additional Information

The error is specific to the development environment and does not occur in the production environment.

SOLUTION
Update the Vite config disabling prefreshEnabled.
 plugins: [
    linaria(),
    preact({ prefreshEnabled: false }),
  ],


那个其他按钮推荐里的VTB按钮好像过期了

新的按钮链接好像是这个VTUBER按钮合集

:tada: This issue has been resolved in version 1.13.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Study End Time for Review and Learn Cards

Feature Description
I think it could be helpful to have the add-on estimate how much more studying is left to do for the current day's learning & review cards to be completed.
This would not need to include new cards, as that can vary based on learning steps per deck.
Alternatives Considered
https://ankiweb.net/shared/info/1097423555
Relevant function: updatePB, line 372 where var ETA is assigned.
Additional context
That add-on has it as a progress bar at the top of the screen during reviews. I find this distracting, and think it would be great to just have it only on the home screen, as you do. Example from that add-on:

Sure sure, sounds interesting! Shouldn't be too much extra with everything else in the works for the upcoming release, anyway. Will try to see if I can fit this in, or at least something close to it!
For the time being: I actually made a personal extension to the more overview stats add-on (https://ankiweb.net/shared/info/738807903) that does something similar to this a long while ago.
Maybe you'd wanna check that out and see how it goes for you, too:
more_overview_stats_ext.zip
(put the unzipped file in your (Windows) %APPDATA%/Anki2/addons21 folder (e.g. C:\Users\justkoi\AppData\Roaming\Anki2\addons21\more_overview_stats_ext))
It might not work 100%, though, fair warning. I pretty much just patched it together one morning, so it's a bit scrappy, but it pretty much tells you how many cards (including new card counts using the preset step counts) are left for a deck, but only in each decks' overview page, so not on the main screen, unfortunately.

Should be added in the most recent release (v2.0.0)!
Thanks again!