Handle chain reorganisations

Depends on block validation #428 and maybe block checkpointing #429.
Here's a draft API for chain reorganisation:
Most ZebraState users will want the following API:

GetBlock(hash) -> block

if we write a wrapper service, it should only return blocks that are on the current chain

GetTip() -> hash

zebra-consensus will also want:

AddBlock(block) -> hash

We could also send hash and cumulative_work here, to simplify the state internals, and only calculate them once for each block

GetTipList() -> [(hash, cumulative_work)]
SetTip(hash)

replaces the current chain with the chain that ends in hash
when we have transaction state:

undo all the blocks that are in the old chain
apply all the blocks that are in the new chain

PruneTip(hash)

delete the block that ends in hash, and all of its ancestors that aren't on any other chains
typically happens 100 blocks after a fork
may also happen under memory pressure?

Here are the state invariants we'll maintain:

the state only contains valid blocks
each block must chain back to the genesis block (or a checkpoint hash)
there is one chosen block at each height in the state
if there are multiple competing chains, zebra-consensus chooses the chain with the largest cumulative proof of work, breaking ties with the earliest block received

To work out when we need to do a chain reorganisation, we'll need to keep a list of side-chain tips. (We'll prune side-chains once they get too old.)
It might also help to store the cumulative proof of work for each tip. (Or store the tips in order of work.)
During a reorganisation, we'll need to revert all the state changes in a set of blocks, and then redo the changes from a different set of blocks. If we design the state well, this should be a reasonably inexpensive operation. (Because we won't need to re-fetch or re-validate blocks.)
To handle chain reorganisations, we need to answer these kinds of questions:

[x] What if there are two blocks with the same parent? Or two chains with the same length?

[x] Which block is the tip?

zcashd has a get_tips() API, which returns a set of tips

[x] Is there a preferred tip?

The tip with the greatest cumulative work is the best. Ties are broken by choosing the block that the node received first. (Not the miner-supplied timestamp in the block header.)

[ ] In Zebra, should we choose the block that validates first? Or should we attach a timestamp to each block?

[x] What's the threshold for discarding the blocks in orphaned chains?

after >=100 blocks, the zcashd block chain reorg limit

[x] How do we clean up non-chain blocks (and expired transactions)?

after they are orphaned, drop them from the state and mempool

Here is some background info:
Largest permitted reorgs
The bitcoin and zcash coinbase maturity rule is 100 blocks:
https://github.com/zcash/zcash/blob/63c3d1ec9435b445a883028b9111595ffa9292d4/src/consensus/consensus.h#L30
zcashd will only accept 99 block chain reorgs:
https://github.com/zcash/zcash/blob/b5dda4ecc56a1f65da46828b249bdf1705f1aac3/src/main.h#L58
Chain forks in practice
There are approximately 3 reorganisations per day, as of April 2020. Almost all reorganisations are 1 block. See the April 2020 update in:
https://grants.zfnd.org/proposals/21786689-zcash-observatory
There's some analysis of chain forks here, including a 7 block orphaned fork:
https://github.com/zcash/zcash/issues/2004
Nathan recommends 10 blocks before transaction confirmation:
https://github.com/zcash/zcash/issues/952
Transactions that depend on JoinSplits anchored to discarded blocks become invalid after a reorganisation:
https://zcash.readthedocs.io/en/latest/rtd_pages/security_warnings.html#block-chain-reorganization-major-differences

In order to choose the best valid block chain in its view of the overall block tree, a node sums the work, as defined in § 7.6.5 ‘Definition of Work’ on p. 91, of all blocks in each valid block chain, and considers the valid block chain with greatest total work to be best. To break ties between leaf blocks, a node will prefer the block that it received first.
Section 3.3, Zcash Protocol Specification, https://github.com/zcash/zips/raw/master/protocol/protocol.pdf

GetTipList() -> [(hash, cumulative_work)]
SetTip(hash)
PruneTip(hash)

How are these APIs going to be used? My expectation is that you'd only ever care about the current best tip, and I feel like the SetTip and PruneTip might not be necessary depending on how we structure the state. Right now its already trivial to grab the tip with the greatest cumulative work, though thats because we don't have forks. But if we can still easily ask what the block with the greatest height is then wouldn't the tip list almost always be just this one tip block, unless there are multiple blocks with the exact same height which are both the maximum height.

I think you're right about some of the APIs, I'll edit them and describe their usage in another comment.
The consensus rule is not "the longest chain", but "the largest cumulative proof of work". They are sometimes the same block, but that's not guaranteed:

* if there are multiple competing chains, zebra-consensus chooses the chain with the largest cumulative proof of work, breaking ties with the earliest block received

One of the consensus rules is a minimum proof of work for each block. Let's call that minimum value N. Here is a fork where the longest chain is not the consensus chain tip:

A(N) <- B(N) <- C(N) = 3*N cumulative work
A(N) <- D(4*N) = 5*N cumulative work, the consensus chain

I think it's helpful to have our internal data structures support these APIs as closely as possible, because it's less error-prone. It's also worth noting that the block header is 1.5 kB, so it might be expensive to iterate through block headers.
Here's an example of an ambiguous height -> [hash] map:

2 -> [U, V, W]
1 -> [X, Y]
0 -> [Z]
Are there two side chains? Three side chains? How long are they?

the ambiguous chains can be resolved by looking at their parent blocks right?
as for the cumulative proof of work, that's good to know. and I agree on the data structures needing be optimized to support the APIs they're intended for, I'm just still figuring out the APIs is all, I'll chew on how to factor cumulative work into the state for now.
also good to know about how expensive it is to iterate over hashes, I think for a height to hash map it should be possible to iterate just by keys and restrict the memory usage for the most part but I'll definitely keep it in mind. Assuming the height map is even useful if proof of work is the key factor...

given this info I feel like the best data structure for iteration would be one that just represents the tree of the fork points, where each chain has a set of blocks and info about those blocks, like cumulative work, and additional an entry for the continuation of the chain... suddenly I just understood all the chain reorg stuff you've been talking about

Here's how we use the (redesigned) APIs:
Adding a block:
ValidateBlock(block):
check_block(block)?
work = GetCumulativeWork(block.parent_hash)?
work = work + block.work
hash = block.hash()
AddBlock(block, hash, work)?
SetBestChain(hash, work)
PruneOldSideChains()

Validation should be as efficient as possible, and it should be scheduled at normal priority.
Reorganising the chain:
SetBestChain(new_block_hash, new_block_cumulative_work):
current_best_work = GetCumulativeWork(GetTip())
// If the work is equal, prefer the current block.
// The consensus rule is "first received at node", but we use
// "first applied to the state". This should
if new_block_cumulative_work > current_best_work:
  SetTip(new_block_hash)
  tip_hash = new_block_hash

Reorganising needs to be reasonably efficient, and it can be scheduled at higher priority.
Pruning old chains:
PruneOldSideChains():
tips = GetSideChainTipList()

main_height = GetHeight(GetTip())
for tip in tips:
  for side_hash in iter::successors(tip, GetParent):
    side_height = GetHeight(side_hash)
    // Stop iterating when we get back to the main chain
    if GetHashAtHeight(side_height) == side_hash:
      continue;
    // Side chains can be longer than the main chain
    if (main_height > side_height) && (main_height - side_height > 99):
      PruneSideChain(side_hash)

There might be a better data structure or algorithm here. But even if there is not, the quadratic iteration is limited by:

the length of the side chain (typically 1-7 blocks)
the number of side chains (typically 1 in 300 blocks)
the pruning limit (side chains are pruned 99 blocks after their fork)

Pruning needs to be reasonably efficient, to avoid some kinds of DoS. But it can be scheduled at low priority.

Adding a block:

I think from the standpoint of zebra-concensus the API can be reduced to
ValidateBlock(block):
check_block(block)?
AddBlock(block)?

Because none of the cumulative work checking or chain management is dependent on verification, which would make all of the pruning, work tracking, and organizing of chains implementation details of zebra-state.
I will comment on the rest of the APIs later tonight or tomorrow, gotta afk rn

Yeah, you're right, we could push all the chain management into zebra-state. Or we could keep all the consensus rules in zebra-consensus, and keep zebra-state's implementation reasonably simple.
I'm not sure what the best design is here.
Feel free to take the time you need, I'm going to focus on verification for the next day or two.

Here's the plan going forward:

Add an in_memory representation of chains that tracks the potentially valid chains that are still within the reorg limit, tentatively called VolatileChains
use this new data structure in both the in_memory and on_disk state services to track blocks that have been validated and added but may still be reorganized

do not persist these blocks to disk, may be changed later

This data structure will use im to deduplicate state shared between multiple chains
when adding a new block to the volatile chains, persist any ancestors that go beyond the reorg limit

For now implement as little pruning logic as is feasible

The various APIs provided by the state services will then check the in memory chain prior then the on disk chain, so any information that has been added to the state service is available to outside observers, regardless of whether it has been persisted.
As far as I can tell the design here is relatively simple, the complexity seems to mostly live in how the volatile chains are reoganized, how data is persisted, and how its pruned whenever we add a new block.

We're doing this through the RFC process and #680 now.


Fix sys.master_files.is_media_read_only name

Remove a spurious trailing character on the is_media_read_only column.

@jonorossi : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks for this update @jonorossi.


Test harness for db-sync

Numerous problems over the last several months have shown that currently we do not do enough testing for correctness. The only reason for this is that testing db-sync is difficult to do comprehensively and efficiently. Currently we have some unit tests, but the majority of the testing is done by running a full sync of db-sync on mainnet or one of the testnets. Since a full sync of
mainnet (at epoch 294) takes more than two days, even testing on mainnet takes way too long. On top of that, there is no guarantee that syncing mainnet is a comprehensive test. There are already a number of instances of new bugs found after mainnet has been synced.
Theoretically, it would be possible to construct a complete blockchain that includes every possible test scenario and run it into db-sync. Unfortunately it would be far from easy to create such blockchain and difficult to extend it to new scenarios.
A better solution would be to make it easy to create valid blockchain fragments (as Haskell code) which could then be wrapped with a simple component that emulates the local chain sync protocol and plays back the blockchain fragment through the local chain protocol allowing the testing of db-sync on the chain fragment.
We could then write many of these blockchain fragments and then run the tests across all of the chain fragments. The test hardness should provide as much functionality as possible to make the writing of new tests as easy as possible and make new tests require as little boilerplate as possible.

