 See "systemctl status etcd.service" and "journalctl -xe" for details.
[root@K8S-node01 ~]# journalctl -xe
Jan 12 09:02:10 K8S-node01 etcd[10077]: member dir = /var/lib/etcd/member
Jan 12 09:02:10 K8S-node01 etcd[10077]: heartbeat = 100ms
Jan 12 09:02:10 K8S-node01 etcd[10077]: election = 1000ms
Jan 12 09:02:10 K8S-node01 etcd[10077]: snapshot count = 100000
Jan 12 09:02:10 K8S-node01 etcd[10077]: advertise client URLs = https://<IP_ADDRESS>:2379
Jan 12 09:02:10 K8S-node01 etcd[10077]: restarting member 118a3396af982745 in cluster e2fb58400d740b4c at commit index 2
Jan 12 09:02:10 K8S-node01 etcd[10077]: 118a3396af982745 became follower at term 46946
Jan 12 09:02:10 K8S-node01 etcd[10077]: newRaft 118a3396af982745 [peers: [], term: 46946, commit: 2, applied: 0, lastindex: 2, lastt
Jan 12 09:02:10 K8S-node01 etcd[10077]: simple token is not cryptographically signed
Jan 12 09:02:10 K8S-node01 etcd[10077]: starting server... [version: 3.2.13, cluster version: to_be_decided]
Jan 12 09:02:10 K8S-node01 etcd[10077]: added member 118a3396af982745 [https://<IP_ADDRESS>:2380] to cluster e2fb58400d740b4c
Jan 12 09:02:10 K8S-node01 etcd[10077]: added member ab75790c89b0c5f4 [https://<IP_ADDRESS>:2380] to cluster e2fb58400d740b4c
Jan 12 09:02:10 K8S-node01 etcd[10077]: starting peer ab75790c89b0c5f4...
Jan 12 09:02:10 K8S-node01 etcd[10077]: started HTTP pipelining with peer ab75790c89b0c5f4
Jan 12 09:02:10 K8S-node01 etcd[10077]: ClientTLS: cert = /etc/kubernetes/ssl/kubernetes.pem, key = /etc/kubernetes/ssl/kubernetes-k
Jan 12 09:02:10 K8S-node01 etcd[10077]: started streaming with peer ab75790c89b0c5f4 (writer)
Jan 12 09:02:10 K8S-node01 etcd[10077]: started streaming with peer ab75790c89b0c5f4 (writer)
Jan 12 09:02:10 K8S-node01 etcd[10077]: started peer ab75790c89b0c5f4
Jan 12 09:02:10 K8S-node01 etcd[10077]: added peer ab75790c89b0c5f4
Jan 12 09:02:10 K8S-node01 etcd[10077]: started streaming with peer ab75790c89b0c5f4 (stream MsgApp v2 reader)
Jan 12 09:02:10 K8S-node01 etcd[10077]: started streaming with peer ab75790c89b0c5f4 (stream Message reader)
Jan 12 09:02:10 K8S-node01 etcd[10077]: 118a3396af982745 is starting a new election at term 46946
Jan 12 09:02:10 K8S-node01 etcd[10077]: 118a3396af982745 became candidate at term 46947
Jan 12 09:02:10 K8S-node01 etcd[10077]: 118a3396af982745 received MsgVoteResp from 118a3396af982745 at term 46947
Jan 12 09:02:10 K8S-node01 etcd[10077]: 118a3396af982745 [logterm: 1, index: 2] sent MsgVote request to ab75790c89b0c5f4 at term 469
Jan 12 09:02:11 K8S-node01 etcd[10077]: 118a3396af982745 is starting a new election at term 46947
Jan 12 09:02:11 K8S-node01 etcd[10077]: 118a3396af982745 became candidate at term 46948
Jan 12 09:02:11 K8S-node01 etcd[10077]: 118a3396af982745 received MsgVoteResp from 118a3396af982745 at term 46948
Jan 12 09:02:11 K8S-node01 etcd[10077]: 118a3396af982745 [logterm: 1, index: 2] sent MsgVote request to ab75790c89b0c5f4 at term 469
Jan 12 09:02:13 K8S-node01 etcd[10077]: 118a3396af982745 is starting a new election at term 46948
Jan 12 09:02:13 K8S-node01 etcd[10077]: 118a3396af982745 became candidate at term 46949
Jan 12 09:02:13 K8S-node01 etcd[10077]: 118a3396af982745 received MsgVoteResp from 118a3396af982745 at term 46949
Jan 12 09:02:13 K8S-node01 etcd[10077]: 118a3396af982745 [logterm: 1, index: 2] sent MsgVote request to ab75790c89b0c5f4 at term 469
Jan 12 09:02:14 K8S-node01 etcd[10077]: 118a3396af982745 is starting a new election at term 46949
Jan 12 09:02:14 K8S-node01 etcd[10077]: 118a3396af982745 became candidate at term 46950
Jan 12 09:02:14 K8S-node01 etcd[10077]: 118a3396af982745 received MsgVoteResp from 118a3396af982745 at term 46950
Jan 12 09:02:14 K8S-node01 etcd[10077]: 118a3396af982745 [logterm: 1, index: 2] sent MsgVote request to ab75790c89b0c5f4 at term 469
Jan 12 09:02:15 K8S-node01 etcd[10077]: health check for peer ab75790c89b0c5f4 could not connect: <nil>
Jan 12 09:02:16 K8S-node01 etcd[10077]: 118a3396af982745 is starting a new election at term 46950
Jan 12 09:02:16 K8S-node01 etcd[10077]: 118a3396af982745 became candidate at term 46951
Jan 12 09:02:16 K8S-node01 etcd[10077]: 118a3396af982745 received MsgVoteResp from 118a3396af982745 at term 46951
Jan 12 09:02:16 K8S-node01 etcd[10077]: 118a3396af982745 [logterm: 1, index: 2

日志或报错信息
[root@K8S-node01 ~]#  systemctl status etcd.service
â— etcd.service - Etcd Server
   Loaded: loaded (/usr/lib/systemd/system/etcd.service; enabled; vendor preset: disabled)
   Active: activating (start) since Fri 2018-01-12 09:13:18 CST; 26s ago
     Docs: https://github.com/coreos
 Main PID: 10188 (etcd)
   Memory: 10.6M
   CGroup: /system.slice/etcd.service
           â””â”€10188 /usr/local/bin/etcd --name infra1 --cert-file=/etc/kubernetes/ssl/kubernetes.pem --key-file=/etc/kubernetes/ss...

Jan 12 09:13:41 K8S-node01 etcd[10188]: 118a3396af982745 [logterm: 1, index: 2] sent MsgVote request to ab75790c89b0c5f4 a...m 47398
Jan 12 09:13:43 K8S-node01 etcd[10188]: 118a3396af982745 is starting a new election at term 47398
Jan 12 09:13:43 K8S-node01 etcd[10188]: 118a3396af982745 became candidate at term 47399
Jan 12 09:13:43 K8S-node01 etcd[10188]: 118a3396af982745 received MsgVoteResp from 118a3396af982745 at term 47399
Jan 12 09:13:43 K8S-node01 etcd[10188]: 118a3396af982745 [logterm: 1, index: 2] sent MsgVote request to ab75790c89b0c5f4 a...m 47399
Jan 12 09:13:44 K8S-node01 etcd[10188]: health check for peer ab75790c89b0c5f4 could not connect: dial tcp <IP_ADDRESS>:2...timeout
Jan 12 09:13:44 K8S-node01 etcd[10188]: 118a3396af982745 is starting a new election at term 47399
Jan 12 09:13:44 K8S-node01 etcd[10188]: 118a3396af982745 became candidate at term 47400
Jan 12 09:13:44 K8S-node01 etcd[10188]: 118a3396af982745 received MsgVoteResp from 118a3396af982745 at term 47400
Jan 12 09:13:44 K8S-node01 etcd[10188]: 118a3396af982745 [logterm: 1, index: 2] sent MsgVote request to ab75790c89b0c5f4 a...m 47400

需要修改防火墙，开放2379/2380端口。或者直接关闭防火墙。

@Lynzabo 谢谢，是否防火墙的问题，关闭了默认防火墙就好了


dealing with highly non-homogeneous systems

When systems are highly non-homogeneous, the number of cells can explode to be much greater than the number of particles:
using StaticArrays
using CellListMap

function points_in_sphere(r,N)
    p = SVector{3,Float64}[]
    for ip in 1:N
        θ = π*rand()
        ϕ = 2π*rand()
        x = r * sin(ϕ) * cos(θ)
        y = r * sin(ϕ) * sin(θ)
        z = r * cos(ϕ)
        push!(p, SVector(x,y,z))
    end
    return p
end

julia> p = points_in_sphere(500, 100);

julia> box = Box(limits(p), 0.02)
Box{NonPeriodicCell, 3}
  unit cell matrix = [ 990.57, 0.0, 0.0; 0.0, 985.31, 0.0; 0.0, 0.0, 999.88 ]
  cutoff = 0.02
  number of computing cells on each dimension = [49530, 49267, 49995]
  computing cell sizes = [0.02, 0.02, 0.02] (lcell: 1)
  Total number of cells =<PHONE_NUMBER>27450

This makes it prohibitive to work with this kind of system. Can we find a way to not allocate empty cells at all? The full cell allocation would need to be lazy, since the construction of the box does not involve the actual coordinates of the system.

I've been working with a custom cell list (though not implemented as a linked list) that uses a SparseArray to store indexes into a vector of cells, and only occupied cells are created.
In case that's useful as an inspiration.

For reference. The array that depends critically on the number of cells is this one:
https://github.com/m3g/CellListMap.jl/blob/f68d284ab75b2063e9f7cfdaa8539c6132bf9574/src/CellLists.jl#L149
    " Auxiliary array that contains the indexes in list of the cells with particles, real or images. "
    cell_indices::Vector{Int} = zeros(Int,number_of_cells)

It is a linked list array indicating which are the indexes of the cells that contain particles.
The problem of removing this array (and storing, for instance, a simple lists of the indexes of cells with particles), is that we need to make the association in the reverse direction. That is, we need to quickly retrieve the data of a cell with particles just from the (linearized) three-dimensional indexes of the cell, to be able to run over vicinal cells in the inner loops.
An alternative (maybe a good one, actually), is to store the indexes of the vicinal cells as a 26 (in 3D) or 8 (in 2D) array, for each cell containing particles. Each cell struct would then carry an additional field, but the storage requirement would be at most 27*N if each cell contains a single particle.

New idea (cannot test now):
Define a new type of array to store cell_indices, with a buffer size equal to the number of particles. Define getindex such that it returns 0 if the cell is not defined, and the indices of the cell if the cell was set, as occurs with the current cell_indices array. If the number of cells is less than the number of particles, the cells can be indexed as usual. If the number of cells is greater than the number of  particles, fill the array in order, to access the indexes with searshortedfirst afterwards.
A proper implementation of that may allow just substituting the type of array cell_indices is without modifying anything in the remaining code. The overhead associated with using searchsortedfirst may not be negligible, but it is not that bad, and probably pays off relative to the current approach, when the number of cells is much greater than the number of particles.

What you're describing is similar conceptually to how the SparseMatrixCSC method I described works.
The big problem I had with SparseMatrixCSC was that adding individual items is very slow, so I had to pre-allocate the I, J, and V arrays.

Yes, effectively. I think that can work, except that I need a bit more customization as I will need the array type to carry some information about the number of elements effectively used in the array vs. the number of elements of the buffer, to avoid having to resize the arrays too often in the case of list updating. But something on those lines can work, yes, your comment was important.


Cassandra consistency TWO prevents Kong startup

Summary
Hi, I am running kong inside docker from the mashape/kong:cassandra3 image with a Cassandra 3.5 5 node cluster.
I have setup 5 cassandra nodes with the Kong replication_factor of 5 (so 100% replication).
By setting KONG_CASSANDRA_CONSISTENCY_LEVEL: TWO in my ENV variables kong will be unable to start.
I think I have tracked down the issue in the code base:
https://github.com/Mashape/kong/blob/next/kong/dao/db/cassandra.lua#L521
Consistency-level of TWO will prevent ALL queries to the system, system_schema table as it is is replicating with LocalStrategy and will never run with more than 1 alive replica. Setting the consistency to ONE or QUORUM makes kong start up again as that's something the LocalStrategy can serve - but not TWO as that's by design preventing any reads from system_schema.
A solution here would be to run that specific query with a different consistency level than what is configured. (Unfortunately I am terrible at lua so no PR)
I did try this out in CQLSH though to verify that my cluster is responding to consistency TWO. The kong keyspace does everything from ONE, TWO, THREE, QUORUM, LOCAL_QUORUM, ALL without problems. I believe it must be the system tables here.
Just out of curiosity - what's the suggested consistency level for a very high load application that needs maximum availability. I had it at ONE first but while testing cassandra failure scenarios sometimes underreplicated nodes would miss a row in kong.apis so I decided I need at least TWO to guard against new nodes coming up. (TWO obviously not working).
So now I am running Kong with QUORUM but that means I cannot loose more than 2 out of 5 nodes - whereas 3 out of 5 with TWO would have been better.
Thanks for the awesome product though - also Galileo - that thing saved us countless hours debugging issues so far..
Steps To Reproduce

Cassandra cluster at least two nodes
Startup Kong with CONSISTENCY = TWO
Watch the fireworks

Additional Details & Logs

Kong version 0.9.0

$ kong start
Error:
/usr/local/share/lua/5.1/kong/cmd/start.lua:15: [Unavailable exception] Cannot achieve consistency level TWO
stack traceback:
        [C]: in function 'assert'
        /usr/local/share/lua/5.1/kong/cmd/start.lua:15: in function 'cmd_exec'
        /usr/local/share/lua/5.1/kong/cmd/init.lua:81: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:81>
        [C]: in function 'xpcall'
        /usr/local/share/lua/5.1/kong/cmd/init.lua:81: in function </usr/local/share/lua/5.1/kong/cmd/init.lua:42>
        /usr/local/bin/kong:11: in function 'file_gen'
        init_worker_by_lua:38: in function <init_worker_by_lua:36>
        [C]: in function 'pcall'
        init_worker_by_lua:45: in function <init_worker_by_lua:43>

Is it running on ONE ?
It is not running for me with 2 node of Cassandra and consistency = ONE.
Do you guys have any idea?

In my case it's running with ONE and QUORUM/LOCAL_QUORUM
it's just that by definition a consistency of TWO can't be achieved on a table that is local to a server.

This should have been fixed in Kong 0.10.1 and the upcoming 0.10.2, thanks!

nginx: [error] init_by_lua error: /usr/local/share/lua/5.1/kong/init.lua:200: [cassandra error] could not retrieve current migrations: [cassandra error] [Unavailable exception] Cannot achieve consistency level TWO
stack traceback:
[C]: in function 'assert'
/usr/local/share/lua/5.1/kong/init.lua:200: in function 'init'
init_by_lua:3: in main chunk


Clear transactionHashes when redirect page after payment for CREATE NEW DAO

Discord or Telegram handle
Telegram handle: @RonyLe2818
Describe the bug
Don't clear transactionHashes after redirect page.
To Reproduce
Steps to reproduce the behavior:

Create new dao
Successful payment and redirect page
Browser url still show ?transactionHashes=5f5feLNxBJaTEBt7icqYuWiZfPaBwsGP2wzkzLvT5nUz#

Expected behavior
Replace window url by clear state value after redirect page after payment and show notification message status
Screenshots
If applicable, add screenshots to help explain your problem.

Thank you @rony2818
Actually, this applies to multicall as well. It'll be done in #57


ENH: Update isspmatrix behavior

Closes #15790
Updates isspmatrix so that it is no longer an alias of issparse. After #18440, it became possible to define the functions so that issparse returns True for both sparse arrays and sparse matrices, while isspmatrix returns True only for sparse matrices and not sparse arrays. This makes the behavior of the functions more accurately reflect their name.
Note that this is a breaking change necessitating updating internal usage of isspmatrix.

In #18531 there are some possible options for isspmatrix_xxx
as well as suggested names for is_xxx, is_xxx_array
and a set of tests. That PR involves changing the class hierarchy to allow isinstance, but it is definitely related to this one.
It would be good to get the names settled before the upcoming Scipy release.


Participants Avatars

I downloaded the icons of the animals suitable for myself, but I still recommend you to look at the icons.
I used the new version of the flutter_svg package to improve the passive rendering of the icons and changed some obsolete apis.
I could not scan and test it on the real device (real device could not connect to my computer's ip address, but I think it will work without any problems.
Test pictures that i can do here
Alice

Bob

Charlie

I think the design looks very nice in general - great job, I have minor suggestions though:

Icons should be a bit smaller I think, as we will usually have around 10 avatars per meeting.
On the final page, they should be horizontally centred.

Lastly, it is important to see, which Avatar is mine, so other people can simply ask if anybody is the cat or so on. I know you can in theory find this out when you start scanning other participants, but it should be explicitly visible. Can I ask you to find a good place on this page to display your own avatar?

I know this page is already quite bloated. I have thought about maybe having the two buttons, Close meetup, Scan others to be horizontally next to each other to save some space. Perhaps we can also shorten the texts to Finish and Scan. (These are just ideas, if you have better ones, feel free to add suggestions. :))

I think the design looks very nice in general - great job, I have minor suggestions though:

Icons should be a bit smaller I think, as we will usually have around 10 avatars per meeting.
On the final page, they should be horizontally centred.

Lastly, it is important to see, which Avatar is mine, so other people can simply ask if anybody is the cat or so on. I know you can in theory find this out when you start scanning other participants, but it should be explicitly visible. Can I ask you to find a good place on this page to display your own avatar?

I know this page is already quite bloated. I have thought about maybe having the two buttons, Close meetup, Scan others to be horizontally next to each other to save some space. Perhaps we can also shorten the texts to Finish and Scan. (These are just ideas, if you have better ones, feel free to add suggestions. :))

Maybe we can put our own avatar in appBar(actions) right next to the title 'key-signing-cycle'., and yes when there are a lot of avatars looks a bit crowded (smaller might look better), and when there are more lines of avatars and one not fits in a line and have to go down stands alone below :).

Oops, I already approved because I forgot that I had one comment. :) Anyhow, @azackmatoff can you also have a look at this and my comments?


sed

this works for me :
sed "s:{{PUBLIC_PATH}}:${PUBLIC_PATH}:g" ./gulp/config.js > ./gulp/temp-config.js
mv ./gulp/temp-config.js ./gulp/config.js
sed "s:{{PROJECT_SLUG}}:${PROJECT_SLUG}:g" ./package.json > ./temp-package.json
mv ./temp-package.json ./package.json
sed "s:{{PROJECT_SLUG}}:${PROJECT_SLUG}:g" ./gulp/config.js > ./gulp/temp-config.js
mv ./gulp/temp-config.js ./gulp/config.js

mv is ugly, I know

Will take a look. Can you give some details on what issue you have solved with this?


DOC: Add rioxarray link to examples and add example in file IO

[x] Addresses https://github.com/pydata/xarray/issues/2723#issuecomment-582961469
[x] Fully documented, including whats-new.rst for all changes and api.rst for new API

We might want to think about adding rioxarray as documentation build dependency

That brings along with it the fun of GDAL as a dependency.

Yeah lets avoid GDAL ;)
The I/O section looks good now

