Ingesting CRISPR screen data from BioGRID Open Repository of CRISPR Screens (ORCS)

The BioGRID distributes CRISPR ~2k screen data under MIT license. As of 2023.04.02, the most recent available release is 1.1.13, which was released on October 2022.  Files can be downloaded from here. The compressed archive contain two file types:
Study metadata file:

File name: BIOGRID-ORCS-SCREEN_INDEX-1.1.13.index.tab.txt
Schema:

root
 |-- #SCREEN_ID: long (nullable = true)
 |-- SOURCE_ID: string (nullable = true)
 |-- SOURCE_TYPE: string (nullable = true)
 |-- AUTHOR: string (nullable = true)
 |-- SCREEN_NAME: string (nullable = true)
 |-- SCORES_SIZE: long (nullable = true)
 |-- FULL_SIZE: long (nullable = true)
 |-- FULL_SIZE_AVAILABLE: string (nullable = true)
 |-- NUMBER_OF_HITS: long (nullable = true)
 |-- ANALYSIS: string (nullable = true)
 |-- SIGNIFICANCE_INDICATOR: string (nullable = true)
 |-- SIGNIFICANCE_CRITERIA: string (nullable = true)
 |-- THROUGHPUT: string (nullable = true)
 |-- SCREEN_TYPE: string (nullable = true)
 |-- SCREEN_FORMAT: string (nullable = true)
 |-- EXPERIMENTAL_SETUP: string (nullable = true)
 |-- DURATION: string (nullable = true)
 |-- CONDITION_NAME: string (nullable = true)
 |-- CONDITION_DOSAGE: string (nullable = true)
 |-- MOI: string (nullable = true)
 |-- LIBRARY: string (nullable = true)
 |-- LIBRARY_TYPE: string (nullable = true)
 |-- LIBRARY_METHODOLOGY: string (nullable = true)
 |-- ENZYME: string (nullable = true)
 |-- CELL_LINE: string (nullable = true)
 |-- CELL_TYPE: string (nullable = true)
 |-- PHENOTYPE: string (nullable = true)
 |-- SCORE_COL_COUNT: long (nullable = true)
 |-- SCORE.1_TYPE: string (nullable = true)
 |-- SCORE.2_TYPE: string (nullable = true)
 |-- SCORE.3_TYPE: string (nullable = true)
 |-- SCORE.4_TYPE: string (nullable = true)
 |-- SCORE.5_TYPE: string (nullable = true)
 |-- ORGANISM_ID: long (nullable = true)
 |-- ORGANISM_OFFICIAL: string (nullable = true)
 |-- NOTES: string (nullable = true)
 |-- SOURCE: string (nullable = true)
 |-- SCREEN_RATIONALE: string (nullable = true)

Screen data:

File name pattern: BIOGRID-ORCS-SCREEN_{screen_id}-1.1.13.screen.tab.txt
Schema:

root
 |-- #SCREEN_ID: string (nullable = true)
 |-- IDENTIFIER_ID: string (nullable = true)
 |-- IDENTIFIER_TYPE: string (nullable = true)
 |-- OFFICIAL_SYMBOL: string (nullable = true)
 |-- ALIASES: string (nullable = true)
 |-- ORGANISM_ID: string (nullable = true)
 |-- ORGANISM_OFFICIAL: string (nullable = true)
 |-- SCORE.1: string (nullable = true)
 |-- SCORE.2: string (nullable = true)
 |-- SCORE.3: string (nullable = true)
 |-- SCORE.4: string (nullable = true)
 |-- SCORE.5: string (nullable = true)
 |-- HIT: string (nullable = true)
 |-- SOURCE: string (nullable = true)

Conclusion
Once there is a solidified plan and a data model on what screens can feed into what datasets, it would be very easy to map study metadata with studies and extracting the significant is also trivial given the boolean column indicating hits.
The most difficult part is to interpret studies.
1. Scoping phase
The scoping phase is done in collaboration with @buniello.

[ ] Review available study metadata to identify datasets that can feed into OT datasets as disease/target evidence or other datafeed eg. pharmacogenomics. Google spreadseet, (Source table accessed from compressed tar file from the most recent 1.1.13 release)
[ ] If target/disease association can be established based on study metadata, study needs to be mapped to disease id in EFO.

Some of the stats on the studies
Screen types:
+-------------------------------+-----+
|SCREEN_TYPE                    |count|
+-------------------------------+-----+
|Negative Selection             |942  |
|Positive and Negative Selection|233  |
|Positive Selection             |183  |
|Phenotype Screen               |124  |
+-------------------------------+-----+

Experimental setup:
+-----------------------------------------+-----+
|EXPERIMENTAL_SETUP                       |count|
+-----------------------------------------+-----+
|Timecourse                               |1044 |
|Drug Exposure                            |271  |
|Virus Exposure                           |84   |
|Toxin Exposure                           |17   |
|Cytokine exposure                        |12   |
|Ligand Exposure                          |11   |
|Bacteria Exposure                        |9    |
|Other                                    |9    |
|NK cell exposure                         |8    |
|Implantation to Mouse Model              |5    |
|Radiation Exposure                       |4    |
|T cell exposure                          |3    |
|Oxygen Exposure                          |2    |
|Cytokine depletion                       |1    |
|Transferrin receptor (TFRC/CD71) exposure|1    |
|SARS-CoV-2 Spike-RBD exposure            |1    |
+-----------------------------------------+-----+

Setup vs screen type:
+-----------------------------------------+-------------------------------+-----+
|EXPERIMENTAL_SETUP                       |SCREEN_TYPE                    |count|
+-----------------------------------------+-------------------------------+-----+
|Timecourse                               |Negative Selection             |905  |
|Drug Exposure                            |Positive and Negative Selection|132  |
|Drug Exposure                            |Positive Selection             |103  |
|Timecourse                               |Phenotype Screen               |84   |
|Timecourse                               |Positive and Negative Selection|50   |
|Virus Exposure                           |Positive Selection             |48   |
|Drug Exposure                            |Negative Selection             |27   |
|Virus Exposure                           |Positive and Negative Selection|26   |
+-----------------------------------------+-------------------------------+-----+

Publications
Although screens are coming from 240+ publications, most of them the ~2k studies are coming from a handful of papersl:
+--------+-----+
|pubmedId|count|
+--------+-----+
|29083409|340  |
|30971826|325  |
|29526696|45   |
|33539788|36   |
|27260156|33   |
|32649862|31   |
|32990596|21   |
|30995489|18   |
|35559673|17   |
|34049503|16   |
+--------+-----+

When focusing on the TOP5 publications (['29083409', '30971826', '29526696', '33539788', '27260156']), which are representing almost 50% of all screens, the split of the experimental design is simpler:
+-------------------------------+------------------+-----+
|SCREEN_TYPE                    |EXPERIMENTAL_SETUP|count|
+-------------------------------+------------------+-----+
|Positive and Negative Selection|Drug Exposure     |36   |
|Negative Selection             |Timecourse        |743  |
+-------------------------------+------------------+-----+

@buniello  has done the EFO mappings for cell proliferation screens based on the applied disease cell line eg.
Acute Myeloid Leukemia Cell Line -> EFO_0000222 ([acute myeloid leukemia](https://www.ebi.ac.uk/efo/EFO_0000222))
These mappings will then be collected into one single table (cell-line vs efo) that can be used to join with study table upon evidence generation.

The heterogeneity of this dataset makes it very complicated to ingest hence the value gained is not proportional to the effort required.


More tests

resolves #8
Edit: After discussing doesn't make sense to add more tests (the most part is already there, see comments on #8). Gonna leave this since the work is already done anyway.

I'm not going to merge this, but your contribution is interesting! Keeping the code, but don't see the value for now. Thanks!


Docs.MS Release Updates for Azure.Template

Update docs metadata and targeting for release of Azure.Template

Docs Build status updates of commit 1f8e1a3:
:clock10: Pending: waiting for processors (7 builds ahead of you)
:warning: Docs Build is busy, currently there are 7 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.


How to convert AST to an expression string?

We have a situation where we're changing the context object in our application to expose more useful data.
This means that expressions that our users have written now have to change so we would like to make this change for them.
e.g.
channel.foo

is now
channels.foo.value

To do this I plan to compile the expression, traverse its AST and update the {type: 'Identifier'} objects. How do I then convert this new AST back to an expression string?

Hi Chetan! That's a great strategy, but unfortunately Jexl doesn't include a way to de-compile the AST.

Thanks @TomFrost. This is something we really need so I wrote my own in Typescript.
export type JexlAst =
  | { type: 'UnaryExpression'; operator: string; right: JexlAst }
  | { type: 'BinaryExpression'; operator: string; left: JexlAst; right: JexlAst }
  | { type: 'ConditionalExpression'; test: JexlAst; consequent: JexlAst; alternate: JexlAst }
  | { type: 'FilterExpression'; relative: boolean; expr: JexlAst; subject: JexlAst }
  | { type: 'Literal'; value: string | number | boolean }
  | { type: 'ArrayLiteral'; value: JexlAst[] }
  | { type: 'ObjectLiteral'; value: { [key: string]: JexlAst } }
  | { type: 'Identifier'; value: string; from?: JexlAst; relative?: boolean }
  | { type: 'FunctionCall'; name: string; pool: 'functions' | 'transforms'; args: JexlAst[] };

export function escapeKeyOfExpressionIdentifier(identifier: string, ...keys: string[]): string {
  if (keys.length === 0) {
    return identifier;
  }
  const key = keys[0];
  return escapeKeyOfExpressionIdentifier(
    key.match(/^[A-Za-z_]\w*$/)
      ? `${identifier}.${key}`
      : `${identifier}["${key.replace(/"/g, '\\"')}"]`,
    ...keys.slice(1)
  );
}

export function expressionStringFromAst(ast: JexlAst | null): string {
  if (!ast) {
    return '';
  }

  switch (ast.type) {
    case 'Literal':
      return JSON.stringify(ast.value);
    case 'Identifier':
      return escapeKeyOfExpressionIdentifier(...getIdentifier(ast));
    case 'UnaryExpression':
      return `${ast.operator}${expressionStringFromAst(ast.right)}`;
    case 'BinaryExpression':
      return `${expressionStringFromAst(ast.left)} ${ast.operator} ${expressionStringFromAst(
        ast.right
      )}`;
    case 'ConditionalExpression':
      return `${expressionStringFromAst(ast.test)} ? ${expressionStringFromAst(
        ast.consequent
      )} : ${expressionStringFromAst(ast.alternate)}`;
    case 'ArrayLiteral':
      return `[${ast.value.map(expressionStringFromAst).join(', ')}]`;
    case 'ObjectLiteral':
      return `{ ${Object.entries(ast.value)
        .map(([key, value]) => `${JSON.stringify(key)}: ${expressionStringFromAst(value)}`)
        .join(', ')} }`;
    case 'FilterExpression':
      return `${expressionStringFromAst(ast.subject)}[${
        ast.relative ? '.' : ''
      }${expressionStringFromAst(ast.expr)}]`;

    case 'FunctionCall':
      switch (ast.pool) {
        case 'functions':
          return `${ast.name}(${ast.args.map(expressionStringFromAst).join(', ')})`;
        case 'transforms':
          // Note that transforms always have at least one argument
          // i.e. `a | b` is `b` with one argument of `a`
          return `${expressionStringFromAst(ast.args[0])} | ${ast.name}${
            ast.args.length > 1
              ? `(${ast.args
                  .slice(1)
                  .map(expressionStringFromAst)
                  .join(', ')})`
              : ''
          }`;
      }
  }
}

Would it be useful to make a PR here?

On further inspection, while this works for simple cases, it doesn't work for more complex expressions because of operator precedence.
For example expressionStringFromAst will give "1 + 2 * 3" for the AST for "(1 + 2) * 3" which evaluate to different expressions. I think the way to do this successfully is using precedence rules in the grammar to surround sub-expressions with brackets where necessary.

@chetbox Definitely interested!

The implementation above is not far off but misses some important corner cases which could change the logic of the expression.
I've created a library with a much more robust implementation here: https://www.npmjs.com/package/jexl-to-string
Example:
import { jexlExpressionStringFromAst } from "jexl-to-string";
import { Jexl } from "jexl";

const jexl = new Jexl();
const compiledExpression = jexl.compile(input);
let ast = compiledExpression._getAst();
// Modify `ast` here
const newExpression = jexlExpressionStringFromAst(jexl._grammar, ast);

@sreuter


Check windows

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (bb6acf1) 91.41% compared to head (ca27600) 91.41%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master       #9   +/-   ##
=======================================
  Coverage   91.41%   91.41%
=======================================
  Files          35       35
  Lines        4496     4496
=======================================
  Hits         4110     4110
  Misses        386      386

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


Beacon drawing box is clipping

Mod source
Factorio Mod Portal
Operating system

=Windows 10

What kind of issue is this?

[ ] Compatibility
[ ] Locale (names, descriptions, unknown keys)
[X] Graphical
[ ] Crash
[ ] Progression
[ ] Balance
[ ] Pypostprocessing failure
[ ] Other

What is the problem?
Beacon tooltips have clipping. Need to define a drawing_box on their prototype

Steps to reproduce
No response
Additional context
No response
Log file
No response

Fixed. https://github.com/pyanodon/pycoalprocessing/commit/df71766c73602f9fd9a8edb00871ed39a9ec7aac


a few usability fixes for minReplicationFactor/writeConcern

Scope & Purpose
Fixes a few usability issues reported via https://github.com/arangodb/release-3.6/issues/41

[ ] Bug-Fix for devel-branch (i.e. no need for backports?)
[x] Bug-Fix for a released version (did you remember to port this to all relevant release branches?)
[x] The behavior change can be verified via automatic tests

Related Information

[x] There is an internal planning ticket: https://github.com/arangodb/release-3.6/issues/41

Testing & Verification
This PR adds tests that were used to verify all changes:

[x] Added new integration tests (in shell_server / shell_client)

https://<IP_ADDRESS>/view/PR/job/arangodb-matrix-pr/7793/

Jenkins is blue


Release 0.6.2

I made a mistake with previous release since I only switched the target branch to 0.6 from 0.7 (which was based off master), so now the new point release in 0.6 branch never included the new changes. This is attempt to address that.

I made a mistake with previous release since I only switched the target branch to 0.6 from 0.7 (which was based off master), so now the new point release in 0.6 branch never included the new changes. This is attempt to address that.

@bojand pls help to submit the changelog to master branch too


Destroy antenna .rpt

Test done on develop branch SP: https://github.com/LordGolias/antistasi/commit/17ab95a3b4c810e08ec8afaab63e36b292393769

Mission selection, destroy antenna
10:58:11 "DICT:get([1780381: empty.p3d,""destroy_antenna_roadblock_14580_16386"",""resources""]):ERROR: invalid key"
10:58:11 Error in expression <get) select 0;
[_mission, "resources", [_task, [[], [], [_mrkfin]]]] call AS_spa>
10:58:11   Error position: <_task, [[], [], [_mrkfin]]]] call AS_spa>
10:58:11   Error Undefined variable in expression: _task
10:58:11 File mission\spawns\fnc_destroy_antenna.sqf [AS_mission_fnc_destroy_antenna], line 41

