Cannot connect to the cluster

Hello,
I've installed CoreOS 681.0.0 on 2 machines (bare metal).
The cloud-config file used for node1 machine (only the IPs and the hosname are changed for the other one):
#cloud-config
#
# Set hostname
hostname: node1

# Set ssh key
ssh_authorized_keys:
- ssh-rsa KEY
coreos:
  etcd:
    name: node1
    discovery: https://discovery.etcd.io/TOKEN
    addr: <IP_ADDRESS>:4001
    peer-addr: <IP_ADDRESS>:7001
  fleet:
    public-ip: <IP_ADDRESS>
  units:
    - name: etcd.service
      command: start
    - name: fleet.service
      command: start

I can log to the machine and issue some basic commands without problem
- etcdctl ls / --recursive
- fleetctl list-machines
When I boot the second machine, those commands give an error message:
etcdctl ls / --recursive
Error:  cannot sync with the cluster using endpoints http://<IP_ADDRESS>:4001, http://<IP_ADDRESS>:2379

fleetctl list-machines
Error retrieving list of active machines: googleapi: Error 503: fleet server unable to communicate with etcd

Any idea what can be wrong ?
Thanks a lot
UPDATE
Seems like etcd has not started on boot.
$ sudo systemctl status etcd
● etcd.service - etcd
   Loaded: loaded (/usr/lib64/systemd/system/etcd.service; static; vendor preset: disabled)
  Drop-In: /run/systemd/system/etcd.service.d
           └─20-cloudinit.conf
   Active: activating (auto-restart) (Result: exit-code) since Wed 2015-06-17 11:29:05 ; 8s ago
  Process: 746 ExecStart=/usr/bin/etcd (code=exited, status=1/FAILURE)
 Main PID: 746 (code=exited, status=1/FAILURE)

Jun 17 11:29:05 node2 systemd[1]: Unit etcd.service entered failed state.

Jun 17 11:34:28 node2 systemd[1]: Starting etcd...
Jun 17 11:34:28 node2 etcd[1028]: [etcd] Jun 17 11:34:28.099 INFO      | Discovery via https://discovery.etcd.io using prefix /15e12f4ce6d2972b198e3274f0d19f6e.
Jun 17 11:34:30 node2 etcd[1028]: [etcd] Jun 17 11:34:30.500 WARNING   | Discovery encountered an error: 501: All the given peers are not reachable (Tried to connect to each peer twice and failed) [0]
Jun 17 11:34:30 node2 systemd[1]: etcd.service: main process exited, code=exited, status=1/FAILURE
Jun 17 11:34:30 node2 systemd[1]: Unit etcd.service entered failed state.
Jun 17 11:34:30 node2 systemd[1]: etcd.service failed.

I didn't see any machine registered in discovery service(http://discovery.etcd.io/15e12f4ce6d2972b198e3274f0d19f6e), and that might be the reason. What I expect to see is that the first machine has been registered in discovery token.
Could you remove the etcd data dir and start from the beginning? You need to use a new discovery token.
Moreover, it is more recommended to move to etcd2 service.

I've tested with several token but it was the same thing: first machine ok, second one ko. I noticed a quite important latency on the second machine (even when issuing a ping "google.com"), could this be a network pb then ?
Regarding etcd2, is it shipped with CoreOS 681.0.0 ?
Thanks for your help.

@gridpocketuser If the machine cannot connect to the discovery service, it cannot use discovery service to bootstrap itself.
Yes, it is in coreos 681.0.0. You could check the details here: https://coreos.com/blog/etcd2-in-stable-channel/
In etcd2 world, you could try the https://github.com/coreos/etcd/blob/master/Documentation/clustering.md#static bootstrap way, which is explicit and clear.

I changed the cloud-config to use etcd2 and took a new discovery token:
First node (eris)
#cloud-config
#
# Set hotname
hostname: eris

# Set ssh key
ssh_authorized_keys:
- ssh-rsa KEY
coreos:
  etcd2:
    discovery: https://discovery.etcd.io/df0ea6475b46a404d65dbce8a37b3024
    advertise-client-urls: http://<IP_ADDRESS>:2379
    initial-advertise-peer-urls: http://<IP_ADDRESS>:2380
    listen-client-urls: http://<IP_ADDRESS>:2379,http://<IP_ADDRESS>:4001
    listen-peer-urls: http://<IP_ADDRESS>:2380,http://<IP_ADDRESS>:7001
  fleet:
    public-ip: <IP_ADDRESS>
  units:
    - name: etcd2.service
      command: start
    - name: fleet.service
      command: start

Seems that the connection to etcd was ok:
sudo systemctl status etcd2
● etcd2.service - etcd2
   Loaded: loaded (/usr/lib64/systemd/system/etcd2.service; static; vendor preset: disabled)
  Drop-In: /run/systemd/system/etcd2.service.d
           └─20-cloudinit.conf
   Active: active (running) since Thu 2015-06-18 10:00:45 ; 3min 9s ago
 Main PID: 614 (etcd2)
   Memory: 2.9M
   CGroup: /system.slice/etcd2.service
           └─614 /usr/bin/etcd2

Jun 18 10:00:45 eris etcd2[614]: 2015/06/18 10:00:45 etcdserver: datadir is valid for the 2.0.1 format
Jun 18 10:00:47 eris etcd2[614]: 2015/06/18 10:00:47 discovery: found self 8b970da3064fe308 in the cluster
Jun 18 10:00:47 eris etcd2[614]: 2015/06/18 10:00:47 discovery: found 1 peer(s), waiting for 1 more
Jun 18 10:01:47 eris etcd2[614]: 2015/06/18 10:01:47 discovery: during waiting for other nodes connection to https://discovery.etcd.io timed out, retrying in 2s
Jun 18 10:01:49 eris etcd2[614]: 2015/06/18 10:01:49 discovery: found self 8b970da3064fe308 in the cluster
Jun 18 10:01:49 eris etcd2[614]: 2015/06/18 10:01:49 discovery: found 1 peer(s), waiting for 1 more
Jun 18 10:02:49 eris etcd2[614]: 2015/06/18 10:02:49 discovery: during waiting for other nodes connection to https://discovery.etcd.io timed out, retrying in 4s
Jun 18 10:02:53 eris etcd2[614]: 2015/06/18 10:02:53 discovery: found self 8b970da3064fe308 in the     Jun 18 10:02:53 eris etcd2[614]: 2015/06/18 10:02:53 discovery: found 1 peer(s), waiting for 1 more
Jun 18 10:03:53 eris etcd2[614]: 2015/06/18 10:03:53 discovery: during waiting for other nodes connection to https://discovery.etcd.io timed out, retrying in 8s

Seems to be fine then, but fleet cannot communicate with etcd:
$ sudo fleetctl list-machines
Error retrieving list of active machines: googleapi: Error 503: fleet server unable to communicate with etcd