Docs build passed. Merging. Thanks @snowman2

Thanks for the fixes 👍


feat: pip installable and w/ hydra

Hi, this PR helps LigandMPNN being like

a pip-installable package:

# from github
pip install git+https://github.com/YaoYinYing/LigandMPNN@pip-installable
pip install -e  'git+https://github.com/YaoYinYing/LigandMPNN@pip-installable#egg=ligandmpnn[openfold]'

# or from cloned repo
pip install .
pip install .[openfold]

using hydra for config management: ligandmpnn/config/ligandmpnn.yaml.

# design
ligandmpnn input.pdb="./inputs/1BC8.pdb" output.folder="./test/default"

# scoring
ligandmpnn runtime.mode.use='score' model_type.use='ligand_mpnn' input.pdb="./outputs/ligandmpnn_default/backbones/1BC8_1.pdb" output.folder="./test/scorer" scorer.use_sequence=False sampling.number_of_batches=10 runtime.force_cpu=True

download pretrained weight file automaticaly while it is used.

ligandmpnn input.pdb="./inputs/1BC8.pdb" output.folder="./test/default" model_type.use='ligand_mpnn' checkpoint.ligand_mpnn.use='ligandmpnn_v_32_020_25'
Seed: 42
Device:cpu: None
Downloading data from 'https://files.ipd.uw.edu/pub/ligandmpnn//ligandmpnn_v_32_020_25.pt' to file '/Users/yyy/Documents/protein_design/LigandMPNN/model_params/ligandmpnn_v_32_020_25.pt'.
100%|█████████████████████████████████████| 10.5M/10.5M [00:00<00:00, 21.0GB/s]
Mode: design
Designing protein from this path: ./inputs/1BC8.pdb
[2024-03-24 01:10:35,668][.prody][DEBUG] - 1356 atoms and 1 coordinate set(s) were parsed in 0.01s.