Thanks Stef! That was indeed an error in the code. Fixed in develop


Add a new field Amps per phase in Edit Charging Station

Charging station matches the template:

[x] Add a new r/o field in edit charging station to display the amps per phase
Charging station IS NOT matching the template:
[x] Amp per phase should be editable by the user and Total Amps updated accordingly
[x] The total amps is sent to the backend as before

QA: For charging stations not in template, it's working as expected with mono and tri phased settings.


add npi to fhir practitioner

BACKEND PULL REQUEST
Related Issue

A Provider's NPI information is not currently in the FHIR bundle

Changes Proposed

Add NPI to the identifier of the provider, based on the notes here and the system available for NPI

Additional Information

Closing since providers may not have NPIs.


Update to 5.6.0

First cut of the pyqt 5.6.x version. I don't expect this to pass on Windows nor OS X. Hopefully this will play nice with the qt 5 package from https://github.com/conda-forge/qt-feedstock/pull/24

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Linux is failing with:
dbus post-link :: /etc/machine-id not found ..
dbus post-link :: .. using /proc/sys/kernel/random/boot_id
+ source /opt/conda/bin/activate /feedstock_root/build_artefacts/recipe_root_1485184107182/_t_env
+ /feedstock_root/build_artefacts/recipe_root_1485184107182/_t_env/bin/python -s /feedstock_root/build_artefacts/recipe_root_1485184107182/test_tmp/run_test.py
===== testing package: pyqt-5.6.0-py27_0 =====
import: 'PyQt5.QtCore'
running run_test.py
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Available platform plugins are: minimal, offscreen, xcb.

Reinstalling the application may fix this problem.

@mingwandroid and @ccordoba12 does that sounds familiar? Did I miss any yum dependency in https://github.com/conda-forge/qt-feedstock/pull/24 ?

That might be relevant : http://stackoverflow.com/questions/17106315/failed-to-load-platform-plugin-xcb-while-launching-qt5-app-on-linux-without