Then second node (ziemia) does not manage to connect to etcd it seems (I've checked the network is find this time).
$ sudo systemctl status etcd2
● etcd2.service - etcd2
   Loaded: loaded (/usr/lib64/systemd/system/etcd2.service; static; vendor preset: disabled)
  Drop-In: /run/systemd/system/etcd2.service.d
           └─20-cloudinit.conf
   Active: active (running) since Thu 2015-06-18 10:02:16 ; 2min 21s ago
 Main PID: 607 (etcd2)
   Memory: 3.4M
   CGroup: /system.slice/etcd2.service
           └─607 /usr/bin/etcd2

Jun 18 10:04:35 ziemia etcd2[607]: 2015/06/18 10:04:35 raft: 108558ba0e19454f [logterm: 1, index: 2] sent vote request to 283bd17cd2fb34d1 at term 3561
Jun 18 10:04:36 ziemia etcd2[607]: 2015/06/18 10:04:36 etcdserver: publish error: etcdserver: request timed out
Jun 18 10:04:36 ziemia etcd2[607]: 2015/06/18 10:04:36 raft: 108558ba0e19454f is starting a new election at term 3561
Jun 18 10:04:36 ziemia etcd2[607]: 2015/06/18 10:04:36 raft: 108558ba0e19454f became candidate at term 3562
Jun 18 10:04:36 ziemia etcd2[607]: 2015/06/18 10:04:36 raft: 108558ba0e19454f received vote from 108558ba0e19454f at term 3562
Jun 18 10:04:36 ziemia etcd2[607]: 2015/06/18 10:04:36 raft: 108558ba0e19454f [logterm: 1, index: 2] sent vote request to 283bd17cd2fb34d1 at term 3562
Jun 18 10:04:38 ziemia etcd2[607]: 2015/06/18 10:04:38 raft: 108558ba0e19454f is starting a new election at term 3562
Jun 18 10:04:38 ziemia etcd2[607]: 2015/06/18 10:04:38 raft: 108558ba0e19454f became candidate at term 3563
Jun 18 10:04:38 ziemia etcd2[607]: 2015/06/18 10:04:38 raft: 108558ba0e19454f received vote from 108558ba0e19454f at term 3563
Jun 18 10:04:38 ziemia etcd2[607]: 2015/06/18 10:04:38 raft: 108558ba0e19454f [logterm: 1, index: 2] sent vote request to 283bd17cd2fb34d1 at term 3563

core@ziemia ~ $ sudo etcd ls / --recursive
[etcd] Jun 18 10:05:08.875 WARNING   | Using the directory ziemia.etcd as the etcd curation directory because a directory was not specified.
[etcd] Jun 18 10:05:08.876 INFO      | ziemia is starting a new cluster
[etcd] Jun 18 10:05:08.879 INFO      | etcd server [name ziemia, listen on :4001, advertised url http://<IP_ADDRESS>:4001]
[etcd] Jun 18 10:05:08.879 CRITICAL  | Failed to create listener: listen tcp :4001: bind: address already in use

Anything I missed ?
Thanks a lot for your help.

etcd process and etcd2 service use the same port, so you need to kill the original etcd process. Moreover, the cluster in static bootstrap will not work until all members join the cluster.

I do not run etcd service, in the cloud-config I only run etcd2 on reboot.
How would you do dynamic bootstrap on bare metal so the cluster can work on
a single node ?
On Thu, Jun 18, 2015 at 4:45 PM, Yicheng Qin<EMAIL_ADDRESS>wrote:

etcd process and etcd2 service use the same port, so you need to kill the
original etcd process. Moreover, the cluster in static bootstrap will not
work until all members join the cluster.
—
Reply to this email directly or view it on GitHub
https://github.com/coreos/etcd/issues/2995#issuecomment-113180279.

@gridpocketuser I misunderstood your last command sudo etcd ls / --recursive, you should use etcdctl.
If you want to bootstrap a cluster of two members, use a discovery token with size=2. Then the cluster will wait for 2 members ready before serving. If there is still a problem, please share the full command line and log of the etcd processes with us.

I've just deleted the eris.etcd folder and restarted one single machine with a new token (single machine token):
I got the following status for etcd2
core@eris ~ $ systemctl status etcd2
● etcd2.service - etcd2
   Loaded: loaded (/usr/lib64/systemd/system/etcd2.service; static; vendor preset: disabled)
  Drop-In: /run/systemd/system/etcd2.service.d
           └─20-cloudinit.conf
   Active: active (running) since Tue 2015-06-23 12:20:15 ; 6min ago
 Main PID: 613 (etcd2)
   Memory: 9.6M
   CGroup: /system.slice/etcd2.service
           └─613 /usr/bin/etcd2
Jun 23 12:24:40 eris etcd2[613]: 2015/06/23 12:24:40 rafthttp: request ignored due to cluster ID mismatch got 47501b6c52dad5bb want a4bbec9326f58813
Jun 23 12:24:52 eris etcd2[613]: 2015/06/23 12:24:52 rafthttp: request ignored due to cluster ID mismatch got 47501b6c52dad5bb want a4bbec9326f58813

The journal gives the following output:
journalctl -u etcd2
Jun 23 12:20:04 eris systemd[1]: Started etcd2.
Jun 23 12:20:04 eris systemd[1]: Starting etcd2...
Jun 23 12:20:05 eris systemd[1]: etcd2.service: main process exited, code=exited, status=1/FAILURE
Jun 23 12:20:05 eris systemd[1]: Unit etcd2.service entered failed state.
Jun 23 12:20:05 eris systemd[1]: etcd2.service failed.
Jun 23 12:20:15 eris systemd[1]: etcd2.service holdoff time over, scheduling restart.
Jun 23 12:20:15 eris systemd[1]: Started etcd2.
Jun 23 12:20:15 eris systemd[1]: Starting etcd2...
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcd: already initialized as member before, starting as etcd member...
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcd: listening for peers on http://<IP_ADDRESS>:2380
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcd: listening for peers on http://<IP_ADDRESS>:7001
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcd: listening for client requests on http://<IP_ADDRESS>:2379
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcd: listening for client requests on http://<IP_ADDRESS>:4001
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: datadir is valid for the 2.0.1 format
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: discovery token ignored since a cluster has already been initialized. Valid log found at "/var/lib/etcd2/member/wal"
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: recovered store from snapshot at index 850085
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: name = a180a4ac14ec40baae53818361ffbd93
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: data dir = /var/lib/etcd2
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: member dir = /var/lib/etcd2/member
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: heartbeat = 100ms
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: election = 1000ms
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: snapshot count = 10000
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: discovery URL= https://discovery.etcd.io/834977fe58bb7d1b0ecfe21f085b8933
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: advertise client URLs = http://<IP_ADDRESS>:2379
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: loaded cluster information from store: a180a4ac14ec40baae53818361ffbd93=http://<IP_ADDRESS>:2380
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 etcdserver: restart member ee14edad7cc18509 in cluster a4bbec9326f58813 at commit index 856652
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 raft: ee14edad7cc18509 became follower at term 3
Jun 23 12:20:15 eris etcd2[613]: 2015/06/23 12:20:15 raft: newRaft ee14edad7cc18509 [peers: [ee14edad7cc18509], term: 3, commit: 856652, applied: 850085, lastindex: 856652, lastterm: 3]
Jun 23 12:20:16 eris etcd2[613]: 2015/06/23 12:20:16 rafthttp: request ignored due to cluster ID mismatch got 47501b6c52dad5bb want a4bbec9326f58813
Jun 23 12:20:17 eris etcd2[613]: 2015/06/23 12:20:17 raft: ee14edad7cc18509 is starting a new election at term 3
Jun 23 12:20:17 eris etcd2[613]: 2015/06/23 12:20:17 raft: ee14edad7cc18509 became candidate at term 4
Jun 23 12:20:17 eris etcd2[613]: 2015/06/23 12:20:17 raft: ee14edad7cc18509 received vote from ee14edad7cc18509 at term 4
Jun 23 12:20:17 eris etcd2[613]: 2015/06/23 12:20:17 raft: ee14edad7cc18509 became leader at term 4
Jun 23 12:20:17 eris etcd2[613]: 2015/06/23 12:20:17 raft.node: ee14edad7cc18509 elected leader ee14edad7cc18509 at term 4
Jun 23 12:20:17 eris etcd2[613]: 2015/06/23 12:20:17 etcdserver: published {Name:a180a4ac14ec40baae53818361ffbd93 ClientURLs:[http://<IP_ADDRESS>:2379]} to cluster a4bbec9326f58813
Jun 23 12:20:27 eris etcd2[613]: 2015/06/23 12:20:27 rafthttp: request ignored due to cluster ID mismatch got 47501b6c52dad5bb want a4bbec9326f58813
Jun 23 12:20:39 eris etcd2[613]: 2015/06/23 12:20:39 rafthttp: request ignored due to cluster ID mismatch got 47501b6c52dad5bb want a4bbec9326f58813

no new eris.etcd folder has been created

One discovery token represents one unique etcd cluster, and members in different etcd cluster cannot talk to each other for the sake of data integration in both clusters.
Destroy both nodes and use a discovery token with size=2

I used a new size 2 token and rebooted the machines. Both nodes show the 2 ips through fleet.
core@eris ~ $ fleetctl list-machines
MACHINE		IP		METADATA
a180a4ac...	<IP_ADDRESS>	-
d62acd1d...	<IP_ADDRESS>	-

Thanks a lot.

Hi All,
I am facing similar kind of issues where can not able to see two nodes in cluster using fleetctl list-machines.
Discovery URL: https://discovery.etcd.io/e50179b42721cc640b50b11d5a0604d0
I have used discovery token with size=2 due to two machines.
I can see that both member are listed using etcdctl member list command, please take look below output:
etcdctl member list
776e37ff9ceebba1: name=a098599e8ae7604f85f0a2bf141387a3 peerURLs=http://<IP_ADDRESS>:2380,http://<IP_ADDRESS>:2380 clientURLs=http://<IP_ADDRESS>:2379
However, I can not see the two nodes using fleetctl list-machines command.
leetctl list-machines
MACHINE		IP		METADATA
a098599e...	<IP_ADDRESS>	-
Please let me know your inputs on this.
Thanks in advance!

@sachingharge If you can see both members through etcdctl(though i just saw one in your log, but i think you didn't paste all log), this is a fleet issue and should be reported at https://github.com/coreos/fleet. I would suggest you to check fleet log to see what is happening as the first step.

size=2 for 3 digitalocean droples resolved my issue also
ty!


Invoke-Command does not support -Startuptype AutomaticDelayedStart

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
Hi, seems like an issue with using StartupType AutomaticDelayedStart on 7.4.1 while running Invoke-Command, checking the enum i only get the following options aswell. Is it due to running it inside a Scriptblock?
Boot
System
Automatic
Manual
Disabled
According to the FAQ it should be working: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/set-service?view=powershell-7.4#-startuptype
Expected behavior
$S = Get-Service -Name Telegraf
Invoke-Command -ComputerName remotepc -ScriptBlock { Set-Service -StartupType "AutomaticDelayedStart" -InputObject $S -Status Running }

Actual behavior
$S = Get-Service -Name Telegraf
Invoke-Command -ComputerName remotepc -ScriptBlock { Set-Service -StartupType "AutomaticDelayedStart" -InputObject $S -Status Running }

Set-Service: Cannot bind parameter 'StartupType'. Cannot convert value "AutomaticDelayedStart" to type "System.ServiceProcess.ServiceStartMode". Error: "Unable to match the identifier name AutomaticDelayedStart to a valid enumerator name. Specify one of the following enumerator names and try again:
Boot, System, Automatic, Manual, Disabled"

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.4.1
PSEdition                      Core
GitCommitId                    7.4.1
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

When you use Invoke-Command with -ComputerName it connects to a registered PSSessionConfiguration under a specific name. The default configuration is Microsoft.PowerShell which is the PSSession registered for Windows PowerShell 5.1. You can see this by running Invoke-Command -ComputerName foo { $PSVersionTable.PSVersion } and see it will be for 5.1 and not 7.4.1.
While Set-Service on Windows PowerShell 5.1 did have a -StartupType parameter the AutomaticDelayedStart was added in version in PowerShell 7.x. To use this startup type you'll either have to

Target the PowerShell.7 configuration with the -ConfigurationName parameter on Invoke-Command
Use sc.exe to set the startup type to automatic delayed start

The PowerShell.7 configuration will only exist on the remote host if you installed PowerShell 7 and registered the session configuration with Enable-PSRemoting on PowerShell 7. You can see what configurations are available by running as admin Get-PSSessionConfiguration in PowerShell 7 on the target host.


add initial files to setup codecov

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@bbeb31a). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master    #204   +/-   ##
========================================
  Coverage          ?   80.4%
========================================
  Files             ?     102
  Lines             ?    5283
  Branches          ?       0
========================================
  Hits              ?    4248
  Misses            ?    1035
  Partials          ?       0

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 bbeb31a...6933f69. Read the comment docs.


JavaScript

JavaScript
User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I can see the four topics I learned listed along with a suggestion on what I should study first

JavaScript was added to the document.


Add operators override

some times, I want add a struct to a float64, need override +,-,/,* operaters
this function is very useful, please add it to features.

Sorry, It supports now, thanks


image weight ....

Hello,
I want to print a image take by the camera around 2Mb.
So first of all I make a convertion in base64 to print it...
But it seems that it is to big to print...
Does someone have a solution?
Thank a lot,
Alain

It seems that the problem comes from "intent.putExtra(Intent.EXTRA_TEXT, content);" contained in the prodedure "private void printViaGoogleCloudPrintDialog(String content, String title)"
"Bundle" has a limit of how much data it can transfer from one end to the other, currently it's only 1MB.
So if the content to print is higher than 1MB then it occurs a failed binder transaction error...
If someone have a idea to fix it... I would greatly appreciate your participation...


[Bug] Localization incomplete or not working as expected

Bug report
What I did
In the file config/app.php I changed
'locale' => 'it',

and
'fallback_locale' => 'en',

What I expected to happen
I expected both UI and validation messages where translated into italian
What happened
UI are translated but all of validation messages are not translated.
In the following images, login button and remember me checkbox are translated.
But validation errors no !

What I've already tried to fix it
Actually, nothing ...
Is it a bug in the latest version of Backpack?
After I run composer update backpack/crud the bug... is it still there?
Yes
Backpack, Laravel, PHP, DB version
When I run php artisan backpack:version the output is:
### PHP VERSION:
PHP 8.2.8 (cli) (built: Jul  4 2023 15:53:15) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.2.8, Copyright (c) Zend Technologies

### LARAVEL VERSION:
<IP_ADDRESS>

### BACKPACK PACKAGE VERSIONS:
backpack/basset: 1.0.0
backpack/crud: 6.0.4
backpack/generators: v4.0.0
backpack/pro: 2.0.6
backpack/theme-tabler: 1.0.2

Hi @realtebo ,
Actually the translations strings for validation aren't provided by Backpack. They are provided by Laravel. And the reason they are still in English is because... most likely you don't have a resources/lang/it/validation.php file.
There's a project that specializes in providing all must-have translations for Laravel, one of them is validation.
I believe the only thing you need to do is:
composer require --dev laravel-lang/common
php artisan lang:add it

After that my validation messages have been translated in Italian:

But I recommend you follow their docs https://laravel-lang.com/installation/
Hope it helps.
Cheers!

thanks, Added italian as usual.  I was aware of this but  a lot of coworkers still googles to understand why not :)
I simply suggest now to add a paragraph to explain this in the documentation?


Start a demo with docker, but didn't work

Hi , thanks for the tool.
I want to try a demo, just start it with docker, but i can't upload any image, no error message, and i checked the nginx access.log, it's seem fine.
<IP_ADDRESS> - - [03/May/2017:02:57:48 +0000] "POST / HTTP/1.1" 200 1720 "http://<IP_ADDRESS>/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/
537.36"
<IP_ADDRESS> - - [03/May/2017:02:58:11 +0000] "POST / HTTP/1.1" 200 1720 "http://<IP_ADDRESS>/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/
537.36"

Please repost in the pictshare-docker repo https://github.com/HaschekSolutions/PictShare-Docker


VS code forcing itself open with cli.js file

Same issue as here https://github.com/Microsoft/vscode/issues/69373 but was closed before answered. VS Code keeps automatically opening a file called "cli.js"

Can you follow the steps from https://github.com/microsoft/vscode/issues/69373#issuecomment-467589865 to get more info for us? Thanks!
/needsMoreInfo

Yes I can, I downloaded the software you referred to. I'm not sure what information you want though, it just showed that vs code was open

Can you show the command line arguments of all Code.exe processes?


Circularly referenced objects cause a call stack overflow

🐛 Bug Report
When an object directly/indirectly references itself, updating it causes an infinite loop.
Link to repro
Example using Zustand
This issue is not specific to Zustand, I've isolated it to immer by testing.
import produce from 'immer';
import create from 'zustand';

// parent child relationship
let parent = create(() => ({
  name: 'parent',
  alive: true,
  child: undefined as object | undefined,
}));

let child = {
  name: 'Davy Jones',
  age: 2,
  relationships: {
    parent,
  },
};

// eventually, app connects parent and child
parent.setState({
  child,
});

// over time, the app now needs to update the parent
parent.setState(
  produce((state) => {
    state.alive = false; // :(
  }),
);
/**
 * the above causes an infinite loop
 *
 * ![](https://i.imgur.com/Vct1u5O.png)
 */

To Reproduce
Run the script, you'll see the issue.
Observed behavior
A call stack overflow happens.
Expected behavior
Immer handles the circular reference by understanding that it has already parsed the object.
Environment
We only accept bug reports against the latest Immer version.

Immer version:
[x] I filed this report against the latest version of Immer
[x] Occurs with setUseProxies(true)
[x] Occurs with setUseProxies(false) (ES5 only)

Circular references are intentionally not supported, as they break the constraints of the immutable paradigm and the semantics would be very confusion. Imagine for example changing a parent without the child. Will you now have two parents in the new state? That would be weird. Or would both change? That would kill the structural sharing principles and be very inefficient to implement. If you want to work with immutable state, one should limit oneselves to unidirectional trees.
See https://immerjs.github.io/immer/pitfalls#immer-only-supports-unidirectional-trees and https://github.com/immerjs/immer/issues/201#issuecomment-423895172. Instead, either find a solution that doesn't store a parent reference, or use an identifier to signal who the parent is without storing an explicit reference.

Imagine for example changing a parent without the child. Will you now have two parents in the new state? That would be weird. Or would both change?

Yeah, I guess that makes sense. In my project, I guess I could store the "address" of the child in the child (I have groups of groups in my data structure). And if the child is adopted again, I could mutate the address.
So a child with an address of [1, 3, 2] would assume its parent is at [1, 3]. And an adoption to the group [9, 12, 0] would make the child have the address of [9, 12, 0, x].
This will definitely hurt the performance of my app. But, I'm guessing avoiding circular references will be beneficial in the future. Am I getting this right?


Checkstyle configuration from URI

Currently, there is no way to configure checkstyle to use a configuration from a given URL (at least not in a clean way and in a way that I am aware of).
The idea is to have a checkstyle configurations for an organization that can be hosted on one location and other projects within that organization can use that configuration file in multiple projects without the need to copy it.
This can be something similar as the headerURI from the gradle-license-plugin

The setConfig method accepts a TextResource, which can also refer to a File through a URI.

@oehme how can I actually do that? The file I need is prefixed with http. (it is actually in another github repository)
If your suggestion is for me to download the file and then create a file from it and pass it to the config that is what I wanted to avoid doing.

You just pass the URI to project.resources.text.fromFile()

That is what I've tried and it is not working:
My config looks like:
checkstyle {
    config project.resources.text.fromFile(new URI("https://raw.githubusercontent.com/mapstruct/mapstruct/master/build-config/src/main/resources/build-config/checkstyle.xml" ) )
}

I've also tried with just the string and calling toUri() on it.
I am getting this exception:
FAILURE: Build failed with an exception.
* What went wrong:
Cannot convert URL 'https://raw.githubusercontent.com/mapstruct/mapstruct/master/build-config/src/main/resources/build-config/checkstyle.xml' to a file.
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.InvalidUserDataException: Cannot convert URL 'https://raw.githubusercontent.com/mapstruct/mapstruct/master/build-config/src/main/resources/build-config/checkstyle.xml' to a file.
	at org.gradle.api.internal.file.AbstractFileResolver.convertObjectToFile(AbstractFileResolver.java:124)
	at org.gradle.api.internal.file.BaseDirFileResolver.doResolve(BaseDirFileResolver.java:76)
	at org.gradle.api.internal.file.AbstractFileResolver.resolve(AbstractFileResolver.java:81)
	at org.gradle.api.internal.file.AbstractFileResolver.resolve(AbstractFileResolver.java:63)
	at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileCollectionConverter.convertInto(DefaultFileCollectionResolveContext.java:174)
	at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:135)
	at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileCollections(DefaultFileCollectionResolveContext.java:93)
	at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileCollectionConverter.convertInto(DefaultFileCollectionResolveContext.java:158)
	at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:110)
	at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileCollections(DefaultFileCollectionResolveContext.java:93)
	at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext$FileCollectionConverter.convertInto(DefaultFileCollectionResolveContext.java:158)
	at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.doResolve(DefaultFileCollectionResolveContext.java:110)
	at org.gradle.api.internal.file.collections.DefaultFileCollectionResolveContext.resolveAsFileCollections(DefaultFileCollectionResolveContext.java:93)
	at org.gradle.api.internal.file.CompositeFileCollection.getSourceCollections(CompositeFileCollection.java:172)
	at org.gradle.api.internal.file.CompositeFileCollection.visitRootElements(CompositeFileCollection.java:184)
	at org.gradle.api.internal.changedetection.state.AbstractFileCollectionSnapshotter.snapshot(AbstractFileCollectionSnapshotter.java:51)
	at org.gradle.api.internal.changedetection.state.DefaultGenericFileCollectionSnapshotter.snapshot(DefaultGenericFileCollectionSnapshotter.java:36)
	at org.gradle.api.internal.changedetection.rules.AbstractNamedFileSnapshotTaskStateChanges.buildSnapshots(AbstractNamedFileSnapshotTaskStateChanges.java:91)
	at org.gradle.api.internal.changedetection.rules.AbstractNamedFileSnapshotTaskStateChanges.<init>(AbstractNamedFileSnapshotTaskStateChanges.java:58)
	at org.gradle.api.internal.changedetection.rules.InputFilesTaskStateChanges.<init>(InputFilesTaskStateChanges.java:29)
	at org.gradle.api.internal.changedetection.rules.TaskUpToDateState.<init>(TaskUpToDateState.java:60)
	at org.gradle.api.internal.changedetection.changes.DefaultTaskArtifactStateRepository$TaskArtifactStateImpl.getStates(DefaultTaskArtifactStateRepository.java:178)
	at org.gradle.api.internal.changedetection.changes.DefaultTaskArtifactStateRepository$TaskArtifactStateImpl.isUpToDate(DefaultTaskArtifactStateRepository.java:88)
	at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:53)
	at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
	at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:242)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:95)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:235)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:224)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:121)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:77)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:102)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:96)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:612)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:567)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:96)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:46)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)