Unit tests that cover many scenarios are in place now.


⚠ GitLab Server has degraded performance

In eb869b5, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 6866 ms

Resolved: GitLab Server performance has improved in 160d0de.


Vsync enabled has no effect on godot 3.3 running on Ubuntu 20.04 LTS

Godot version: v3.3.stable.official
OS/device including version:
Ubuntu 20.04.2 LTS x64
Gnome version: 3.36.8
Windowing system: X11
Godot running on GPU: GeForce GT 740M/PCIe/SSE2, OpenGL ES 3.0 Renderer
NVidia driver: 418.197.02
Monitor refresh rate: 60Hz
Issue description:
Engine with V-Sync on is running above 600 FPS, expected to run at monitor rate: 60Hz
Steps to reproduce:
(check if V-sync is checked)
Start any project, add camera and cube, press F6

This is likely a third-party issue, as V-Sync is working here on Linux + NVIDIA.

Yeah, my synchronization is off on the composer, it shows on the "nvidia x server settings", under "PRIME Display", do you think its related ?
Also glxgears run without synchronization, even when it states its synchronized.
Maybe that's a driver related thing, my GPU is not supported by nvidia anymore, the 418 was the last driver version (from 2019).

As this is an issue either with a driver or with GPU settings, there is nothing actionable for us so I am closing this issue.


Example Dags - Isolate and change exception try/catch to ImportError

Description
What is the current behavior?
CI is failing because - version of pandas-gbq==0.13.2 files: https://pypi.org/project/pandas-gbq/0.13.2/#files don't have GenericGBQException
What is the new behavior?

Changed the exception in try/catch to ImportError
Isolated it to a separate try/catch so that we can still retry for - Forbidden, TooManyRequests

Does this introduce a breaking change?
Nope
Checklist

[ ] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

I've tried a few different ways today, but not yet found a solution other than adding the constraint protobuf>2.5.0.  According to the Dependency Resolution section in the pip document, this seems to be a reasonable solution.
I also tried to use pipdeptree to see whether protobuf is only used in apache-airflow-providers-google which turn out to be the case and make adding the constraint more reasonable.
What I've tried
The following is what I tried. On the Github side, I forked the project and ran github action on my repo. On local machine, I tried to install them through different kinds of tool and see how it works

Run GitHub action job Run-Unit-tests-Airflow-2-5 without protobuf>2.5.0

purpose: to reproduce the error
result: failed as expected ❌

Run GitHub action job Run-Unit-tests-Airflow-2-5 without protobuf>2.5.0, but install pip == 22.3.1

purpose: to check whether pip version affects the resolution
result: failed ❌

Run make local target=setup locally

purpose: to reproduce the error locally
result: still installing

Run pip install apache-airflow-providers-google>6.4.0 with python 3.9, pip == 23.0

purpose: to reproduce the error locally with pure pip
result: succeeded ✅  (protobuf == 3.20.0 installed)

Run pipenv install apache-airflow-providers-google>6.4.0 with python 3.9, pipenv==2022.9.8

purpose: to reproduce the error locally with pipenv
result: pipenv stuck

Run poetry add apache-airflow-providers-google>6.4.0 with python 3.9, poetry==1.3.2

purpose: to reproduce the error locally with poetry
result: succeeded ✅  (protobuf == 3.20.0 installed)

Other findings
I digged into the dependencies of apache-airflow-providers-google in method 4 and find out only the following 4 dependencies don't have a minimum contraint
  - google-cloud-dlp [required: >=0.11.0,<2.0.0, installed: 1.0.2]
    - protobuf [required: <4.0.0dev, installed: 3.20.0]
    ...

  - google-cloud-language [required: >=1.1.1,<2.0.0, installed: 1.3.2]
    - protobuf [required: <4.0.0dev, installed: 3.20.0]
    ...

 - google-cloud-texttospeech [required: >=0.4.0,<2.0.0, installed: 1.0.3]
    - protobuf [required: <4.0.0dev, installed: 3.20.0]
    ...

  - google-cloud-videointelligence [required: >=1.7.0,<2.0.0, installed: 1.16.3]
    - protobuf [required: <4.0.0dev, installed: 3.20.0]
    ...

  - google-cloud-vision [required: >=0.35.2,<2.0.0, installed: 1.0.2]
    - protobuf [required: <4.0.0dev, installed: 3.20.0]
   ...

Closing this in favor of - https://github.com/astronomer/astro-sdk/pull/1768


Reflex init command not running without any error or trace back

Reflex init command not working in terminal also tried using virtual environment need help asap
Expected behavior
App compiling should come

what version of node do you have?

@SMITH-10 what version of reflex are you running?

latest version

@SMITH-10 what version of reflex are you running?

what version of node do you have?

LTS

Closing as it couldn't be reproduced.


Multinomial logloss

Can you use this library to predict multiple classes? The readme hints that you can only predict two classes.
Also, the documentation says that the default value of a missing feature is 1.0.  Shouldn't it be 0?
Thanks!

@josepablog For multiple classes, currently it is not. I will add it when I have time recently. Also welcome to contribute.
For default value, it means
"1 2:10 3 7:0.5"
will means feature 2 has value 10,  feature 3 will have value "1",  features like 4, 5, 6, will have value 0


Don't allow workspaces with names that are already taken

The user shouldn't be allowed to make several workspaces with the same name.
Not the highest of priorities, but would be nice.

Won't be fixed


Make curl optional for installing yen

Many bootstrapping scripts provide instructions for installing the tool via curl or get.
Currently, curl is mandatory for installing yen. It would be great if it can make use of wget when it is present.

curl is used inside the install script as well, so I'll have to edit the script to fallback to wget when curl isn't available.
Would you like to try doing this change?


[Lecture12][0617] About Deep Residual Network Architecture

lec 11 45p (with minor typo)

lec 12 15p
Hello,
I am writing to ask about the differences between the ResNet architectures shown in lecture 12-1 (page 15) and lecture 11 (page 45). It appears that there are discrepancies in the detailed structure of ResNet between the two slides, particularly in terms of the block structure and the filter size of the pooling layer, as highlighted by the boxes in the images. Could you explain the reasons behind these differences?
Thank you for your time.

@jwemilee Thank you for your comment!
Regarding the two pictures, the configuration in lecture 11, slide 45 is correct :) For a more accurate reference, you can check the configuration here.
I couldn't recall the architecture details without verifying them thoroughly. Regarding the figure in lecture 12, the kernel size of the avgpool before the FC layer should be 7x7 to match the feature size.


details of SM2

Thanks for your commits!
And, can you fix the typo and compress your commits, then push --force to update this PR?
Next time, you can use [skip ci] if your commits only change docs.

Fixed the typo and rebased my commits with [skip ci].

Thank you!


⚠ Cioos Pacific CKAN Sitemap has degraded performance

In ae06eeb, Cioos Pacific CKAN Sitemap (https://catalogue.cioospacific.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 14638 ms

Resolved: Cioos Pacific CKAN Sitemap performance has improved in d4c5cb2 after 1 hour, 59 minutes.


Miles or km in Nearby Places

This came to the mailing list:

Should add toggle to display miles or km on Nearby Places

Rather than creating another setting/toggle, getting that from the phone's locale would be better I guess. Maybe it is done already, please someone check, thanks!

Using "en_us" to mean non-metric units is a pretty annoying assumption a lot of software makes. I am in favour of not implementing any of this. Any person using the app will know what meters are, and the purpose of the measurements is just to give a rough distance. Anything else is done better in dedicated routing apps.

@tobias47n9e So you mean kilometers for all?
While I usually don't like to compromise on localization, I have to agree to not making our code more complex in order to accommodate what could be considered an archaism lol.


Fixed package-lock.json for npm ci

[ ] I've added a new note in the CHANGELOG.md file, according to docs:
https://iver-wharf.github.io/#/development/changelogs/writing-changelogs

Summary

Fixed package-lock.json having invalid package ref

Motivation
This was not solved by running npm install locally, as that made no changes to the package-lock.json file. I had to start up a Docker container with the repo mounted in and run npm install there instead, which then modified the package-lock.json file correctly.
Super weird! But now it works at least :)
Closes #151

Btw shouldn't I get my access revoked? :P

Btw shouldn't I get my access revoked? :P

We will probably reduce your permission to contributor level.

We will probably reduce your permission to contributor level.