Thanks for the info!
The builds take such a long time on my old laptop that it is quite
discouraging to perform any tests :-(
I  will be out for a while but I'll try to fix Qt5/pyqt once I get back.
On Feb 10, 2017 6:53 PM, "Hadrien Mary"<EMAIL_ADDRESS>wrote:
That might be relevant : http://stackoverflow.com/
questions/17106315/failed-to-load-platform-plugin-xcb-
while-launching-qt5-app-on-linux-without
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/conda-forge/pyqt-feedstock/pull/13#issuecomment-279076530,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6BL9PwbC2yl3juErUEpe8IGOMQBHliks5rbNxpgaJpZM4LrFjw
.

On my system when I skip the test and install the generated package in a conda env, PyQt5 works fine. I think there is a problem with qt.conf or QT_PLUGIN_PATH in the env created during the conda build command.
Maybe someone with more experience with the way conda build works have an idea of what is going on ?

I have an idea on how to fix this, but it requires a rebuild of Qt 5. I'll try to do it this week :-)

Maybe adding Plugins = /opt/anaconda1anaconda2anaconda3/plugins to https://github.com/conda-forge/qt-feedstock/blob/master/recipe/qt.conf would help.

I have an idea on how to fix this, but it requires a rebuild of Qt 5. I'll try to do it this week :-)

@ccordoba12 if you don't have time please let me know your ideas. I am all out! (I re-build qt5 +15 today with different combinations and nothing worked :unamused:)

@ocefpaf, I think the solution is to run run ldd on plugins/platforms/libqxcb.so (from the Qt package) and install all X libraries needed by that one in yum_requirements.txt here for the test to pass.
Or make a simpler test, i.e. a test that doesn't require an X server installed.

The test for the Qt package doesn't require an X server, for example.

I think the solution is to run run ldd on plugins/platforms/libqxcb.so (from the Qt package) and install all X libraries needed by that one in yum_requirements.txt here for the test to pass.

I was trying that but maybe I missed one... I will try again.

The test for the Qt package doesn't require an X server, for example.

If that is an option maybe we should just do that.

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

Hi! This is the friendly automated conda-forge-linting service.
I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.
Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

I will re-submit this one once  builds successfully.


Using custom terraform provider

I have a custom terraform provider and need to download it in ~/.terraform.d/plugins directory before running the terraform commands.

I'm thinking we make a CustomPluginsPlugin that reads maybe a script that downloads the custom plugins and then passes it to the commands like -plugin-dir

Just to clarify:

Plugins should automatically be installed with terraform init.  So the only reason you would need this feature, is for a plugin that's not available on the terraform registry?  https://registry.terraform.io/
I feel like there might be a more generic UseCase here.  Yes, you want to install a plugin manually, but more generically, you  just want to accomplish a task before you run your commands in a TerraformEnvironmentStage...?  Ideally, I think I'd like to offer a more generic solution...? (thinking).

To spitball ideas (I'm not saying this is a good thing), I think you might be able to accomplish what you want already.  It's hacky, but it helps flesh out what I'm saying above about having a  more generic UseCase.
<EMAIL_ADDRESS>_
TerraformInitComand.withPrefix('./downloadPlugin.sh; ')
Jenkinsfile.init(this)
def validate = new TerraformValidateStage()
def deployQa = new TerraformEnvironmentStage('qa')
def deployUat = new TerraformEnvironmentStage('uat')
def deployProd = new TerraformEnvironmentStage('prod')
validate.then(deployQa)
        .then(deployUat)
        .then(deployProd)
        .build()

If I were to spell out a less hacky  solution than what I'm showing above, I think I'd want it to look similar.  Maybe something like:
<EMAIL_ADDRESS>_
TerraformEnvironment.before('./doMyMagic.sh')
Jenkinsfile.init(this)
def validate = new TerraformValidateStage()
def deployQa = new TerraformEnvironmentStage('qa')
def deployUat = new TerraformEnvironmentStage('uat')
def deployProd = new TerraformEnvironmentStage('prod')
validate.then(deployQa)
        .then(deployUat)
        .then(deployProd)
        .build()

Thoughts?

correct on point one. This is only for private providers that are not on the terraform registry

I will have to try out the hacky solution and get back to you on it. I might be able to do it with && instead of ; where it might not break the other plugins

The less hack solution would accomplish what we need. It can even work with the AgentNode plugin cause the script can download the plugins to a local working directory and then mount that directory to the container

<EMAIL_ADDRESS>_

TerraformEnvironment.doThisBefore('./myCustomMagic.sh')
Jenkinsfile.init(this)
AgentNodePlugin.withAgentDockerImage('hashicorp/terraform:0.10.2')
               .withAgentDockerImageOptions("--entrypoint='' -v ./terraform.d:/root/.terraform.d/")
               .init()

🤣 Literally just came here to open an issue for @kmanning's suggestion.  And this comment turned into a wall of text.  Sorry.
I'd like to second the support of pre and post hooks in stages to allow preparation and cleanup of whatever node or docker.image(image).inside(options) { } our job ends up using.
Internally obviously we have a very large use case around a custom provider.  But there are several use cases where nodes are not completely prepared and perhaps shouldn't be.

If using the AgentNodePlugin, any docker image will likely need to be heavily customized to include any additional dependencies.  This precludes users from just yanking the correct terraform containers directly off dockerhub, incurring the significant overhead (and probably duplication across teams) of building and storing an image somewhere and rebuilding every time the terraform version changes.

If reusing a Jenkins slave deployment object, such as a docker image or AMI to create a long-lived slave, you end up with the same issue.  Upstream changes and the recreation of slaves can possibly remove your dependencies or recreate the slaves forcing you to manually reinstall them.  Whereas a pre-stage hook would allow you to guarantee those dependencies are always present.

That said, the interface should probably more closely resemble the decorations interface, though instead you just create a series of closures that provide Jenkins DSL acceptable to run inside stage("pre-work") { }.  Individual plugins can then provide convenience methods manipulate stages, such as ShellCommandBeforeStagePlugin specifically providing ways to prepare a node with shell commands.  (I'm bad at naming things.)

So this is mostly solved with TerraformEnvironmentStageShellHookPlugin.
One part that needs to supported is ValidationStage hook as well.
@kmanning @dkolb thoughts on closing this issue?

👍  - good with me.  We can make a new issue to create a separate ValidateStageShellHookPlugin.

Released in v5.13


Smarter watch

Is your feature request related to a problem? Please describe.
Currently when using the --watch mode, every project/plugin is run, no matter the file that changed. I think it could be optimized.

Describe the solution you'd like

The most flexible solution would be to provide a watch glob to each generates block in the config so we  can target specific files.
generates:
path/to/file.ts:
 config:
   avoidOptionals: true
 plugins:
   - typescript
   - typescript-operations
 watch: src/**/!(*.graphql).{ts,tsx}

I also think some plugin such as typescript-operations could be optimized and exit early (and silently) if there was no change detected in the edited file. For example when I edit a file containing no graphql operation (so no gql-tag use) I expect the plugin to do nothing in watch mode. Right now it's regenerating all the operations.
So internally graphql-codegen would need to pass only the edited file to the plugin during watch mode.
Describe alternatives you've considered

Right now I'm doing it manually by splitting my configuration into multiple projects and using chokidar-cli in my scripts :
{
  "scripts": {
        "graphql-codegen:dev": "concurrently \"yarn graphql-codegen:on-hasura-change\" \"yarn graphql-codegen:on-operations-change\" \"yarn graphql-codegen:on-schema-change\"",
    "graphql-codegen:on-hasura-change": "chokidar \"packages/server/hasura/**/*\" --command \"graphql-codegen --project get-schema\" --silent",
    "graphql-codegen:on-operations-change": "chokidar \"packages/client/src/**/!(*.graphql).{ts,tsx}\" --command \"graphql-codegen --project from-operations\" --silent",
    "graphql-codegen:on-schema-change": "chokidar \"./schema.graphql\" --command \"graphql-codegen --project from-schema\" --silent",
  }
}

Additional context

Totally agree here. We try to watch specific files by default (without the watch defined), but allow to add additional files in case something is missing. The fact that we eventually aggregate all files into a single list might limit us. I totally agree that this could be improved.

Note:
The way we currently check for file changes is not working if Prettier - or similar code formatter, making the watch mode obsolete.
Source: https://github.com/dotansimha/graphql-code-generator/issues/2872#issuecomment-1203644248


Holesky Needed

Hello, I want to test validator creation and funding using custom made smart contract, for that purpose I need 9600 ETH if possible
0x3F7521340a9eC62eA20f74eEE75A0C0C4e581ec7
As soon as everything works!

https://holesky.ethpandaops.io/
There's a faucet listed, but we don't really have 9600 eth, and the faucet will only give a small amount of eth at a time.
It might be worth asking on ethereum discord on the testnets channel as a starting point...

closing for now as we don't have the funds to assist.


Error in New PW Dashboard Solar Energy Year

I noticed that on the graph legend that the grid mean was really low compared to solar and home. It looks like its taking the mean over the entire year vs amounts that are > 0 like home and solar are doing.

Also found this error when inspecting the query:
{
"request": {
"method": "GET",
"url": "api/datasources/proxy/1/query",
"params": {
"db": "powerwall",
"q": "SELECT sum("home") FROM "kwh"."http" WHERE ("home" > 0) GROUP BY time(1d) fill(null) tz('America\/Los_Angeles');SELECT sum("solar") FROM "kwh"."http" WHERE ("solar" > 0) GROUP BY time(1d) fill(0) tz('America\/Los_Angeles');SELECT sum("from_grid") - sum("to_grid") as "grid" FROM "kwh"."http" WHERE time >= now() - 24h and time <= now() GROUP BY time(1d) fill(0) tz('America\/Los_Angeles')",
"epoch": "ms"
},
"data": null,
"precision": "ms",
"hideFromInspector": false
},
"response": {
"error": "error parsing query: found \/, expected identifier, string, number, bool at line 1, char 98",
"message": "error parsing query: found \/, expected identifier, string, number, bool at line 1, char 98"
}
}

Makes sense on the negative values.
Here is my Grid Usage chart. You can see I am more of consumer and the net is way more than 863 Wh.

The tz variable is set the same as above which is appropriate for my area.

Ah, I think I see what you are saying. The mean is averaging in the 0kWh days.  We could add WHERE ("grid" = 0) to the query.

Let me know what the query should be and I can change it on the dashboard and see if it works.
This is something you would not notice if you had a full year of data since 0 would happen like never. :-)

BTW here is the query and number of results:

Ok, if we assume that we should always have either home, from_grid, or to_grid power usage data, we can use the sum of those to indicate the system is activated.  You can update the query by clicking "Edit":

Scroll down to C and update the query to be (the updated bit is highlighted here):

Here is the updated query:
SELECT sum("from_grid") - sum("to_grid") as "grid" FROM "kwh"."http" WHERE ("home" + "from_grid" + "to_grid" > 0) and $timeFilter GROUP BY time(1d) fill(0) tz('$tz')

Click Apply

Click "Save"

Unfortunately still selecting 366 rows, most 0.

Bummer.  Thanks for the update. This may just be the way Grafana computes legend labels. The query doesn't seem to impact it. I'm not sure what try try next.  If you discover anything that works, let us know!

Do you have a problem with this?
SELECT sum("from_grid") - sum("to_grid") as "grid" FROM "kwh"."http" WHERE $timeFilter GROUP BY time(1d) fill(0) tz('$tz')
I just changed the fill from 0 to null

That's brilliant!  Nice job @aesculus !  I'll update the dashboard.

Looks great. Another satisfied customer.


Add option on scene.cameraFollowSprite(user) to follow sprite in only horizontal / vertical axis

And having the option as a drop down in the block would be great as well; in a platformer, it can be nice to have the camera only scroll right as the player moves right, rather than also having to move the camera as the player jumps, for example.

You can do this with the camera center at block. I don't really know if you gain anything by making it an option on the camera follow sprite block since you are still going to have to use the other block to control whichever axis isn't following.

Having an alias for camera center at x (user.x - (screen.width / 2)) y 0 seems like it could simplify the expression for students, but I suppose it is also a bit of a special case to include as a single block.

We  a have workaround to use camera center at x. I am closing this issue in favor of that.


Modal remains blank and open when camera access is denied during product scanning

Current behavior
The scanning modal remains open and blank, with no content or options, leading to confusion for the user.
Expected behavior
If the user denies camera access, the app should either close the scanning modal and notify the user about the denied permission.
Steps to reproduce the issue
Open the app and navigate to the product scanning feature.
Attempt to scan a product.
When prompted for camera access, select 'Deny'.
Observe the behavior of the scanning modal.
Additional information
https://jam.dev/c/72751651-5855-409d-a96a-abbe2a6bcd80

hello, can i work on this issue?

Sure @ashutosh7i

you can unassign me

please find the required solution from this PR
https://github.com/hotwax/receiving/pull/406


Duplicate file name in sample data section for finetuning for NMT

train.en-hi.hi file name is repeated, whereas one of it should be train.en-hi.en. The inherent links are correct though and download correct files for both hi and en.

Hi @ShivprasadSagare,
Thanks for the issue. Could you create a PR fixing the issue. We will be happy to merge.

Sure @ratishsp, done. Excuse me for the delay.


2024-08: multiboot2 release

Talk about the massive recent changes

Feel free to merge this PR once it's ready. (I saw that you just pushed some wording changes)


New deep stacks

Don’t review this.

No more commits to this branch. The pyret artifact is using it.


🐛 firebase_dynamic_links: ^2.0.9 When opening app using dynamic link its not reset after usage on an android device

Bug report
Describe the bug
A clear and concise description of what the bug is.
When opening app using dynamic link its not reset after usage on an android device. On IOS this behaviour is not seen.

Steps to reproduce
Steps to reproduce the behavior:

Install app on android device
Go to Dynamic link url and open it
App is started using the dynamic link.  (app wasnt running in the background yet)
Click on  "Test link"
groupid has been set correctly and we are send to a new screen
Button to send us back is pressed and we turn to test.dart
Click on "Test Link"
Once again groupid is set. This should not happen and only happends when app is started on a android phone. When app was running in background it behaves correctly. When running on IOS it behaves correctly.

Expected behavior
When opening app using dynamic link in android value is outputted on device and to the next screen. When going back to that previous screen the clicking "Test link" shouldnt give me the groupid again since the app wasnt opened using a dynamic link. On Android devices this doesnt work correctly as i do get that value again.
A clear and concise description of what you expected to happen.

### Sample project
import 'package:flutter/material.dart';
import 'register.dart';
import 'package:firebase_dynamic_links/firebase_dynamic_links.dart';

class Test extends StatefulWidget {

  @override
  _testState createState() => _testState();

}

class _testState extends State<Test> {

  String dynam = "0";

  @override
  Widget build(BuildContext context) {
    return Scaffold(

        body: Padding(
        padding: EdgeInsets.all(10),

          child: Column(

              mainAxisAlignment: MainAxisAlignment.start,

              children: <Widget>[

              Container(
                  padding: EdgeInsets.fromLTRB(20, 40, 20, 0),
              height: 150,
         child: TextButton(

            child: Text(
                "Test link", style: TextStyle(color: Colors.deepOrangeAccent),
                textAlign: TextAlign.right),
            onPressed: () async {
              final PendingDynamicLinkData? data =
              await FirebaseDynamicLinks.instance.getInitialLink();
              final Uri? deepLink = data?.link;

              if (deepLink != null && deepLink.queryParameters != null) {
                String? groupid = deepLink.queryParameters["groupid"];

                setState(() {
                  dynam = groupid!;
                });
                Navigator.pushAndRemoveUntil(
                    context,
                    MaterialPageRoute(
                        builder: (context) =>
                            Register(groupid: groupid)
                    ),
                    ModalRoute.withName("/Register")
                );
              }
              FirebaseDynamicLinks.instance.onLink(
                  onSuccess: (PendingDynamicLinkData? dynamicLink) async {
                    final Uri? deepLink = dynamicLink?.link;

                    if (deepLink != null &&
                        deepLink.queryParameters != null) {
                      String? groupid = deepLink
                          .queryParameters["groupid"];

                      setState(() {
                        dynam = groupid!;
                      });
                      Navigator.pushAndRemoveUntil(
                          context,
                          MaterialPageRoute(
                              builder: (context) =>
                                  Register(groupid: groupid)
                          ),
                          ModalRoute.withName("/Register")
                      );

                    }
                  });
            },
          )),

               Container(
                 height: 50,
                 child: Text("$dynam"),
                ),

                TextButton(

                  child: Text(
                      "Reset", style: TextStyle(color: Colors.deepOrangeAccent),
                      textAlign: TextAlign.right),
                  onPressed: () async {

                      setState(() {
                        dynam = "0";
                      });

                  },
                ),

      ])
        ));
  }

}

On register.dart there is a back button sending us back to the previous screen

child: GestureDetector(
                child: SvgPicture.asset("images/arrow.svg",
                  color: Color(0xff7fe1ad),
                ),
                onTap: () async {
                  Navigator.push(context, new MaterialPageRoute(
                      builder: (context) => new Test())
                  );
                }
            )

Additional context
Add any other context about the problem here.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE

Hi @w00ter123456
This looks like a duplicate case of https://github.com/FirebaseExtended/flutterfire/issues/6784
Closing it as such, let me know if you disagree.
Thank you


OpenGL: release the resources allocated by the shader compiler

Add an OpenGL hint to release the resources allocated by the shader compiler.

Yes. What I think is that, in general, the application will not keep compiling shaders after the rendering loop starts. Therefore, I believe that at this point only what is needed for renderings should be allocated.


Update?

Since Canvas' are in the desktop app now, can the current way that Spotify does it be adjusted for fullscreen now?

I wasn't aware they were added to the Desktop app. That's great! I'm not interested in tweaking it if it's built in now however.

So what would you recommend for getting it in fullscreen? 😅

the current official implentation is very restricted in size, your implementation made it full screen which is imo more aesthetically pleasing

the current official implentation is very restricted in size, your implementation made it full screen which is imo more aesthetically pleasing
EDIT: wait a second, there is no official implementation. I had an old client on a different machine, I just just double checked and installed a fresh copy of the current spotify client, there is no official canvas implementation

https://github.com/user-attachments/assets/2f497def-19ba-4937-9dc0-2a950cf7ed18

exactly the same song has no canvas for me. is it possible tha you are in a beta program/feature test? other users have popped up on reddit who were part of an A/B feature test

https://x.com/spicetifyapp/status/1776657293280501788
spicetify has mentioned this before, seems to be a massive encoding problem on spotify's end.


silent aim not working

silent aim worked for a round then stopped

is it happening every time or it just happened once

Happens every time, it might be the new rocket mode they added im not sure but that is what i played

it works for me, are you sure you're using the latest version

yeah i am, i dont know why it just doesn't work for me


Add support for 3rd party fee calculator

The sdk relies on on the web3 providers (infura, alchemy, ...) to get the gas price but this doesn't always work well specially when the network is congested.
Metamask on the other hand provides the option to get the gas price from some 3rd party service. The goal is to see if we can implement the same mechanism on the sdk.
from @ialberquilla
not sure, but looks like the providers (infura and alchemy) are returning a low feeGasprice, the function used in the sdk to get the maxPriorityFeePerGas returns<PHONE_NUMBER> wei 15 GWEI and this is not getting mined, looking the price that is setting metamask is<PHONE_NUMBER>00 120 GWEI and gets mined in 20 seconds
chaning these values manually to<PHONE_NUMBER>00  works

I will close this for now since we already added the ability to get the fees from a gas station for polygon networks

We should consider Arbitrum too


LPE not working when ACC integration switched off

Position estimation does not work at all when LPE_INTEGRATE is set to zero to disable acc integration.

Thanks for reporting this, I'm looking into it. Do you have any logs? Can you try this PR https://github.com/PX4/Firmware/pull/3748?

LPE_INTEGRATE is now removed. There is still a bool controlling it in the source code, but performance is definetly worse with it set false.


Multiple (50-300) images from buffer to JPEG concurrently, silent crash in node. libvips error?

Hi,
I'm generating lots JPEG concurrently on the server with sharp on demand request from the client. The images are generating from buffers and when I reach around 50 concurrent requests to the server, I get silent crash in node, without any error messages. On Mac OS I get Segmentation fault: 11. I've read this issue https://github.com/lovell/sharp/issues/138 and tested everything from the comments without success. See the code below, the output second and the crash log from segfault-handler third.
I would really appreciate if someone could point out the issue here. The RAW images are about 500kB (512x512) and I can't see how I could run out of memory with 16-bit grayscale Images, (50-300) * 512* 512*2 = 26 - 157MB? Does node have some memory limit that I exceed or is it something wrong with libvips?
let promise = new Promise((resolve, reject)=>{
    let startTime = new Date();
    let rawImage = new Buffer(preloadedRaw.getPixelData);
    try {
      let jpeg = sharp(rawImage,{ raw: { width: preloadedRaw.width, height: preloadedRaw.height, channels: 1}}).jpeg(options);
      jpeg.toBuffer(function(err, buffer, info){
        if(err){
          reject(err);
        }
        console.dir(sharp.counters());
        console.log( sharp.cache());
        console.log("sharp.concurrency();",sharp.concurrency())
        console.log("process.memoryUsage()",process.memoryUsage())
        if (process.memoryUsage().rss > maxRss) {
          maxRss = process.memoryUsage().rss;
          console.log(maxRss);
        }
        // console.log("JPEG info: " , info);
        // console.log("Time spent on generate JPEG: " + (new Date() - startTime) +  "ms");
        resolve(buffer);

      });
    }
    catch (err) {
      // Handle the error here.
      console.log("COULD NOT GENERATE JPEG", err);
    }
  });
  return promise;

This is the output log before the crash
{ queue: 0, process: 76 }
{ memory: { current: 23, high: 86, max: 50 },
  files: { current: 0, max: 20 },
  items: { current: 100, max: 100 } }
sharp.concurrency(); 4
process.memoryUsage() { rss: 390144000, heapTotal: 65048576, heapUsed: 30680200 }
GET /serverrender/study/ct/chest_stack_328_a/222?1491400619866 200 1105.416 ms - -
{ queue: 0, process: 75 }
{ memory: { current: 24, high: 86, max: 50 },
  files: { current: 0, max: 20 },
  items: { current: 100, max: 100 } }
sharp.concurrency(); 4
process.memoryUsage() { rss: 390881280, heapTotal: 65048576, heapUsed: 30839904 }
GET /serverrender/study/ct/chest_stack_328_a/225?1491400619867 200 1135.019 ms - -
{ queue: 0, process: 74 }
{ memory: { current: 23, high: 86, max: 50 },
  files: { current: 0, max: 20 },
  items: { current: 100, max: 100 } }
sharp.concurrency(); 4
process.memoryUsage() { rss: 390881280, heapTotal: 65048576, heapUsed: 30999552 }
GET /serverrender/study/ct/chest_stack_328_a/224?1491400619867 200 1148.128 ms - -
{ queue: 0, process: 73 }
{ memory: { current: 23, high: 86, max: 50 },
  files: { current: 0, max: 20 },
  items: { current: 100, max: 100 } }
sharp.concurrency(); 4
process.memoryUsage() { rss: 390365184, heapTotal: 65048576, heapUsed: 31159216 }
GET /serverrender/study/ct/chest_stack_328_a/226?1491400619867 200 1175.228 ms - -
{ queue: 0, process: 72 }
{ memory: { current: 20, high: 86, max: 50 },
  files: { current: 0, max: 20 },
  items: { current: 101, max: 100 } }
sharp.concurrency(); 4
process.memoryUsage() { rss: 390238208, heapTotal: 66097152, heapUsed: 31318928 }
Segmentation fault: 11

Crash log, (can't interpret this)
PID 86906 received SIGSEGV for address: 0x113736000
0   segfault-handler.node               0x0000000101bd9218 _ZL16segfault_handleriP9__siginfoPv + 280
0   segfault-handler.node               0x0000000101bd9218 _ZL16segfault_handleriP9__siginfoPv + 280
1   libsystem_platform.dylib            0x00007fffc9187bba _sigtramp + 26
1   libsystem_platform.dylib            0x00007fffc9187bba _sigtramp + 26
2   libvips.42.dylib                    0x00000001043a6806 vips_object_real_postbuild + 0
2   libvips.42.dylib                    0x00000001043a6806 vips_object_real_postbuild + 0
3   libvips.42.dylib                    0x000000010432ab51 vips_bandary_gen + 338
3   libvips.42.dylib                    0x000000010432ab51 vips_bandary_gen + 338
4   libvips.42.dylib                    0x00000001043b5ecf vips_region_generate + 74
4   libvips.42.dylib                    0x00000001043b5ecf vips_region_generate + 74
5   libvips.42.dylib                    0x00000001043b5076 vips_region_fill + 57
5   libvips.42.dylib                    0x00000001043b5076 vips_region_fill + 57
6   libvips.42.dylib                    0x00000001043b5e38 vips_region_prepare + 156
6   libvips.42.dylib                    0x00000001043b5e38 vips_region_prepare + 156
7   libvips.42.dylib                    0x00000001043a9f0f vips_image_write_gen + 31
7   libvips.42.dylib                    0x00000001043a9f0f vips_image_write_gen + 31
8   libvips.42.dylib                    0x00000001043b5ecf vips_region_generate + 74
8   libvips.42.dylib                    0x00000001043b5ecf vips_region_generate + 74
9   libvips.42.dylib                    0x00000001043b5076 vips_region_fill + 57
9   libvips.42.dylib                    0x00000001043b5076 vips_region_fill + 57
10  libvips.42.dylib                    0x00000001043b5e38 vips_region_prepare + 156
10  libvips.42.dylib                    0x00000001043b5e38 vips_region_prepare + 156
11  libvips.42.dylib                    0x00000001043a9f0f vips_image_write_gen + 31
11  libvips.42.dylib                    0x00000001043a9f0f vips_image_write_gen + 31
12  libvips.42.dylib                    0x00000001043b5ecf vips_region_generate + 74
12  libvips.42.dylib                    0x00000001043b5ecf vips_region_generate + 74
13  libvips.42.dylib                    0x00000001043b5076 vips_region_fill + 57
13  libvips.42.dylib                    0x00000001043b5076 vips_region_fill + 57
14  libvips.42.dylib                    0x00000001043b5e38 vips_region_prepare + 156
14  libvips.42.dylib                    0x00000001043b5e38 vips_region_prepare + 156
15  libvips.42.dylib                    0x00000001043a9f0f vips_image_write_gen + 31
15  libvips.42.dylib                    0x00000001043a9f0f vips_image_write_gen + 31
16  libvips.42.dylib                    0x00000001043b5ecf vips_region_generate + 74
16  libvips.42.dylib                    0x00000001043b5ecf vips_region_generate + 74
17  libvips.42.dylib                    0x00000001043b61fc vips_region_prepare_to_generate + 111
17  libvips.42.dylib                    0x00000001043b61fc vips_region_prepare_to_generate + 111
18  libvips.42.dylib                    0x00000001043b6108 vips_region_prepare_to + 497
18  libvips.42.dylib                    0x00000001043b6108 vips_region_prepare_to + 497
19  libvips.42.dylib                    0x00000001043af8e8 wbuffer_work_fn + 41
19  libvips.42.dylib                    0x00000001043af8e8 wbuffer_work_fn + 41
20  libvips.42.dylib                    0x00000001043b74cc vips_thread_main_loop + 261
20  libvips.42.dylib                    0x00000001043b74cc vips_thread_main_loop + 261
21  libvips.42.dylib                    0x00000001043b6c89 vips_thread_run + 52
21  libvips.42.dylib                    0x00000001043b6c89 vips_thread_run + 52
22  libglib-2.0.0.dylib                 0x000000010467c67b g_thread_proxy + 90
22  libglib-2.0.0.dylib                 0x000000010467c67b g_thread_proxy + 90
23  libsystem_pthread.dylib             0x00007fffc9191aab _pthread_body + 180
23  libsystem_pthread.dylib             0x00007fffc9191aab _pthread_body + 180
24  libsystem_pthread.dylib             0x00007fffc91919f7 _pthread_body + 0
24  libsystem_pthread.dylib             0x00007fffc91919f7 _pthread_body + 0
25  libsystem_pthread.dylib             0x00007fffc9191221 thread_start + 13
25  libsystem_pthread.dylib             0x00007fffc9191221 thread_start + 13

Hello, a segfault with a code of 11 usually means a stack overflow occurred. IIRC on OS X the per-thread stack limit is 512KB.

"16-bit grayscale Images"

Raw pixel input currently assumes 8-bit values so this could be a cause of the problem. Are you able to test with 8-bit raw pixel data?

Okey, interesting! Didn't see any docs about only supporting 8-bit raw pixel data. Your suggestion seems to work. I pre-generated the same 16-bit images to 8-bit JPEG with sharp and then threw them in as buffers on demand as 'raw' images and this doesn't give any silent crash in node. Thanks for the help!
So even though sharp raw pixel only assumes 8-bit images, it works with 16-bit as long as they aren't served concurrently (50 and more) on demand in node.
Do you have any plans to support 16-bit images and what needs to be done in order for this to work? Any suggestions to get around this problem? I'm using sharp to render JPEGs on the server  in a medical application which always contains raw pixel data at a minimum of 16-bits.

Okey, interesting! Didn't see any docs about only supporting 8-bit raw pixel data. Your suggestion didn't work but it seems to increase the time until I get a silent crash.  I pre-generated the same 16-bit images to 8-bit JPEG with sharp and then threw them in as buffers on demand as 'raw' images and this increased the time until silent crash.  Node crashes early sometimes and sometimes later, i.e it's hard to reproduce the exact scenario for the crash. It's like the machine gets overloaded with work and can't continue.
Do you have any plans to support 16-bit images and what needs to be done in order for this to work?  I'm using sharp to render JPEGs on the server in a medical application which always contains raw pixel data at a minimum of 16-bits.
Also, any suggestions to get around this problem? Is it possible to flush libvips memory or handling the threads in a better way?

The docs for passing raw pixel data to the constructor are lacking here, sorry. I'll update the "See raw() for pixel ordering" bit to provide a more complete copy of the raw docs.
Support for 16 bit raw pixel values should be fairly straightforward to expose. It would make sense to do this alongside #577.
Are you able to try with a concurrency of 1 via sharp.concurrency(1) to prevent libvips from spawning (as many) new threads?

Okey, thanks for your reply. Sorry for my late, I've been sick for a couple of days. I tried with sharp.concurrency(1) and still get the same error.
Do you think that you can regenerate my scenario?
What I do:
Request for 100 images in parallel until I've loaded 328 images, on the server I generate JPEGS with sharp, see code above. Then increase with 10 request every time 328 images are loaded -> request 110 images in parallel until 328 images are fetched and then I increase with 10 until 328. Eventually the server will throw an error.

Thanks for checking. Is the backtrace the same every time, i.e. does it always have the following at the top of the stack?
0   segfault-handler.node               0x0000000101bd9218 _ZL16segfault_handleriP9__siginfoPv + 280
0   segfault-handler.node               0x0000000101bd9218 _ZL16segfault_handleriP9__siginfoPv + 280
1   libsystem_platform.dylib            0x00007fffc9187bba _sigtramp + 26
1   libsystem_platform.dylib            0x00007fffc9187bba _sigtramp + 26
2   libvips.42.dylib                    0x00000001043a6806 vips_object_real_postbuild + 0
2   libvips.42.dylib                    0x00000001043a6806 vips_object_real_postbuild + 0
3   libvips.42.dylib                    0x000000010432ab51 vips_bandary_gen + 338
3   libvips.42.dylib                    0x000000010432ab51 vips_bandary_gen + 338
...

The whole backtrace for sharp.concurrency(1)is

0   segfault-handler.node               0x0000000101bd9218 _ZL16segfault_handleriP9__siginfoPv + 280
1   libsystem_platform.dylib            0x00007fffb7f59bba _sigtramp + 26
2   ???                                 0xffffffffffffffff 0x0 +<PHONE_NUMBER>3709551615
3   libvips.42.dylib                    0x0000000104354ccb vips_foreign_find_load_buffer_sub + 31
4   libvips.42.dylib                    0x0000000104392667 vips_slist_map2 + 56
5   libvips.42.dylib                    0x00000001043545a5 vips_foreign_map + 88
6   libvips.42.dylib                    0x0000000104354c67 vips_foreign_find_load_buffer + 44
7   sharp.node                          0x0000000104233da3 _ZN5sharp18DetermineImageTypeEPvm + 19
8   sharp.node                          0x0000000104234e29 _ZN5sharp9OpenInputEPNS_15InputDescriptorE10VipsAccess + 345
9   sharp.node                          0x0000000104241b16 _ZN14PipelineWorker7ExecuteEv + 582
10  node                                0x00000001007feb52 worker + 90
11  node                                0x000000010080ae62 uv__thread_start + 25
12  libsystem_pthread.dylib             0x00007fffb7f63aab _pthread_body + 180
13  libsystem_pthread.dylib             0x00007fffb7f639f7 _pthread_body + 0
14  libsystem_pthread.dylib             0x00007fffb7f63221 thread_start + 13
Abort trap: 6

Backtrace on Windows:
00007FFF81A0960B (ntdll): (filename not available): RtlImageNtHeaderEx
00007FFF81A2BD00 (ntdll): (filename not available): RtlInitializeCriticalSection
00007FFF81A2BD00 (ntdll): (filename not available): RtlInitializeCriticalSection
00007FFF81A69CBA (ntdll): (filename not available): KiUserExceptionDispatcher
0000000069CB5519 (libvips-42): (filename not available): vips_bandeor
00007FFF81A0960B (ntdll): (filename not available): RtlImageNtHeaderEx
00007FFF81A0960B (ntdll): (filename not available): RtlImageNtHeaderEx
00007FFF81A69CBA (ntdll): (filename not available): KiUserExceptionDispatcher
00007FFF81A69CBA (ntdll): (filename not available): KiUserExceptionDispatcher
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069CACE03 (libvips-42): (filename not available): vips_cast_dpcomplex
0000000069CACE03 (libvips-42): (filename not available): vips_cast_dpcomplex
0000000069CACE03 (libvips-42): (filename not available): vips_cast_dpcomplex
0000000069D9E5AA (libvips-42): (filename not available): vips_region_prepare
0000000069CB5519 (libvips-42): (filename not available): vips_bandeor
0000000069CB5519 (libvips-42): (filename not available): vips_bandeor
0000000069CB5519 (libvips-42): (filename not available): vips_bandeor
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069D9E5AA (libvips-42): (filename not available): vips_region_prepare
0000000069D9E5AA (libvips-42): (filename not available): vips_region_prepare
0000000069D9E5AA (libvips-42): (filename not available): vips_region_prepare
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D9E5AA (libvips-42): (filename not available): vips_region_prepare
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069D9E5AA (libvips-42): (filename not available): vips_region_prepare
0000000069D9E5AA (libvips-42): (filename not available): vips_region_prepare
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D9E5AA (libvips-42): (filename not available): vips_region_prepare
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D9E5AA (libvips-42): (filename not available): vips_region_prepare
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069D9E5AA (libvips-42): (filename not available): vips_region_prepare
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D99B33 (libvips-42): (filename not available): vips_call_argv
0000000069D9E5AA (libvips-42): (filename not available): vips_region_prepare
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D9E5AA (libvips-42): (filename not available):  ??
0000000069D9BDF6 (libvips-42): (filename not available): vips_region_copy
0000000069D9BDF6 (libvips-42): (filename not available): vips_region_copy
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D8A21C (libvips-42): (filename not available): vips_check_precision_intfloat
0000000069D9E754 (libvips-42): (filename not available): vips_region_prepare_to
0000000069D9E754 (libvips-42): (filename not available): vips_region_prepare_to
0000000069D9BDF6 (libvips-42): (filename not available): vips_region_copy
0000000069D9BDF6 (libvips-42): (filename not available): vips_region_copy
0000000069D932CC (libvips-42): (filename not available): vips_sink_memory
0000000069D9E754 (libvips-42): (filename not available): vips_region_prepare_to
0000000069D932CC (libvips-42): (filename not available): vips_sink_memory
0000000069D9E754 (libvips-42): (filename not available): vips_region_prepare_to
0000000069D9F090 (libvips-42): (filename not available): vips_thread_state_set
0000000069D932CC (libvips-42): (filename not available): vips_sink_memory
0000000069D9F090 (libvips-42): (filename not available): vips_thread_state_set
0000000069D932CC (libvips-42): (filename not available): vips_sink_memory
0000000069D9F090 (libvips-42): (filename not available): vips_thread_state_set
0000000069D9EE94 (libvips-42): (filename not available): vips_thread_state_set
0000000069D9EE94 (libvips-42): (filename not available): vips_thread_state_set
0000000069D9EE94 (libvips-42): (filename not available): vips_thread_state_set
0000000069D9F090 (libvips-42): (filename not available): vips_thread_state_set
0000000068609044 (libglib-2.0-0): (filename not available): g_test_get_filename
0000000068609044 (libglib-2.0-0): (filename not available): g_test_get_filename
000000006862244A (libglib-2.0-0): (filename not available): g_private_replace
0000000068609044 (libglib-2.0-0): (filename not available): g_test_get_filename
00007FFF7F3BB2BA (msvcrt): (filename not available): beginthreadex
0000000069D9EE94 (libvips-42): (filename not available): vips_thread_state_set
000000006862244A (libglib-2.0-0): (filename not available): g_private_replace
00007FFF7F3BB38C (msvcrt): (filename not available): endthreadex
00007FFF7F3BB2BA (msvcrt): (filename not available): beginthreadex
000000006862244A (libglib-2.0-0): (filename not available): g_private_replace
00007FFF7F648364 (KERNEL32): (filename not available): BaseThreadInitThunk
00007FFF7F3BB38C (msvcrt): (filename not available): endthreadex
00007FFF7F3BB2BA (msvcrt): (filename not available): beginthreadex
0000000068609044 (libglib-2.0-0): (filename not available): g_test_get_filename
00007FFF81A270D1 (ntdll): (filename not available): RtlUserThreadStart
00007FFF7F648364 (KERNEL32): (filename not available): BaseThreadInitThunk
00007FFF81A270D1 (ntdll): (filename not available): RtlUserThreadStart
00007FFF7F3BB38C (msvcrt): (filename not available): endthreadex

Are you able to provide the input image that is causing this, plus any raw settings you're passing to the sharp() constructor?

@oankarberg Is this still occurring? If so, please can you provide a sample input image and options.

Closing due to inactivity - please feel free to re-open with sample input if the problem is still occurring.

@lovell
Is it required to set concurrency per process or worker for multiple workers scenario.
e.g. 4 processes/workers and CPU core = 32 so do we need to explicitly set concurrency for each process = 8 (32/4).
Can you correct me if I misunderstood?

@ashish-soni http://sharp.dimens.io/en/stable/api-utility/#concurrency


use case: track all idigbio records/images related to bee family Andrenidae

as suggested by @seltmann in relation to #71 .
Suggested to expose properties like:
dwc:dateIdentified | dwc:identificationQualifier | dwc:identifiedBy | dwc:lifeStage | dwc:nameAccordingTo | ac:otherScientificName | dwc:preparations | dwc:scientificName | dwc:scientificNameID | dwc:sex | ac:subjectOrientation | ac:subjectPart | ac:taxonCount | ac:taxonCoverage | dwc:vernacularName
workflow:

enter search criteria
clone idigbio using Preston and jekyll
run local site using cloned content
periodically, register all images and update the content from idigbio

related Preston command:
preston track https://search.idigbio.org/v2/search/records/?rq=%7B%22family%22%3A%22Andrenidae%22%2c%22hasImage%22%3A%22true%22%7D

note that
>> decodeURIComponent('rq=%7B%22family%22%3A%22Andrenidae%22%2c%22hasImage%22%3A%22true%22%7D')
< "rq={\"family\":\"Andrenidae\",\"hasImage\":\"true\"}"

Expose https://www.tdwg.org/standards/ac/ which contains information about the image.

Hey @seltmann - I created a jekyll site based on automatically tracked content from iDigBio, added the content to https://github.com/jhpoelen/bees and hosted via Github pages at https://jhpoelen.nl/bees . With this, you can access iDigBio records, metadata and linked images offline, or host it yourself. You should be able to build your own site with the instructions on https://jhpoelen.nl/bees . Can you try?
Note that the site itself is self-replicating: you can "clone" the hosted data using preston, then generate another jekyll site etc. Also, you can update the data, by re-running the preston track ... command to pull in more records and update existing records.
In other words, the site at https://jhpoelen.nl/bees is generated from the data itself. And the data is location agnostic. We can use the same approach to publish / archive / distribute Parasite Tracker content indexed via iDigBio . . . as a way to keep track of what is available.
Curious to hear your thoughts!
ps - the web ui is auto-generated and using the jekyll / liquid templates. The generated pages are generated from structured data and the look 'n feel can be adopted to your own project.

Prototype was reviewed in person with @seltmann @mjy @qgroom @mielliott and others.
This prototype resulted in another use case: build image corpus for Herbarium Martii label detection algorithm see #80 and https://github.com/bio-guoda/preston/issues/80 .


ShopifyAPI::Rest::Base#initialize has a from_hash argument but subclasses override it out

Issue summary
There's a seeminglyl useful from_hash: argument in ShopifyAPI::Rest::Base#initialize, but it's not usable because all subclasses override #initialize.
# base.rb
def initialize(session: nil, from_hash: nil)
   # elided code

  from_hash&.each do |key, value|
    set_property(key, value)
  end
end

# asset.rb
def initialize(session: ShopifyAPI::Context.active_session)
  super(session: session)
  # elided code
end

Expected behavior
Initialize a ShopifyAPI::Rest::* object with #new(from_hash: my_hash)
Actual behavior
ArgumentError: unknown keyword: :from_hash

Steps to reproduce the problem
Specifications

shopify_api version: 12.12.1
Shopify API version used: 2022-04):

It is a quite huge feature, I don't know why do not implement it.

Not stale.


Make content-type header for each part of MultiPartBody configurable

I'm using packages below and try to use multipart/form-data API.

spring boot (as api client)
open api generator (org.openapi.generator:6.2.1)
okhttp (com.squareup.okhttp3:okhttp:4.10.0)

Tho I want to set content-type application/json to A part of request body so that backend service can property parse it,
okhttp doesn't allow the configuration.
https://github.com/square/okhttp/blob/ee1ba4656d80ed62485387217271c7fa31dc888e/okhttp/src/jvmMain/kotlin/okhttp3/MultipartBody.kt#L205
OpenApiSpecification supports encoding to set each part's content-type and open api generator recognize that configuration and try to set it but results in request failure.

Seems closely related to https://github.com/square/okhttp/issues/5627

Closing as a duplicate


EOT Files Fix

Created the .eot files from http://www.fontsquirrel.com/tools/webfont-generator.
It fix the error: CSS3111: @font-face encountered unknown error

Hi @choffmeister
Can you tell me if there is anything to do more in this PR?

Sry, was on vacation. I cannot test, if the EOT files really work. But I will just trust you, now :)

@corneadoug Released as https://github.com/choffmeister/roboto-fontface-bower/releases/tag/v0.4.3

Thanks, now I can use the bower dependency again :)