Traceback (most recent call last):
  File "D:\a\LigandMPNN\LigandMPNN\scripts\run.py", line 25, in main
    magician.design_proteins()
  File "C:\Users\runneradmin\miniconda3\envs\ligandmpnn\lib\site-packages\ligandmpnn\__init__.py", line 668, in design_proteins
    self.design_proteins_single(pdb=pdb)
  File "C:\Users\runneradmin\miniconda3\envs\ligandmpnn\lib\site-packages\ligandmpnn\__init__.py", line 763, in design_proteins_single
    X_stack_list,X_m_stack_list,b_factor_stack_list=self.sampling_sc(S_list)
  File "C:\Users\runneradmin\miniconda3\envs\ligandmpnn\lib\site-packages\ligandmpnn\__init__.py", line 643, in sampling_sc
    sc_dict = pack_side_chains(
  File "C:\Users\runneradmin\miniconda3\envs\ligandmpnn\lib\site-packages\ligandmpnn\sc_utils.py", line 67, in pack_side_chains
    torsion_dict = make_torsion_features(feature_dict, repack_everything)
  File "C:\Users\runneradmin\miniconda3\envs\ligandmpnn\lib\site-packages\ligandmpnn\sc_utils.py", line 212, in make_torsion_features
    xyz14_noised = feats.frames_and_literature_positions_to_atom14_pos(
  File "C:\Users\runneradmin\miniconda3\envs\ligandmpnn\lib\site-packages\openfold\utils\feats.py", line 268, in frames_and_literature_positions_to_atom14_pos
    group_mask = nn.functional.one_hot(
RuntimeError: one_hot is only applicable to index tensor.

Feel free to edit if you find this PR is cool!

@dauparas are you considering merging this? This is a big improvement in terms of usability and probably many people would benefit from it!
@YaoYinYing Having an entry point in the toml would make it even nicer (I did not check but just looked at your example above!). Does your code allow to use custom checkpoints?
Thanks for great work.
Sincerly,
P.

@paoslaos Hi I have update code for the feature you need and validated this change via CI tests.
Thanks for such nice advice!

@YaoYinYing This is truly incredible and good engineering work, thank you!
Sincerely,
P.

@paoslaos Sorry for this misunderstanding. Inference command line shortcut will be more elegant then repo cloning and script calling.
LGTM. CI tests look okay too: https://github.com/YaoYinYing/LigandMPNN/actions/runs/9397959040.

@YaoYinYing nice!
I think we had an misunderstanding, but the result is exactly what I meant! Very nice! Will definitely use this in my work!
LGTM

This PR is outofdated and closing.  Use the latest branch instead.


⚠ API - Lens has degraded performance

In 3f09f28, API - Lens ($LENS_API_URL) experienced degraded performance:

HTTP code: 503
Response time: 331 ms

Resolved: API - Lens performance has improved in 5804332 after 6 minutes.


Links to be corrected.

The links for the icon is to be corrected.
Everything has to be linked with PyLadies Delhi.

The links have been corrected in PR#31.
Hence this issue is on hold for sometime.

@utkarsh2102 Which icons are you referring to specifically.

As peer #31, it seems fixed.
However, if there's a problem, I'll mention it here or fix it myself.
Hence, kept this issue on hold.


feat(explorer): use hash to update localStorage (closes #691)

Add a new localStorage entry explorer-hash, which takes the explorer state (based on only the folder paths to avoid unnecessary updates), which is used to compare if the explorer state is outdated and needs to be updated.
Seems to be a bit wonky when using npm quartz build --serve, as file changes are only detected on source file change or manual restart of serve, but works when you do trigger full reload/manual restart, but works as intended otherwise from everything ive tested)

https://github.com/jackyzha0/quartz/assets/23178940/fe632a80-d4fd-43a5-b90b-ac1ca92bda93
seems to break explorer for me


Dangerous Workflow: some user input are not being detected as untrusted input.

Is your feature request related to a problem? Please describe.
The current Dangerous Workflow check looks for places where untrusted user inputs could be used for Script Injection, such as:
- name: Check title
  run: |
    title="${{ github.event.issue.title }}"
    if [[ ! $title =~ ^.*:\ .*$ ]]; then
      echo "Bad issue title"
      exit 1
    fi

The problem is that Scorecard is not considering the whole range of user input that might lead to Script Injection. The piece of code that lists the user inputs is the following:
func containsUntrustedContextPattern(variable string) bool {
        // GitHub event context details that may be attacker controlled.
        // See https://securitylab.github.com/research/github-actions-untrusted-input/
        untrustedContextPattern := regexp.MustCompile(
                `.*(issue\.title|` +
                        `issue\.body|` +
                        `pull_request\.title|` +
                        `pull_request\.body|` +
                        `comment\.body|` +
                        `review\.body|` +
                        `review_comment\.body|` +
                        `pages.*\.page_name|` +
                        `commits.*\.message|` +
                        `head_commit\.message|` +
                        `head_commit\.author\.email|` +
                        `head_commit\.author\.name|` +
                        `commits.*\.author\.email|` +
                        `commits.*\.author\.name|` +
                        `pull_request\.head\.ref|` +
                        `pull_request\.head\.label|` +
                        `pull_request\.head\.repo\.default_branch).*`)

        if strings.Contains(variable, "github.head_ref") {
                return true
        }
        return strings.Contains(variable, "github.event.") && untrustedContextPattern.MatchString(variable)
}

And I can point that it isn't able to detect the following inputs, for example:

${{ github.event.issue_comment.comment.body }}, described in github's doc
${{ github.event.commit_comment.comment.body }}, described in github's doc
${{ github.event.fork.forkee.name }}

Describe the solution you'd like
As Dangerous Workflow is a very important check, Scorecard should be able to identify as many Script Injection risks as possible.
We should study more types of GitHub Events, their payloads, and make Scorecard as reliable as possible to identify different ways that Script Injections could take place.
Additional context
I'd be happy to complete my search and also raise a PR to fix this, but I won't be able to do this in a near future. However, I'm marking this as "Good First issue", as the biggest effort to solve this would be actually a research on GitHub's API. The changes on Scorecard would be simple.

And I can point that it isn't able to detect the following inputs, for example:

${{ github.event.issue_comment.comment.body }}, described in github's doc
${{ github.event.commit_comment.comment.body }}, described in github's doc

We detect the first two at least:
https://go.dev/play/p/Saz4FZ7j2A-
But yeah, there are probably more to consider. #3554, #2236, etc.

Thanks Spencer! I failed on the regex mental compilation ><
@pnacht also pointed out that ${{ github.event.fork.forkee.name }} shouldn't be considered dangerous, because the rules for repo names make it impossible to craft a malicious name (no spaces, no slashes, etc).
But I've found the following ones that are probably dangerous and not covered by scorecard:

"${{ github.event.discussion.body }}"
"${{ github.event.discussion.title }}"

Another potential risky variable is github.event.{head_commit, commits[*]}.committer.{name/email}. Scorecard detects the data for the author, but not the committer.


Add PawCare.md file

PawCare – Connecting Loving Homes with Needy Pets
Team Members

Siddak Bagga
https://github.com/siddakbagga13

Project Title
PawCare – A Comprehensive Pet Adoption and Support Platform

Project Description
PawCare is an innovative pet adoption and support platform designed to connect loving homes with needy pets. It provides a streamlined, user-friendly experience for adopting pets and addresses street animal concerns. Users can file complaints with location and contact details, enabling interested parties or communities to contact them within a week.
Our mission is to promote responsible pet adoption and provide unwavering support to ensure every pet finds a loving and caring home. PawCare bridges the gap between shelters, pet owners, and potential adopters, fostering a compassionate community where pets and people thrive together.

Project Inspiration

Problem Statement: India has over 60 million homeless pets, particularly cats and dogs. Current adoption processes are inefficient, and there is no central platform for pet adoption or street animal support. Additionally, animal cruelty and abandonment are common, highlighting a pressing need for accessible pet welfare services.

Proposed Solution: PawCare offers a comprehensive solution, simplifying the pet adoption process while allowing users to report street animal concerns. By connecting shelters, pet owners, and adopters, it fosters a caring community focused on responsible pet care.

🛠 Tech Stack

Frontend: Responsive web and mobile-optimized interfaces
Backend: php, Javascript with role-based secure access
Database: mysql for managing pet, user, and complaint data
Architecture: Three-tiered with Presentation, Application, and Database layers

Key Features

User-Friendly Interface: A seamless experience for adopting pets or reporting street animal concerns.
Community-Centric: Connects people willing to adopt with those who report stray animals, fostering a caring community.
Time-Bound Responses: Ensures complaints or queries are addressed within a week for timely support.
Real-Time Updates: Keeps adopters and shelters updated on pet adoption and complaint resolutions.
Search and Filter: Allows users to search and filter pets based on species, breed, age, and location.
Notifications: Updates users about new pets available for adoption, complaint statuses, and community responses.

Adoption Trends and Statistics

In 2023, 3.3 million cats were either born in shelters, surrendered, or abandoned.
50% of pet owners in India have abandoned a pet in the past, significantly higher than the global average of 28%.
12.8% of respondents adopted a pet in 2020, with 42.8% preferring to adopt from shelters or rescues.

Requirement Analysis and Specifications
Functional Requirements

User Registration and Login: Allows users to create accounts and log in.
Pet Adoption Listings: Displays pets available for adoption with details like age, breed, and medical history.
Complaint Filing: Enables users to file complaints about street animals with location and contact information.
Community Contact: Allows potential adopters to reach out to users who have filed complaints.
Medical Records Management: Users can upload or access medical check-ups and vaccination records for adopted pets.
Notifications: Sends alerts on new pets, complaint updates, or responses from the community.

Non-Functional Requirements

Usability: Ensures accessibility for all users.
Performance: Handles high traffic without significant delays.
Security: Protects user data through encryption.
Scalability: Accommodates growing numbers of users and listings.
Reliability: Ensures 24/7 availability.
Responsiveness: Supports various devices, including desktops, mobiles, and tablets.
Compliance: Adheres to legal regulations related to pet adoption and animal rights.
Data Integrity: Maintains accurate and up-to-date pet listings and records.

Links

GitHub Repository: https://github.com/siddakbagga13/PawCare
Demo website: Watch Here
Case Study:

https://www.behance.net/siddakbagga13

Design:
https://www.figma.com/design/hpJS9OcPR2hJFQ79sS95AB/PawCare?node-id=51-673&t=WBBxHrTlblCcqltn-1

Additional Information
PawCare addresses a critical need in India, offering a streamlined platform that connects adopters, shelters, and concerned individuals. Through its user-friendly interface and efficient response system, PawCare bridges the gap between homeless animals and compassionate individuals, promoting faster adoptions and responsible pet ownership. With future developments like geographic expansion and AI-driven features, PawCare aims to make a lasting impact on animal welfare.

The project repo showcases no usage of Appwrite, making it ineligible.


Type Inference does not work

Type Inference does not work compared with vscode
for the same line of code

in cornelis , the inference looks like this :

however , it should behave like this in vscode:

Or maybe,there is something wrong with my usage or configuration , thanks for answering me! :)

maybe try different normalization modes when calling :CornelisTypeContext? Like :CornelisTypeContext Normalised.


Faker::Internet.slug excludes "." by default

Fixes https://github.com/stympy/faker/issues/838.
To avoid errors caused by misinterpreting dotted strings as filename extensions, omit . as a delimiter for randomly generated slugs.
Note I omitted test coverage here since it would require looping around the randomization.

I just noticed that I forgot to ask you to write a test for this change. I'll do that in a separate commit 👍


Suggestion - change space to "page down"

Thanks to @akshaychhajed for writing the left/right "arrow stuff" !
Another recommendation, is that in the "xxx Layer Contents" view, "space" should be used as a "page down" key, similar to using "less" or "more" to page through the contents of a file. I am not sure what other file browsing interface makes me think to use space to scroll down, so I will stick with less/more. I suppose you could enable "page up" and "page down" while you are at it, but space feels more natural for some reason, at least to me. :)
This may require a slight adjustment to the "left arrow" UI that was merged over the weekend, such that if you hit left arrow on an expanded directory, it will compress it,  if it is already compressed, you will move up to the parent directory. If this is too complex (overloading the left arrow too much), maybe we could select a different modifier?
~tommy

Actually, I am primarily suggesting using "Space" as a "Page Down" ... which would necessitate "2" above. I don't actually have "physical" page-up or page-down keys on my laptop, but think it would be logical for them to work, if you write the function to handle "space" as page-down, you could also bind the physical page-down key to it.

From what I saw in "less" keybindings, it uses f for PgDn and b for PgUp.
Yes, we could always add more keybindings for the feature.
Let me see if I can get the feature in.
We could always discuss which keys to assign for them.

@TJM I think adding a page up/down feature to the file tree would be great. However, the most intuitive keys would be the PgUp and PgDn keys. Typically the "space" keybinding for an application that pages only allows one direction, where here we should be allowing for two directions (maybe shift+space? but I haven't seen precedence for that).
Though, I just opened up #51 (based on your comment in #41) which would allow you to override any keybinding... which means you'd be able to remap pagination and toggle collapse as you wish (the only thing you wouldn't be able to do is collapse on navigate).

The problem is there are soo many tools out there, and it depends on which ones you commonly use as to which shortcut keys are "natural" to you. If the PageUp/PageDn capability exists, mapping space to engage pagedn should be simple, as you have noted. :)
Thanks!
Tommy


[BUG] admiralty-type-ahead-item fails to append "value" on dynamic data regardless of whether its set locally or from an API

Whenever i try to render dynamic data whether it be an array of type set locally or fetching data from an API to then render using observables, the admiralty-type-ahead-item fails to append the value
// HTML
<admiralty-type-ahead resultsOnInitFocus="true"
                                      type="text"
                                      [label]="'Commissioning organisation *'">
  <ng-container *ngFor="let item of commissioningOrganisations$ | async" >
    <admiralty-type-ahead-item [value]="item.organisationName"></admiralty-type-ahead-item>
  </ng-container>
</admiralty-type-ahead>

// TS
commissioningOrganisations$: Observable<CommissioningOrganisation[]>;

export interface CommissioningOrganisation {
  id?: number;
  organisationName?: string;
}

@LukeTaylor34 @liamfarley13 FYI

Hard-coded vs for each generated:

Tried changing value prop to thevalue in the admiralty-type-ahead-item and had exactly the same result.

Attempted upgrade of:
"@stencil/angular-output-target": "^0.7.1",
made no difference.


Act1.2 and act1.3 feature？

Hello，Pilhyeon。
When do you relase the feature of act1.2 and act1.3? I have been waiting for your feature about four months.
Or you can send  me  the feature by<EMAIL_ADDRESS>Thanks.

ActivityNet1.3 from A2CL-PT github.


Update scheduling page with the basics

@electromage  FYI.

No review requested... this seems backwards

Approved - can you merge?


Use Print/Println when no format specifier is provided/needed

@simondeziel is this ready for merging? Its still in draft?

jenkins: test this please


311 action box

[x] Blue text, black icons
[x] make text P
[x] Reduce padding
[x] Top icons
[x] Put it in a DD
[x] Better top/bottom padding
[x] Put breadcrumb in some kind of element ($gray-lightest?)
[x] fa-credit-card icon

@jlyon @lukefretwell made a bunch of edits on this, let me know what you think

+1. Like it alot.
FYI, link is http://www.getproudcity.com/get/Oregon/Corvallis/answers.

+1 Very nice.

@aschmoe copy into pattern lib and close out?

Closing for now.


@ashfurrow => Gets the Home screen up and running

This adds:

A slideshow for the auth, that will skip if it has enough data to move on
A home screen with rows of shows, starting with Featured / NYC, then when you go down to NY it starts downloading the next set as you scroll
Minor revisions to the show view

Looks great, Orta! This is a good example of idiomatic Swift code :100: Merge when you're happy.

Thanks man, addressed all feedback.


Update netty-incubator-transport-native-io_uring to 0.0.12.Final

Updates io.netty.incubator:netty-incubator-transport-native-io_uring from 0.0.11.Final to 0.0.12.Final.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.netty.incubator", artifactId = "netty-incubator-transport-native-io_uring" } ]

labels: library-update, commit-count:1

Codecov Report

Merging #908 (d0818c9) into main (f75030c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #908   +/-   ##
=======================================
  Coverage   53.40%   53.40%
=======================================
  Files          73       73
  Lines        2159     2159
  Branches       54       54
=======================================
  Hits         1153     1153
  Misses       1006     1006

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 f75030c...d0818c9. Read the comment docs.


Feature request: Ability to partition submissions.

Something like this has been requested by a few of my TAs over the years.  They would like to be able to quickly partition the submissions into a number of "categories", for example, doing a rough first pass through the submissions to split them into "good/mediocre/poor".  Then they can go back and grade each submission more thoroughly.
The interface should allow for these "categories" to be defined for each assignment, and to be editable by the markers (like the annotations), as well as having one more drop-down menu (or some other easy mechanism) to indicate the assignment's current "category" and allow for it to be quickly changed.

Implemented a tagging feature in #1947.


Add Details To Arcadia Page

Adding Details to Arcadia Page
I swear they're accurate!

Bumping this!

Bumping this!

Hi @HysMagus ,
We can add the "Security" Tag; however, the Segment value should stay as "Software House", as it is an internal categorisation and required for analytics. Could you update the Segment value back to Software House please?

@devendran-m Done!


Pull request for python3-nose

For travis-ci/travis-ci#4252.
Ran tests and found no setuid bits.
See https://travis-ci.org/travis-ci/apt-whitelist-checker/builds/72207634

Closing this in favor of #463.


vtctl CopySchemaShard: Compare source and destination schemas after the schema was successfully copied.

Although the copy was successful, we have to verify it to catch the case where the database already existed on the destination, but with different options e.g. a different character set.
In that case, MySQL would have skipped our CREATE DATABASE IF NOT EXISTS statement. We want to fail early in this case because vtworker SplitDiff fails in case of such an inconsistency as well.
@alainjobart @aaijazi

LGTM nice catch.

@alainjobart PTAL. I added a "SchemaFunc" member to FakeMysqlDeamon to fix the integration test.

LGTM


overflow 163 inject logging fields

Inject log fields in ctx for grpc logs

Closes #163

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

6 of 6 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 76.168%

Totals

Change from base Build<PHONE_NUMBER>:
0.05%

Covered Lines:
2135

Relevant Lines:
2803

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

6 of 6 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 76.168%

Totals

Change from base Build<PHONE_NUMBER>:
0.05%

Covered Lines:
2135

Relevant Lines:
2803

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

4 of 6 (66.67%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 75.99%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

transaction.go
1
3
33.33%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
2111

Relevant Lines:
2778

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

4 of 6 (66.67%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 75.99%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

transaction.go
1
3
33.33%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
2111

Relevant Lines:
2778

💛  - Coveralls


New/Set-CsAutoAttendant Needs To Support "Authorized Users"

New/Set-CsCallQueue supports setting authorized users, the same needs to be true for Auto Attendants.

Hi @ajacks88 thanks for the feedback. Please link the article you are referring to. Thanks.

Closing as no answer from submitter.


Use Observable for js coding challenge

https://beta.observablehq.com/
It is interactive!

<script type="module">
  // Load the Observable runtime and inspector.
  import {Runtime, Inspector} from "https://unpkg.com/@observablehq/notebook-runtime?module";

  // Your notebook, compiled as an ES module.
  import notebook from "https://api.observablehq.com/@jashkenas/my-neat-notebook.js?key=ed62e16955cdc185";

  // Or, your notebook, downloaded locally.
  import notebook from "./my-neat-notebook.js";

  // Load the notebook, observing its cells with a default Inspector
  // that simply renders the value of each cell into the provided DOM node.
  Runtime.load(notebook, Inspector.into(document.body));
</script>

source: observablehq.com

Closing it now since the P5 Web Editor get used now instead.

Yes! (Noting that I would gladly accept community contribution links to Observable versions of the challenges.) But the p5 editor will be the officially supported one here!


As a user I would like to remove my own comments

I haven't found a way to remove my own comments as a non-admin user.
Is this something you are planning to add?

Currently, the only way to "remove" comment is to edit with empty (or "del") text. Probably I can add a new call for this with the same time restrictions as edit functionality.
However, as far as I know, such removal functionality is not that usual for commenting systems, and I'm not sure if such functionality really needed.

I have added delete flag to the current request (json) used by PUT /api/v1/comment/{id}
Now we need frontend support for this

Currently, the only way to "remove" comment is to edit with empty (or "del") text.
It doesn't really work, because once you hit on your username, it will show you history of changes.

not sure what you mean, this is part of the current edit functionality, nothing special about this particular edit, just different text. In 5 minutes window user can edit a comment by clicking on "Edit" link, not the username.

in case you meant a way to remove all comments, this is in place already, i.e. user can request complete removal of all comments by clicking on "Request my data removal"

@umputun , looks like latest docker image is not in sync with master branch.

if by latest you mean label :latest - sure, it is not from master but from tagged release. The one from master is :master, see https://hub.docker.com/r/umputun/remark42/tags/


Server shutdown handler

Currently the only way to exit the http server is to do "ctrl c". It would be great to add a shutdown handler that allows application to decide when to shutdown spin http server.
I am proposing a new method called shutdown_handle that will return a handle to shutdown the server.
let server = HttpTrigger::new(
    "<IP_ADDRESS>:80".to_string(),
    app,
    None,
    None,
    Some(engine.clone()),
).await
 .unwrap();

handle = server.shutdown_handle()
std::thread::spawn(move || {
    std::thread::sleep(std::time::Duration::from_secs(5));
    handle.shutdown();
});

http.run().await.unwrap();

We definitely want to decouple trigger lifetime from process lifetime.  Another possibility is a shutdown method on the trigger itself, but that feels like it might run into lifetime and borrowing issues, plus the shutdown token allows more flexibility in terms of passing it up to whatever supervision layer is hosting the trigger.  So I like this approach - thanks!
When you said "propose" were you thinking you'd like to send a PR, or just suggesting the feature?  (Either is great - just want to know where to take the conversation from here.)

Could you describe the kind of feature ("user story") this would enable?

I spawned a thread that calls http.run().await.unwrap(); but since this is running indefinitely I want a way to kill this thread.

Take a look at how the ctrl-c shutdown works: https://github.com/fermyon/spin/blob/061772803f8f59936a218c5420e53c707d5d9914/crates/http/src/lib.rs#L293-L302
Note that there is no explicit call to shutdown here; instead, server (the Future returned from hyper::Server...serve) is tokio::select!ed along with shutdown_signal. When shutdown_signal resolves on ctrl-c, server is droped, which is what shuts down the HTTP listener.
You can make your own shutdown signal with a channel; see how on_ctrl_c does it: https://github.com/fermyon/spin/blob/061772803f8f59936a218c5420e53c707d5d9914/crates/http/src/lib.rs#L327-L336
By select!ing this new signal channel along with the Future returned from HttpTrigger.serve, you can get the same effect.

But how would that look from the point of view of someone hosting the trigger?  The run() method is opaque - how do you propose hosts inject this new signal?  (Agree that providing a way to inject a signal is a viable alternative to the "yield a shutter downer object" design though.)

Oops, by HttpTrigger.serve above I should have written HttpTrigger.run. In either case, dropping the Future should (I think) shutdown the HTTP listener.

Just want to share to those who want to embed Spin to your applications, you can shutdown the Spin server by doing:
let server = http_trigger.run(spin_http_engine::HttpTriggerExecutionConfig::new(
    SPIN_ADDR.to_string(),
    None,
));

tokio::select! {
    _ = server => {
        log::info!(" >>> Server shut down: exiting");
    },
    _ = shutdown_signal => {
        log::info!(" >>> User requested shutdown: exiting");
    },
};


[KeyVault] Support new resource: managed HSM

Swagger: https://github.com/Azure/azure-rest-api-specs/pull/8996
(By convention for modules owned by Azure PowerShell team, such as keyvault and monitor, the tests of SDK are covered by the tests of PowerShell. You can find it here: https://github.com/Azure/azure-powershell/blob/enableMHSMManagement/src/KeyVault/KeyVault.Test/ScenarioTests/ManagedHsmManagementTests.cs )
Thanks

/check-enforcer evaluate


Fix dummy app authorizers filename

Authorizer filename should be oauth2 instead application

app/authorizers/application.js is fine

@marcoow It was not working for me, changing to oauth2.js fixed it.
In Readme also, its mentioned to add app/authorizers/oauth2.js .

You just have to use the name name you use when calling the session service's authorize method or you set the DataAdapterMixin's authorizer property to.
Also this change breaks the build.

Ok , I didn't knew that. Thanks for the info.


How to override the sql type for a column?

Hi @schotime,
I've been struggling with this requirement, cause my database model contains some columns varchar and other of type nvarchar so DBAs alert me that querying with casting between these types has an impact on performance.
I've explored the IColumnBuilder specification and the DatabaseType class but I'm not sure how I should implement this change.
Could you guide me a bit around?

If you wrap your parameter in an AnsiString it will do this automatically.
eg. new AnsiString("my value")

How is that a problem?
Db.Query<User>().Where(x=>x.username == new AnsiString ("user")).Single()
There is another way I'll post later.

Ohh I've got it, but you can't specify in the Table mapping the database type, right?, so we need to move our model from using string to AnsiString wherever we need the adjustment.

As I said, I'll let you know another way later.


OrientGraph.getVertex() throws IllegalArgumentException when cluster is not defined.

Using 2.1.8 build.
If you call graph.getVertex with a cluster that isnt defined, it throws an IllegalArgumentException, while previously it just return null, which seems to be like the wanted behaviour. This is the exception we get:

com.orientechnologies.orient.core.exception.ORecordNotFoundException: The record with id '#4654:0' was not found

	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:848)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx$SimpleRecordReader.readRecord(ODatabaseDocumentTx.java:3224)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeReadRecord(ODatabaseDocumentTx.java:1844)
	at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:243)
	at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:217)
	at com.orientechnologies.orient.core.tx.OTransactionOptimistic.loadRecord(OTransactionOptimistic.java:347)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:1588)
	at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.load(ODatabaseDocumentTx.java:121)
	at com.orientechnologies.orient.core.id.ORecordId.getRecord(ORecordId.java:324)
	at com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.getVertex(OrientBaseGraph.java:768)