As I still have write access, I'm merging this now myself :smiling_imp:
(I'm still getting emails once a day about the failing CI builds in master)


JavaScript parser falsely complains about String comparisons

The WOOL editor complains about the following string comparison statement (that should be correct in my opinion).
<<if $thisIsAString == "Some string." >>
The editor says: "error: Variable 'string' missing '$' prefix" (see screenshot).

Related, the parser also complains about number comparisons (see screenshot below)...

See also "conditionals.wool" in the test-dialogues folder.

Fixed, though shallow parsing used is still not fully watertight.


Add placeholder ability

Adds the ability to set the placeholder on the textarea/EasyMDE editor, so now you can choose to keep the placeholder 'Start writing..' or change it to 'Write all 8 ways Pikachu is better than Charmander' 👍

Thanks @ashleyhindle 👍
Is this ready now for review?

Thanks @ashleyhindle 👍
Is this ready now for review?

It is! Had to clean up my commit mess because I wanted to add minLength/maxLength support too, but decided against it for now 😅

Seems all good 👍 Thanks!


a solution to remind people to use accept header of application/hal+json

People regularly report bugs, thinking this library isn't working, only to find out they forgot the accept header. How about if we help them a bit in the ordinary JSON response? We could put a const string in the Representation class which only gets serialized to JSON, not hal+json. It could read something like:
"hey": "you're using the webapi.hal library but you're not using the accept header to get hal+json; so this object is ordinary JSON, not hal+json"

closing stale issue


fix: Fixed zpa_application_segment_pra

Provide a general summary of your changes in the title above. You should
remove this overview, any sections and any section descriptions you
don't need below before submitting. There isn't a strict requirement to
use this template if you can structure your description and still cover
these points.
Description
Describe your changes in detail through motivation and context. Why is
this change required? What problem does it solve? If it fixes an open
issue, link to the issue using GitHub's closing issues keywords1.
Has your change been tested?
Explain how the change has been tested and what you ran to confirm your
change affects other parts of the code. Automated tests are generally
expected and changes without tests should explain why they aren't
required.
Screenshots (if appropriate):
Types of changes
What sort of change does your code introduce/modify?

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[ ] This change is using publicly documented and stable APIs.

Codecov Report
Attention: Patch coverage is 55.12821% with 35 lines in your changes missing coverage. Please review.

Project coverage is 71.48%. Comparing base (1eb0655) to head (761a2a8).

Files with missing lines
Patch %
Lines

zpa/resource_zpa_application_segment_pra.go
52.05%
29 Missing and 6 partials :warning:

Additional details and impacted files

@@            Coverage Diff             @@
##           master     #499      +/-   ##
==========================================
- Coverage   72.04%   71.48%   -0.57%
==========================================
  Files          92       92
  Lines       19640    19405     -235
==========================================
- Hits        14150    13872     -278
- Misses       4642     4682      +40
- Partials      848      851       +3

Files with missing lines
Coverage Δ

zpa/data_source_zpa_app_connector_group.go
84.02% <100.00%> (+0.03%)
:arrow_up:

zpa/resource_zpa_app_connector_group.go
57.21% <ø> (-1.93%)
:arrow_down:

zpa/resource_zpa_application_segment.go
65.44% <100.00%> (-1.77%)
:arrow_down:

zpa/resource_zpa_application_segment_pra.go
51.57% <52.05%> (-23.27%)
:arrow_down:

... and 3 files with indirect coverage changes


[TODO] Some bugs and refactor for handling POST request

in _process the analyzer already make sure the Except header must be 100, dont need to check again
access F_OK and W_OK should separate for not found and forbidden
all of the header key should consistent to be lower case
change ofstream from * to &
use std::remove and std::rename to fit the subject

2024-12-09 22:40:09 [DEBUG] ConnectionHandler::handleEvent() on fd: 6 with events: EPOLLIN EPOLLOUT
2024-12-09 22:40:09 [DEBUG] Received events: EPOLLIN EPOLLOUT  on fd: 6
2024-12-09 22:40:09 [DEBUG] Read content:
2 1]>>stream␍
h�bbd``b� $�@���$xb���x1����k9����H����o��       ␍
startxref␍
@Leske the issue is from kernel and quite critical, we use state to control the flow but if EPOLLIN EPOLLOUT comming at same time and POST is still handling. then the analyzer need to be trigger for the EPOLLIN but now the body is still processing

Hey I think maybe we thinking too complicated
For a connection we won’t support pipeing so if a request not finished we should not handle EPOLLIN
maybe the right behavior should be if the sth is processing we should turn off the EPOLLIN monitor


fix: release workflow

upload all generated files needed for semantic-release into one artifact
include hidden files (i.e. .releaserc.json)
tested locally with nektos/act

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


Perturbation Example - request

Hi Team,
amazing work!
Do you have an example notebook for a perturbation analysis by any chance?
Would help us to get new insights and accelerate our work a lot : )
The perturbation data passed on to the model could be also a crispr-perturbation of a image based read out?
Thanks,
Simon

Hi, we have provided a notebook in the tutorials folder and will also upload it to the documentation site soon. The notebook works on the Adamson dataset, which is sequencing based. I hope it can help your application


Install oc if it is not present

Today, there was a failure job "Check READMEs" due to nonexisting oc
command. It's because GH runner image ubuntu-latest is pointing to
ubuntu-24.04, from where OpenShift CLI 4.17.0 is removed.

kubectl is present, could we use kubectl kustomize here instead?

kubectl is present, could we use kubectl kustomize here instead?

Yes. kustomize is even included in the runner image and just use kustomize build in the script. I have no idea why oc was selected to be used in the script originally. I just thought oc should be a CLI installed commonly.

/reteset

/retest


docs: add contributors file

Resolves #628
Check the file : https://github.com/daniloff200/lakeFS/blob/add-contributions-file/CONTRIBUTORS.md
Description
That PR adds all-contributors-cli, according to installation guide
Unfortunately, it uses JS, so, I added this dependency locally in webui folder, when package.json exists, but, that was made only for initial setup, so, I don't think, that it's required for repo
There are 2 ways to update this contributing.md file :
1) Do it manually sometimes, with couple of scripts, described https://allcontributors.org/docs/en/cli/usage
First of all, npm all-contributors check
It will generate list of users, which are not added for now in the file
Then, add each one from the list, with the
npx all-contributors add GITHUB_USER_NAME code (doc, tests, whatever)
And then use npx all-contributors generate, for CONTRIBUTION.md file update
Also, it's possible to add some scripts in package.json
{
  "scripts": {
    "contributors:add": "all-contributors add",
    "contributors:generate": "all-contributors generate"
  }
}

2)  Add bot to github repo
It will create a separate commit with the update
Described here : https://allcontributors.org/docs/en/bot/overview
How to install bot
Looking for your thoughts and feedback ;)

@nopcoder all yours :-)

Thank you @daniloff200, couple of things:

Is it possible that we can add the commands to add/update the contribution as part of our Makefile or our webui/ - which users node?
If we don't want to add package.json in the root project, is it possible to run the above commands as even if the package found in the underlying folder (webui)?
Why the bot needs code write access? can it just use the PR credentials to describe the change - I prefer not to give code write access when it is not required.
What does it mean "commitConvention" angular? do we want that?
We didn't modify our README.md, does it mean that only CONTRIBUTORS.md will be updated, also by the bot and I don't need to worry about it modify my README.md?

I think yes, but, it's important also to add the github username of a contributor.
Yes, I made it exactly the same way.
Have no info about that, I think, that's because the bot will create a separate commits, so, that's why.
Commit convention is just the commit style type instruction for the bot.
In case of 'Angular convention', the bot commits will be like
chore(CONTRIBUTING.md): add JohnSmith as a contributor
It's possible to change the output file from Contributors.MD to the other one, and the bot will only update the part, related to this and after lines, mentioned below.

`

`