Prepare Search November 2024 Preview Release

API change check
API changes are not detected in this pull request.


Adldap2 - v9.0 options

The relevant code needs updating to reflect changes introduced in Adldap2 v9.0, e.g. domain_controllers has been replaced by hosts.

Addressed here 68df96691d62db80251e9fb8cb9a746a03c652d5


Update store_failures.md

I think we had a typo on this page that is saying the opposite of what we want.

thanks for opening the PR @amychen1776 and appreciate your patience as we tackle the backlog! I'll go ahead and merge this for you :D


Fix typeChangedFrom of template/union to catch invalid versioning

Fixes #4752

All changed packages have been documented.

:white_check_mark: @typespec/versioning

Show changes
@typespec/versioning - fix ✏

Fixes diagnostics for @typeChangedFrom to properly detect when an incompatible version is referenced inside of a template or union.

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


Removing array short syntax to follow composer entries

Composer.json says that code should work for 5.3. With array short syntax it doesn't.

Any update on this? Personally I would like either for this to be merged of composer.json changed to indicate that you need php 5.4 or higher to use this library


Unable to make it works

Everything is quite straightforward: I am creating a new blank nuxt3 project using npx nuxi@latest init, trying to add nuxt-styled-resources and get this error:
ERROR  Cannot restart nuxt:  Cannot read properties of undefined (reading 'nuxt')
at nuxtStyledResources (node_modules/@nuxtjs/style-resources/lib/module.js:7:25)
at installModule (node_modules/@nuxt/kit/dist/index.mjs:2415:101)
at async initNuxt (node_modules/nuxt/dist/index.mjs:4233:7)
at async NuxtDevServer._load (node_modules/nuxi/dist/chunks/dev2.mjs:6879:5)
at async NuxtDevServer.load (node_modules/nuxi/dist/chunks/dev2.mjs:6811:7)
at async _applyPromised (node_modules/nuxi/dist/chunks/dev2.mjs:3805:10)