I thought that it is not allowed to do what I wanted to do, but you just said that passing URI to the fromFile should work, so I am pasting the exception as well.

You're right, only file:/ urls are supported, which doesn't help in your case. What you could do is download the file in another task as a workaround.

Thanks for reopening this.
I wanted to avoid doing the workaround and that is why I posted the issue. The workaround you said is what I meant in a clean way 😀.
In any case are you open in adding a new parameter to the configuration or you want to solve it in a different way?

There used to be a blog post that described exactly how to do this... but we seem to have lost it somewhere along the way.
The idea was to put your checkstyle (or all of your code quality config, really) into a zip that could be downloaded:
configurations {
   codeQuality
}

dependencies {
   codeQuality 'com.example:codeQuality:1.0@zip'
}

And then in the Checkstyle and other code quality tasks, you could configure them with:
checkstyle {
    config project.resources.text.fromArchiveEntry(configurations.codeQuality, "build-config/checkstyle.xml")
}

But I like the idea of being able to do resources.text.fromUrl(...) a lot (especially if we cache/only download it when needed).

Aha, internet archive to the rescue:
http://web.archive.org/web/20150322034610/http://www.gradleware.com/tutorials/feature-spotlight-enforcing-code-quality-standards/

Thanks for the link, that's a good one. In my case it won't work as we have a different way of doing it, but the idea is that.
And yes having a resources.text.fromUrl(...) would be great (with the addition of caching, here one can use the HTTP cache, etag headers etc).

We already have url caching for apply from:, so adding this feature could be a cool contribution. Would you be interested in submitting a PR?