(#156) Extend trunk_node_print_branches(). Call it from unit-test print_diags.

This commit adds minor improvements to trunk_node_print_branches() to:

Print # of kv-bytes in unit-specifiers, also

Print sum of {# of branches, num tuples & num of kv-bytes} for each trunk node.

Add trunk_node_stats{} to gather metrics as we traverse trunk nodes during printing. Report one-line summary of aggregate metrics.

Extend unit-test test_splinter_print_diags() to now also call trunk_print_branches() so we have a basic exercise of this print method.

--- NOTE: This PR started with an attempt to address the issue raised under #156 but upon investigation (and discussion with Alex), seems like that issue was incompletely specified. And possibly cannot be fully resolved.
So I am co-opting that issue to bring-in above diagnostic improvements to the workings of trunk_print_branches() and adding it to an existing unit-test case, splinter_test test_splinter_print_diags so that this print method continues to be exercised.

@rtjohnso -- As discussed in the PR meeting today, I've deleted the code in the trunk_node_print_branches() that was trying to compute the space amplification factor. Please see this updated delta-commit for the new diffs.
To record what we discussed in the PR meeting:
I have not tried to address the potential 'race' condition Alex had remarked on earlier. We observed during our review chat that this function is doing a trunk_node_get(spl->cc, addr, &node); at the start, so there is some protection in-place.
Also,  all this change-set is doing is invoking this print function in a stand-alone single-user test case, so there should not be any risk due to race conditions for this controlled usage. This change-set is not worsening current behaviour.
With this change, the new output from this print routine exercised by this bin/unit/splinter_test test_splinter_print_diags is as follows:
------------------------------------------------------------------
| Trunk node=393216, height=1
------------------------------------------------------------------
| pivots: 9
| 0: (negaitive_infinity)
| 1: 0x20001c5108e6550700000000000000000000000000000000
| 2: 0x3ffc153e7bc3f0e200000000000000000000000000000000
| 3: 0x5ffc880edb6b2b6400000000000000000000000000000000
| 4: 0x7ffe083c44f5d26e00000000000000000000000000000000
| 5: 0xa0017cf61243b18400000000000000000000000000000000
| 6: 0xc001fa28e521753f00000000000000000000000000000000
| 7: 0xdfffde43b6997c9d00000000000000000000000000000000
| 8:
-------------------------------------------------------------------------
    | branch |     addr     |  num tuples  |       num kv bytes         |
-------------------------------------------------------------------------
    |     36 |<PHONE_NUMBER> |        74352 |     5872541    (~5.60 MiB) |
    |     37 |<PHONE_NUMBER> |        74365 |     5879931    (~5.60 MiB) |
    |     38 |<PHONE_NUMBER> |        74507 |     5878773    (~5.60 MiB) |
    |     39 |<PHONE_NUMBER> |        75434 |     5950166    (~5.67 MiB) |
    |     40 |<PHONE_NUMBER> |       148621 |    11747471   (~11.20 MiB) |
    |     41 |<PHONE_NUMBER> |       149569 |    11812565   (~11.26 MiB) |
    |     42 |<PHONE_NUMBER> |       149979 |    11844334   (~11.29 MiB) |
    |     43 |<PHONE_NUMBER> |       149595 |    11811727   (~11.26 MiB) |
    |     44 |<PHONE_NUMBER> |       225361 |    17802848   (~16.97 MiB) |
    |     45 |<PHONE_NUMBER> |       223863 |    17695335   (~16.87 MiB) |
    |     46 |<PHONE_NUMBER> |       224262 |    17713499   (~16.89 MiB) |
    |     47 |<PHONE_NUMBER> |       298458 |    23577825   (~22.48 MiB) |
-------------------------------------------------------------------------
Sum |     12 |              |      1868366 |   147587015  (~140.74 MiB) |
-------------------------------------------------------------------------

Old-moldy PR. Has gone thru several start-stop attempts to get it finalized. General interest from team / colleagues has been  low on this set of changes, especially as some of the affected areas were broken even before this attempt to clean stuff up.
No more value in keeping this PR alive. The stakeholders and actors involved have move-on, and so will I shortly.
Nuke it. Let this rest.


Stream class refacting suggestions

https://github.com/burannah/TwitchXX/blob/1e88f332d48d0b7941b4237de0ae5df56c25bff6/TwitchXX/Stream.cpp#L39
https://github.com/burannah/TwitchXX/blob/1e88f332d48d0b7941b4237de0ae5df56c25bff6/TwitchXX/Stream.cpp#L53-L55
Seems to me you need a function here:
bool has_non_empty_field(const T &val, cons std::string &field_name) {     return val.has_field("community_ids")                && !val.at("community_ids").is_null()                && val.at("community_ids").size()); }
https://github.com/burannah/TwitchXX/blob/1e88f332d48d0b7941b4237de0ae5df56c25bff6/TwitchXX/Stream.cpp#L55
20, 100? What are these numbers?

this pattern repeats in some other palces as well:
https://github.com/burannah/TwitchXX/blob/1e88f332d48d0b7941b4237de0ae5df56c25bff6/TwitchXX/StreamMetadata.cpp#L48


Add chip support auto complete

Description

References #1543
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update

How Has This Been Tested?

Checklist

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

Please add a space between chips

Figma referred : https://www.figma.com/file/7yC5vYgdbzqaEJDr566xAL/SUBMISSION-V1---Work-in-Progress?type=design&node-id=5-9125&mode=design&t=FZ2VUIsHXfwjIBvX-0

@ElishaSamPeterPrabhu Can you resolve the conflicts?

https://modus.ideas.aha.io/ideas/MOD-I-7
This is still under "Needs Review" in Aha...

Appears broken. duplicating the search icon and the label

https://deploy-preview-1927--moduswebcomponents.netlify.app

@apaddock
For some reason https://deploy-preview-1927--moduswebcomponents.netlify.app/ this link commented by the netifly bot just above the recent commit is working properly.

@ElishaSamPeterPrabhu My only comment is why the Label text is smaller now, i'm not sure if this was discussed in the PR and I overlooked it or if it was part of some figma or other documentation.
PR:

Previous:

@ElishaSamPeterPrabhu My only comment is that it doesn't look like we are marking the items that were selected when the options list is opened back up.

@cjwinsor Its unmarked in figma, I can update the list if that's were we are headed.

Last thing we need for this story is that the selected items are highlighted like a list item would be.  So today it looks like this with disable-close-on-select enabled

But if you close and reopen its not still marked as selected.
We want any selected items to be marked like the condensed and selected example for list

For custom options, just set the background color.. don't worry about the check mark for those.  We may need to consider that differently in the future

@ElishaSamPeterPrabhu Last thing we need for this story is that the selected items are highlighted like a list item would be. So today it looks like this with disable-close-on-select enabled

But if you close and reopen its not still marked as selected.
We want any selected items to be marked like the condensed and selected example for list  Don't worry about the padding/height at this time, just get that checkmark and background color correct. Consider dark theme as well.
For custom options, just set the background color.. don't worry about the check mark for those. We may need to consider that differently in the future

Updated the selected option


❓ [Question] How to differentiate a Torch-TensorRT model from a pure TorchScript model?

❓ Question

I'm developing a C++ inference server to deploy Torch-TensorRT models and TorchScript models. Since the Torch-TensorRT compilation process is done AOT, Is there a way to know wether the given .pt model file is a Torch-TensorRT model or a pure TorchScript model?
Thanks!

You can search through the graph (my_script_model.graph) and look for operations from the TensorRT namespace. But really you shouldn't need to do anything special. Just loading the torch-tensorrt runtime in your inference server will add support for Torch-TensorRT models but will not interfere with standard TorchScript models.

Thank you very much!


Crashes when fastq.gz is empty

fails because it is an empty fastq.gz file.

When an empty fastq file is provided, the seqtk fqchk output looks something like this:
filename,position,num_bases,percent_a,percent_c,percent_g,percent_t,percent_n,average_q,error_q,percent_bases_below_q30,percent_bases_above_q30
empty.fastq.gz,ALL,0,-nan,-nan,-nan,-nan,-nan,-nan,-0.0,-nan,-nan

(the seqtk fqchk output doesn't include the header, only the second line)
The output is a single line, that includes ALL.
In these lines we use grep to collect stats by position. We do that by looking for any lines that don't include ALL:
https://github.com/BCCDC-PHL/basic-sequence-qc/blob/e0b178808a8daf26fb85aeaf18640dfa761ae603/modules/seqtk.nf#L18
https://github.com/BCCDC-PHL/basic-sequence-qc/blob/e0b178808a8daf26fb85aeaf18640dfa761ae603/modules/seqtk.nf#L21
The problem is that grep -v returns an error exit code 1 when it doesn't print any output. This causes the process and pipeline to crash.
We can follow an approach similar to the ones suggested here to force exit code 0 from those grep commands:
https://stackoverflow.com/a/36131305


Display locked token balance

Overview
Users of the wallet will often not have full control over their NEAR tokens. There are three main reasons for this, the first two of which are covered by this issue.

Vesting

Several community members (NEAR team, contributors) have tokens that vest over time, and will be unlocked linearly, block by block

State stake (Minimum Balance)

There is a minimum required balance (NEP #40) for all accounts. This can only be transferred by deleting the account

Staking/Delegating

Story
As a user, I want to view both my active and locked (vesting, state staked, etc) token balances, so I can understand the quantity of tokens that are fully usable and transferrable.
Acceptance Criteria

[ ] Total NEAR balance (active+locked) is visible
[ ] Active NEAR balance is visible
[ ] Locked NEAR balance is visible, and broken down into

[ ] Vesting
[ ] Minimum Balance (State Staking)

[ ] Difference between locked and active is explained
[ ] Minimum balance is explained
[ ] Mobile ok
[ ] Tested

@frol Will we be able to get a locked balance breakdown from this RPC endpoint? https://docs.nearprotocol.com/docs/interaction/rpc#accountaccount_id

Rephrasing: Which of the "locked" balance types (staked, vesting, state stake) will be included in the locked parameter returned from the account RPC endpoint?

Locked balance includes validator stake. Vesting is going to be implemented on the level of the contracts, so I assume it will be treated as a token transfer (@evgenykuzyakov is this accurate?). I am not sure where the state stake fit (@ilblackdragon can you help here?).

Lockup will have to be separately considered because it requires interaction with the contract deployed on the account. To support that, we need a way to tell whether the account has a lockup contract deployed.


NR-88057 : Added meta title and description for redpanda

Ticket: https://issues.newrelic.com/browse/NR-88057
Description: Added meta-title and description for redpanda quickstart

closing this PR as the ticket https://issues.newrelic.com/browse/NR-88057 was closed


used 'input()' method to make the app more interactive and also impo…

…rted 'load_dotenv' variable to access the password stored in the '.env' file

Checkout the tweaking I did to the code

nice work will merge it now

it will b nice if we have a requirement file you can also look into that


Show Output as a tab (the way it was before)

The output  used to show as a tab next to the results window.  Is there a way for us to move it back there. After updating to 7.3.4 it displays to the right of the SQL Query and this is rather annoying.
Was this intended or is this something that we can be given the option?

Hello @Moridin11,
This change was intentional and you cannot move it back like it was before.
You can disable automatic opening using Preferences ⇒ Editors ⇒ SQL Editor ⇒ Open output viewer on new messages


[Feature]: Optionally remove shape around icon and set icon size

Is your feature request related to a problem?
Icons are quite small for my 50 y.o. eyes
Describe the solution you'd like
If you don't want to render this parameters on UI, eventually you can include variables like: mush-shape-enabled and mush-icon-size into mushroom themes configuration.
Describe alternatives you've considered
No response
Additional context
No response

Do you mean something like:

Exactly.
I managed to obtain it by modifying mushroom.js file, but I wouldn't loss the changes after upgrading...

Do you want to do this for just one card are all cards ?

Do you want to do this for just one card are all cards ?

Probably best to enable for all cards but through theme options I'd have thought?

Better by theme options for all cards. Best if add per-card UI option.

You can override theme variable with card-mod by defining them locally I think 🙂

@piitaya yes but card-mod is css-dependant and I wish a stable theme configuration.

I will look to add additional theme variables 🙂

great!

Just adding my +1 to this. Not having any luck getting icon size changed with card-mod. I'd be happy if I could do that, but even better to have options/theme variables baked in.

New variables have been added to allow you customize the sizes of slider, icon and control with theme variables 🙂https://github.com/piitaya/lovelace-mushroom/releases/tag/v1.8.1

Still not able to hide the shape?

I confirm: no way to remove shape
Matteo Girardi
iOS Senior Developer
www.matteogirardi.com

Il giorno 15 mag 2022, alle ore 18:49, totalitarian @.***> ha scritto:

Still not able to hide the shape?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.


Form elements incorrectly hidden in Continuous Delivery Git Repo create/edit form for http:// repository URL

Internal reference: SURE-3564
Reported in 2.6.2
Issue description:
When a non-TLS Git Repository URL is entered into the Git Repo create/edit form of the Continuous Delivery UI, not only is the TLS Certificate Verification section hidden (as expected) but the Paths, Deploy To Labels and Annotations are also hidden incorrectly. The conditional display logic incorrectly wraps these sections as well as the TLS Certificate Verification section (https://github.com/rancher/dashboard/blob/v2.6.2/edit/fleet.cattle.io.gitrepo.vue#L394)
Business impact:
Cannot use GitRepo form in Continuous Delivery UI to add a http: git repository
Troubleshooting steps:
N/A
Repro steps:

Provision a Rancher v2.6.2 instance
Navigate to the Continous Delivery UI, Git Repos view and click Create
Enter http:// in the Repository URL field

Workaround:
Is workaround available and implemented? Yes
What is the workaround: Create gitrepo resource from manifest versus UI form
Actual behavior:
All form sections below and including TLS Certificate Verification are hidden when entered Repository URL starts http:// i.e. Paths, Deploy To Labels and Annotations
Expected behavior:
Only TLS Certificate Verification are hidden when entered Repository URL starts http://

This is no longer reproducible on Rancher 2.6.4-rc8 and 2.4.6-rc9


Bad sequence: ____ expected backwards?

This appears to be backwards. If we have provided the MAIL FROM already then RCPT to should be expected and vice verse. I haven't verified behavior against RFC yet or dug in to patch, but wanted to fire it off before I forgot.
250 Stinky-Dingus.local
helo a
250
mail<EMAIL_ADDRESS>250
data
503 Bad sequence: MAIL expected
250 Stinky-Dingus.local
helo
250
rcpt<EMAIL_ADDRESS>250
data
503 Bad sequence: RCPT expected

smtp-protocol doesn't care about the order of MAIL and RCPT. Just provide both of them before the DATA and it will be fine.

Fixed in 0.1.2


Make react icons fit inside input field of registration page.

Is your feature request related to a problem? Please describe.
Make react icons fit inside the input field of the registration page which was initially odd-looking inside the input box.
Describe the solution you'd like
I have changed the icons with more user friendly having less font size compared to the initial one.
@Yashnatani021-coder @hkaur008  please assign this issue to me.
I'm putting down a short snap of my changes, have a look.

please compare this icon to the original one. ..

please compare this icon to the original one. ..
do you still want to take up this issue?

yes @hkaur008


[ISSUE #3399] FIXES

Replaced with lambda

Please refer to other pr that have merged, change the title and associate relevant issues

You can rename this pr as other pull requests, by using the issue name. @gbhowmick1

Here it can also be replaced with lambda.

please check checkstyle


jspm: downloads only "dist" dir

[v4] i am not able to use sass sources with jspm package manager. How its possible to achieve that or is it possible to add another src directory to the current package.json (jspm section)?

It's not clear to me if/how jspm is supposed to work with Sass.
@guybedford Would you be able to offer us any guidance?

@cvrebert there is a configuration in bootstrap's package.json which tells jspm to only download specific files
"jspm: {    files: {         "css": "...",         "js": "....",         "fonts": "...."     } }"
it would suffice to add a sass source folder into the config, or at least that's what i think

This is because jspm 0.16 will use the published release archive for Bootstrap.
I'd suggest trying jspm 0.17 here. In this version release archive downloads from GitHub are deprecated, and you get the whole repo.

@guybedford just installed jspm 0.17 and when i try jspm install<EMAIL_ADDRESS>it still only downloads css and js folders

@VojtechKlos right, I missed that this was a v4 issue specifically. As you noted version 3 gets the whole repo in jspm 0.16. So for this Bootstrap 4 version, the override added at https://github.com/jspm/registry/blob/master/package-overrides/github/twbs/bootstrap%404.0.0-alpha.2.json is applying here, which is why you're just getting those files.
If we want to target a change to the override, there are changes we can do that are non-breaking, but altering the directories.lib value is a breaking change to the override that would be need to be set for the major release.

thanks, now i get it. would you be able to provide me some guidance in what steps do i need to take to make bootstrap v4 sass working with jspm 0.17? I would appreciate it very much much, thank you in advance.

@VojtechKlos sorry for the delay here... I think the best we can hope for is to catch the Bootstrap 4.0.0 stable release, and deprecate the directories.lib setting in the package.json override when this happens, as prerelease to stable can get away with some breaking changes. So we can prepare for that now by creating an override for the 4.0.0 version - I've gone ahead and set that up at https://github.com/jspm/registry/commit/664dd34a9ab0c4a7ab24b5ddeadac3463f9b8c61.

Closing as I don't think there's something here for us to address? Please holler if that's not the case <3.


ConnectionFactory.connect should have explicit alternate

By this I mean we should have an entry point that requires no parsing.
Connectionfactory.connect(List hosts, Properties props);
for example. Where we give it a list of host/port pairs explicitly, no parsing at all. There is no reason for the internals to be aware of the textual representation of the list of host/port pairs.
InetSocketAddress might be overkill for this, but it serves as an example.
All other connect() methods should delegate to this new one.

This also enables us to pass in multiple IPv6 addresses, which is not possible with the current API.
Thus, I propose the following two APIs:
ConnectionFactory.connect(List hosts, Properties props)
ConnectionFactory.connect(String scheme, List hosts, Properties props)
The first will use the default terracotta scheme, and the second allows the user to pass in other schemes like diagnostic.


OOM Error on Queue.archive() calling

SiftScience version to 0.9.10.
On samsung SM-N950U, Samsung S7, Samsung SM-G950U, LG V10 (Android 5, Android 7), I see crashes with next stacktrace.
Fatal Exception: java.lang.OutOfMemoryError: Failed to allocate a 155189256 byte allocation with 16777216 free bytes and 112MB until OOM        at java.util.Arrays.copyOf(Arrays.java:3352)        at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:130)        at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:114)        at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:417)        at java.lang.StringBuffer.append(StringBuffer.java:237)        at java.io.StringWriter.write(StringWriter.java:112)        at com.google.gson.stream.JsonWriter.string(JsonWriter.java:591)        at com.google.gson.stream.JsonWriter.writeDeferredName(JsonWriter.java:402)        at com.google.gson.stream.JsonWriter.value(JsonWriter.java:417)        at com.google.gson.internal.bind.TypeAdapters$16.write(TypeAdapters.java:405)        at com.google.gson.internal.bind.TypeAdapters$16.write(TypeAdapters.java:389)        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:125)        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:243)        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:125)        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:243)        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:97)        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:61)        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:125)        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:243)        at com.google.gson.Gson.toJson(Gson.java:669)        at com.google.gson.Gson.toJson(Gson.java:648)        at com.google.gson.Gson.toJson(Gson.java:603)        at com.google.gson.Gson.toJson(Gson.java:583)        at siftscience.android.Queue.archive(Queue.java:171)        at siftscience.android.Sift.save(Sift.java:376)        at com.application.SplashActivity.onPause(SplashActivity.java:58)        at android.app.Activity.performPause(Activity.java:7103)        at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1330)        at android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:4126)        at android.app.ActivityThread.performPauseActivity(ActivityThread.java:4103)        at android.app.ActivityThread.performPauseActivity(ActivityThread.java:4066)        at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:4024)        at android.app.ActivityThread.-wrap18(ActivityThread.java)        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)        at android.os.Handler.dispatchMessage(Handler.java:102)        at android.os.Looper.loop(Looper.java:154)        at android.app.ActivityThread.main(ActivityThread.java:6692)        at java.lang.reflect.Method.invoke(Method.java)        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)
Could you please take a look at this issue. Thank you!