@onemore-creator Use "@nuxtjs/style-resources": "^2",


How to build this game on android and ios

Hi @swr06
This game run smooth and I want to build on an android or ios device
Please support me on how to config building this game on android and ios
Thank you so much!

Ah, I'm afraid that it's not possible to build it for ios and android as I used OpenGL 3.3 for this project, whereas, android and ios need OpenGL ES.

Hi @swr06
Thank you for the detailed explanation!
If you have a chance, please support mobile device as a fallback to OpenGL ES and Vulkan

I've mostly stopped development on this project. I'm currently working on a path traced voxel engine, rasterized voxel engine and a 3D engine. If I were to ever return to this project, I'll certainly look into what you told.


Destroy Behavior

I may be doing something wrong, but in combining @radar 's paranoia and this I came to discover that, contrary to spec, it looks like the destroy hook actually saves the state the object was in AFTER the destroy runs. This results in strange timestamps in the version history as well as a deleted_at for Paranoia.
This seems to be a result of https://github.com/airblade/paper_trail/blob/master/lib/paper_trail/has_paper_trail.rb#L80 (record_destroy being called as an after_destroy hook - probably to avoid creating a version record if it fails to be created.) I've patched this locally by setting an instance variable to the result of #item_before_change and utilizing that in record_destroy - thoughts?