....
Caused by: java.lang.IllegalArgumentException: Cluster segment #4654 does not exist in database 'test'
	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.checkClusterSegmentIndexRange(OAbstractPaginatedStorage.java:2505)
	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.getClusterById(OAbstractPaginatedStorage.java:1360)
	at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.readRecord(OAbstractPaginatedStorage.java:846)
	... 115 more

Hi @wouterv this is normal behaviour because you try to access to a cluster that doesn't exist.

Well it was normal in 2.1.6 that it returned null.
At least make it a ClusterNotDefinedException so I can catch it or something.

My apologies, I can catch ORecordNotFoundException.


[Raspberry pi 4] Heat management

we should look to add a fan on the raspberry
With a dicipator the temperature rice between 55 and 65C and the maximal is 80C
We should add a fan like :
https://www.waveshare.com/wiki/Fan_HAT
https://www.amazon.ca/-/fr/Waveshare-Ventilateur-Raspberry-température-automatique/dp/B087PVD2GP/ref=sr_1_42?__mk_fr_CA=ÅMÅŽÕÑ&keywords=raspberry+fan&qid=1653662182&sr=8-42

Fixed


installation: ES celery pin

Temporarily pins the elasticsearch (ES) dependency to
<3.0.0,>=2.0.0 .

Temporarily pins the elasticsearch-dsl dependency to
<3.0.0,>=2.0.0 .