Happens to us too, any updates on a fix for this?

Thanks @JayyyR - can you also send a note to support?  Want to connect over email so we can get some more details. cc @garylee1

@garylee1 @quanpod Hi, do you have any updates? We continue to receive crash reports with this issue.

@pkovalenko Thank you for your patience — I will try to have a fix out this week.

@pkovalenko @JayyyR I've just released https://github.com/SiftScience/sift-android/releases/tag/v0.9.13 which hopefully addresses this by decreasing the batch size by 75%. Please let me know how this works out.

@garylee1 Thank you very mutch. We`ll update version in our app and let you know result.

Thanks! We'll try it as well

@pkovalenko @JayyyR Please hold on integrating 0.9.13 — I need to make a small patch.

@garylee1 I'll hold off

@garylee1 any updates?

@JayyyR We're almost at the end of a big release that addresses this and several other things. I'm hoping to get it out by the end of next week. Will keep you posted.

okay great, thanks for the update!

Any updates on a bug fix?

@falcon4ever We're starting code review for this fix – hope to have it out in the next few days! The new release will address this and generally use a much more performant/sane concurrency model, as well as addressing functionality gaps we've collected over the past few months of beta. It will require minor integration changes. I'll keep all of you in the loop.

@pkovalenko @falcon4ever @JayyyR we've just released a significant upgrade to the SDK and have changed the archive, upload, and batching policy to hopefully address this issue (among many other improvements). The release can be found here:
https://github.com/SiftScience/sift-android/releases/tag/v0.10.0-beta
Please observe the release notes – there are a few breaking changes that require very minor integration tweaks and some optional new features as well. Note that it is a substantial rewrite and while we've tested it thoroughly and expect it to be much more stable, please do take special care in testing it. Thank you all for your patience.

thanks!

@garylee1 it doesn't look like Sift.collect() is being called on a separate thread anymore. In the old SDK, you were running deviceProperties.collect() in a different thread. Now it's not anymore in 0.10.0-beta. Is this intentional? Or maybe I'm missing something?
When collect() wasn't happening on a new thread in an old sdk, we were seeing very slow activity launch times. I just want to make sure the same thing won't happen again with 0.10.0

@JayyyR ah, okay – we were pretty sure the slowness was coming from the unarchiving, which was synchronous before and with the latest release is not. we can also move the collection back to a background thread. i'll keep you posted.

ah so unarchiving is still asynchronous in 0.10?

sorry, no – our profiling (and other reports) showed unarchiving (restoring the SDK state from disk) to be the launch bottleneck, so we changed that to be asynchronous. separately, we can also easily move collect() back to an AsyncTask if that was causing issues for your application.

@JayyyR we just released 0.10.1-beta which moves collect back to AsyncTask

@pkovalenko @falcon4ever please upgrade to the latest version – 0.10.1-beta

excellent! @pkovalenko for reference, the latest is now 0.10.2-beta


Delete duplicate written word: "class"

after the train_test_split section, the word "class" is written twice in a sentence.
sentence: We will first create a dummy classifier ...

Great, thanks a lot for this!

@mehrdad-dev out of pure curiosity, how did you bump into this repo?
In any case if you have suggestions for improvements, don't hesitate to let us know!

@lesteve I want to learn scikit-learn, before that, I send a suggestion to the developer team scikit-learn to translate the document to Persian, so they agreed and I sometimes translate documents while learning.
Then I find this amazing repo!  I really love it.
I think it's good that in the future (maybe after translating the documents) I try to create a free and open-source tutorial based on this repo.
Yes sure. if I will have an idea or edit to improve the repo, I send it.
Also maybe I can draw some figures or diagrams for better understanding the readers.

That sounds great, thanks for the details!
Since you are learning scikit-learn, you are in the targeted audience for this course so your feed-back would definitely be valuable!

@mehrdad-dev just a FYI the MOOC based on this repo will start on May 18 and you can already register here:
https://www.fun-mooc.fr/en/courses/machine-learning-python-scikit-learn/
For some reason (suggestions about why more than welcome), Iran is one of the top countries in registered participants so far!

@lesteve
Thank you for introducing it, I'll try to introduce it to the Persian community.
To be honest I don't know why Iranians are on the top of registrations.
I really want to create a good Persian community for scikit-learn.

Great thanks! So the Iranian thing remains yet another mystery 😉


add signup with email

Description
Summary of the changes and which issue is fixed.
I have added sign-up with email and password (firebase). The code for the same is in lib\screens\auth. Added validation for email and password. Also modified the Custom TextEditingField to use textEditingController in order to use the email and password for further sign-up use.
Fixes #83
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[x]My code follows the code of conduct of this project
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas

[x] My changes generate no new warnings

Github is showing the branch has some conflicts. but if i remove the code it will give error. what should i do ? @Mohitmadhav

Github is showing the branch has some conflicts. but if i remove the code it will give error. what should i do ? @Mohitmadhav

Did you do git pull upstream main before pushing your changes?

Github is showing the branch has some conflicts. but if i remove the code it will give error. what should i do ? @Mohitmadhav

Github is showing the branch has some conflicts. but if i remove the code it will give error. what should i do ? @Mohitmadhav

Is this the only conflict showing to you?

yes this is the only conflict showing to me.

Github is showing the branch has some conflicts. but if i remove the code it will give error. what should i do ? @Mohitmadhav

Did you do git pull upstream main before pushing your changes?

@keyurgit45 ?

I did. But i got this ->
$ git pull upstream main
fatal: 'upstream' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

fatal: 'upstream' does not appear to be a git repository
fatal: Could not read from remote repository.

try out
git remote add upstream https://github.com/Project-Easter/Flutter-UI
Then again git pull upstream main

@keyurgit45 I'm getting null uid when I login

I implemented sign up with Email not login

I implemented sign up with Email not login. Also the app is missing log out feature.

Yeah, I assigned Google Sign out to someone else.
Also, I was creating another issue for login and logout so you can work on that too if you want.

I implemented sign up with Email not login. Also the app is missing log out feature.

Yeah, I assigned Google Sign out to someone else. Also, I was creating another issue for login and logout so you can work on that too if you want.

Sure, I would Like to work on them.

I implemented sign up with Email not login. Also the app is missing log out feature.

Yeah, I assigned Google Sign out to someone else. Also, I was creating another issue for login and logout so you can work on that too if you want.

Sure, I would Like to work on them.

Cool, the issue will be ready within a few minutes.

I implemented sign up with Email not login. Also the app is missing log out feature.

Yeah, I assigned Google Sign out to someone else. Also, I was creating another issue for login and logout so you can work on that too if you want.

Sure, I would Like to work on them.

Cool, the issue will be ready within a few minutes.

Thank you for your help. This is my first open-source contribution. Also, can you remove my email id's from firebase that I used for testing purpose?

I implemented sign up with Email not login. Also the app is missing log out feature.

Yeah, I assigned Google Sign out to someone else. Also, I was creating another issue for login and logout so you can work on that too if you want.

Sure, I would Like to work on them.

Cool, the issue will be ready within a few minutes.

Thank you for your help. This is my first open-source contribution. Also, can you remove my email id's from firebase that I used for testing purpose?

No problem bro.
Sure, will remove those email ids from firebase.


Support for podman over docker "docker-credential-desktop": executable file not found in $PATH

Feature Request
Is your feature request related to a problem? Please describe:
I do not use Docker. I'd like to be able to run kcl mod add without relying on Docker. Currently getting this error:
"docker-credential-desktop": executable file not found in $PATH

Describe the feature you'd like:
It would be nice if I could use Podman, which is API compatible with Docker (including much of the CLI).
Describe alternatives you've considered:
Installing Docker Desktop and paying for a license
Teachability, Documentation, Adoption, Migration Strategy:

I still can't use kcl mod add with this bug. Is there something specific I need to do to get past this error?

I actually just found the answer in a very roundabout way here:
https://docs.earthly.dev/docs/guides/podman
mv ~/.docker/config.json ~/.docker/config.old.json


tom

Name (Abbreviation) of the unit you want to create?
yd
What is its base SI unit?
m
Would you like to provide more information about your unit?
Terrible @abbie-evans
Contributor Guide

[X] I will comply with the Contributor Guide

Code of Conduct

[X] I have read and agree to the project's Code of Conduct

Very in depth


Deviating moduel version AzApiCall version 1.1.83

When running the AzGovVizParallel.ps1 script it fails with a 'AzAPICall 1.1.83' not installed. I have a newer version 1.1.84 installed of the AzApiCall module. It asks me to upgrade, but fails (as there is a newer version available).
OUTPUT:
'Start Azure Governance Visualizer 10-Nov-2023 09:31:13 (#6.3.3)
Checking PowerShell edition and version
  PS check passed : (Major[7]; Minor[3] gt 0); (minimum supported version '7.0.3')
  PS Edition: Core; PS Version: 7.3.9
  PS Version check succeeded
Output/Files will be created in path 'C:\GitHub\Azure-Governance-Visualizer\pwsh\.'
 Verify 'AzAPICall' (1.1.83)
  AzAPICall - Deviating module version 1.1.84
  'AzAPICall 1.1.83' not installed'

Windows 11
AzGovViz version
please only report bug if you are running the latest version of AzGovViz
CodeRunPlatform
Console

@mwildenb thanks for reporting; filing a fix for console (user) runs to allow execution with newer versions of the AzAPICall module.

much appreciated

@mwildenb should be good with 6.3.4
closing


App must set security headers to protect against clickjacking && App must verify the authenticity of the request from Shopify.

Expected Behavior
App must be accepted by Shopify App Store. Please guide us that our app can submitted earliest. @osiset and @Kyon147
Current Behavior
Getting error mail from Shopify App Store.
There was an error installing your app. The app must be installed to perform the security check. We expected OAuth to be initiated at https://app-security.myshopify.com/admin/oauth/authorize but were redirected to https://app-security.myshopify.com/admin/apps/6845cd34467e62fc1570f47c8265a2a0/authenticate/token?shop=app-security.myshopify.com&target=%2F%3Fhost%3DYXBwLXNlY3VyaXR5Lm15c2hvcGlmeS5jb20vYWRtaW4. Your app must request installation immediately after clicking "add app." Apps must request shop access during installation, or reinstallation if the app was previously uninstalled from the shop. Learn more about authentication in our developer documentation

Steps to Reproduce
Several times I submitted the App to the Shopify Store and got rejection from there.
Context

Package Version: v ^17.1
Laravel Version: v ^8.65
PHP Version: v ^8.0

Hey @DeveloperHashmi
Clickjacking has been fixed if you update to 17.2.0.
The other issue looks like the auth/token which runs before each request is being picked up on the OAUTH which is not allowed.
We may have to tweak this but I've not looked at the code for the token route, so @osiset will have more insight.

@osiset - looking into this a bit more - I think blade might have to be killed off...

Shopify are leaning towards SPAs - they do say Turbolinks can be used but I've never used it. The biggest problem at the moment is the /auth/token route can no longer happen after OAUTH. So we might need to get that SPA PR out as it will help move the app package to be more user friendly with SPA and bypasses the need for the token request between each route anyway which would then solve the installation rejections.

Hi @Kyon147,
Thanks for the reply, May I know the expected timeline for this fixed.
I'm already using 17.2.0 (SS attached for your reference).
FYI : I already followed the instruction from #1070 and #1176 for security headers to protect against clickjacking.

@DeveloperHashmi - the fix is moving to an SPA app really and then we push out a new PR that bypasses the blade token requirement.
Are you using react or vue to scaffold your frontend?

I'm not using react or vue. I am using Laravel blade itself for view. @Kyon147

I'll see what @osiset thinks but we might have to get the session token after hitting them home route (to avoid the oauth  redirect issue) but osiset has a deeper understanding of this package's auth and how possible this is.
With Shopify itself saying multi page apps are not supported unless you make it function like an SPA they are moving away from multipage apps.

@osiset - I personally don't use the Blade templates with this package. I use VueJS and have my own Polaris component library that I maintain.
So it might be worth leaning towards that has a requirement, more so with the "frontend_engine" feature we just implemented.
My latest app with the new version, is going into review soon - so if it passes review and ends on the store we have a real world example to base it on.
I'm currently updating working on a "vue-app-bridge" package too which works the same as their react one.

Going to close this for now as it looks like blade templates don't fit at the moment with the apps overall.

Just updating here, i've had an app pass the security review using v17.3.1 but importantly, it passed because it was using VueJs as the frontend and did not use the auth/token route.
cc @osiset


bump build number

I just ran conda install tqdm, and got:
Solving package specifications: .
Warning: 2 possible package resolutions (only showing differing packages):
  - conda-forge::tqdm-4.15.0-py36_0
  - conda-forge::tqdm-4.15.0-py_0

It chose to install the tqdm: 4.15.0-py36_0 one.
This isn't really a problem, per se, but #15 probably should have bumped the build number so this doesn't happen. This PR would release a new build so that conda actually uses the noarch: python version.

going to put up 4.17.0+ soon (it's already released on github) so maybe don't quite need this. I don't mind much either way.

just need to make sure build no goes back to 0 after...

Oh, I checked pypi and only saw 4.15.


Main process exited

just tryng from 76fdb51 commit and got error
Oct  3 21:27:17 raspberrypi dnscrypt-proxy[4832]: [2018-10-03 21:27:17] [NOTICE] Loading the set of forwarding rules from [forwarding-rules.txt] Oct  3 21:27:17 raspberrypi dnscrypt-proxy[4832]: [2018-10-03 21:27:17] [NOTICE] Loading the set of IP blocking rules from [dnscrypt-blacklist-ip.txt] Oct  3 21:27:17 raspberrypi dnscrypt-proxy[4832]: [2018-10-03 21:27:17] [FATAL] user: Current not implemented on linux/arm Oct  3 21:27:17 raspberrypi systemd[1]: dnscrypt-proxy.service: Main process exited, code=exited, status=255/n/a Oct  3 21:27:17 raspberrypi systemd[1]: dnscrypt-proxy.service: Unit entered failed state. Oct  3 21:27:17 raspberrypi systemd[1]: dnscrypt-proxy.service: Failed with result 'exit-code'.
reverb to build  c043bd7 no error
how to produce I was stop and uninstall before upgrade
add binary to /opt/dnscrypt-proxy
sudo ./dnscrypt-proxy -service install
sudo ./dnscrypt-proxy -service start

Stick to releases...
Development versions are rarely tested on Linux, except before a new release.


Code Review 2

With adjustments suggested from first code review:

docstrings
yaml configuration file
more init methods
move config file documentation
rewrite tests
move the is_runnable method further up to check earlier
Better exception handling and removed sys exits from module

Plus:

step ids for runtime tool parameters now automatically detected

@Iyad I had actually changed the format to be:
datasets:
  0: data/exons.bed
  1: data/SNPs.bed

Just hadn't updated that file yet. Like this better?

I'm still thinking that it's difficult to map numbers to parameters.  If I
introduce a parameter, then I have to renumber the steps in the config.
On Dec 8, 2015 9:02 AM, "Alex MacLean"<EMAIL_ADDRESS>wrote:

@Iyad https://github.com/Iyad I had actually changed the format to be:
datasets:
0: data/exons.bed
1: data/SNPs.bed
Just hadn't updated that file yet. Like this better?
—
Reply to this email directly or view it on GitHub
https://github.com/AAFC-MBB/GFlow/pull/3#issuecomment-162888221.


After theme copied, customizer set fonts cannot be found

Issue description:
I copied my Shoptimizer site but now the fonts assigned in customizer cannot be found. I deactivated and then reactivated all plugins and Kirki was the offending plugin.
Version used:
Latest version
Using theme_mods or options?
Using Shoptimizer theme
Code to reproduce the issue (config + field(s))
This is the offending code:
https://papdev.wpengine.com/nas/content/live/ahccsupplement/wp-content/fonts/ibm-plex-sans/zYXgKVElMYYaJe8bpLHnCwDKhdHeE6xOedc.woff
What we want is:
https://papdev.wpengine.com/wp-content/fonts/ibm-plex-sans/zYXgKVElMYYaJe8bpLHnCwDKhdHeE6xOedc.woff

This is fixed in v4! :)


[BIOMAGE-1237] Rename Data Management tiles

Background
Link to issue
https://biomage.atlassian.net/browse/BIOMAGE-1237
Link to staging deployment URL
Links to any Pull Requests related to this
Anything else the reviewers should know about the changes here
The ticket recommended changing 'Data Management' to 'Samples List', I presume to match the existing 'Projects List'. However I reasoned that for both of these, 'List' is redundant, so changed them to 'Samples' and 'Projects' respectively.
Changes
Code changes
Definition of DONE
Your changes will be ready for merging after each of the steps below have been completed:
Testing

[ ] Unit tests written
[ ] Tested locally with Inframock (with latest production data downloaded with biomage experiment pull)
[ ] Deployed to staging

To set up easy local testing with inframock, follow the instructions here: https://github.com/biomage-ltd/inframock
To deploy to the staging environment, follow the instructions here: https://github.com/biomage-ltd/biomage-utils
Documentation updates
Is all relevant documentation updated to reflect the proposed changes in this PR?

[ ] Relevant Github READMEs updated
[ ] Relevant wiki pages created/updated

Approvers

[ ] Approved by a member of the core engineering team
[ ] (UX changes) Approved by vickymorrison (this is her username, tag her if you need approval)

Just before merging:

[ ] After the PR is approved, the unstage script in here: https://github.com/biomage-ltd/biomage-utils is executed. This script cleans up your deployment to staging

Optional

[ ] Photo of a cute animal attached to this PR

Let me know when staging is up and I'll take a look.

Sorry @vickymorrison, I forgot, it's up now

@robioson The staging link gives me a 404 error.

Hm, it works for me right now. Maybe I commented too soon!

Taking a second look, I wonder if it would perhaps be better to call the tile 'Project details' as there are other things on it than samples, like the description and ID.

It works now! I was just too keen :-)

You're right - 'Project details' is better

Codecov Report

Merging #415 (bb5263b) into master (66800f6) will increase coverage by 4.50%.
The diff coverage is n/a.

:exclamation: Current head bb5263b differs from pull request most recent head 77de337. Consider uploading reports for the commit 77de337 to get more accurate results

@@            Coverage Diff             @@
##           master     #415      +/-   ##
==========================================
+ Coverage   53.60%   58.10%   +4.50%
==========================================
  Files         132      133       +1
  Lines        4119     4175      +56
  Branches      798      823      +25
==========================================
+ Hits         2208     2426     +218
+ Misses       1895     1727     -168
- Partials       16       22       +6

Impacted Files
Coverage Δ

src/pages/data-management/index.jsx
0.00% <ø> (ø)

...ts/data-processing/DoubletScores/DoubletScores.jsx
82.92% <0.00%> (-2.37%)
:arrow_down:

...sing/MitochondrialContent/MitochondrialContent.jsx
84.00% <0.00%> (-2.05%)
:arrow_down:

...sing/CellSizeDistribution/CellSizeDistribution.jsx
85.96% <0.00%> (-2.04%)
:arrow_down:

...onents/data-processing/GenesVsUMIs/GenesVsUMIs.jsx
77.50% <0.00%> (-1.29%)
:arrow_down:

.../[experimentId]/plots-and-tables/volcano/index.jsx
0.00% <0.00%> (ø)

...c/components/data-processing/FilterResultTable.jsx
100.00% <0.00%> (ø)

...mponents/data-processing/Classifier/Classifier.jsx
79.59% <0.00%> (+3.40%)
:arrow_up:

src/components/data-management/MetadataPopover.jsx
20.00% <0.00%> (+20.00%)
:arrow_up:

src/components/data-management/ProjectDetails.jsx
53.60% <0.00%> (+53.60%)
:arrow_up:

... and 3 more

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 66800f6...77de337. Read the comment docs.

I've made the change @vickymorrison


LocationServices Refactor

Creates Statically Typed LocationServices class to handle all background instantiation once.
BackgroundGeolocation is smart in itself and will handle any form of termination events.  In addition, the onListen event stop was added where future release can include a local push notification to tell the user that location services were terminated.

Woot! Excellent start.
I pushed a change to add a log message when saving a point.  It revealed a couple things:

In the emulator, I shutdown and launched from the icon.  It looks like it was running two copies -- double logs.  Possibly there are two apps or maybe two services within a single app?

Definitely should not be.


Flutter 3.0.2 cannot load sdk in iOS, nor can pod install

Problem solved, Apple M1 computer needs this
sudo arch -x86_64 gem install ffi
arch -x86_64 pod install


fix: [Menu]: Add role = 'presentation' to MenuItem for accessibility issue

SUMMARY:
fixes issue: list item does not have a <ul> or <ol> parent element without a role, or a role="list"
GITHUB ISSUE (Open Source Contributors)
JIRA TASK (Eightfold Employees Only):
https://eightfoldai.atlassian.net/browse/ENG-79383
CHANGE TYPE:

[x] Bugfix Pull Request
[ ] Feature Pull Request

TEST COVERAGE:

[x] Tests for this change already exist
[ ] I have added unittests for this change

TEST PLAN:

Open story book > Menu
Click on Menu
Run axe DevTools accessibility tests
Before:

After:

Should not see list item does not have a <ul> or <ol> parent element without a role, or a role="list" issue.

For this, use itemProps={{ role: 'presentation' }} as this will break the overall A11y fix for Menu, Dropdown, List, and Select. Or <Menu role="listbox" / >


Day391

Resolves #785.

Pull Request Test Coverage Report for Build 1486

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 1484:
0.0%

Covered Lines:
5

Relevant Lines:
5

💛  - Coveralls


[Extension name] Bug description

Extension name
Play Notes
Bug Description
all worked fine since I've had the extension since last August but now some of my notes are randomly deleted.
To Reproduce
No response
Logs
extensions.log
playnite.log
Screenshots
No response

First time using Github and I didn't do the format right; redid here - https://github.com/darklinkpower/PlayniteExtensionsCollection/issues/520


Add basic Rotary Embeddings layer (Su et al., 2021)

Description

Add the rotary embeddings layer that is used by various GPT-based LLMs.
Types of change

Enhancement.
Checklist

[x] I confirm that I have the right to submit this contribution under the project's MIT license.
[x] I ran the tests, and all new and existing tests passed.
[x] My changes don't require a change to the documentation, or if they do, I've added all required information.

Putting this in draft temporarily. There are some bit where I originally thought that they need to be in the attention layer, that can also move to this layer.

Closing this one and making a new PR, since stuff moved around and there are some changes, it's easier to make a new PR. I'll integrate the comments as well.


Empty index buckets are not deleted

Just toying with the example from the README, I noticed that as you save (update) the same user but with a different CreatedAt time stamp, multiple buckets inside __storm_index_CreatedAt are created but (n-1) of them are empty. Not sure if it matters with boltdb in terms of performance, but it would be nice to delete an index bucket if empty.
View from boltbrowser:
  - User                                          | Path: User/__storm_index_CreatedAt/ ��    Time �
    - __storm_index_CreatedAt                     |       �    ��       ��d�)��`�\
      -  ��    Time ��    ��       ��c� �Q��\     | Buckets: 0
      -  ��    Time ��    ��       ��c� �I��\     | Pairs: 1
      -  ��    Time ��    ��       ��d� ��1�\     |
      -  ��    Time ��    ��       ��d�$����\     |
      -  ��    Time ��    ��       ��d�)��`�\     |
        10: 10                                    |
      - storm__ids                                |
        10:  ��    Time ��    ��       ��d�)��`�\ |
    - __storm_index_Email                         |