I've never looked at the gradle codebase, but it would be interesting to try it out 😄 . And I've just recently tried working with gradle on an IntelliJ plugin. In any case I can give it a try, why not 😄 .
Just to make sure I understand correctly, I'll have to work with the code-quality subproject, more specifically the CheckstyleException. Should I add a new config parameter for this or we would need to somehow have a TextResource that can be created from an URI.
Where is the apply from: located so I can have a look at it?

You'd extend the TextResourceFactory to have fromUri. The apply from: code is handled by UriTextResource. Note that we have two TextResource interfaces, one on the public API and one internally. You can probably reuse most of the internal stuff to implement the new public method.

Thanks for the pointers @oehme. I'll clone the repo and have a look at the source. I'd extend the factory and go from there.
I'll try to see if I can write tests first so I can get the hang of it easier 😄 .
Btw, I think you need to change the label of the issue, it is not really a question anymore, or?

@oehme Should we do something else before i start working on this?

I think we don't need a big design for this, as the scope is pretty clear and the semantics would be the same as the existing apply from:. Starting with tests is a good plan, they are required for accepting the PR in any case :)

Great. Can you perhaps point me to the implementation of apply from:?
By the way the internal UriTextResource is not cacheable.
And do you have a gitter or something like that so I don't spam the issue here in case of some questions :smile:

apply from: is handled by ObjectConfigurationAction. And you are right, my first pointer was wrong, because that's the old, uncached uri resource it used to use (and which is still the fallback for some corner cases). See TextResourceLoader instead.

Thanks for the pointers @oehme it helped me a lot. I had a look and I think I know how to solve, I just need some more help 😄 .
I saw that the "heavy" lifting for loading an internal TextResource is done by the DefaultUriTextResourceLoader and then by the ExternalResourceAccessor (which I think does the caching), or maybe even CacheAwareExternalResourceAccessor is responsible for the caching. I would like to use the DefaultUriTextResourceLoader to load the URI and convert it into an api TextResource. Is this a good approach? How can I create a DefaultUriTextResourceLoader.
If that is a good approach, then I would use the internal TextResource to get the file from it (or the reader and create a temporary file from the reader). However, I think that I might have found a bug there. The DownloadedUriTextResource has the downloaded resource passed to it and the only place where that is used it during openReader. However, the getFile method there returns the sourceFile and not the downloadedResource  is this correct?
I also have a question about the tests, if I go with using the DefaultUriTextResourceLoader then I can easily mock the call and return a locally created file. However, if that is not the case then I will probable need to

There is no need to create any of these services, you simply inject the TextResourceLoader into the constructor of the class that needs it (in this case the DefaultTextResourceFactory). You'll have a few layers of indirection above you (DefaultResourceHandler and DefaultFileOperations), which takes you to the place where the service registration happens.
Regarding testing, it'll be even easier since you just inject an interface. Please also make sure to add a functional test which actually runs an end-to-end build (there are many examples in the code base). We have http server test fixtures that can simulate a remote resource.

@big-guy I've created PR #2760. With the PR there is support for TextResources backed by an URI.
However, please have a look at my comment regarding my reasoning why I think that the solution will not work for my initial request.

This has been merged and will be in 4.8

TL;DR; You can use this
task checkstyle(type: Checkstyle) {
          // from file
          configFile = file("${rootProject.projectDir}/checkstyle.xml")
          // from url
          resources.text.fromUri("${someRepoUrl}/checkstyle-0.1.0.xml")
}

is there a way to pass headers to fromUri? that would enable fetching config from private repos.


opt Fix plsql exception and doris exception compatibility

Proposed changes
hand plsql execution exception over to doris, and print.
If there are multiple statements in procedure, if one statements fails to execute, it will terminate immediately and print all exceptions.
mysql [(none)]>call procedure_demo(0, 0);
1. ERR_SP_BAD_SQLSTATE, too many rows into variables
2.


ModuleNotFoundError: No module named 'groundingdino'

ModuleNotFoundError: No module named 'groundingdino'

How can I solve this problem

How can I solve this problem

Do you follow the installation guide to install GroundingDINO, if not, you can install it by running pip install -e .


start to add keras support

As discussed this week at EWAF24 I started to add keras support for the libary. For now this PR should just show how it would look and what changes are needed to add this support. I think it should be easy to add but it would need some if cases here and there.
For now one example works for a sequential keras model (see test_keras.py). It feels a bit like a "hack" since one has to override the __call__ function of the torch.nn.Module. This also leads to some logging errors/warnings in keras. Maybe some kind of "conditionally inherits" of the class Statistic(abc.ABC, torch.nn.Module): would be cleaner. Also some conditional typing like value: torch.Tensor | tf.Tensor would be needed.
Looking forward for your feedback.

Hi Marius,
Thank you for writing this out so quickly!
I've looked through your extension and was surprised it was that straightforward to implement. I'd like to start a discussion on the best strategy to further add support for Keras.
To start, it seems we could rewrite the entire library to only depend on Keras 3. It would then no longer be necessary to even have PyTorch installed. Certainly, all need to distinguish between backends with the many 'if' cases would be gone. E.g. Keras 3 has its own call operation, so it would clean up the issue you mentioned with the Statistic class. The code would then even work with Jax 'without any extra cost'. However, going full engine-agnostic (with Keras 3) would have some drawbacks:

The clarity of the code will degrade, as Keras and PyTorch have some small but important interface differences that may lead to bugs down the road. Keras also doesn't have engine-agnostic type hinting for tensors, for example (https://github.com/keras-team/keras/issues/19230).
It's unclear to me how PyTorch-specific libraries like pytorch-lightning integrate with Keras code. Can Keras layers/models just be thrown into such pipelines without problems?
The maintenance cost would inevitably increase, as the library would implicitly be promising to actually support all of PyTorch, Tensorflow and Jax. This kind of commitment right now may make it difficult to grow the library organically.

Your current implementation is more of a middle-ground: we stay PyTorch-focused, but optionally switch to Tensorflow where useful. In the short-term, I like that idea much more! I do wonder if you could write it with keras.ops instead, and if there is a clean way to avoid having to have keras installed when running the code with pytorch only? Also: what would the benefit be of this approach vs ONNX?
Would love to hear your thoughts!

I agree using keras.ops from Keras 3 is the way to go over tensorflow at the moment.
For the short term, I have been wondering what the best strategy is in terms of software architecture. Given that research in ML is mostly done in PyTorch, it would be nice if 1) all code is readable in pure PyTorch code (without the clutter of the many if-else statements). However, it would also be nice if 2) all code is executable in any backend library (e.g. using Keras 3).
I would therefore propose the following: we keep the library in pure PyTorch, but add a fairret.keras module. We then duplicate all other code currently in fairret to fairret.keras, but rewrite it to use keras.ops. This accomplishes the two goals above, and creates a nice UX: if people are using the fairret code and want to use a different backend, they can simply append .keras to all occurences of fairret in the import statements.
Of course the biggest drawback of this solution is that it involves extensive code duplication (though we could import some backend-agnostic code from the non-keras modules). It's worth keeping in mind that a better solution should be found for the long term, e.g. maybe future libraries more commonly code everything in keras.ops, or they code everything in a different interface like onnx.ops. However, I think the duplication approach above is maintainable for the moment.
What do you think? Would this work?

Yes I think that's the best to do. I was also thinking of having a separated module. Then let's do it like this. I can start working on this in the next week.

Great, thank you!!


The lab does not switch to lejos when starting the tour

Describe the bug
If you select a robot first and press the "start the tour" button afterwards, the tour will start with the previously selected robot, instead of the EV3 robot. If the selected robot has no simulation, the tour will not be solvable as soon as the simulation shall be opened.
To Reproduce
Steps to reproduce the behavior:

Select a robot in the Open Roberta Lab, that is not an EV3 (and optionally does not have a simulation)
Click on the NEPO logo to open the start hint
Press the "start the tour" icon
See, that all texts, highlights and buttons are made for EV3
If the selected robot does not have a simulation, you will not be able to finish the tour, because the button is missing.

Expected behavior

The lab should switch to EV3 and start the tour then

Screenshots

Device information

Desktop
WIndows 10
FireFox 60.9 ESR

Additional context

This also happens, if you preselect a robot via a cookie and call https://lab.open-roberta.org#overview

Resolved by a GCI student.


bug(form_field): Autofill pseudo-selector is not dark mode responsive

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
mat-form-field has the ability to apply the :autofill pseudo-selector, which Chrome's current user agent stylesheet has
input:internal-autofill-selected {
    appearance: menulist-button;
    background-image: none !important;
    background-color: light-dark(rgb(232, 240, 254), rgba(70, 90, 126, 0.4)) !important;
    color: fieldtext !important;
}

The infrastructure to support light and dark contexts in GM2/GM3 do not assign color-scheme: light/dark, which causes these system-colors to be unresponsive to the currently selected color-context.
I'm not entirely sure at which point a framework is capable of over-riding user agent stylesheets, but the framework should be accepting and work with these new settings when the infrastructure already has controls to choose between these contexts to have a less breaking experience.
Reproduction
Material demo:  https://material.angular.io/components/form-field/overview#form-field-overview

Select either of the dark themes on the page (I chose magenta and violet)
Enter text into any of the form fields
Force the :autofill pseudo selector to be enabled via dev-console

Expected Behavior
I would expect to see lighter colored font and a darker background-color
This can be achieved by following the above example and then
4. assign color-scheme: dark to any parent to the  element.

Actual Behavior

Note that the color and background-color of the input field have been changed to system-color: fieldtext and background-color:light-dark(hex,hex)
The colors are non-compatible with dark theme contexts

Environment

Angular: 18
CDK/Material: 18.2.4
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu): macOS

Going to close this, as it's a symptom of two different scenarios that are related (showing up in the behaviour documented), but the solution is two pronged and needs different answers.

Chromium having such a strong over-ride related to the autofill selector which is unchangeable (applying !important/specific hard coded values)
Angular Material provides theming infrastructure, and are likely unopinionated regarding specific browsers settings and the like. It would be a nice-to-have as a common use case for their theming is related to light/dark, as to having a standardized way of assigning the color-scheme and the like.


Updates FanFicFare to Add Plugin to Calibre

This should solve the issue mentioned in the CCR moderation queue.
I quickly tested install and uninstall; It seems to add and remove from Calibre properly.
As the files seem to be imported into Calibre's working directories, we could clean up the downloaded zip at the end - but it's not large, so this probably isn't a worry.
We could also consider adding a Calibre dependency to the package? I don't know if anyone would potentially use this package to just download the files. If so, I've changed the structure of the tools directory in this PR - but felt as it currently didn't have any approved versions, this would be alright.

FYI @JPRuskin, chocolatey validation process has found some issues with this new version of the FanFicFare package