In case somebody stumbles on this, there is no version 3.1.0


ROS2 jinja-less compilation on ros2 branch

@marinagmoreira it is crashing on framestore, but I didn't have time to look further into it. Do you have the same issue?

closing this for now, since I'll do a PR with this + CI + other progress today


L1: Tx Spammer sporadically timeouts

Some times we get errors in the tx spammer due to transaction not being picked up before a timeout. We need to investigate if this further to check if its related to load'or specific transactions. At a particular example a block was missed:

The spammer hanged in one of 2 forms, either it wait for tx that weren't added in the second phase of each spam and timeout after 5 minutes resuming the execution or it hangs ad infinitum if the issue happens in the first phase.

This was a bit of a rabbit hole so first i want to share the initial information I was able to get.
** Spammer execution **
As part of the spammer configuration we have two important parameters --accounts(a) and --txcount(b), accounts are the amount of accounts affected by transactions, and txcount the amount of transactions send per any account. The spammer works in a 2 step process, first it send 1 tx for every account, which ends up in the first block a a number of transactions. If those succeed it send txcount transactions for each account, ie a x b number of transactions in a subsequent block.
Right now we are not sharing tx through p2p so we are the only ones receiving them, otoh if we are not the first client in the kurtosis yaml, that one receives them and given we are not processing them yes just the other clients get access to those. This shows the first difference between our current state and for example geth.
** Diff 1: Amount of Transactions **
Given the previous explanation if we configure the spammer with --txcount=2 --accounts=100, we'll see an initial block with 100 tx, a follow up one with 200 tx, and a repeat ad infinitum. Geth displays this behaviour, but in our case we have an initial one of 100 and the second one between 100~140. I'll create a new issu to track this, we are rejecting or ignoring some of those transactions. What i was able to validate is that they are not filtered out, at least as far as I could check, so they were rejected prior to being added to the mempool.
** Diff 2: Transaction Timeout **
This was harder to debug. I'm still investigating it and trying to both replicate an scenario were it always happen as well as being able to replicate one were it didn't happen at all. My current hypothesis and a specific case that i was able to see at least 3 times is the following:
For some reason the Consensus layer ask us for an old payload_id instead of the current one, we, instead of returning the old block generate a new one and fill the mempool transactions. Due to the block being conflicting wwith the already proposed for that slot the consensus client discards it and immediatly ask us for the correct payload id, but we have now the mempool empty and proceed to send a 0 tx one, effectively skipping a batch of tx which the spammer keeps checking for inclusion and eventually times out. In the next comment I'll add some logs and more explanation of why/how this appears to be happening.

A more in depth explanation of the Transaction Timeout
The main issue was time, for some reason lighthouse was requesting payloads before the start of a new slot by just a couple of milliseconds (note the 22:15:41.994 log just before the start of a new slot at 22:15:42:000):
Dec 04 22:15:41.994 WARN Error signalling fork choice waiter     slot: 83, error: ForkChoiceSignalOutOfOrder { current: Slot(84), latest: Slot(83) }, service: beacon
Dec 04 22:15:41.999 WARN Producing block that conflicts with head, slot: 83, message: this block is more likely to be orphaned, service: beacon
Dec 04 22:15:42.000 ERRO No valid eth1_data votes, `votes_to_consider` empty, outcome: casting `state.eth1_data` as eth1 vote, genesis_time:<PHONE_NUMBER>, earliest_block_timestamp:<PHONE_NUMBER>, lowest_block_number: 0, service: deposit_contract_rpc
Dec 04 22:15:42.258 INFO Prepared beacon proposer                parent_root: 0x5c3646ce7e6f48f56efa064a8818db32a8fef939703c1952bdb1868af57fd7ab, validator: 0, prepare_slot: 85, service: beacon
Dec 04 22:15:42.260 ERRO No valid eth1_data votes, `votes_to_consider` empty, outcome: casting `state.eth1_data` as eth1 vote, genesis_time:<PHONE_NUMBER>, earliest_block_timestamp:<PHONE_NUMBER>, lowest_block_number: 0, service: deposit_contract_rpc
Dec 04 22:15:42.329 INFO Signed block published to network via HTTP API, publish_delay_ms: 1, slot: 84
Dec 04 22:15:42.342 INFO Valid block from HTTP API               slot: 84, proposer_index: 24, root: 0x0219…61d2, block_delay: 328.829875ms
Dec 04 22:15:42.351 INFO Prepared beacon proposer                parent_root: 0x0219aa83bd140218c09acd1212770c4f5653d0fc31daea59ba74431f957361d2, validator: 0, prepare_slot: 85, service: beacon