<EMAIL_ADDRESS>10                       |
    - __storm_index_Group                         |
      - staff                                     |
        10: 10                                    |
      - storm__ids                                |
        10: staff                                 |
    10:                                           |
      E��    User ��     ID     Group     Email   |
          Name     CreatedAt ��    ��    Time ��  |
         8��  10  staff<EMAIL_ADDRESS>John  |
             ��d�)��`�\

Thank you for the prompt fix. Looks good.


Ensure encoding layers are initialized when loading lazy vectors

This fixes a bug where when an input contains a vector of the form
Dictionary(Row(LazyChild)), the dictionary layer remain un-initialized
after loading the row vector.
Test Plan:
Added a unit test

Depends on #6170


Chain service supports basic challenges

For background, reference https://www.notion.so/Direct-funding-f0fe906bb6fd4a298602b140c3bb0899.
Features added

challenge ChainServiceAPI.
pushOutcomeAndWithdraw ChainServiceAPI.
channelFinalized ChainEventSubscriber API is called when a channel is finalized.

Refactor
While adding the above features, it became clear that creating a new Observable subscriptions on every registerChannel call is clunky, hard to understand, and, likely, memory-expensive. This PR contains a refactor with:

One observable per contract. One subscription to that observable.
registerChannel modifies a mapping of channelId to listeners. This should scale to thousands of registered channels.

Follow up work

[ ] https://github.com/orgs/statechannels/projects/1#card-50847289

nit: I don't love having both _onBlockMined and onBlockMined which are both private

@lalexgap agreed! fbeec9031


Gorm cann't connect Doris

GORM Playground Link

https://github.com/go-gorm/playground/pull/1
Description
Gorm cann't not connect Doris
Gorm version:
gorm.io/driver/mysql v1.5.7
gorm.io/gorm v1.25.10
gorm.io/plugin/dbresolver v1.5.0
example code:
Settings.Doris.DSN = fmt.Sprintf(`%v:%v@tcp(%v)/%v?charset=utf8mb4&parseTime=True&loc=Local`,
		Settings.Doris.UserName, Settings.Doris.Password, Settings.Doris.Host, Settings.Doris.DBName)

var DorisDB *gorm.DB
log.Infof("Init doris connection...")
DorisDB, err = gorm.Open(mysql.Open(config.Settings.Doris.DSN), &gorm.Config{Logger: newLogger})
if err != nil {
    return fmt.Errorf("connect doris fail: %s", err.Error())
}

error: error connect doris fail: invalid connection

Maybe try taking a look at the mysql driver to see if there's anything missing from this.
https://github.com/go-gorm/mysql


User Review Token dashboard

Found 2 minor things so added them here as well.
Rewards - Beacon rewards page. The ETH rewards decimals are overlapped by the status indicator 'accumulating;. Refer to below snapshot.

I would also propose to move the 'legend' of color indicators for available and accumulating to the table below as it applies there. It's now just below the total rewards number, which is always the accumulated sum of available and accumulating.
And maybe re-name it to 'Total rewards'?

Hi!
Thanks for posting an issue!
Regarding:

Rewards - Beacon rewards page. The ETH rewards decimals are overlapped by the status indicator 'accumulating;. Refer to below snapshot.

We are working on it. Pls see #2050
About the second suggestion I'll ping @liz-shinn

Thanks for the feedback. The labels listed underneath the rewards balance are meant to show that number is the total accumulating + available balances. Will think on a better way to visually represent that.
A few questions:

Did they look clickable? Did you try to click them? If you did click them, what would you have expected them to do? My hunch is that if they're placed in the table near the title styled as they are now, they'll look like filters that sort the table instead of labels.

Hi Liz,
I did not feel they were clickable, did not feel the urge to click;)  I think if the field would be renamed to 'Total Rewards' or 'Total Rewards Balance' this would be enough, no need to add these labels.
There is already a drop down just above the table to filter. Maybe replacing this with the 3 colored buttons Total, Available and Accumulating would indeed combine the 2 functionalities of clarifying the colors and giving the option to filter in one go.

Good to know! They weren't intended to look clickable, so that's good. Yes, the filter on the table will filter out the rows. I was referring to the label within the row, if maybe that should be clickable. But it's sounding like it's non-obvious to click it anyway.
Perhaps instead of showing those labels underneath could make a distinction between Total Rewards and Available Rewards and list those two amounts near each other. Stuff to think on 🤔

Perhaps like this:

Yeah, that would help! Is available the best word, or should it say 'released', 'transferable' or something of that nature?


libnppc.so.<IP_ADDRESS>: ELF load command address/offset not properly aligned

When creating an environment like so...
conda create -n tst python libnpp -y
conda activate tst

...and running the following test...
cd "${CONDA_PREFIX}"
python -c "import ctypes; ctypes.CDLL('./targets/x86_64-linux/lib/libnppc.so.<IP_ADDRESS>')"

...am seeing the following issue:
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/datasets/jkirkham/miniconda/envs/tst/lib/python3.11/ctypes/__init__.py", line 376, in __init__
    self._handle = _dlopen(self._name, mode)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: ./targets/x86_64-linux/lib/libnppc.so.<IP_ADDRESS>: ELF load command address/offset not properly aligned

Result from conda list:

# packages in environment at /datasets/jkirkham/miniconda/envs/tst:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       2_gnu    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
ca-certificates           2023.5.7             hbcca054_0    conda-forge
cuda-version              12.0                 hffde075_2    conda-forge
ld_impl_linux-64          2.40                 h41732ed_0    conda-forge
libexpat                  2.5.0                hcb278e6_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 13.1.0               he5830b7_0    conda-forge
libgomp                   13.1.0               he5830b7_0    conda-forge
libnpp                    <IP_ADDRESS>            h59595ed_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libsqlite                 3.42.0               h2797004_0    conda-forge
libstdcxx-ng              13.1.0               hfd8a6a1_0    conda-forge
libuuid                   2.38.1               h0b41bf4_0    conda-forge
libzlib                   1.2.13               hd590300_5    conda-forge
ncurses                   6.4                  hcb278e6_0    conda-forge
openssl                   3.1.1                hd590300_1    conda-forge
pip                       23.1.2             pyhd8ed1ab_0    conda-forge
python                    3.11.4          hab00c5b_0_cpython    conda-forge
readline                  8.2                  h8228510_1    conda-forge
setuptools                68.0.0             pyhd8ed1ab_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
tzdata                    2023c                h71feb2d_0    conda-forge
wheel                     0.40.0             pyhd8ed1ab_0    conda-forge
xz                        5.2.6                h166bdaf_0    conda-forge

Tried testing with the redist and am seeing the same issue
@adibbley could you please look into this?

I dug into this a bit.  This package just redistributes the NVidia libnpp from developer.nvidia.com, but it appears something wonky is happening - specifically, conda-build uses patchelf to attempt to make the library redistributable, and in the process seems to corrupt it.
If I manually download the library from NVidia, the test above passes (as expected).  That so has a sha256 of:
978c12f2045c5d7d168790507af5936caddb07858310a01472c1d6aa0f6b56ab  libnpp-linux-x86_64-<IP_ADDRESS>-archive/lib/libnppc.so.<IP_ADDRESS>
while the one from c-f is:
df3f04160f6cf76e6c7b2fefe9106ecb5d29ecabb3834d0ccfb099d064028ab2  libnppc.so.<IP_ADDRESS>
Unfortunately, I'm not super familiar with how to reproduce actions within conda-build so can't debug too much further, but I'll note that in a recent build run has a number of errors related to patching (line 227):
WARNING :: get_rpaths_raw()=[] and patchelf=['$ORIGIN'] disagree for [...]targets/x86_64-linux/lib/libnppc.so.<IP_ADDRESS>

Thanks @pbeaucage! 🙏
Sorry for missing your comment (think that landed the day after I left for vacation)
So there are a couple things:

patchelf version 0.18.0 has a bug ( https://github.com/NixOS/patchelf/issues/492 )
Even with patchelf version 0.17.x, using the standard conda-build is problematic ( https://github.com/conda-forge/cuda-feedstock/issues/10 )

Regarding 1, we've marked the patchelf version 0.18.0 packages broken ( https://github.com/conda-forge/admin-requests/pull/746 ) and discussed the issue with upstream. It isn't resolved upstream yet, but we are working around it for the time being in conda-forge.
Regarding 2, as discussed in the linked issue, we observed a more general RPATH issue in conda-forge packages and resolved it by disabling conda-build's builtin RPATH changes and adding our own. Think this pertains to the warning at the end of your comment. We have addressed this problem across the CTK, this specific package was fixed with PR ( https://github.com/conda-forge/libnpp-feedstock/pull/4 ).
Hope that provides some more context (and addresses the issue). Happy to follow up on anything else that comes up

Also no longer seeing this issue in cyrsoxs's CUDA 12 builds ( https://github.com/conda-forge/cyrsoxs-feedstock/pull/16 )
So think this is confirmed as resolved


Add headers to response

Fix for #24.
Responses now include headers, body, and statusCode instead of just the body. Error objects also include statusCode. This is a breaking change so bumping the version to 2.0.0.
Previous (version 1.x.x):
spotifyApi.getArtistTopTracks('0oSGxfWSnnOXhD2fKuz2Gy', 'GB')
  .then(function(data) {
    console.log(data);
    }, function(err) {
    console.log('Something went wrong!', err);
  });

Now (version 2.0.0):
spotifyApi.getArtistTopTracks('0oSGxfWSnnOXhD2fKuz2Gy', 'GB')
  .then(function(data) {
    console.log(data.body);
    }, function(err) {
    console.log('Something went wrong!', err);
  });

This is great! :+1:


Docs for the new auth options.

Documentation for new command-line options added in #253

Fixed the conflict with 7d725abef134550c04669909ebdfb51fbf8e75d9 and merged as 5694b5043d7ea5841a97c804d5cb75e9957234d5, thanks!


Sharing Flow ownership forces shared user to create new connection

When I give someone ownership of a Flow that I created which contains a Plumsail Action (i'm not 100% if PS is the culprit or if this is normal behavior), it makes them create their own connection to PS. this is not feasible since it will then not run for anyone else until they edit the flow with their connection.  Is this normal? Should each person I make an owner be required to create their own connection like that?

@JoeAFS  Thanks for reporting this issue. I've made the engineering team aware of this issue. While they work on a fix, you can workaround the issue by directly sharing the connection with the person whom you made an owner of the flow.  Thanks!


[2208] [Spike] Create from apply service handling invalid data

Context
https://trello.com/c/JCGni6pb/2208-create-from-apply-service-handles-invalid-data
Spike for Option 2 of handling invalid data:
We'd have a column which clearly lists all of the invalid fields and their values which we can pass around to other classes (like components) to act on this information.
trainee.apply_application.invalid_data.whatever

or potentially pass it to a component like:
SomeViewComponent.new(trainee.apply_application.invalid_data)

Changes proposed in this pull request

Defined the reverse relationship between trainee and apply application
I've had to move some of the validations over to the Degree model so that we can validate against the model rather than initialising a DegreeForm. The reason for doing that is since some of the fields are autocomplete related, and in this version, we are using the standard rails inclusion validator, as opposed to comparing two values submitted via an enhanced autocomplete.
Added a migration for a new column invalid_data on apply_applications table.
In the Trainees::CreateFromApply service, added a bit of code to

validate, so that the errors are identified,
capture the errors, and nullify them
store the errors on the ApplyApplication record.

Guidance to review
In a rails console, ensuring you have an ApplyApplication record available, run the following commands
application = ApplyApplication.last
Trainees::CreateFromApply.call(application: application)`

Then to see the stored invalid data against the  application, run
application.invalid_data
# => {"degrees"=>[{"institution"=>"University of Warwick"}]}

 Create from apply service handles invalid data