Well, heck. I'll try and get that sorted out tomorrow.


Fix:-Made the focusable engine outline solid

Fixes
#117
Description
This pull request changes the border outline focus from dashed to solid doing this makes the focusable engine more accessible
Screenshots

Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main or master).
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no
visible errors.

Developer Certificate of Origin

For the purposes of this DCO, "license" is equivalent to "license or public domain dedication," and "open source license" is equivalent to "open content license or public domain dedication."

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@Biki-das you can reopen this after the resolving issue has been triage...
also do tick the checkbox that states your interested in resolving the issue thanks:)


Random nulls when saving a chart

i was charting a song in this engine, finished it, and decided to port the chart to Psyche Engine so my friends could play it. however upon doing so, the game just instantly crashed. so i look through the json and find that there are random nulls spread across the entire json and deleting these nulls makes the song continue to play as normal.
the nulls are highlighted in orange

is this intentional, or is it just a bug?

free up space


Remove NODE_ENV as it feels redundant

After #11 and #12 its starting to feel redundant to have NODE_ENV in the env file as webpack has separate scripts to define production for script output and the only role that NODE_ENV plays currently is running the server in either production or development mode. So shouldn't we rather just have separate scripts that get triggered via npm?
Its an alternative to #11 and #12 that resolves #7 .

To me it this make more sense then #11 and I have seen this in practice in a few boilerplates but i hear you, How do we do this survey of a sorts? I actually just also really want to resolve #7 so maybe  we should merge #11 for the moment while we figure this out?

However if we do only merge in #11 then we'll still experience the problem of NODE_ENV=production being in the .env file so now will not install devDependencies so then actually #11 wont resolve #7 unless paired with #12

@dawidvdh alternative is moving webpack to dependencies?
Either way, in the interest of playing nice with various other environments and hosting services, I think this is the safer approach for now. Also:

I have seen this in practice in a few boilerplates

is enough of a study for the time being 😄
I'm happy for you to merge this 👍

Haha fair enough, cool all merged in!


Connection through proxy

Hello!
First of all I would like to say thank you for you package! It's very usefull for me! Great job.
I use it from my working place and my organization uses proxy to connect users to the internet. I was unable to connect. The reason was in sso.py module. It will not pass any http.Client configuration during requests.get(OAUTH_CONSUMER_URL).json(). So I modified this part of code to this:
OAUTH_CONSUMER = requests.get(OAUTH_CONSUMER_URL, proxies=parent.proxies, verify=parent.verify).json()
Everything works for me now. Maybe it could be the case for other users behind a proxy.
class GarminOAuth1Session(OAuth1Session):
def init(
self,
/,
parent: Optional[Session] = None,
**kwargs,
):
global OAUTH_CONSUMER
if not OAUTH_CONSUMER:
OAUTH_CONSUMER = requests.get(OAUTH_CONSUMER_URL).json()
super().init(
OAUTH_CONSUMER["consumer_key"],
OAUTH_CONSUMER["consumer_secret"],
**kwargs,
)
if parent is not None:
self.mount("https://", parent.adapters["https://"])
self.proxies = parent.proxies
self.verify = parent.verify

did you already try the following?
garth.configure(proxies={"https": "https://myproxy"})

Yes, sure. Without doing this the the valuable "parent: Optional[Session] = None" will not have any info about proxy or certificate check. So it is mandatory.
You can try it yourself.
-Set up a proxy using garth.configure(proxies={"https": "https://myproxy"}).
-Open session.py module, find request definition (def request...). You will see a code like this below:
req = Request(
method=method.upper(),
url=url,
headers=headers,
files=files,
data=data or {},
json=json,
params=params or {},
auth=auth,
cookies=cookies,
hooks=hooks,
)
prep = self.prepare_request(req)
    proxies = proxies or {}

Try to put a breakpoint on proxies = proxies or {}
Check the proxies value. It will be empty

But if you modify your code like I said before (OAUTH_CONSUMER = requests.get(OAUTH_CONSUMER_URL, proxies=parent.proxies, verify=parent.verify).json()), the proxies will contains a dictionary with your proxy settings.

Interesting ... I'll try to reproduce and make the change. I'll get to it this weekend.


Remove named returns from room service.

Jibon from LK community pointed out
https://livekit-users.slack.com/archives/C01KVTJH6BX/p1666758403877349
Saw a mix of named returns and not.
And there was use of := which I think creates a new instance of the variable and does not use the named return?
So make all of them use unnamed returns.

change looks good!

And there was use of := which I think creates a new instance of the variable and does not use the named return?

it does not shadow if both are in the same scope.

Ooh, that's good to know. Remember reading somewhere that all variables to the left of := should be known or they should all be new. I read wrong.


gradle 7.6

https://docs.gradle.org/7.6/release-notes.html#upgrade-instructions

Not really suitable for a PR


import lib

Dear dl4to team,
Sorry, I'm certainly an idiot, but I can't find the way to build the SELTODataset. It seems to have built itself a few times (I found a folder with the dataset but not properly finished). Above all, beyond the error, even with this folder, it returns me when checking that the folder doesn't exist.
pytorch 2.3.0+cu118
I'm on windows11

dataset.info()
File "", line 1, in