Temporarily pins the celery dependency to <4.0,>=3.1 .

Signed-off-by: Martin Vesper<EMAIL_ADDRESS>

Looks good to me.

LGTM


FR: realtime event listeners for Realtime Database

Or provide some general info on how I may be able to code it myself.
Thanks
John

You can use the streaming support available in the RTDB REST API to implement this: https://firebase.google.com/docs/reference/rest/database/#section-streaming
That's how we supported it in our Python SDK.

Looks like something I could do. You can assign it to me.
As you mentioned in issue#35 to do this incrementally, I could try to get something working with very basic support first then we can take it from there.

Thanks @johndelavega. I don't think our repos allow assigning issues to non-Googlers. But consider it assigned :)
As a first step, please outline what the public API of this feature would look like here. Once we settle on that, you can go ahead and try to implement it. I assume this API will return some sort of a channel that allows clients to receive and consume updates. It might not be a bad idea to align with the semantics of the Python API here. See the listen() method at https://firebase.google.com/docs/reference/admin/python/firebase_admin.db#reference

Here are my suggestion for public API and does not include a channel, just a callback function, but we can probably create one that does include a channel. Internal code will use goroutines for the async nature of a listener. The empty interface arg is similar to existing public Get/Set API.
func (r *Ref) Listen(ctx context.Context, func(v interface{}) (*Event, error)
func (r *Event) Close() error
Ideally, we can call Listen from the same *Ref multiple times with different callback functions, returning unique *Event (or *EventListener) object used for closing http connection when done.
Need clarification for the use case of ListenerRegistration in Python API, is this optional?

The ListenerRegistration is equivalent to what you call EventListener.
Perhaps, a better way to do this in Go is to align with the Firestore listen API:
https://godoc.org/cloud.google.com/go/firestore#DocumentRef.Snapshots
https://godoc.org/cloud.google.com/go/firestore#DocumentSnapshotIterator
When applied to RTDB, this would look like this:
func (r *Ref) Listen(ctx context.Context) (*SnapshotIterator, error)

func (i *SnapshotIterator) Next() (*Event, error)
func (i *SnapshotIterator) Stop()

type Event struct {
  Path string
  EventType int // this can be an enum type
}
func (e *Event) Unmarshal(v interface{}) error

Something along these lines? @bklimt do you have any suggestions?

I really like having an Unmarshal method rather than having the callback take interface{}, because it means that consumers of the API (1) can use their own structs, and (2) don't have to guess the type of primitives (int vs int32, etc).
The trade-off between having a callback versus a SnapshotIterator is less obvious to me. I would ask @wilhuff if he has any advice.

I just want to point out that consistency between existing API such as Get and Set and the new Listen API is important. Most apps using Listen will likely be using Get, Set, and other existing APIs.

@jadekler Is the maintainer of the Firestore Go SDK and may have more context on the choice. As far as I can tell, this is a just a choice that's been made cloud-wide, and Firestore is merely being consistent with it:
https://cloud.google.com/spanner/docs/reference/libraries#client-libraries-usage-go

@johndelavega this API is not really going to work:
func (r *Ref) Listen(ctx context.Context, func(v interface{}) (*Event, error)

Note that unlike the existing Get() function (which is invoked by the developer), the callback function is invoked by the SDK. The developer will have to implement a bunch of conditionals with type assertions to properly handle different inputs:
callback := func(v interface{}) {
  switch v.(type) {
    case MyType:
      // handle MyType
    case MyOtherType:
     // handle MyOtherType

   // so on and on
  }
}

This also doesn't expose the event type (child_added, child_removed, value_changed etc) or the child path where the event it originating from. Remember that listening to /foo will yield events whenever /foo or any of its children change.

@bklimt I think my previous comment also explains why a callback API is not adequate. At least not without a wrapper type as follows:
func (r *Ref) Listen(ctx context.Context, func(e *Event) (*ListenerRegistration, error)

type Event struct {
  Path string
  EventType int // this can be an enum type
}
func (e *Event) Unmarshal(v interface{}) error

@hiranya911 thanks for the clarifications. I'll work on it based on the Firestore listen API.

@johndelavega Any news for real time database listeners?

I don't think anybody's working on this at the moment. But if somebody in the open source community wants to give it a try, they are welcome to. That's essentially how the Python Admin SDK got its listener API.

@ctrysbita  I just did a pull request against the dev branch, you can check it out.
@hiranya911 Let me know if you're able to get it running.

Any updates on this ?

@thatreguy, thanks for the review.
The code is tested on Ubuntu cloud VM and it's been running continuously for over 2 weeks. A second test is running on Raspberry Pi Zero W (built as GOARCH=arm GOARM=5) and it's been running continuously for over a week.
The test is using a particular auth flow using type: "authorized_user" json refresh_token credential file,
like this: refresh_token.json
This tool create-refresh-token can be used to create the JSON file.
@hiranya911, Also tested it with "service_account" credentials and runs as great. I think this is a good starting point with basic functionality. Just like Python SDK, we can label it as experimental.

will this feature ever be merged? I tried cloning the repo but getting use of internal package firebase.google.com/go/internal not allowed.

@rushib1, here's quick download then build, using go.mod (Linux or Windows):
git clone https://github.com/johndelavega/firebase-admin-go
cd firebase-admin-go
git checkout jd-event-listener
echo module firebase.google.com/go > go.mod
go mod tidy
cd cmd/listen2
go build

A binary executable should be created
Edit cmd/listen2/main.go for firebase credentials and db name for your specific settings
Rebuild, and real-time event listener should be working at this point
Run app with any command-line argument to initialize the db test path which is /user1/path1
Run a listener by running without command-line argument
From a separate command-line console, run app with an argument to trigger an event
The other console running the listener should show the event
If the value is the same as previous, event will not trigger
Another way of getting it working:
If you have existing setup either with GOPATH or go.mod
Just copy these 5 files:
db/event.go
db/event_ref.go
db/event_test.go
internal/http_client_event.go
cmd/listen2/main.go

These source code are disjoint.
Tested to work on the latest firebase-admin-go version 3.9.0
Tested disconnecting wifi on listener computer, then re-connecting, Listening continued OK.
Versions used for testing: go version go1.12 windows/amd64 and go version go1.12.7 linux/amd64

thanks @johndelavega. I got it to work by replacing the code firebase-admin-go with your code and it works. I think this is a bad way to do it but was super easy to do.

@hiranya911 any chance we'll get this merged anytime soon?

I'm somewhat hesitant to add this feature to the SDK. Adding this to the Python SDK resulted in a lot of confusion and issues (mostly developers not fully understanding the limitations of receiving realtime updated over REST). Is there any possibility of maintaining this feature as a separate extension?

Wouldn't that be solved by explicit documentations?
But concretely @hiranya911, what kind of confusion and issues? Any links?

Wouldn't that be solved by explicit documentations? Javascript already has full RTDB integration, .

The Admin Node.js SDK doesn't actually own the RTDB code. It is owned and developed as part of the JS client SDK. It gets included in the Admin SDK as a dependency. Furthermore, JS support for RTDB uses WebSockets. That is actually a better and more scalable way to support realtime listeners.

Go has lacked this feature for too long

When the RTDB API for Go was proposed it was understood that it will only ever be a thin wrapper around the REST API, and it will only support the simple transactions. Implementing listeners on top of REST is messy for several reasons -- one connection+goroutine per listener, periodic disconnects due to token refresh, no caching at the receiver end etc. These limitations actually make the implementation unsuitable for listening to nodes with a lot of data (too slow and too high download costs).

But concretely @hiranya911, what kind of confusion and issues? Any links?

Here are some from the Python SDK:
https://github.com/firebase/firebase-admin-python/issues/287
https://github.com/firebase/firebase-admin-python/issues/275
https://github.com/firebase/firebase-admin-python/issues/267
https://github.com/firebase/firebase-admin-python/issues/224
https://github.com/firebase/firebase-admin-python/issues/198
Our support team has also received quite a few similar issues. Overall, supporting this operation in Python has not been a pleasant experience. And given how few users actually want it, I'm partial towards not implementing it in Go, and pointing those who ask for it towards alternatives. I think Cloud Functions (which now supports Go) is a far better approach for implementing realtime listener scenarios at server-side. And if somebody really wants to run their own listener infrastructure, I'd point them to our Node.js or Java SDKs.
In any case, I'd like to talk to a few more people about this (specifically the RTDB team). Please keep the discussion alive by posting your ideas too.

Oh I see, I didn't know that. Is there a particular reason the Websocket implementation has not been ported to Golang then?

Websocket protocol for RTDB is somewhat complex to implement (and even more difficult to get right). For Node.js and Java we essentially "borrowed" the already existing implementations from our JS and Android SDKs, which were mature and battle-tested. For other languages, we will essentially have to write it from the scratch. But there's not nearly enough demand for this feature in Go to justify committing our resources.

Any update on this?

Would love to get an update on this. If it is not merged, could someone please provide me with steps on how I can actually make use of this feature if it is not in the main branch? Thank you very much

By the looks of things, I don't think the team will implement this.
What I did, and might be useful to your @architkithania: I used the NodeJS admin sdk and couple it with go thru gRPC. Both Javascript and Go have excellent gRPC support. It works flawlessly so far.

@eliezedeck Thank you so much for your response. I am quite new in cloud technologies and hadn't even heard of RPC. gRPC seems to be quite promising and may be just the thing I am looking for. thanks for the reference :D

I'm going to close this as we don't have any plans to support this API right now. If you think this feature is critical, please file an issue at https://firebase.google.com/support/troubleshooter/report and with enough feedback we can take another look.


Fixed default type for NesterovDualAveraging

NesterovDualAveraging has a default constructor which does not respect the types of the given parameters. This PR fixes this.
Note that δ and the rest of the parameters now wrapped with T are required to have the same type, and so the current constructor simply fails if δ is a Float32.

Thanks, @torfjelde!

Thanks, @torfjelde!


Add wai-middleware-rollbar

One bound issue:
aeson-<IP_ADDRESS> (Adam Bergmark<EMAIL_ADDRESS>@bergmark) is out of bounds for:

[ ] wai-middleware-rollbar-<IP_ADDRESS> (==1.0.*). Hardy Jones<EMAIL_ADDRESS>@joneshf. @joneshf. Used by: library

Relaxed dependency, restarting build.

Ugh, sorry. Forgot to upload to Hackage before restarting.
One more go!

Sorry for the noise.
I didn't pay enough attention to NB2 here: https://github.com/fpco/stackage/blob/master/MAINTAINERS.md#adding-a-package
Latest version has been added here: https://github.com/commercialhaskell/all-cabal-metadata/blob/239e61c9e05ac4743937f8dca0810f1e7ef855e5/packages/wa/wai-middleware-rollbar.yaml#L25
I'll wait longer next time :blush:.

Thanks!


Minor consent improvements mobile

This issue is imported from pivotal - Originaly created at Jul 24, 2018 by Arnout Terpstra
Some improvements for consent on mobile views

(Not just mobile!!) The IdP logo is scaled incorrectly (it doesn't have the original ratio) PR
The IdP name and logo should be on the same line (they are now underneath each other) PR
It is unclear that the link 'Are these details incorrect?' are about the attribute values below, since they are not immediately visible. Change text? (Are the details below incorrect? / Kloppen de onderstaande gegevens niet?) PR
The attribute description and values are almost impossible to discern from each other. Suggestion: align the attribute descriptions left (like now), and the values right? We could also include a ':' at the end of the attr. descriptions (however, on desktop view this is not necessary) PR
The 'yes, continue to ' should become bigger whenever the SP name is long. Suggestion: split SP name onto multiple lines (and make the blue button scale along with it) PR

Examples of issues (Arnout Terpstra - Jul 24, 2018)

When opening the slide-in after tapping on SURFconext (with the explanation of SURFconext) all the information doesn't fit on the screen. After scrolling down, the close button disappears. It would be nice if a static bar with the close button would remain visible after scrolling down.
The 'Explanation' link next to the identifier opens a new window. It should instead open a slide-in, like the one when clicking on 'SURFconext (?)' or 'No, I do not agree'
When an attribute value is too long to fit on the screen, scrolling horizontally is necessary. However, the entire table scrolls with it; it would be nice if only the attribute value I'm currently hoovering over scrolls to the side
The IdP name and logo are now below each other; would it be possible to move them next to each other? (Same with the SURFconext logo / name in the identifier table) (Thijs Kinkhorst - Sep 4, 2018)

Some extra improvements, see screenshot. Would it be possible to ensure the mobile only view is like this? (Also note the ':' after the attribute name! Only on mobile if possible :)) (Arnout Terpstra - Sep 6, 2018)

Also, question: is it possible to include a language switcher on the consent page? Could be just a footer link. (Arnout Terpstra - Sep 17, 2018)

@arnoutt No, this is not possible in the current implementation. (Thijs Kinkhorst - Sep 17, 2018)

Hi @arnoutt a question regarding improvement 4:

The attribute description and values are almost impossible to discern from each other. Suggestion: align the attribute descriptions left (like now), and the values right? We could also include a ':' at the end of the attr. descriptions (however, on desktop view this is not necessary)

The screenshot in the discussion above suggests displaying the attr name/value underneath each other. My current proposal is to fix it like this and not to align them next to each other. The screenshot is from my development environment.
Does my proposal satisfy your demands? (Michiel Kodde - Feb 5, 2019)

@michielkodde looks great! (Arnout Terpstra - Feb 5, 2019)

Before accepting this there is only 1 tiny tiny thing to improve. It's about the "Yes procees" button, or more pricisely about the "No, I do not agree" link. If this link could get a little more spacing between the big blue button above and the footer below to make it more clickable on mobile devices, it would be great :) (See screenshot attached of current situation.)
Also, the spacing between the sentence "Do you agree with sharing this data?" and the red notice box above it on the other hand is too much. The red box should contain as much spacing below it as it does above it!
Thanks :) (Arnout Terpstra - Feb 22, 2019)

The screenshot below is the product of the changes made in this PR. Changes include:

Improved spacing for the decline button
The IdP messages padding was improved
The h2: 'The following information will be shared with OpenConext Teams'  on mobile device received some additional bottom padding. As this title did not have any padding whatsoever on smalll viewports. (2nd screenshot)

(Michiel Kodde - Feb 27, 2019)


The QuestPatcher keeps crashing

I downloaded the Patcher and every time I open it. it makes it to the checking to see if its modded but then it crashes afterwards I redownloaded the thing and it still keeps crashing. I have no clue on what to do so if you could help that would be great

Please go to %appdata%/QuestPatcher and paste the contents into here: https://paste.md-5.net/
Then save it and share the link here.

Gonna close this due to no response.
In the future, please use #installation-help in the Gorilla Tag modding discord.


recordedit: remove the x button on the search popup.

This seems to be redundant with the cancel button at the bottom of the page which works. The x button doesn't work. We should move the cancel button to top right corner instead.

The X and cancel button are the same implementation and the same function. If one isn't working, it might be because the control has been fully loaded yet. The cancel button appears to work every time because you are forced to wait for the modal to finish loading so you can scroll to the bottom before you can click it.

This issue is fixed in the recent commit. The x button was missing some styling to make it appear and react more like a button. The cancel button has been removed.


Add check-release workflow on CI

To be able to start publishing the package to PyPI.

Closing in favor of #3 so CI is triggered.


Version updates

Perform npm package version updates

:tada: This issue has been resolved in version 2.0.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


refactor discover pkg apis

Currently discover pkg apis i.e. ConvertPolicy() and Policy() and are not usable outside. The discovered policies are printed to stdout only. if we can make these apis to return the encoded policies then we can utilize them outside. for example, we can leverage these apis in ginkgo based auto-testing framework for discovery-engine where it will no longer required to handle policy data from standard output.

Hey @rksharma95 can we also do te same for summary api, want to ask is it doable for summary?

Hey @rksharma95 can we also do te same for summary api, want to ask is it doable for summary?

Yes it is. :+1:


Support for YouTube Shorts embedding

Closes #787
Added support for YouTube Shorts embedding in the media links extension

Thanks!


Stdlib Sets docs error

The documentation here reads:
The apply method for a set is the same as contains, so set(elem) is the same as set contains elem.

I believe you meant the other way around.
The apply method for a set is the same as set(elem), so contains is the same as set contains elem.

I wanted to push a fix for this myself, but I can't seem to find sources for the docs there.

Hi @calindragomir! As written, the statement is true --
@ val s = Set('a', 'b', 'c', 'd')
s: Set[Char] = Set('a', 'b', 'c', 'd')

@ s contains 'a'
res1: Boolean = true

@ s('a')
res2: Boolean = true

@ s('e')
res3: Boolean = false

@ s contains 'e'
res4: Boolean = false

The apply method on s (s with (someElem) after it) indeed tests the same thing that s contains someElem does. I think, looking through where these exercises are defined, that apply method on x being a synonym for x() hasn't been introduced before the Sets exercise -- is that correct?


Unable to claim fox after foxy withdraw

Overview
When trying to claim fox after a withdraw from foxy yieldy, the claim button broadcasts a tx, and spends gas, but doesnt actually claim the fox. You can 'claim' multiple times.
References and additional details

Log into app.shapeshift and connect to wallet that has foxy to be claimed
Navigate to defi page and select fox yieldy
Select claim (if there is amount to claim) *note at first it says pending but after a few second will come up as available
Note the tx broadcasts and you get a txid
Go back into claim modal and note that it still says there is an amount to claim.
Select claim again and note it does the same flow.

txid: https://etherscan.io/tx/0x71139e8a538a5553082b800277e9f6d75e26eb40f5179906d5559e273424171c

Acceptance Criteria
Should be able to successfully claim fox from foxy yieldy
Need By Date
No response
Screenshots/Mockups
No response
Ownership

[X] If my bounty needs engineering or needs product I have added the respective labels on the right
[X] As the sponsor of this bounty I will review the changes in a preview environment (ops/product) or review the PR (engineering)

Estimated effort
No response
Sponsor / Stakeholder
No response
Bounty Hunters

Join our discord
Include an expected timeline for you to complete work in the work plan when you apply for this bounty!
Please refer to this link for some basic info
Please do not start work on this issue until you are approved in Gitcoin.

A user is having an issue where the claim button is stuck on pending and wont allow him to select claim. looks like the tx was done 5 days ago so it may not be ready to be claimed but the modal is saying conflicting things

gm @gomesalexandre i thought we fixed this one last week but the user is still experiencing not being able to claim the fox.
Wallet address: 0xF00Fa71B3df3226cbc3cA98985ff76B10c82Ebe6
Recent txid: https://etherscan.io/tx/0xbc71413f82f5838dc5a7f2e8d60f046f7d20e2b783210fb8f52f484f7c3c75d7
Let me if there is anything else you need or something I can do to assist

gm @MBMaria is this one still happening or can we close it?

i think this has been resolved. was about to check but fees are $30 at the moment. ill see if it comes down over the next couple days and if its resolved i can close it

Retested by @MBMaria and confirmed fixed, closing


Use MSRunSequence and MSRunSample instead of MSRun in PeakGroup, search, and template views

FEATURE REQUEST
Inspiration
Update TraceBase to use MSRunSequence and MSRunSample instead of MSRun for search and output. This will allow us to use the new tables prior to making changes to the loading code to populate them.
Description

[ ] Update PeakGroup to link to MSRunSample instead of MSRun
[ ] Update Advanced Search and Data Formats to use MSRunSequence and MSRunSample instead of MSRun
[ ] Remove the maintained_model_relation from MSRun and add to MSRunSequence and MSRunSample
[ ] Create new MSRunSequence list and detail view to remove MS Run list and detail view

Alternatives
Dependencies
This issue cannot be started until the completion of the following issue(s):

#709

Comment

ISSUE OWNER SECTION
Assumptions

The change description meant to include detail and list views for MSRunSample

Requirements

[x] 1. Add PeakGroup.msrun_sample
[x] 2. Remove PeakGroup.msrun
[ ] 3. Update Advanced Search and Data Formats to use MSRunSequence and MSRunSample instead of MSRun
[x] 4. Add HierCachedModel's relations (i.e. parent_related_key_name = "sample" and child_related_key_names = ["peak_groups"]
[x] 5. Move the maintained_model_relation from MSRun to MSRunSample
[ ] 6. Create MSRunSequence list and detail views
[ ] 7. Remove MSRun list and detail views

Limitations

This will not add a maintained model relation to MSRunSequence. It is not needed in MSRunSequence since it contains no auto-updated fields and is not traversed to propagate autoupdates from changed related models to other related models with auto-updated fields.

Affected Components

change: DataRepo/models/peak_group.py
add: DataRepo/templates/DataRepo/msrun_sequence_detail.html
add: DataRepo/templates/DataRepo/msrun_sequence_list.html
add: DataRepo/templates/DataRepo/msrun_sample_detail.html
add: DataRepo/templates/DataRepo/msrun_sample_list.html
delete: DataRepo/templates/DataRepo/msrun_detail.html
delete: DataRepo/templates/DataRepo/msrun_list.html
add: tests for PeakGroup.msrun_sample
change: broken tests
change: DataRepo/formats/peakdata_dataformat.py
change: DataRepo/formats/peakgroups_dataformat.py

DESIGN
Interface Change description
There will be new MSRunSequence detail and list pages.  The MSRun list and detail pages will appear to change to "MSRunSample".  There may exist new search fields in the PeakGroups and PeakData search formats.
Code Change Description
All the paths in the formats will be updated and the PeakGroup model msrun link will be changed. New detail and list views will be created.
Tests
TBD

Fields to search to support finding unanalyzed data...

MSRunSample.polarity
MSRunSample.ms_raw_file
MSRunSample.ms_data_file
MSRunSequence.researcher
MSRunSequence.date
MSRunSequence.instrument
LCMethod.name (via MSRunSequence)
LCMethod.type (via MSRunSequence)
LCMethod.run_length (via MSRunSequence)
LCMethod.description (via MSRunSequence)

I always think things through carefully.  Besides, it is trivial. That's why I created the dynamic "formats" and search interface. All it is is a dictionary update.
Well, adding date search isn't trivial. I'll leave that one out.


Integration bower install with Jenkins

The integration with Jenkins doesn't work : error code 128 !!
And the https hack doesn't work too ...
Any idea ?
Thx to you,
Tom

It is been a very long time. but when I check this issue there is no solution given  for Jenkins on windows.  In my case I have Jenkins and Jenkins Slave installed on Windows Servers. I get the same issue with bower install
bower install jquery
bower jquery#*              not-cached git://github.com/jquery/jquery-dist.git#*
bower jquery#*                 resolve git://github.com/jquery/jquery-dist.git#*
bower jquery#*                 ECMDERR Failed to execute "git ls-remote --tags --heads git://github.com/jquery/jquery-dist.git", exit code of #128 fatal: unable to connect to github.com: github.com[0: ...]: errno=No such file or directory
What I did to resolve, is the same solution that is given as resolution  for #128.
git config --global url."https://".insteadOf git://
Only thing is I add this line before calling bower restore!. In my case I use, NPM, Gulp, bower integrated with visual studio MSBuild. So I added the above config command before calling MBbuild Rebuild.
This may not be the right solution. I am just a beginner. advice if there is anything other good solution.
Thanks


Add heuristiics for fractional time spent on serialization/deserialization

We need GUI modif to display new Heuristic
We need to add unit tests


useOrientation

can update useOrientation hook use React.useSyncExternalStore ?  I see other hooks use React.useSyncExternalStore listen outer store.

Since useOrientation uses the browser's layout information, we need it to run before React paints the screen. That's why I went with state + useLayoutEffect instead of useSyncExternalStore.


assigment of large RPKs (>100M) noticeably blocks Houdini UI

find a way to not block the Houdini UI when reading RPKs (worker thread?) or speed this up (see #98)

This has been fixed with 2.0


Define the game genre(s)

Game genre(s) was defined in the "Género" section of the GDD.
GDD: https://docs.google.com/document/d/1iHbk6SjNvEBSYVCmc0KMylksYg6bwNcP/edit#heading=h.147n2zr


Problem with language

Translated en: {{ ct_state_translated("sun.sun", "en") }}
Translated en: {{ "sun.sun" | ct_state_translated("en") }}
Translated lt: {{ ct_state_translated("sun.sun", "lt") }}
Translated lt: {{ "sun.sun" | ct_state_translated("lt") }}

Translated en: Above horizon
Translated en: Above horizon
Translated lt: Above horizon
Translated lt: Above horizon

/config/configuration.yaml

  preload_translations:
    - en
    - lt

lt language not works, test with nl it's work.

It doesn't work because it is not translated inside HA. This integration doesn't magically create new translations, it just uses ones that are built-in in HA.


Update the game over message.


Improved Radial Basis Function Interpolation

Reference issue
This is a first attempt at implimented what I sketched in #9904 and also addresses #7157.
What does this implement/fix?
scipy.interpolate.RadialBasisFunction as an eventual replacement for scipy.interpolate.Rbf
Additional information
Things I think need to be addressed are in bullets
I also added an np.deprecate to the old Rbf though it should probably be updated with concrete deprecation plans

This needs to be checked to make sure it is in the right format

I added a few tests but there are likely more worth considering. I am not sure the best approach to test things like how well it does away from the training data without hard coding results. That is a qualitative measure and will depend the settings. I can tell you in practice it works very well if your data is smooth

I am not sure if this test is being run in the test suite
I would like some ideas on how to best assess quality of the interp. It may even be out of scope!

The documentation inline is very detailed. May be too detailed? It also includes references. [1] and [2] are the main ones but [3] and [4] are referenced in the documentation for resources on how to choose epsilon

Does the documentation need to be mirrored elsehwere?

Some things I considered but did not impliment:

Leave-one-out error estimate (see discussions in #9904)
Scaling the input to a unit-hypercube. I note it as a tip, but it is not done. It would be super easy to add. Thoughts?

Anything else? This is my first major contribution so I may be missing some key steps.
Thanks!

I suspect the test failures are from my deprecating Rbf. Can someone with more experience confirm? And if that is the case, where to do I update them to prevent that?
Any help would be appreciated!

Let's do the deprecation in a separate PR --- we'll e.g. need to decide whether RBF would be going to be removed eventually.

@pv Sounds good. I updated it
(I hope it is okay that I merged upstream into my branch to make sure there were no issues. I didn't rebase it since I wasn't sure what SciPy's rebase policy is and whether or not to rebase is a religious discussion!)

That's a lot of very constructive comments. I will try to tackle them over the holidays. Thanks for the feedback.

This has been quiet for 1.5 years, and is now superceded by the new RBFInterpolator we just merged in gh-13595. I think it ticks all the boxes for wishes people had for Rbf. So I'll close this PR. Thanks for your contribution @Jwink3101! If you'd want to try out RBFInterpolator and see if it does all you need, that'd be great.


Icons for element buttons, so children can play?

It would be good if each Element button ("Wall", "Sand", "Water", etc) had an icon next to its name indicating what it is to children who can't read (or people who can't read English!)

do you think color would suffice? I would have difficulty designing these icons!

Color would definitely be better than nothing!
http://thenounproject.com has lots of creative-commons icons to choose from, though; at a glance, I think these ones would work decently?
https://thenounproject.com/search/?q=empty&i=2108641
https://thenounproject.com/search/?q=wall&i=511179
https://thenounproject.com/search/?q=sand&i=24412
https://thenounproject.com/search/?q=water&i=606908
https://thenounproject.com/search/?q=stone&i=1373890
https://thenounproject.com/search/?q=ice&i=2110827
https://thenounproject.com/search/?q=gas&i=1982563
https://thenounproject.com/search/?q=clone&i=1315078
https://thenounproject.com/search/?q=mite&i=1975990
https://thenounproject.com/search/?q=wood&i=1601654
https://thenounproject.com/search/?q=plant&i=763378
https://thenounproject.com/search/?q=fungus&i=1326633
https://thenounproject.com/search/?q=flower&i=2111389 (seed)
https://thenounproject.com/search/?q=fire&i=1519955
https://thenounproject.com/search/?q=lava&i=2105369
https://thenounproject.com/search/?q=acid&i=1783684
https://thenounproject.com/search/?q=dust&i=915373
https://thenounproject.com/search/?q=oil&i=1609029
https://thenounproject.com/search/?q=firework&i=1905674
https://thenounproject.com/search/?q=wind&i=502826

I really appreciate you picking these out (and I think you made good choices) but to be honest I subjectively have a very negative associations to their aesthetic, it makes me think of second-rate enterprise dashboard software.
At the same time, I don't want to be the person who chooses minimalist grey on grey text and builds something I find pretty and is hard to use for others (especially children/non-english speakers).
I'm going to try color and see how it feels!

I could probably design some icons too.

I did colors!

Thanks so much :D I'll leave the issue open in case anyone feels like offering icons that'd suit, but this already helps a lot :)


Help to get read DNP3 analog signal from SEL-351 protection relay

Hi Ivan,
I am new to the DNP3 communication so please pardon me if I ask you stupid questions. I would like to read data from a relay using Raspberry pi 3 node-red. I am able to successfully get data from modbus devices. I was looking if you have any node.js platform or node-red node.
Thanks,
Kartheek

Hi, currently I don't have it implemented, but can be easily programmed to read/write/operate analog/digital input/output data from/to any DNP3 compliant device.
Please tell me more about what are you planning to do?

I am trying to pull an analog DNP3 signal coming from a SEl 651R relay into the Pi via serial Rs232 wiring. The SEL 651R signal indicates the power at which a solar inverter has to operate. I am able to control the inverter but I need help with getting the dnp3 signal from the SEL.

Well, yeah it is easy to acquire the analog signals using DNP3.
Currently this DNP3 library is under desing and development, so soon it can be applied for specific solutions.


HelmInstaller@1 installs outdated Helm version 3.1.2 when download of specified version failed

Question, Bug, or Feature?
Type: Bug
Enter Task Name: HelmInstaller@1
Environment

Server - Azure Pipelines

account name: Kelvion-DevOps
team project name: MyAFC
build definition name: myafc-helm (kts)
build number: 2022.12.16-2

Agent - Hosted

agent queue name: Azure Pipelines

Issue Description
From my point of view a failed download of a Helm release from GitHub is a transient error. The fallback behaviour of the pipeline task is to install an outdated Helm version (3.1.2 - released in march 2020) that does not support common options/flags used as of today - and that breaks the build/deployment in subsequent pipeline tasks using HelmDeploy@0 unless you explicitly verify the Helm version.
My suggestion for a fallback behaviour of HelmInstaller@1 : use a recent Helm version if installed in the hosted build agent image. An example: hosted agents with image ubuntu-22.04 ship with Helm 3.10.2 - see Ubuntu 22.04 runner image (package management)

duplicate of #17513 since github-actions bot did not assign anyone or added labels yet due to missing information in initial issue template.

Bumping this thread. This issue is intermittent for our usage when running with Microsoft agents running in Azure West Europe. When this issue occurs it breaks our builds as we are features released in newer versions of Helm. We get the following error when the installation fails:
Starting: Helm linter
==============================================================================
Task         : Bash
Description  : Run a Bash script on macOS, Linux, or Windows
Version      : 3.201.1
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/bash
==============================================================================
Generating script.
Script contents:
helm lint /home/vsts/work/1/s/.pipelines/helm/my-service --values /home/vsts/work/1/s/.pipelines/helm/my-service/values/dev-test.yaml --strict
========================== Starting Command Output ===========================
/usr/bin/bash /home/vsts/work/_temp/12d5545c-1a77-4d67-b375-9655af27d9bf.sh
==> Linting /home/vsts/work/1/s/.pipelines/helm/my-service
[INFO] Chart.yaml: icon is recommended
[ERROR] templates/: template: my-service/templates/tests/tests.yaml:5:23: executing "my-service/templates/tests/tests.yaml" at <.Values.namespace>: map has no entry for key "namespace"

Error: 1 chart(s) linted, 1 chart(s) failed
##[error]Bash exited with code '1'.
Finishing: Helm linter

Same issue here, using hosted agents in West Europe. Intermittent failures: build fails because HelmInstaller@1 could not get the latest Helm info and used the preinstalled version instead, I rerun the task without changes and it succeeds.

After running into this issue again today I decided to remove the pipeline task from the pipeline. Since Helm is updated continuously as part of build runner image you can remove that responsibility from the pipeline at all.
This approach might not work for all use cases, but when you just want to install the latest version of Helm for your Ubuntu-based build agent the current ubuntu-latest image provides everything you need. No need for an additional pipeline task.

I decided to remove the pipeline task HelmInstaller@1 from the pipeline

@saschagottfried I used this approach as well. For now it seems to work.
As soon as there are breaking changes and the agent gets the update some time later, the pipeline is going to break at an unexpected time.
Anyway this seems to work for now which is nice! Without your issue, I wouldn't have guessed that helm was pre-installed on the machines... Thank you!

This was an issue today during the Github outage. Would be best to have failed downloads actually fail the step.