Unfortunately lighthouse#faq explains that the error: ForkChoiceSignalOutOfOrder is due to resource shortcomings, which wasn't our case and I assume it's related to the other side of the our of time request (being late because of lack of resources, instead of being early).
Locally I tried both to set a small script to update eagerly from time.apple.com sntp server and as some suggested use chrony, but althought the errors greatly diminished (from 1 in ~5m to 1 in ~20m), the issue still persisted.
On our side, the logs showed clearly that we were recieving two subsequent get paylod request with different ids:
2024-12-04T22:15:41.997223Z  INFO ethrex_rpc: RPC response: Object {"payloadStatus": Object {"status": String("VALID"), "latestValidHash": String("0xcbf001319c847adab0652378eed1856c45b0b8cc169e481ce8fd244746b872c7"), "validationError": Null}, "payloadId": String("0x03003c720272eae9")}
2024-12-04T22:15:42.000722Z  INFO ethrex_rpc::engine::payload: Requested payload with id: 0x034f708c4dc44262
2024-12-04T22:15:42.001347Z  INFO ethrex_blockchain::payload: Fetching transactions from mempool
2024-12-04T22:15:42.001360Z  INFO ethrex_blockchain::payload: Fetching plain transactions from mempool
2024-12-04T22:15:42.001362Z  INFO ethrex_storage: Mempool tx count: 100
2024-12-04T22:15:42.001438Z  INFO ethrex_storage: Filtered tx count: 100
2024-12-04T22:15:42.001522Z  INFO ethrex_blockchain::payload: Fetching blob transactions from mempool
2024-12-04T22:15:42.001531Z  INFO ethrex_storage: Mempool tx count: 100
2024-12-04T22:15:42.001532Z  INFO ethrex_storage: Filtered tx count: 0
2024-12-04T22:15:42.249700Z  INFO ethrex_rpc: RPC req method: "engine_getPayloadV3", req params: Some([String("0x034f708c4dc44262")])
2024-12-04T22:15:42.249719Z  INFO ethrex_rpc: RPC response parent hash: String("0xc437eb30a008036c702b36076700bdbff637afbe5d37ea06156c2217776bd27b"), blockhash: String("0x49b8d2e15072dec47fd15989bcaf31e3c40864028df0de48b7b388567bcaa40b")
2024-12-04T22:15:42.260817Z  INFO ethrex_rpc::engine::payload: Requested payload with id: 0x03003c720272eae9
2024-12-04T22:15:42.261082Z  INFO ethrex_blockchain::payload: Fetching transactions from mempool
2024-12-04T22:15:42.261092Z  INFO ethrex_blockchain::payload: Fetching plain transactions from mempool
2024-12-04T22:15:42.261093Z  INFO ethrex_storage: Mempool tx count: 0
2024-12-04T22:15:42.261094Z  INFO ethrex_storage: Filtered tx count: 0
2024-12-04T22:15:42.261096Z  INFO ethrex_blockchain::payload: Fetching blob transactions from mempool
2024-12-04T22:15:42.261096Z  INFO ethrex_storage: Mempool tx count: 0
2024-12-04T22:15:42.261097Z  INFO ethrex_storage: Filtered tx count: 0

And with some additional testing logs we could see how we generate a block with a number of tx (100 in this case) and immediatly generated an empty one. This is due to the initial block being discarded as orphaned by the consensus client, which makes sense given that we are using an old payload to recreate the block, and here is what happens:

At slot 82, we received a engine_forkChoiceUpdated with payloadAttrs for 83 (so we store the initial payload there) and returned payload id: 0x03003c720272eae9
At the start of slot 83 we received the engine_getPayload with payload_id: 0x03003c720272eae9, filled the transactions and returned the block without modifying out storage of payloads. After that we receive the new engine_forkChoiceUpdatedwithpayloadAttrs for 84 and rteturned the payload:0x034f708c4dc44262`
Just a couple of ms before the start of slot 84, consensus request the engine_getPayload, but given that it knows it's still in slot 83, it use again the previous payload: 0x03003c720272eae9
We found the old payload and fill in new transactions, which are then discarded as an orphaned block, immediatly, but now in slot 84, we recieve a new engine_getPayload, now with the correct payload_id: 0x034f708c4dc44262. But we produce an empty block.
This hanged the Tx Spammer

The issue with this is that it's not clear why we received an old payload_id, and even when I saw ForkChoiceSignalOutOfOrder issues around the other pairs (lighthouse-geth), I still need to reproduce the behaviour where other clients receive old payloads to make sure we are not generating this issue by our behaviour.
That said we still have a specific issue regarding payloads and it's related to them being not stored as finalized when we finish the building. For now the proposed solution is to update the state and check how that works. But it might refloat the previous comment about the old payload ids and why we are receiving them if other clients don't.

The issue with this is that it's not clear why we received an old payload_id, and even when I saw ForkChoiceSignalOutOfOrder issues around the other pairs (lighthouse-geth), I still need to reproduce the behaviour where other clients receive old payloads to make sure we are not generating this issue by our behaviour.

In a setup with ligthhouse-geth as the initial node and most of the validators I was able to reproduce the issue:
CL Logs
Dec 05 18:41:44.999 WARN Error signalling fork choice waiter     slot: 41, error: ForkChoiceSignalOutOfOrder { current: Slot(42), latest: Slot(41) }, service: beacon
Dec 05 18:41:45.000 INFO Prepared beacon proposer                parent_root: 0xa564e60428215b89cd2ff0529da114d734efbd4deaccac8aa6326b7306261079, validator: 0, prepare_slot: 43, service: beacon
Dec 05 18:41:45.001 ERRO Producing block at incorrect slot       message: check clock sync, this block may be orphaned, current_slot: 42, block_slot: 41, service: beacon
Dec 05 18:41:45.001 WARN Producing block that conflicts with head, slot: 41, message: this block is more likely to be orphaned, service: beacon
Dec 05 18:41:45.003 ERRO No valid eth1_data votes, `votes_to_consider` empty, outcome: casting `state.eth1_data` as eth1 vote, genesis_time:<PHONE_NUMBER>, earliest_block_timestamp:<PHONE_NUMBER>, lowest_block_number: 0, service: deposit_contract_rpc
Dec 05 18:41:45.004 WARN Duplicate payload cached, this might indicate redundant proposal attempts., service: exec
Dec 05 18:41:50.998 WARN Low peer count                          peer_count: 1, service: slot_notifier
Dec 05 18:41:50.998 INFO Synced                                  slot: 42, block:    …  empty, epoch: 1, finalized_epoch: 0, finalized_root: 0xa989…d1fb, exec_hash: 0x5e24…373a (verified), peers: 1, service: slot_notifier
Dec 05 18:41:50.998 INFO Ready for Electra                       info: ensure the execution endpoint is updated to the latest Electra/Prague release, service: slot_notifier

EL logs
DEBUG[12-05|18:41:33.008] Engine API request received              method=GetPayload id=0x03246c7c79377d69
DEBUG[12-05|18:41:33.009] Served engine_getPayloadV3               conn=<IP_ADDRESS>:58266 reqid=1 duration="269.541µs"
INFO [12-05|18:41:33.009] Stopping work on payload                 id=0x03246c7c79377d69 reason=delivery
....
DEBUG[12-05|18:41:45.003] Engine API request received              method=GetPayload id=0x03246c7c79377d69
DEBUG[12-05|18:41:45.003] Served engine_getPayloadV3               conn=<IP_ADDRESS>:58266 reqid=1 duration="167.541µs"
DEBUG[12-05|18:41:45.064] Adding p2p peer                          peercount=2 id=76c9bb19381009f8   conn=dyndial addr=<IP_ADDRESS>:30404               name=Geth/v1.13.15-stable...

As noted here the payload_id 0x03246c7c79377d69 was received twice. As to why this shouldn't be an issue on testnets/mainnet the problem only arise with 2 subsequent block proposals as far as I was able to test.

the problem only arise with 2 subsequent block proposals as far as I was able to test.
I had a long run that might confirm this assumption, every time the incorrect slot was detected in the CL but the previous block was proposed by another node, geth received the same payload_id that was expecting (instead of an old one probably because he wasn't the proposer of that previous slot)  and everything worked as expected:

Dec 06 12:41:33.999 WARN Error signalling fork choice waiter     slot: 4044, error: ForkChoiceSignalOutOfOrder { current: Slot(4045), latest: Slot(4044) }, service: beacon
Dec 06 12:41:34.005 ERRO Producing block at incorrect slot       message: check clock sync, this block may be orphaned, current_slot: 4045, block_slot: 4044, service: beacon
Dec 06 12:41:34.005 WARN Producing block that conflicts with head, slot: 4044, message: this block is more likely to be orphaned, service: beacon
Dec 06 12:41:34.007 ERRO No valid eth1_data votes, `votes_to_consider` empty, outcome: casting `state.eth1_data` as eth1 vote, genesis_time:<PHONE_NUMBER>, earliest_block_timestamp:<PHONE_NUMBER>, lowest_block_number: 0, service: deposit_contract_rpc
Dec 06 12:41:34.007 WARN Duplicate payload cached, this might indicate redundant proposal attempts., service: exec
Dec 06 12:41:34.084 INFO New block received                      root: 0x8577f5c67716a5b7d09767535d2bb8d54552046b4c25937bc9e771561885de0d, slot: 4045
Dec 06 12:41:40.000 INFO Synced                                  slot: 4045, block: 0x8577…de0d, epoch: 126, finalized_epoch: 124, finalized_root: 0x0971…1cb4, exec_hash:

EL Logs
DEBUG[12-06|12:33:33.504] Served engine_forkchoiceUpdatedV3        conn=<IP_ADDRESS>:57782 reqid=1 duration=2.181167ms
DEBUG[12-06|12:33:34.009] Engine API request received              method=GetPayload id=0x03966bcb26c03f20
DEBUG[12-06|12:33:34.009] Served engine_getPayloadV3               conn=<IP_ADDRESS>:57782 reqid=1 duration="191.292µs"
INFO [12-06|12:33:34.009] Stopping work on payload                 id=0x03966bcb26c03f20 reason=delivery


Fixed some warnings from clang (ref #236)

Here two fixes:

the correct suppression for clang's nitpicking
minor fixes for typeid side effect

I'm not sure about the usage of #pragma, may make a decision this week.

Just remember about this one.

The typeid changes seem a little clunky, (you're making a new variable but only using it once).
Still not 100% on the pragma, could do with comments about why it has to be in that header.

Is it feasible to add that option to the command-line?

@thepowersgang what shall we do with this one?

As is probably obvious from the lack of a merge, I'm not very happy with this changeset as it currently applies.

The pragma hackery could go in its own PR (with a comment on it explaining the reasoning) and it'd probably be OK.
The typeid changes should have more effort applied (to give that new variable more usage)... or just suppress the error in the makefiles.

@thepowersgang I've removed typeid commit and keep only pragma.

Cool.
The typeid change could probably be re-done in a different PR by making it a method of the HIR::ExprNode type, that would be cleaner than using typeid directly every time.


define name from props object

connect #219

:tada: This PR is included in version 3.5.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Consider tagging release to incorperate FreeDOS support

Your overlay has version 1.2 of this application which doesn't have the recent freedos support included.  Consider tagging a release to represent the inclusion of this new functionality and updating the overlay accordingly.
Great application by the way!

Tagged as v0.2 and updated in the overlay!


Fix bug where button state is not updated

When updating selectedAssets, we need to update the button state as well

@nghiaphunguyen, can you review this pull request?


Segmentation Fault : 11, while running enroll on OSX

Running the following command python speaker-recognition.py -t enroll -i "./ ./sanjay" -m model.out gives the following output.
Start training...
nr_instance   :   94
nr_dim        :   28
nr_mixture    :   32
min_covar     :   0.001000
threshold     :   0.010000
nr_iteration  :   200
init_with_kmeans: 0
concurrency   :   4
verbosity     :   0
Segmentation fault: 11

The program closes saying Segmentation fault : 11. Can you please help me with it?

The problems seem to be in fast-gmm. @zxytim may have a better idea on what's happening.
Meanwhile, you may choose not to compile the gmm code, then GMM from sklearn will be used instead.

I figured that out and used the gmm sklearn. Is there a way to do continuous speaker recognition in command line ? And not GUI?

Unfortunately there isn't.

This doesn't seem to be resolved yet. I ran into the same probelm on macOS. I'm currently falling back to the GMM implementation in sklearn. But it's nice to have the C implementation if that's faster.

nr_instance   :   1030
nr_dim        :   28
nr_mixture    :   32
min_covar     :   0.001000
threshold     :   0.010000
nr_iteration  :   200
init_with_kmeans: 0
concurrency   :   4
verbosity     :   0
Segmentation fault (core dumped)
I have also same problem ? can anyone help me for resolve it?

Is there any installation problem ??

Is there any installation problem ??


Detect qemu virtualization as well

KVM is already detected but sometimes we want to run systems with full
CPU emulation and have them spec'ed as well.
We check for empty dmidecode output since e.g. the arm machines may
return empty information.

Thanks.

Released as v2.73.2.


gdbstub: Make backend choice optional

By default GDBSTUB_SERIAL_BACKEND will be selected as it's the only option here. This can cause problems for code that wants to provide its own custom backend. Make this choice optional to allow not including the UART backend.

I think a better way is to add another choice for custom backend. So the resulting config file will show that there is a custom backend, instead of no backends.

I think a better way is to add another choice for custom backend. So the resulting config file will show that there is a custom backend, instead of no backends.

Done.


Bazel build fails on both macOS and Ubuntu

I followed the build instructions but when I make the build fails with a bunch of invalid certificate warnings. But the main error is when bazel is fetching the "icu" repo.

Hi, can you send the error itself? I have not encountered it and it has not happened on September 15 in the regular CI run.

Hi,
I think you can close this since it is a tensorflow related issue.
The build fails when it tries to download certain compressed dependencies and validates it's sha256, e.g. the python license file. The bazel build files sometimes have 2 links to download the same file, for redundancy. But links have the same exact file but their sha256 hash values are different. Bazel allows only one value to be put in i believe. Hence, if luckily you end up downloading from the link that matches the expected hash value, you're gold. But if the build cannot reach that first link, it tries the second one, gets the file and sees it's hash value is different and fails.
I understand it's a security measure but bazel really disappointed me here.
Anyways, this is nothing to do with tensorflow_cc.
On September 25, 2021 9:37:15 AM EDT, Filip Matzner @.***> wrote:

Hi, can you send the error itself? I have not encountered it and it has not happened on September 15 in the regular CI run.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/FloopCZ/tensorflow_cc/issues/280#issuecomment-927122499

Huh, thanks for the info.


Too small margin on banner text

Headlines should probably scaled down when in portrait

These ones? ^

Yes. Minimum right margin should be roughly 150% of the left margin.

This text is actually an image, which is provided by the api. We can add some logic so that it will scale down if it gets too close to the right hand side.


posts missing titles fail to cross-post

Posts with a missing title should be replaced with simply "untitled" to not prevent problems with cross-posting stories to Medium.

Thanks for picking this up!


Simplify CI in very obvious points

Try some of the following:

Group gcc-clang-native-outer-namespace and gcc-11-clang-12_wide_integer_namespace near each other since they are topically related.
Try instead of -m64 on GCC/clang to use -march=native mtune=native.
Reduce Boost-cloning of submodules in CMake jobs.

Actually, I seem to remember that -march=native and/or mtune=native aren't supported on clang. Just leave it at m64 when appropriate, as this seems to be a sensible common denominator between g++/clang++.


Add codecov

This adds codecov as a coverage tracking provider - seel #6966.

For this to work we will need to add the project on codecov and set repo token for upload; this is just here for visibility for now while I play with it in combination with #6947

This PR running in my fork publishes reports already so you can check out the interface here.

CI fails because of https://github.com/inventree/InvenTree/pull/6968

I would say, let's try it out for a few weeks. Not sure if I understand notification right? You mean a gh message in the corresponding pr?

@matmair I have setup the InvenTree/Inventree org on codecov now, so you can use that in the workflows

@wolflu05 you can get comments on PRs stating the coverage information - we have that turned off for coveralls currently

@matmair this appears to be working:

Happy to merge?

@SchrodingersGat we are still missing settings; do we want PR comments or not?

Yes, let's add them in and see how they play. Can always adjust later if we don't want them

@SchrodingersGat good to merge!

@SchrodingersGat I have added some miminmum coverage and carryforward flags to match the current settings for coveralls.


standardize IRIs

closes #5
IRIs will look like gistd:_UnitOfMeasure_mile_per_hour  (infix followed by text using single underscore as delimiter)

I will create a separate issue for "electronvolt" vs. "electron volt".


Decrease priority of compilation jobs to increase UX responsiveness.

HIE is expected to respond to events quickly, just like its ancestor is expected to be UI process.
However, the compilations are generally batch jobs that can take longer time to complete,
and should not delay UI.
I suggest we use System.Process.nice to decrease priority of any compilation job we call.
That assures our interactivity is unhindered when we open a big project, and start compiling it with all numCapabilities.
This continues discussion from here:
https://github.com/haskell/haskell-language-server/issues/3528

@michaelpj Is that what you suggested in https://github.com/haskell/haskell-language-server/issues/3528?

Yeah, I think that is sensible. I'd merge a PR for it.


Numerical instability of the samples

Hello,
When sampling from the VMF, sometimes the samples get super large, very far from the mean, even 1 million times bigger than the other samples from the distribution. I was wondering how can one avoid that.

Numerical instabilities happen, and there is nothing you can do. There is a more stable distribution https://github.com/nicola-decao/power_spherical that has all the properties of the vMF but is much more stable to use. Hopefully it will solve your problem.

Thanks a lot, I have tried that as well. However I keep getting a very unstable variance (scale) neuron, which will have a super small value, or even negative, and hence a very low and untrainable KL. I was wondering if this is a general case with these distributions or could it be specific for my dataset.

You cannot have a negative scale. It is like the variance of a Normal distribution. By definition, it must be > 0. You should use a proper activation function to make sure of that (eg, exp).

I have tested using exp, or using a ReLU plus a very small epsilon, however the variance neuron always ends up becoming super small, so according to the definition of KL in power spherical and VMF, the KL becomes very small as well.

That's an optimization problem it rellay depens on your loss


119 search by collections

Issue :  https://github.com/archaiodata/thacer/issues/119
Description :
This PR add property 'collection' to pottery objects according to the source file and make it searchable

@francoiscrouzet @chtzv I guess I will stay in this state and make a release. What do you think?

@francoiscrouzet @chtzv I guess I will stay in this state and make a release. What do you think?

We were unhappy with our deployment procedure last time. You may want that we do it together to improve it and make it works well


When bundles are rebuilt old cache entries are not removed

When bundles are rebuilt old cache entries are not removed resulting in leaked memory for the old version of the bundle.

2nd commit in https://github.com/j-a-w-r/jawr-main-repo/pull/53 should fix it, but not sure how it would work for the variant bundles.

Hi,
What do you mean by leaked memory?
The intent of the original code was that the rebuilt of the bundles will update the cache entries, so the old version is updated after the rebuilt.
What is exactly the issue which you're facing?
Cheers

I was seeing that there is a cache entry for the old bundle ID after
reloading, as well as one for the new bundle ID. I would expect that bundle
ID to never be accessed again due to the nature of cache busting. I did not
verify whether the value was actually updated, but even if it was updated,
it seems like it would never be utilized.
Thanks!
Max
On Sat, Jun 17, 2017 at 6:40 AM, Ibrahim Chaehoi<EMAIL_ADDRESS>wrote:

Hi,
What do you mean by leaked memory?
The intent of the original code was that the rebuilt of the bundles will
update the cache entries, so the old version is updated after the rebuilt.
What is exactly the issue which you're facing?
Cheers
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/j-a-w-r/jawr-main-repo/issues/54#issuecomment-309207539,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVRZhd3kzTcLBOUZkOFnCcKr6rplqESks5sE60pgaJpZM4N8Vja
.

Ok. I've got it.
So you've deleted a bundle and create a new one.
I'll check this case.
Cheers,

Created a new pull request with just this change here: https://github.com/j-a-w-r/jawr-main-repo/pull/56

The issue has been fixed in the master branch
Thanks for reporting the issue and providing the PR


[1273] Remove namespace from reservation flag tasks

Resolves #1273

Shoot this broke our rake specs; removing the namespace requires splitting the tasks into separate files. I'm going to play with this tomorrow.

Ok, I ended up splitting up the tasks into separate files and everything is green - ready for review!

Awesome

I think that's ok; the tasks themselves already have specs and I've run rake run_daily_tasks locally which works until delete_old_blackouts (see #1276), but since that's the last task invoked all the other tasks must be running successfully. I'm going merge this in.


common-lisp stack overflow fix

ok, it was easy.
Looks like in new version of SBCL, also with type optimization from last commit, some data start keeping in stack (from heap), so we got stack overflow.


Broken link in README

In examples section of readme file, Pokemon Example link is broken.
It should point to https://github.com/jaimeteb/chatto/tree/master/examples/02_pokemon instead of
https://github.com/jaimeteb/chatto/tree/master/examples/03_pokemon
PS: 02_pokemon instead of 03_pokemon.

@msidana thank you so much ! it's fixed now !


Improvements on lib level

Moved rssi function into convert module, removed rssi module
Moved high-level public types into dedicated module
Added explicit #[repr(u8)] on register's enums
Moved set_radio_mode and set_defaults function down in the lib module
Added sleep state for set_radio_mode (with todo for now - will be continued in another PR)

Tasteful! 🙌