I'm pretty bad at coding, so I'm trying to figure it out, but maybe I'm not making the right choices.
-------------- the error
Found 0 files.
Downloading disc_simple_train...
Done!
Extracting disc_simple_train...
Done!
Generating dataset...
0%|          | 0/1509 [00:00<?, ?it/s]
Traceback (most recent call last):
File "", line 1, in
File "C:\python\lib\site-packages\dl4to\datasets.py", line 883, in init
super().init(root=root,
File "C:\python\lib\site-packages\dl4to\datasets.py", line 711, in init
self._generate_dataset(
File "C:\python\lib\site-packages\dl4to\datasets.py", line 760, in _generate_dataset
csv_converter(self.pt_dir_path)
File "C:\python\lib\site-packages\dl4to\datasets.py", line 177, in call
sample = self[i]
File "C:\python\lib\site-packages\dl4to\datasets.py", line 85, in getitem
F, Ω_dirichlet, Ω_design = self._get_forces_boundary_conditions_and_design_space(data, shape, voxels)
File "C:\python\lib\site-packages\dl4to\datasets.py", line 148, in _get_forces_boundary_conditions_and_design_space
Ω_design[:, voxels[0], voxels[1], voxels[2]] = torch.from_numpy(data['design_space'].values.astype(int))
RuntimeError: Index put requires the source and destination dtypes match, got Long for the destination and Int for the source.
Best.
Thanks for your work.

Sorry for the very delayed answer, your question somehow slipped through!
I unfortunately cannot reproduce your issue, for me the downloading works. I would propose to properly delete the old folders from the dataset and download it again. Maybe the download does not work if a folder with the name of the dataset already exists.
Best regards,
David


Holding jump makes you fall through the floor (dev)

I just cloned and built CraftyJS locally, in order to get the "double jump" example from the controls.js file to work. It works!
One problem I ran into: if you jump (or double-jump), and hold down the jump button until you land on the ground, and then release it, you fall through the floor. This occurs regardless of if you jump or double-jump.
I can provide some code if this is not trivially reproducible for you (I have to check in some local changes first on my project).

Unfortunately, I could not reproduce this :(
Does this minimal example work for you? If it works, maybe you could try to adapt the code so the bug shows up.

Yes, that example works for me, even with my local build of Crafty. I'll try to adapt it to see what differences cause this behaviour. If this example works, it may be a problem in my code.

Got it. The bug occurs if I add logic to also jump when you press space.
I'll revert my code and stick to WASD. Thanks for the demos link, that's very useful to me.


Fixed some bugs of open source RAG Pipeline

Description

Related Issues

Checklist

[ ] Is this code covered by new or existing unit tests or integration tests?
[ ] Did you run make unit-testing and make integration-testing successfully?
[ ] Do new classes, functions, methods and parameters all have docstrings?
[ ] Were existing docstrings updated, if necessary?
[ ] Was external documentation updated, if necessary?

Additional Notes or Comments

Codecov Report
Attention: Patch coverage is 38.09524% with 13 lines in your changes are missing coverage. Please review.

Project coverage is 66.67%. Comparing base (34830a7) to head (37dde60).
Report is 1519 commits behind head on main.

Files
Patch %
Lines

superduperdb/ext/sentence_transformers/model.py
0.00%
13 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1873       +/-   ##
===========================================
- Coverage   80.33%   66.67%   -13.67%
===========================================
  Files          95      128       +33
  Lines        6602     9313     +2711
===========================================
+ Hits         5304     6209      +905
- Misses       1298     3104     +1806

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


add human step name

Some embedded step generate kubernetes name approche
In this feature the gaol is to let the real name in the payload and add a new field more human readable

#6
done


Issue/136 example docs

This PR resolves #136 which is to create an "Examples" section in the docs

Thank you @nicnocquee for the thorough review. I have updated the PR :grinning:


Fix helm search command error on index search failures

fix(helm): The search command returns error if the index search fails. This PR also refactors the tests on search command to remove some duplication. Fixes #3687
Signed-off-by: Arash Deshmeh<EMAIL_ADDRESS>

@bacongobbler @adshmh checking this out now


关于数据集

不好意思打扰一下， urban100 ， manga109， Sun80数据集对应的 _pairs.txt文件您方便发一份吗，或者是去哪里获取呢

You can use a randomly selected image from the same dataset as the reference image. I used the subsequent image in sequence for these datasets as the reference. Follow the structure of the CUFED5 or WRSR datasets when creating pairs of images.


Create a way to define/consume templates

We need to figure out if:

We want to support YAML templates still or if C# will overcome these and we won't need them
We should have our own way of consuming C# definitions (C# templates) and adding them into the pipeline

We need to define pieces of pipelines in C# and parametrize them

We need to figure out how to define a template file

We can only define a pipeline now, not a template file
Template can start at any level of the pipeline, so we have to handle that in the code somehow

✔ We can now consume templates in AzDO pipelines (#18)
🚫 We still need to be able to define templates and publish them to files

✔ We can now consume templates in AzDO pipelines (#18)
✔ We are able to define templates now (#60)
🚫 Documentation is missing for templates


[34393] jsoup: Coverage build failure

Labels: Proj-jsoup
Type: Build-Failure
New issue 34393 by ClusterFuzz-External: jsoup: Coverage build failure
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34393
The last 2 builds for jsoup have been failing.
Build log: https://oss-fuzz-build-logs.storage.googleapis.com/log-92fbac4f-c6c7-474f-a3d8-e9f101d213cf.txt
Build type: coverage
To reproduce locally, please see: https://google.github.io/oss-fuzz/advanced-topics/reproducing#reproducing-build-failures

The latest build has fixed the issue.


Add tag for 3.4.6_1.5.5

It looks liked there is no docker tag for version 3.4.6_1.5.5. Do you think you could add one so I could pin the image to that version?

Thought I had already done this, but turns out I was pointing at a (non-existent) branch instead of a tag.
Fixed!

@mbabineau Thank you!


Azure AD authentication

Hello everyone.
Is it possible to implement custom authentication via Azure AD?

Yes, it is not a simple task but is possible


Possibility to copy email addres in profile without "mailto" prefix

There is a link to the user's email address in the profile.
Not so long ago we used slack for communications and it was really ease to click on the emal link (to copy email addres) and sent it  to some one who asked it (for example) or copy email addres and add copyed email to mailing list
In MM I click (using right button) -> copy link and then paste. What I see.. I see<EMAIL_ADDRESS>If I press on the email, then new email is opened without prefix "mailto"
It would be greate to fix this issue so action "copy link" will copy only email address without prefix
Best regards,
Anna

[](url

)

Unfortunately the Copy Link functionality is built into the browser and will always copy the URL attached to the given link. So I don't think there's anything we can do about this unless we wanted to change the click behaviour of the link itself. Which would break the normal flow of opening your default email client.
Sorry for the inconvenience.


Use stable Kotlin compiler frontend

Description
Using K2 means library consumers must also use the new compiler (and may not be ready to), otherwise they will have errors like "<classname> is compiled by the new Kotlin compiler frontend and cannot be loaded by the old compiler"

Checklist

[x] PR description added
[ ] tests are added
[ ] CHANGELOG.md is updated

In case of adding a new rule:

[ ] README.md is updated
[ ] Rule has been applied on Ktlint itself and violations are fixed

Sorry, that was not intended. We will revert that change this week. @Goooler

If by "revert" you mean downgrading from Kotlin 1.7, that shouldn't be necessary. It just needs to stop using the K2 compiler mode.

Should we note this change in the changelog?

Should we note this change in the changelog?

yes

Should we note this change in the changelog?

Yes and done so.

thanks!

@3flex thank you for this PR - yesterday we spent the whole day for trying to stabilise the build on K2 😂 in diktat. We were afraid of @paul-dingemans and  there was such a fear that we decided not even to report it to ktlint 😂😂😂

That sounds a bit rough to say. You should never fear the conversation with me. We all make mistakes. As open source developers we are all dedicated to make the world better even if we sometimes have different opinions.

That sounds a bit rough to say. You should never fear the conversation with me. We all make mistakes. As open source developers we are all dedicated to make the world better even if we sometimes have different opinions.

I’m just kidding 🙏 just an inside joke related to our last arguing about RuleSetProvider 😁


upgrade solana to 1.10.25

Don't merge this pr for now. Still waiting for mpl-token-metadata 1.3.0 to be uploaded to crates.io.
Fixes #1934

Why are versions specified with ~?

@gitmalong ~1.10.25 forbids Solana 1.11.* since we don't know if 1.11 will have some breaking change.

I'm closing this because the team already upgraded the Solana version to 1.10.29 in another commit (#2027)


Compatibility with .Net5.0 Preview 6 and beyond

Feature request
Today I upgraded a large effort of mine to .Net5.0 Preview 6 and immediately ran into a compatibility issue that I have a hunch might be related to WinRT being removed from the .Net runtime.  Below you will see the package versions I am using along with a stack trace caused by a missing System.Runtime.InteropServices.WindowsRuntime Version=<IP_ADDRESS>.  What timeframe could one expect to see a compatible version of these libraries released by?
Packages
    <PackageReference Include="System.Reactive" Version="4.4.1" />
    <PackageReference Include="System.Reactive.Linq" Version="4.4.1" />

Stack Trace
System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.InteropServices.WindowsRuntime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.
File name: 'System.Runtime.InteropServices.WindowsRuntime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
   at System.Reactive.ReflectionUtils.GetEventMethods[TSender,TEventArgs](Type targetType, Object target, String eventName, MethodInfo& addMethod, MethodInfo& removeMethod, Type& delegateType, Boolean& isWinRT)
   at System.Reactive.Linq.QueryLanguage.FromEventPattern_[TSender,TEventArgs,TResult](Type targetType, Object target, String eventName, Func`3 getResult, IScheduler scheduler) in /_/Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Events.cs:line 263
   at System.Reactive.Linq.QueryLanguage.FromEventPattern_[TEventArgs](Object target, String eventName, IScheduler scheduler) in /_/Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Events.cs:line 172
   at System.Reactive.Linq.QueryLanguage.FromEventPattern[TEventArgs](Object target, String eventName) in /_/Rx.NET/Source/src/System.Reactive/Linq/QueryLanguage.Events.cs:line 160
   at System.Reactive.Linq.Observable.FromEventPattern[TEventArgs](Object target, String eventName) in /_/Rx.NET/Source/src/System.Reactive/Linq/Observable.Events.cs:line 648

Hello,
Here are some leads that were found related to the issue:
Similar issue impacted RX too in dotnet/runtime
https://github.com/dotnet/runtime/issues/37638
Someone linked that to this change:
https://github.com/dotnet/runtime/issues/37672
with reference to these docs / changes
https://github.com/dotnet/runtime/issues/35318
https://docs.microsoft.com/en-us/windows/uwp/csharp-winrt/
https://github.com/dotnet/docs/issues/18875

I wonder if it's possible to get an intermediate release of dotnet/reactive removing WinRT from the code base during the transition
And re-adding support later on as a minor
I have no idea if this is something possible or not to be honest

We will get an update out that supports .NET 5 out shortly.

Finally someone responded! :)

being addressed in #1291 I believe

Correct. We're currently blocked on build pipelines.

Please try out https://www.nuget.org/packages/System.Reactive/5.0.0-preview.16 and open specific issues as needed.


Link not working in CONTRIBUTING.md

The link https://learn.github.com/p/branching.html, which step 2 (Create a topic branch) in 'Submitting a Pull Request' directs to, is not working.

Looks fine here, maybe related to GitHub service outage.


I can't get this to deploy in kube

Because I don't have a k8s cluster. Is this working as intended?


Merge from MKolman's fork

Fixed sending message
Added group message

sorry I attempted to merge to my fork...


Linking Error when compiling.

Visual Studio 2022 building output:
1>------ Build started: Project: Hazel, Configuration: Release x64 ------
1>LINK : fatal error LNK1181: cannot open input file '\Lib\shaderc_shared.lib'
1>Done building project "Hazel.vcxproj" -- FAILED.

I tried to put the file in the project folder, but I cannot find where has that file included.

First of all make sure you have the Vulkan SDK installed.
I looked into the '\Lib\shaderc_shared.lib'
You can find it in the 'Dependencies.lua' file:
Library["ShaderC_Release"] = "%{LibraryDir.VulkanSDK}/shaderc_shared.lib"
the '%{LibraryDir.VulkanSDK}' is this:
LibraryDir["VulkanSDK"] = "%{VULKAN_SDK}/Lib"
In your error message the filepath it cannot open is '/Lib/shaderc_shared.lib', meaning that the Vulkan SDK is probably not installed.
since the path is not ...VulkanPath.../Lib/shaderc_shared.lib but just /Lib/shaderc_shared.lib.
I hope this helps. Make sure the Vulkan SDK is installed. If so recreate the projects files and try again.
Goodluck!

Extra note: if you have installed the Vulkan SDK on your own and it doesn't work. Try uninstalling and installing it again using the Setup.bat script.

@androidandyhsu Just open your VulkanSDK folder then run maintenancetool.exe -> Add or remove components -> select Shader Toolchain Debug Symbols for your architecture and next... next... After installation you will see new files in VulkanSDK dir and thats what you need

Ok,thanks.
---Original---
From: "John @.>
Date: Mon, Mar 25, 2024 04:49 AM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [TheCherno/Hazel] Linking Error when compiling. (Issue #664)
@androidandyhsu Just open your VulkanSDK folder then run maintenancetool.exe -> Add or remove components -> select Shader Toolchain Debug Symbols for your architecture and next... next... After installation you will see new files in VulkanSDK dir and thats what you need
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


Remove deprecated extensions

As per the README, the following should be removed from the library as RxJava 2.1 has been released:

Parallel operations
SingleSubject, MaybeSubject and CompletableSubject

Thanks. Done.


BUG: redundant fft in signal.resample

    x = np.asarray(x)
    X = sp_fft.fft(x, axis=axis)
    Nx = x.shape[axis]

    # Check if we can use faster real FFT
    real_input = np.isrealobj(x)

    # Forward transform
    if real_input:
        X = sp_fft.rfft(x, axis=axis)
    else:  # Full complex FFT
        X = sp_fft.fft(x, axis=axis)

the second line: X = sp_fft.fft(x, axis=axis) is redundant and the X variable will be override by rfft or fft based on if it's real input.

Labeling as backport candidate as it would be nice to backport this if possible

Actually this is a bug introduced in 1.4, so I'll just set the milestone (hopefully it can make it into the release)

Why is this a bug/defect? Isn't this just a maintenance commit to remove a pointless (but largely harmless) line of code? Otherwise, we'd need a regression test for an issue of some sort, right?
Anyway, should be simple to backport so I suppose I will.
Thanks

Defect from a performance standpoint (it's a potentially slow operation and useless here) not in terms of the output, so it's difficult/annoying to write a unit test for it. You could mock the calls and ensure fft is only called once but it seems like overkill.

Why is this a bug/defect? Isn't this just a maintenance commit to remove a pointless (but largely harmless) line of code? Otherwise, we'd need a regression test for an issue of some sort, right?
Anyway, should be simple to backport so I suppose I will.
Thanks

is it possible to generate the benchmark report for each release on specific aws instance so we can compare the performance more easily between the releases and figure out the potential performance issues.

Thanks @wenhui-prudencemed! If you'd like your name added to THANKS.txt, please make an entry here.


Add conversion for common Theme Overrides

Fixes: https://github.com/godotengine/godot/issues/66052
This PR adds conversion for the most commonly used theme overrides.
This includes:

Styles (StyleBoxes)
Font colors
Spacing, Separation, Offsets

-> Margins, StyleBoxes etc. will still work after the migration.

Can't we just rename the sections instead of listing some specific and arbitrary properties?

Can't we just rename the sections instead of listing some specific and arbitrary properties?

Unfortunately not in all cases.
Sometimes it is as simple as:
custom_styles/normal -> theme_override_styles/normal
and sometimes more tricky:
custom_colors/font_outline_modulate -> theme_override_colors/font_outline_color
And using e.g. custom_styles/ in front of the properties will make sure we really just rename the Theme Override property and not just an arbitrary named variable.

What I mean is, can't we rename custom_*/ to theme_override_*/, before doing specific renames?

What I mean is, can't we rename custom_*/ to theme_override_*/, before doing specific renames?

Done. I still opted for the safer approach, so we really won't be converting any unrelated properties/variables.

Thanks!

Cherry-picked for 4.0.1.


Disable echecks

We're stuck on a branch here and the "Pull Request" button sends it to the forked repo instead of the fork itself! So sorry for the unnecessary notification!!! :(


View.propTypes has been deprecated

Use ViewPropTypes instead.
View.propTypes is intended for DEV mode.
So, when I'm using this awesome library, in DEV mode it works perfectly fine, but as soon as I build the release version, it crashes.
Using react-native 0.50.0 with react 16.0.0.
More info here:
https://github.com/react-community/react-navigation/issues/1352
https://github.com/facebook/react-native/issues/16352

There is already a PR for this: https://github.com/magus/react-native-facebook-login/pull/273


Move M2 cache flush to correct position

[X] Bug fix based on https://github.com/deployphp/deployer/discussions/3882

[ ] New feature?

[ ] BC breaks?

[ ] Tests added?

[ ] Docs added?
Please, regenerate docs by running next command:
$ php bin/docgen

Nice, thanks, @antonmedv!
Is any release planned in the near future? That would be awesome.

@antonmedv, any chance a release will be done any time soon? :pray:


HDFS-17607. Reduce the number of times conf is loaded when DataNode s…

Reduce the number of times conf is loaded when DataNode startUp

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
18m 27s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
49m 38s

trunk passed

+1 :green_heart:
compile
1m 28s

trunk passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04

+1 :green_heart:
compile
1m 17s

trunk passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05

+1 :green_heart:
checkstyle
1m 13s

trunk passed

+1 :green_heart:
mvnsite
1m 28s

trunk passed

+1 :green_heart:
javadoc
1m 11s

trunk passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04

+1 :green_heart:
javadoc
1m 49s

trunk passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05

+1 :green_heart:
spotbugs
3m 24s

trunk passed

+1 :green_heart:
shadedclient
41m 30s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 13s

the patch passed

+1 :green_heart:
compile
1m 20s

the patch passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04

+1 :green_heart:
javac
1m 20s

the patch passed

+1 :green_heart:
compile
1m 10s

the patch passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05

+1 :green_heart:
javac
1m 10s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m  2s

the patch passed

+1 :green_heart:
mvnsite
1m 15s

the patch passed

+1 :green_heart:
javadoc
0m 58s

the patch passed with JDK Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04

+1 :green_heart:
javadoc
1m 41s

the patch passed with JDK Private Build-1.8.0_422-8u422-b05-1~20.04-b05

+1 :green_heart:
spotbugs
3m 23s

the patch passed

+1 :green_heart:
shadedclient
42m  9s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
262m  6s

hadoop-hdfs in the patch passed.

+1 :green_heart:
asflicense
0m 51s

The patch does not generate ASF License warnings.

436m 36s

Subsystem
Report/Notes

Docker
ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7012/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/7012

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux 4ae56daf2ddb 5.15.0-117-generic #127-Ubuntu SMP Fri Jul 5 20:13:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 4e22cd2bf78f0df0222ab5fff9fe26d58e5f44c5

Default Java
Private Build-1.8.0_422-8u422-b05-1~20.04-b05

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.24+8-post-Ubuntu-1ubuntu320.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_422-8u422-b05-1~20.04-b05

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7012/1/testReport/

Max. process+thread count
2557 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7012/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.


Support nested URLRouters in path definitions

The library does not support nested URLRouters, it expects all path() declarations to end with a Consumer. The following breaks it:
application = ProtocolTypeRouter({
    "websocket": URLRouter([
        path('my/app/', URLRouter([ # <== nested URLRouter, drf-spectacular-websocket expects a Consumer
            path('consumer1/', MyConsumer1.as_asgi()),
            path('consumer2/', MyConsumer2.as_asgi()),
            path('consumer3/', MyConsumer3.as_asgi()),
        ])),
    ])
})

Nested URLRouters allow one to easily change the base URL of a set of endpointss (e.g. change per Django application). It makes namespaces way easier to manage.

I'll think about what I can do about it

Added support for nested routeshttps://github.com/Friskes/drf-spectacular-websocket/releases/tag/v1.2.8


Fix int overflow for user total downloads

@joelverhagen I opened an issue to track that:
https://github.com/NuGet/Engineering/issues/989


trigger by default inside facebook browser on iOS

+1 This should be pushed!

Please resolve the merge conflict.

@hassellof is it possible to rebase against master?


KeyNotFoundException in NotificationReceiver.OnReceive

I haven't seen this locally, but have gotten a few crash reports with this stack trace:
Xamarin Exception Stack:
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
  at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in <30c2c7f3246e4172a1fa8435697a5fe7>:0
  at Plugin.Toasts.NotificationReceiver.OnReceive (Android.Content.Context context, Android.Content.Intent intent) [0x0006c] in <b81182804c7e489493d406b6d34a5576>:0
  at Android.Content.BroadcastReceiver.n_OnReceive_Landroid_content_Context_Landroid_content_Intent_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_context, System.IntPtr native_intent) [0x00017] in <0bff0d33fcda4ec097a7b9046bee9937>:0
  at (wrapper dynamic-method) System.Object:ef788143-1450-4f91-a6fd-72f04a092915 (intptr,intptr,intptr,intptr)

I am using version 3.2.1 of the plugin with Xamarin.Forms <IP_ADDRESS>0.

Hi @erichedstrom,
I have been suffering this same error actually. Just wanted to ask if you are awaiting the call to Notify? await notification.Notify(options)
I haven't been and I sometimes fall foul of this error. I have just built a new version of my app with awaits in place and I will report back if that solves the issue.
Just having a look at the Droid codebase and it appears that it is this line here which throws the exception.
Obviously we could check for the existence of the key before trying to call .Set(). It worries me that something should be waiting on the event though, as it is waiting in the code for Notify

Fixed in 3.3.0-pre1


The jvm compiler skips multi-native modules

With a module descriptor like:
native("js", "jvm")
module com.example.simple "1.0.0" {}

you get:
$ ceylon compile
ceylon compile: No modules or source files to compile

Same question here: are  you using latest from master? Because I can't reproduce this.
(although I wouldn't be surprised there were problems because multiple annotations are a totally unsupported feature for now)

@quintesse I can confirm that this happens on the very latest from github, but I'm not sure what else I can add as far as repro steps.
Here is my exact output, with the first ceylon compile not working:
[jvasileff@localhost helloworld]$ cat source/com/example/helloworld/module.ceylon
native("js", "jvm")
module com.example.helloworld "1.0.0" {
    import ceylon.collection "1.2.0";
}
[jvasileff@localhost helloworld]$ ~/Repos/ceylon/dist/dist/bin/ceylon compile
ceylon compile: No modules or source files to compile
[jvasileff@localhost helloworld]$ ~/Repos/ceylon/dist/dist/bin/ceylon compile com.example.helloworld
Note: Created module com.example.helloworld/1.0.0
[jvasileff@localhost helloworld]$

@quintesse perhaps it was not reproducible for you since it does work if you swap the order of the backends, like:
native("jvm", "js")
module com.example.simple "1.0.0" {}


update modal client syntax

Ran a simple prompt and confirmed it worked after 5 iterations: modal run src.main --prompt="a simple calculator app" --template="python"

should also fix this issue: https://github.com/modal-labs/devlooper/issues/4

smol developer is fine, just needed to pass the right model to it and it worked


Typescript example for use with

How can I use <StoryblokComponent />  with TypeScript and a type safe blok prop?
I have a page that renders products with a different datasource as storyblok, with some storyblok content in between those products.
It's a nextjs app so I have an _app.tsx where I define the mapping of the storyblok bloks to my react components:
// in _app.tsx
const storyBlokComponents = {
  promoTile: PromoTile,
};

storyblokInit({
  accessToken: process.env.NEXT_PUBLIC_STORYBLOK_KEY,
  use: [apiPlugin],
  components: storyBlokComponents,
});

// etc...

My PromoTile is a component with it's props typed:
// PromoTile.tsx
import { SbBlokData, storyblokEditable } from '@storyblok/react';

export type TPromoTile = {
  blok : {
    imageSrc: string;
  }
} & SbBlokData // is this even the correct way to type?

export const PromoTile ({ blok }: IPromoTile ) => {
  const {
    imageSrc,
   //..etc
  } = blok;
  return (
    <div {...storyblokEditable(blok)}>
      <img src={imageSrc}>
    </div>
  )
}

In the component that renders the products I use the <StoryblokComponent /> but it will never show an error if I pass in something to blok thats not of type TPromoTile but is of type SbBlokData :
// ProductList.tsx
type ProductListProps = {
  products: [],
  promoTiles: TPromoTile[]
}

export const ProductList: ({products, promoTiles} : ProductListProps) => {
  return products.map((product, index) => (
    <React.Fragment key={product.id}>
      <ProductTile product={product} />

      {/* I can add any object as the blok prop that adheres to SbBlokData type */}
      <StoryblokComponent blok={promoTiles[index]} key={promoTile._uid} />
     </React.Fragment>
  ))
}

So long story short, should I be using <StoryblokComponent /> if I want type safety and if so, how can I make it typesafe?
Or should I just use <PromoTile blok={promoTiles[index]} key={promoTile._uid} /> instead?

Hi @dasblitz!
If your ProductList will always be a list of PromoTile components, you can use that React Component directly. StoryblokComponent is used for dynamic rendering, when the blocks/components that come from Storyblok API can have different types


Production instance behaves different than test instance

A new feature was reviewed in the test instance and worked fine. When the feature was released into production an error occurred. This should have been the case in the test instance as well.
(The bug in the new feature has been solved).
In January, Omar and I will take a look into this, why both instances behave different.

A new feature was reviewed in the test instance and worked fine. When the feature was released into production, an error occurred. This should have been the case in the test instance as well.
Which error is returned?

@dpancic: An error from the php framework, CakePHP: "An Internal Error Has Occurred". This happened in production. It did not happen in the test instance, but it should have happened there as well.
It looks like the application is in debug mode in the test instance, although the variable is set to false. This is the result from rancher shell from the test instance:

printenv | grep 'DEBUG='
DEBUG=false

It looks like the variable has the correct value.

Can you tell why the test instance behaves different?
When this is fixed, can we do the same for the dev instance?

@dpancic  Thanks for your help.
Today I've added some code to generate on purpose an "Internal Error". This works exact the way it's supposed to be in the test instance. And that confirmes the app is not running in debug mode, exact the way it's supposed to be. For some reason we didn't get this error in December. Maybe insufficient/wrong testing?
It looks like everything works fine in the test instance and in the dev instance. Both are not running in debug mode. That is good.
I'll close the issue.
Btw: the variable debug is not hard coded here?
debug' => filter_var(env('DEBUG', true), FILTER_VALIDATE_BOOLEAN),

The second value passed to the env function is the default value. This value will be used if no environment variable exists for the given key.

The first value 'DEBUG' is the name of the key to look for in the system environment.


logger: marshal integers as strings

In https://github.com/GoogleCloudPlatform/google-cloud-go/blob/c79f55251a11f4e0f64bb8c15f167392cb607dca/logging/logging.go#L695
Instead of unmarshalling into a float64, you can call UseNumber on a json decoder and decode into a string. Then instead of returning a number here, a structpb string value should be returned to prevent integer truncation.

@nhooyr Could you explain this a bit more? What are you trying to do, what do you expect to happen, and what do you see happening?

We've asked some clarifying questions but didn't get a response back in some time. Closing this. Feel free to ping back, though.

The Go JSON library unmarshals all numbers into float64 by default. The issue with this is that float64's cannot hold all Go numbers e.g. the full range of int64s. So if you send this library a big int64, it will truncate it into a float64 because of the cited code. This should be fixed.

Thanks @nhooyr. This requires a bit more investigation on our part, but I've re-opened it and will investigate when we free up some time.

Thank you for reporting this @nhooyr and for the chime in @sinmetal!
So to respond in reverse chronological order:
b) @sinmetal the value that you are seeing marshaled as<PHONE_NUMBER>8963968 is the float64 equivalent of converting from int64<PHONE_NUMBER>8963966 but the conversion might not retrieve the original value unfortunately and you can see this as per https://play.golang.org/p/bLCbhS-_dHU
package main

import (
	"fmt"
)

func main() {
	const orig = int64(36028797018963966)
	fmt.Printf("Int64->Float64:\nInt64:   %d\nFloat64: %.0f\n\n", orig, float64(orig))

	asFloat := float64(36028797018963966)
	fmt.Printf("Float64->Int64:\nFloat64: %.0f\nInt64:   %d\n\n", asFloat, int64(asFloat))
}

which produces
Int64->Float64:
Int64:<PHONE_NUMBER>8963966
Float64:<PHONE_NUMBER>8963968

Float64->Int64:
Float64:<PHONE_NUMBER>8963968
Int64:<PHONE_NUMBER>8963968

a) @nhooyr spot on! In deed, I think we should go on with marshalling integers/numbers as strings otherwise we'll suffer from precision losses as we've seen and here is a test that we can use to test and reproduce the problem but also to serve as a regression test when we mail a fix
package main

import (
	"context"
	"errors"
	"fmt"
	"math"
	"net"
	"testing"

	"cloud.google.com/go/logging"
        structpb "github.com/golang/protobuf/ptypes/struct"
	"github.com/golang/protobuf/ptypes/empty"
	"google.golang.org/api/option"
	logpb "google.golang.org/genproto/googleapis/logging/v2"
	"google.golang.org/grpc"
)

func TestIssue1150(t *testing.T) {
	ln, err := net.Listen("tcp", ":0")
	if err != nil {
		t.Fatalf("Failed to find an available port: %v", err)
	}
	defer ln.Close()
	srv := grpc.NewServer()

	var logsSvc logsService
	logpb.RegisterLoggingServiceV2Server(srv, &logsSvc)

	go srv.Serve(ln)

	conn, err := grpc.Dial(ln.Addr().String(), grpc.WithInsecure(), grpc.WithBlock())
	if err != nil {
		t.Fatalf("Failed to dial to the gRPC server: %v", err)
	}
	defer conn.Close()

	ctx := context.Background()
	lc, err := logging.NewClient(ctx, "odeke-sandbox", option.WithGRPCConn(conn))
	if err != nil {
		t.Fatalf("Failed to create new client: %v", err)
	}
	defer lc.Close()

	lgr := lc.Logger("1150")

	key := "max"
	value := uint64(math.MaxUint64)
	if err := lgr.LogSync(ctx, logging.Entry{Payload: map[string]interface{}{
		key: value,
	}}); err != nil {
		t.Fatalf("Failed to logSync: %v\n", err)
	}

	if len(logsSvc) == 0 {
		t.Fatal("Expected at least one log")
	}
	headEntry := logsSvc[0]
	if headEntry == nil || len(headEntry.Entries) == 0 {
		t.Fatal("Could not retrieve a single entry")
	}
	payload := headEntry.Entries[0].GetPayload()
	jsonPayload, ok := payload.(*logpb.LogEntry_JsonPayload)
	if !ok {
		t.Fatalf("Got %T, expected a *logpg.LogEntry_JsonPayloaa", payload)
	}

	st := jsonPayload.JsonPayload
	if st == nil {
		t.Fatal("Unexpectedly got a nil JSON payload")
	}
	gotValue := st.Fields[key]
        var asString string

        switch gv := gotValue.Kind.(type) {
        case *structpb.Value_NumberValue:
            asString = fmt.Sprintf("%f", gv.NumberValue)

        case *structpb.Value_StringValue:
            asString = gv.StringValue
        }

	wantString := fmt.Sprintf("%d", value)
	if asString != wantString {
		t.Fatalf("Value as string mismatch\nGot:  %q\nWant: %q", asString, wantString)
	}
}

type logsService []*logpb.WriteLogEntriesRequest

var _ logpb.LoggingServiceV2Server = (*logsService)(nil)

func (lgs *logsService) DeleteLog(ctx context.Context, req *logpb.DeleteLogRequest) (*empty.Empty, error) {
	return nil, errors.New("unimplemented")
}

func (lgs *logsService) WriteLogEntries(ctx context.Context, req *logpb.WriteLogEntriesRequest) (*logpb.WriteLogEntriesResponse, error) {
	*lgs = append(*lgs, req)
	return new(logpb.WriteLogEntriesResponse), nil
}

func (lgs *logsService) ListLogEntries(ctx context.Context, req *logpb.ListLogEntriesRequest) (*logpb.ListLogEntriesResponse, error) {
	return nil, errors.New("unimplemented")
}

func (lgs *logsService) ListLogs(ctx context.Context, req *logpb.ListLogsRequest) (*logpb.ListLogsResponse, error) {
	return nil, errors.New("unimplemented")
}

func (lgs *logsService) ListMonitoredResourceDescriptors(ctx context.Context, req *logpb.ListMonitoredResourceDescriptorsRequest) (*logpb.ListMonitoredResourceDescriptorsResponse, error) {
	return nil, errors.New("unimplemented")
}

Before
$ GO111MODULE=off go test -v
=== RUN   TestIssue1150
--- FAIL: TestIssue1150 (0.00s)
    repro_test.go:85: Value as string mismatch
        Got:  "18446744073709551616.000000"
        Want: "18446744073709551615"
FAIL
exit status 1
FAIL	_/Users/emmanuelodeke/Desktop/openSrc/bugs/golang/1150	0.032s

After
On applying the patch
diff --git a/logging/logging.go b/logging/logging.go
index c537675f..84ae6e80 100644
--- a/logging/logging.go
+++ b/logging/logging.go
@@ -727,8 +727,9 @@ func toProtoStruct(v interface{}) (*structpb.Struct, error) {
 		}
 	}
 	var m map[string]interface{}
-	err = json.Unmarshal(jb, &m)
-	if err != nil {
+	dec := json.NewDecoder(bytes.NewReader(jb))
+	dec.UseNumber()
+	if err = dec.Decode(&m); err != nil {
 		return nil, fmt.Errorf("logging: json.Unmarshal: %v", err)
 	}
 	return jsonMapToProtoStruct(m), nil
@@ -760,6 +761,8 @@ func jsonValueToStructValue(v interface{}) *structpb.Value {
 			vals = append(vals, jsonValueToStructValue(e))
 		}
 		return &structpb.Value{Kind: &structpb.Value_ListValue{ListValue: &structpb.ListValue{Values: vals}}}
+	case json.Number:
+		return &structpb.Value{Kind: &structpb.Value_StringValue{StringValue: x.String()}}
 	default:
 		panic(fmt.Sprintf("bad type %T for JSON value", v))
 	}

result
$ GO111MODULE=off go test -v
=== RUN   TestIssue1150
--- PASS: TestIssue1150 (0.00s)
PASS
ok  	_/Users/emmanuelodeke/Desktop/openSrc/bugs/golang/1150	0.022s

I've mailed out CL https://code-review.googlesource.com/c/gocloud/+/43430

So Jean asked me some great questions that made me reevaluate on whether this even needs a chance.
By making json.Numbers strings in the serialized output, we lose comparability!
Despite a perceived loss of precision, actually users can compare their
integers with the transformed float64 values e.g. The search:
   resource.type="project"
   resource.labels.project_id="odeke-sandbox"
   jsonPayload.max =<PHONE_NUMBER>3709551615

will correctly yield the result:
    19-08-05 18:21:01.011 MDT
{"time":"2019-08-06T00:21:01.011231Z","max":18446044073709552000}

I am going to freeze this until we get the chance to speak to some folks from the Stackdriver Logging engineering team about these decisions and the behavior. I'd rather keep this working for the majority of users.

So I think implementing this feature request will cause way more averse effects than the benefit of visually inspecting the same value. You can still search for those values as I've shown in https://github.com/googleapis/google-cloud-go/issues/1150#issuecomment-518453164 and it is just a perceived precision loss but really those values are still uploaded as they are, and also this would require intervention from the Google Cloud Stackdriver team to change their protos.
Therefore, I am going to close this as won't fix.


[Rule] Detect old for loop style

Detect old for loop and suggest replacing it with new syntax:
  FOR  ${var}  IN  @{vars}
    \  Keyword
    \  ${std_out}  ${std_err}  Other Keyword

Both for FOR and :FOR style header. It's actually detected partially by RF parsing api as loop and then above example have following issues:
[E] 0412 Invalid for loop syntax: FOR loop has no closing END (invalid-for-loop)
[E] 1008 Indent expected (bad-indent)
[E] 1008 Indent expected (bad-indent)

Header with :FOR is not recognized at all. But it should have also (or instead) any information that this kind of syntax is deprecated.

I don't think we need this rule, since it will be checking very old syntax, and I wonder how many users still use such an old RF release. @bhirsz What do you think? Should we close this one?

I assure it, they still use it because I was it even last week in the wild :) but checking for this isse is more problematic that it is worth it. I am also for closing it