Support for Chaincode execution timeout (CHAINCODE_EXECUTETIMEOUT)

Which Caliper version are you using?
v0.4.2
Which Node.JS version are you using?
v10.19.0
Which operating system are you using?
Ubuntu 20.04 LTS
Please provide some context for your error. For example, when did the error occur? What were you trying to achieve, and how?
I have modified the basic chaincode available in fabric-samples and added custom contract functions. These functions take a long time to run (~4-10 seconds). I am trying to benchmark these functions using caliper. The benchmarks run successfully when I set the txNumber: 1 (in my benchmarkConfig file) however when I set the txNumber: 5 I get the following error :
caliper    | 2022-02-26T19:48:35.156Z - error: [Endorser]: sendProposal[peer0.org2.example.com:11051] - peer0.org2.example.com:11051 timed out after: 30000
caliper    | 2022-02-26T19:48:35.156Z - error: [Endorser]: sendProposal[peer0.org1.example.com:7051] - peer0.org1.example.com:7051 timed out after: 30000
.
.

Everything works well on the peer side as I have set the CHAINCODE_EXECUTETIMEOUT=200s. However, I am not sure how to increase the timeout for the caliper workers. I am passing the --caliper-fabric-timeout-invokeorquery 600 flag to launch manager command but that does not seem to do the trick.
P.S - I have looked at #755  but the link to which @aklenik points to seems broken and I cannot figure out where invokeSmartContract is called. I tried searching for this function in the source code/documentation but couldn't find it as well, not sure if this function was removed in the newer versions of caliper.
What was the observed incorrect behavior?
Benchmark should run without the workers timing out
Please provide the error logs and their surroundings.
caliper    | 2022.02.26-19:47:23.094 info  [caliper] [worker-message-handler]   Worker#0 is starting Round#5
caliper    | 2022.02.26-19:47:23.095 info  [caliper] [caliper-worker]   Worker #0 starting workload loop
caliper    | 2022.02.26-19:47:28.095 info  [caliper] [default-observer]         [Assign Round 5 Transaction Info] - Submitted: 5 Succ: 0 Fail:0 Unfinished:5
caliper    | 2022.02.26-19:47:33.096 info  [caliper] [default-observer]         [Assign Round 5 Transaction Info] - Submitted: 5 Succ: 0 Fail:0 Unfinished:5
caliper    | 2022.02.26-19:47:38.097 info  [caliper] [default-observer]         [Assign Round 5 Transaction Info] - Submitted: 5 Succ: 0 Fail:0 Unfinished:5
caliper    | 2022.02.26-19:47:43.098 info  [caliper] [default-observer]         [Assign Round 5 Transaction Info] - Submitted: 5 Succ: 0 Fail:0 Unfinished:5
caliper    | 2022.02.26-19:47:48.099 info  [caliper] [default-observer]         [Assign Round 5 Transaction Info] - Submitted: 5 Succ: 0 Fail:0 Unfinished:5
caliper    | 2022.02.26-19:47:53.100 info  [caliper] [default-observer]         [Assign Round 5 Transaction Info] - Submitted: 5 Succ: 0 Fail:0 Unfinished:5
caliper    | 2022-02-26T19:47:53.109Z - error: [Endorser]: sendProposal[peer0.org2.example.com:11051] - peer0.org2.example.com:11051 timed out after: 30000
caliper    | 2022-02-26T19:47:53.110Z - error: [Endorser]: sendProposal[peer0.org1.example.com:7051] - peer0.org1.example.com:7051 timed out after: 30000
caliper    | 2022-02-26T19:47:53.110Z - error: [Endorser]: sendProposal[peer0.org2.example.com:11051] - rejecting with: Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.110Z - error: [Endorser]: sendProposal[peer0.org1.example.com:7051] - rejecting with: Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.111Z - error: [DiscoveryHandler]: _build_endorse_group_member >> G1:0 - error on endorsement to peer0.org2.example.com:11051 error Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.111Z - error: [DiscoveryHandler]: _build_endorse_group_member >> G0:1 - error on endorsement to peer0.org1.example.com:7051 error Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.111Z - error: [Transaction]: Error: No valid responses from any peers. Errors:
caliper    |     peer=undefined, status=grpc, message=Endorsement has failed
caliper    | 2022.02.26-19:47:53.112 error [caliper] [connectors/v2/FabricGateway]      Failed to perform submit transaction [CreateAssignAsset] using arguments [425788883384,blue,20,penguin,500],  with error: Error: No valid responses from any peers. Errors:
caliper    |     peer=undefined, status=grpc, message=Endorsement has failed
caliper    |     at newEndorsementError (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:49:12)
caliper    |     at getResponsePayload (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:17:23)
caliper    |     at Transaction.submit (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:212:28)
caliper    |     at process._tickCallback (internal/process/next_tick.js:68:7)
caliper    | 2022-02-26T19:47:53.298Z - error: [Endorser]: sendProposal[peer0.org2.example.com:11051] - peer0.org2.example.com:11051 timed out after: 30000
caliper    | 2022-02-26T19:47:53.299Z - error: [Endorser]: sendProposal[peer0.org2.example.com:11051] - rejecting with: Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.299Z - error: [DiscoveryHandler]: _build_endorse_group_member >> G1:0 - error on endorsement to peer0.org2.example.com:11051 error Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.300Z - error: [Endorser]: sendProposal[peer0.org1.example.com:7051] - peer0.org1.example.com:7051 timed out after: 30000
caliper    | 2022-02-26T19:47:53.300Z - error: [Endorser]: sendProposal[peer0.org1.example.com:7051] - rejecting with: Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.300Z - error: [DiscoveryHandler]: _build_endorse_group_member >> G0:1 - error on endorsement to peer0.org1.example.com:7051 error Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.301Z - error: [Transaction]: Error: No valid responses from any peers. Errors:
caliper    |     peer=undefined, status=grpc, message=Endorsement has failed
caliper    | 2022.02.26-19:47:53.301 error [caliper] [connectors/v2/FabricGateway]      Failed to perform submit transaction [CreateAssignAsset] using arguments [81793907602,blue,20,penguin,500],  with error: Error: No valid responses from any peers. Errors:
caliper    |     peer=undefined, status=grpc, message=Endorsement has failed
caliper    |     at newEndorsementError (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:49:12)
caliper    |     at getResponsePayload (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:17:23)
caliper    |     at Transaction.submit (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:212:28)
caliper    |     at process._tickCallback (internal/process/next_tick.js:68:7)
caliper    | 2022-02-26T19:47:53.501Z - error: [Endorser]: sendProposal[peer0.org2.example.com:11051] - peer0.org2.example.com:11051 timed out after: 30000
caliper    | 2022-02-26T19:47:53.502Z - error: [Endorser]: sendProposal[peer0.org1.example.com:7051] - peer0.org1.example.com:7051 timed out after: 30000
caliper    | 2022-02-26T19:47:53.502Z - error: [Endorser]: sendProposal[peer0.org2.example.com:11051] - rejecting with: Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.502Z - error: [Endorser]: sendProposal[peer0.org1.example.com:7051] - rejecting with: Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.502Z - error: [DiscoveryHandler]: _build_endorse_group_member >> G1:0 - error on endorsement to peer0.org2.example.com:11051 error Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.502Z - error: [DiscoveryHandler]: _build_endorse_group_member >> G0:1 - error on endorsement to peer0.org1.example.com:7051 error Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.502Z - error: [Transaction]: Error: No valid responses from any peers. Errors:
caliper    |     peer=undefined, status=grpc, message=Endorsement has failed
caliper    | 2022.02.26-19:47:53.502 error [caliper] [connectors/v2/FabricGateway]      Failed to perform submit transaction [CreateAssignAsset] using arguments [1616188639044,blue,20,penguin,500],  with error: Error: No valid responses from any peers. Errors:
caliper    |     peer=undefined, status=grpc, message=Endorsement has failed
caliper    |     at newEndorsementError (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:49:12)
caliper    |     at getResponsePayload (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:17:23)
caliper    |     at Transaction.submit (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:212:28)
caliper    |     at process._tickCallback (internal/process/next_tick.js:68:7)
caliper    | 2022-02-26T19:47:53.699Z - error: [Endorser]: sendProposal[peer0.org2.example.com:11051] - peer0.org2.example.com:11051 timed out after: 30000
caliper    | 2022-02-26T19:47:53.700Z - error: [Endorser]: sendProposal[peer0.org1.example.com:7051] - peer0.org1.example.com:7051 timed out after: 30000
caliper    | 2022-02-26T19:47:53.700Z - error: [Endorser]: sendProposal[peer0.org2.example.com:11051] - rejecting with: Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.700Z - error: [Endorser]: sendProposal[peer0.org1.example.com:7051] - rejecting with: Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.700Z - error: [DiscoveryHandler]: _build_endorse_group_member >> G1:0 - error on endorsement to peer0.org2.example.com:11051 error Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.700Z - error: [DiscoveryHandler]: _build_endorse_group_member >> G0:1 - error on endorsement to peer0.org1.example.com:7051 error Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.700Z - error: [Transaction]: Error: No valid responses from any peers. Errors:
caliper    |     peer=undefined, status=grpc, message=Endorsement has failed
caliper    | 2022.02.26-19:47:53.700 error [caliper] [connectors/v2/FabricGateway]      Failed to perform submit transaction [CreateAssignAsset] using arguments [20769495052,blue,20,penguin,500],  with error: Error: No valid responses from any peers. Errors:
caliper    |     peer=undefined, status=grpc, message=Endorsement has failed
caliper    |     at newEndorsementError (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:49:12)
caliper    |     at getResponsePayload (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:17:23)
caliper    |     at Transaction.submit (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:212:28)
caliper    |     at process._tickCallback (internal/process/next_tick.js:68:7)
caliper    | 2022-02-26T19:47:53.900Z - error: [Endorser]: sendProposal[peer0.org2.example.com:11051] - peer0.org2.example.com:11051 timed out after: 30000
caliper    | 2022-02-26T19:47:53.901Z - error: [Endorser]: sendProposal[peer0.org1.example.com:7051] - peer0.org1.example.com:7051 timed out after: 30000
caliper    | 2022-02-26T19:47:53.901Z - error: [Endorser]: sendProposal[peer0.org2.example.com:11051] - rejecting with: Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.901Z - error: [Endorser]: sendProposal[peer0.org1.example.com:7051] - rejecting with: Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.901Z - error: [DiscoveryHandler]: _build_endorse_group_member >> G1:0 - error on endorsement to peer0.org2.example.com:11051 error Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.901Z - error: [DiscoveryHandler]: _build_endorse_group_member >> G0:1 - error on endorsement to peer0.org1.example.com:7051 error Error: REQUEST TIMEOUT
caliper    | 2022-02-26T19:47:53.901Z - error: [Transaction]: Error: No valid responses from any peers. Errors:
caliper    |     peer=undefined, status=grpc, message=Endorsement has failed
caliper    | 2022.02.26-19:47:53.901 error [caliper] [connectors/v2/FabricGateway]      Failed to perform submit transaction [CreateAssignAsset] using arguments [685219497620,blue,20,penguin,500],  with error: Error: No valid responses from any peers. Errors:
caliper    |     peer=undefined, status=grpc, message=Endorsement has failed
caliper    |     at newEndorsementError (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:49:12)
caliper    |     at getResponsePayload (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:17:23)
caliper    |     at Transaction.submit (/home/node/.npm-global/lib/node_modules/fabric-network/lib/transaction.js:212:28)
caliper    |     at process._tickCallback (internal/process/next_tick.js:68:7)
caliper    | 2022.02.26-19:47:54.977 info  [caliper] [connectors/v2/FabricGateway]      disconnecting gateway for user User1
caliper    | 2022.02.26-19:47:54.977 info  [caliper] [worker-message-handler]   Worker#0 finished Round#5

Please provide your benchmark configuration file content, if possible.
test:

    name: basic-contract-benchmark

    description: test benchmark

    workers:

      type: local

      number: 1

    rounds:
        - label: Assign

          description: Write asset benchmark

          txNumber: 5

          rateControl:

            type: fixed-rate

            opts:

              tps: 5

          workload:

            module: workload/createAssignAsset.js

            arguments:

              assets: 10

              contractId: basic

Please provide your network configuration file content, if possible.
name: Calier test

version: "2.0.0"

caliper:

  blockchain: fabric

channels:

  - channelName: mychannel

    contracts:

    - id: basic

organizations:

  - mspid: Org1MSP

    identities:

      certificates:

      - name: 'User1'

        clientPrivateKey:

          path<EMAIL_ADDRESS>
        clientSignedCert:

          path: '/hyperledger/caliper/crypto-config/peerOrganizations/org1.example.com/users/User1<EMAIL_ADDRESS>
    connectionProfile:

      path: '/hyperledger/caliper/crypto-config/peerOrganizations/org1.example.com/connection-org1.yaml'

      discover: true

Please provide your workload module content, if possible.
'use strict';

const { WorkloadModuleBase } = require('@hyperledger/caliper-core');
class MyWorkload extends WorkloadModuleBase {
    constructor() {
        super();
    }

    async initializeWorkloadModule(workerIndex, totalWorkers, roundIndex, roundArguments, sutAdapter, sutContext) {
        await super.initializeWorkloadModule(workerIndex, totalWorkers, roundIndex, roundArguments, sutAdapter, sutContext);
    }

    async submitTransaction() {
        const assetID = parseInt(Date.now() * Math.random());
        //console.log(`Worker ${this.workerIndex}: Creating asset ${assetID}`);
        const request = {
            contractId: this.roundArguments.contractId,
            contractFunction: 'CreateAssignAsset',
            invokerIdentity: 'User1',
            contractArguments: [assetID,'blue','20','penguin','500'],
            readOnly: false
        };
        await this.sutAdapter.sendRequests(request);
    }

    async cleanupWorkloadModule() {

    }
}

function createWorkloadModule() {
    return new MyWorkload();
}

module.exports.createWorkloadModule = createWorkloadModule;

Please provide any additional information you deem relevant to the error.
No response

The invokeorquery option only influences the overall submit process (ie from submission to comitted) and doesn't affect the timeout for the endorse part which the node sdk defaults to 30 seconds, and it doesn't look like the node-sdk provides any other way to alter this default value except via code so unfortunately it's not possible at the moment to change that timeout without changing the caliper code.
It's a one line change in this section of code
https://github.com/hyperledger/caliper/blob/62de24084df33c5177edffd52acb2d5da2a1be7b/packages/caliper-fabric/lib/connector-versions/v2/FabricGateway.js#L270
            eventHandlerOptions: {
                commitTimeout: this.configDefaultTimeout,
                strategy: EventStrategies[this.configEventStrategy]
            },

to
            eventHandlerOptions: {
                endorseTimeout: this.configDefaultTimeout,
                commitTimeout: this.configDefaultTimeout,
                strategy: EventStrategies[this.configEventStrategy]
            },


Rbac descendants scope

For rbac and descendants filter, use a subquery (where possible) instead of the old way of using MiqPreloader and then a collect.
I don't like calling filtered from within filtered, but this looks like a step closer to having rbac directly query the values instead of the recursive call

👍 LGTM

Direct to darga PR in https://github.com/ManageIQ/manageiq/pull/13163

This PR was merged before Euwe was branched.  Therefore, removing euwe/yes label.

Backported to Darga via https://github.com/ManageIQ/manageiq/pull/13163


Check that invitee details is not empty

Resolves #1849

Looks good! Could you add a test in one of the existing test files to make sure you don't get an error and all other recruitment emails are sent?


Add SnowRealMagic compatibility

Snow real magic places snow on grass and flowers. Snow under trees places snow under trees. This pull request places snow on grass and flowers under trees.

I'm not a fan of doing this with reflection. There should be a check for whether snow real magic is loaded, then call the class of the mod directly to set the consumer without the user of reflection.

I'll take a look at that later today--I've been using Java forever but I'm still pretty new to modding, so some of my code might not be idiomatic--and I'll implement placing snow under trees while snowing while I'm at it.


[Bitwarden Vault] When "Copy and Paste to Active App" selected, password not copied ("Generate Password (Quick)" command)

Extension
https://www.raycast.com/jomifepe/bitwarden
Description
It seems that when using the "Generate Password (Quick)" command, when the selected Action to perform after generating is "Copy and Past to Active App", the command is failing to copy the generated password to the clipboard. It successfully pastes the password into the active app, but the password is not copied to the clipboard.
The Action "Copy to Clipboard" works as expected; the generated password is successfully copied to the clipboard.
The Action "Paste to Active App" also works as expected; the generated password is pasted into the active app, but not copied to the clipboard.
Steps To Reproduce

In Raycast Preferences, for the command "Generate Password (Quick)", set the Action to perform after generating to "Copy and Paste to Active App".
Run the "Generate Password (Quick)" command.

Current Behaviour
The generated password is pasted into the active app, but it is not copied to the clipboard.
Expected Behaviour
The generated password is pasted into the active app, and it is copied to the clipboard.

Thanks for reporting, should be fixed now

Closing as fixed


Could there be a way to get both the value and the gradient?

Could there be a way to get both the value and the gradient?

It's on the todo feature list

Just stumbled across this issue, and I just want to say this would be incredibly incredibly useful!


[Business Approvals Kit - BUG] Error Request to the backend service timed out when custom connector invoked in a flow action

Describe the issue
Error Request to the backend service timed out is received when custom connector invoked in a flow action and its odd as it works for few requests and times out and then works for the further requests without us doing anything.
Error is as follows:

Expected Behavior
Custom connector should not time-out intermittently when invoked via an action in flow
What solution version are you using?
1.0.20240305.1
What app or flow are you having the issue with?
Custom Connector - when invoked via a flow
Steps To Reproduce

Create an approval process in business Approvals kit
Invoke it in a flow using custom connector
Trigger the flow multiple times and it times out intermittently

Anything else?
No response

Same issue as - https://github.com/microsoft/powercat-business-approvals-kit/issues/292


Fix: broken link

This colab still had the old tensorflow/tensorflow github link for the tflite-micro examples. This PR fixes that link to the new (and working) tensorflow/tflite-micro github link.

Thanks! Is there anything else I need to do or should the bots merge it once they've done battling over the labels?

The merge queue will take care of the rest - there are 3-4 PRs that I know of that are all in the queue so might take a bit of time.
I see that the checks are failing because we don't have a BUG=<> in the PR description. I'll go ahead and add that in.

Thanks for the nice experience with contributing! Being welcoming and open to questions like you were really goes a long way (:


[potential bug] light level keeps resetting

Firstly, thank you for developing and providing us this wonderful app.
Potential bug:

If you start the app with the FlashDim Quick Settings tile, change the light level, go to the home screen without closing the app and then going back in, the light level resets to maximum.
The same happens when you put your device in standby / locking it.

Sometimes awaking it is enough, but sometimes it only happens after unlocking it.

Crucial is that the FlashDim app need to be open (not in the background) before locking the device.
If you do this while the app is active in the background, the light level resets only after opening the app again.

This bug only occurs when opening through the Quick Settings tile. I tried to reproduce the issue with opening the app through the app drawer, but all works as intended.

First of all, thanks a lot for the nice words.
I already found the bug and implemented a fix today, will come in the next update. :)

Atm I'm implementing some things mentioned in https://www.reddit.com/r/androidapps/comments/yo1tbl/modern_flashlight_app_with_dim_functionality_on/.
That's why I won't upload an instant fix today.

Fix is online (at least in the Google Play Store).
Take a look if it's fine now.

Yes. Now it works like a charm 👍


Adding test module lib foo

This change adds the test module lib foo.

close this one as it for testing only.


network show native-token: Also show ROFL staking requirements

Currently the output looks like
$ oasis net show native-token --network testnet
Network:                  testnet
Token's ticker symbol:    TEST
Token's base-10 exponent: 9
Total supply:<PHONE_NUMBER>.0 TEST
Common pool:<PHONE_NUMBER>.297244237 TEST
Last block fees:          0.0 TEST
Governance deposits:      0.0 TEST
Debonding interval:       336 epoch(s)

=== STAKING THRESHOLDS ===
  entity:             100.0 TEST
  node-validator:     100.0 TEST
  node-compute:       100.0 TEST
  node-keymanager:    100.0 TEST
  runtime-compute:    10000.0 TEST
  runtime-keymanager: 10000.0 TEST

The STAKING THRESHOLDS should also contain something like runtime-rofl field?

Not sure if this should go under "network" as that is used for the consensus layer?
In any case the rofl module first needs a query that would return this information so please also open an issue in the SDK and link it here.

In any case the rofl module first needs a query that would return this information so please also open an issue in the SDK and link it here.

Should this also be updated in the genesis document page?

No, the genesis document is for the consensus layer.


Smooth out the lines

Can use a library like this:
http://paperjs.org/tutorials/paths/working-with-path-items/

+1 to this!

This is resolved with #21


Added the Back to top button

Related Issuse
Added the Back to top button
Closes: #153
Describe the changes you've made
https://user-images.githubusercontent.com/55352601/118276151-f2900500-b4e4-11eb-861c-f7eec1718dee.mp4
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.

@khannakshat7 please review :)

Should i add back to top in dashboard too.
It will not look so good in dashboard i think 🤔

@CodesbyUnnati kindly give review this PR


Add UKB ingression

at least for DSI Studio recon-specs
Changes proposed in this pull request
Update I2Q
Documentation that should be reviewed
Just the input data section of the docs.

What was the change in workbench?


希望能增加自定义每个模块开关的快捷键

Description of the new feature / enhancement
希望能增加自定义每个模块开关的快捷键
Scenario when this would be used?
任何时候
Supporting information
No response
CRUTKAS: Translation to English
Would love to add a shortcut #32138 to customize the switch for each module
Description of the new feature / enhancement
I hope to add shortcut keys to customize the switch of each module
Scenario when this would be used?
At all hours
Supporting information
No response

can you explain this more?  Right now this is a bit vague and what you think by the term "module"
Maybe outline what you'd hope by a few steps?
/needinfo

I'm sorry, I was just trying to give you feedback, but I didn't expect anyone to actually respond. Next, I would like to tell you that powertoys has many functions, such as one of the keyboard manager, I hope to have such a function, I can customize the shortcut key, such as win+shift+k, you can quickly open or close this function, the same way other functions can also customize the shortcuts key. Because I need to turn one of these functions on and off frequently (in essence, the keyboard manager), it is inconvenient to click the switch every time by open the program, and it would be much easier to have a shortcut key to switch the switch of a certain function.

@mbybtjh is your request covered by this issue: #4879


Sometimes project/resource text gets/got lost

Describe the bug
Hunt down the bug, that resource / project content of the currently selected book gets/got cleared. After converting the project into the correct folder and file structure somethimes content of the currently selected book got cleared out. Maybe after reopening P.B.
Needs investigation, but maybe this only happend

in an only version
with bad settings / file structure in place
with running multiple developer builds after each other that did conflicting things

To Reproduce
not sure
Expected behavior
No data loss

As Roopa told she also saw it back then, but after a fix by TJ could not reproduce it as I cannot, I am confident to close this :-)

As it is unclear how to reproduce this, will need to wait if something like this happens again or not. Therefore closing the issue


added new index type

Note that you need to add it to multielasticdump as well: https://github.com/Flared/elasticsearch-dump/commit/9ef503f1030ef87d5c65f9f647eddbea743e3078

applied the patch

Ugh, missed the load part of multielasticdump...
https://github.com/Flared/elasticsearch-dump/commit/9e9f6ab432a4c632568fbb072f1b5f2fb1058d44


Update test tf

updates to tests

CI fails due to old tokens... ok to merge and tokens will be updated in next run


refactor: Overhaul of nixos-config

refactor: Overhaul of nixos-config
refactor: Cleanup

#6
#5
#4
#3
#2  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @AVGVSTVS96 and the rest of your teammates on  Graphite


[REQUEST] New block creation after selected block

Is your feature request related to a problem? Please describe.
An issue with big configs is that new block creation always goes at end of the queue and someone should constantly click up to move it to the desired position ( or move it loliScript )
Describe the solution you'd like
It would be nice if the new block positioned right after the selected block. This way when we select a block and create a new block ( + ) it right goes to the position and doesn't need to move.

it's not a good idea bro
this will make more problems
if you add ability to move BLOCKS using mouse, will solve the problem in a better way and will not make more problems
@openbullet

shortcuts, like [Ctrl + Arrows] / [Ctrl + Moving block using mouse left click] will solve this

Sounds nice, I will try to add blocks reordering through drag and drop.

For now the first solution will be adopted, I will look into drag and drop after 1.2.1 since it's not very easy to implement properly and requires quite some time to code.

@Unkn9wn1, Of course, the ultimate solution to this is drag and drop and ability to multi-select blocks using meta keys ( CTRL, SHIFT, ... ). But for now, we could have this simple solution till there as @openbullet mentioned ^-^

@openbullet
please roll-back this or add option to disable this
now i have to click on last block before creating new block, every time!
or when i not changed block names yet-
i have to keep looking to find where my new block is
fixed Location for new created blocks is better
u can add drag and drop shortcuts [ctrl + mouse LC] instead of this
1.2.1#637

if it's temporary, no problem
just please roll-back it after adding drag and drop
also drag and drop without 'drag handle' or while not pressing other key like 'Ctrl', only with a mouse click and moving, will make more problems like this one, users could break their config with just a mouse click and they should keep looking to find what is the problem of their config


Update CONTRIBUTING.md with instruction for the local dev env

This PR depends on both #7 and #10 to be merged, and updates the CONTRIBUTING.md file (introduced by #10) explaining how to set up and start the local development server.

Moved to https://github.com/badging/BadgingAPI/pull/2


feat: add fetch config from internet

Add feature to fetch config from internet

@gelleson  do you have any update on this?

@haoel I have updated my PR.


increase test coverage, make lint & thunder client

we got to 97% coverage! thanks guys

we got to 97% coverage! thanks guys


When i want to launch elastalert

Hello,
It's my first post here, for my work i must install elastalert with elasticsearch.
WHen i load my rule its works, but when i want to lauch elastalert i've this error:
elastalert --config ../config.yaml --rule test.yaml Traceback (most recent call last):   File "/usr/local/bin/elastalert", line 9, in <module>     load_entry_point('elastalert==0.0.75', 'console_scripts', 'elastalert')()   File "/usr/local/lib/python2.7/dist-packages/elastalert-0.0.75-py2.7.egg/elastalert/elastalert.py", line 1332, in main     client = ElastAlerter(args)   File "/usr/local/lib/python2.7/dist-packages/elastalert-0.0.75-py2.7.egg/elastalert/elastalert.py", line 90, in __init__     self.conf = load_rules(self.args)   File "/usr/local/lib/python2.7/dist-packages/elastalert-0.0.75-py2.7.egg/elastalert/config.py", line 362, in load_rules     raise EAException('Invalid time format used: %s' % (e)) elastalert.util.EAException: Invalid time format used: type object argument after ** must be a mapping, not NoneType
If you have an idea to help me, thanks a lot !
Have a nice day !

hi @FheA what's the content of test.yaml?

timeframe must be of the format
timeframe:
  hours: 4

or
timeframe:
  days: 1

or similar. If you don't include the spaces before days/minutes/hours/etc, it will not be parsed correctly.

From example_rules/example_frequency.yaml
es_host: server url
es_port: 9200
name: Example rule
type: frequency
index: ems*
num_events: 50
timeframe:
hours: 4
filter:

term:
name: "blablabla"
alert:
"email"
email:
<EMAIL_ADDRESS>smtp_host: smtp.fr.mysmtp.com
smtp_port: 25
timestamp_field: timestamp
writeback_index: elastalert_florian

Hello i come back to you !
I've this error =
python -m elastalert.elastalert --verbose --rule test.yaml Traceback (most recent call last):   File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main     "__main__", fname, loader, pkg_name)   File "/usr/lib/python2.7/runpy.py", line 72, in _run_code     exec code in run_globals   File "/home/dhalsim/elastalert/elastalert/elastalert.py", line 1337, in <module>     sys.exit(main(sys.argv[1:]))   File "/home/dhalsim/elastalert/elastalert/elastalert.py", line 1332, in main     client = ElastAlerter(args)   File "/home/dhalsim/elastalert/elastalert/elastalert.py", line 90, in __init__     self.conf = load_rules(self.args)   File "elastalert/config.py", line 362, in load_rules     raise EAException('Invalid time format used: %s' % (e)) elastalert.util.EAException: Invalid time format used: type object argument after ** must be a mapping, not NoneType
Thanks !

timeframe:
  hours: 4

whitespace is important

@Qmando  Same here, I followed your comments by adding white space but no luck. Here is my TestRule.yaml
name: Example rule
type: frequency
index: myindex-*
num_events: 2
timeframe:
hours: 10
filter:

term:
CalledPartyNumber: "1234567890"
alert:
"email"
email:
<EMAIL_ADDRESS>smtp_host: smtp.company.com
smtp_port: 25
timestamp_field: DISC_DATE

You get Invalid time format used: type object argument after ** must be a mapping, not NoneType from that config?
It's possible that one of the other time options is messed up in the global config.yaml? Something like buffer_time or alert_time_limit?


Add cppcheck key for gentoo and fedora

gentoo: https://packages.gentoo.org/packages/dev-util/cppcheck
fedora: https://apps.fedoraproject.org/packages/cppcheck


Error: noNetwork in Testnet

Hello guys,
i got a noNetwork situation. I am running docker version of ripple (xrptipbot/rippled). The output of server_info is
"result" : {
"info" : {
"build_version" : "1.1.0",
"closed_ledger" : {
"age" : 13,
"base_fee_xrp" : 1e-05,
"hash" : "44F6ED7F16CEAB330AC5CC002744CBF716987E46BAEADD853ABB71CB83BF631F",
"reserve_base_xrp" : 200,
"reserve_inc_xrp" : 50,
"seq" : 2
},
"complete_ledgers" : "empty",
"hostid" : "3e0ed0483ab7",
"io_latency_ms" : 1,
"jq_trans_overflow" : "0",
"last_close" : {
"converge_time_s" : 0,
"proposers" : 0
},
"load" : {
"job_types" : [
{
"job_type" : "untrustedValidation",
"per_second" : 2
},
{
"job_type" : "untrustedProposal",
"per_second" : 5
},
{
"in_progress" : 1,
"job_type" : "clientCommand"
},
{
"job_type" : "writeObjects",
"per_second" : 1
},
{
"job_type" : "peerCommand",
"per_second" : 19
},
{
"job_type" : "diskAccess",
"per_second" : 1
}
],
"threads" : 6
},
"load_factor" : 1,
"network_ledger" : "waiting",
"peer_disconnects" : "0",
"peer_disconnects_resources" : "0",
"peers" : 2,
"pubkey_node" : "n9LMNTAZrX5T4GiCj4P5kERUR7QiGbwwUd56D2u3ywYm2zznZJK3",
"pubkey_validator" : "none",
"published_ledger" : "none",
"server_state" : "connected",
"state_accounting" : {
"connected" : {
"duration_us" : "23456150",
"transitions" : 1
},
"disconnected" : {
"duration_us" : "1502338",
"transitions" : 1
},
"full" : {
"duration_us" : "0",
"transitions" : 0
},
"syncing" : {
"duration_us" : "0",
"transitions" : 0
},
"tracking" : {
"duration_us" : "0",
"transitions" : 0
}
},
"time" : "2018-Oct-23 23:20:43.351196",
"uptime" : 25,
"validation_quorum" :<PHONE_NUMBER>,
"validator_list_expires" : "2018-Nov-06 00:00:00.000000000"
},
"status" : "success"
The rippled.cfg is
[ips]
#Mainet
#r.ripple.com 51235
r.altnet.rippletest.net 51235
<IP_ADDRESS> 51235
<IP_ADDRESS> 51235
<IP_ADDRESS> 51235
<IP_ADDRESS> 51235
<IP_ADDRESS> 51235
and the validators.txt is
[validator_list_sites]
https://vl.altnet.rippletest.net
[validator_list_keys]
ED264807102805220DA0F312E71FC2C69E1552C9C5790F6C25E3729DEB573D5860
[validators]
nHUhG1PgAG8H8myUENypM35JgfqXAKNQvRVVAFDRzJrny5eZN8d5
nHBu9PTL9dn2GuZtdW4U2WzBwffyX9qsQCd9CNU4Z5YG3PQfViM8
nHUPDdcdb2Y5DZAJne4c2iabFuAP3F34xZUgYQT2NH7qfkdapgnz
nHB1X37qrniVugfQcuBTAjswphC1drx7QjFFojJPZwKHHnt8kU7v
nHUkAWDR4cB8AgPg7VXMX6et8xRTQb2KJfgv1aBEXozwrawRKgMB
[validation_quorum]
3
what do i miss? thanks

It takes more than 25 seconds to sync with the network usually.

But I have left the server running for days and still got that problem. I am running it in Google Cloud

The server_info output from above is only 25 seconds after startup. Also the config file is not the full one you're using, right? Anyways, you seem at least initially to have had 2 peers. What does server_info say now and what's your whole config file?

Remove the following from validators.txt:
[validators]
nHUhG1PgAG8H8myUENypM35JgfqXAKNQvRVVAFDRzJrny5eZN8d5
nHBu9PTL9dn2GuZtdW4U2WzBwffyX9qsQCd9CNU4Z5YG3PQfViM8
nHUPDdcdb2Y5DZAJne4c2iabFuAP3F34xZUgYQT2NH7qfkdapgnz
nHB1X37qrniVugfQcuBTAjswphC1drx7QjFFojJPZwKHHnt8kU7v
nHUkAWDR4cB8AgPg7VXMX6et8xRTQb2KJfgv1aBEXozwrawRKgMB

[validation_quorum]
3


Add auto remove flag

This PR adds the auto_remove flag (enabled by default). This flag signals docker to remove the container when it's stopped. In this way, when you don't use the reaper you at least don't keep all the successfully stopped containers.

I bumped erlef/setup-beam to v1, I assume this will resolve the CI issue.

BTW I fixed the CI on master, feel free to rebase from there.
Just be aware that for some reason some test seems to be a little fleaky now - I haven't figured out why yet.

BTW I fixed the CI on master, feel free to rebase from there.
Just be aware that for some reason some test seems to be a little fleaky now - I haven't figured out why yet.

Ah ok, I merged master inside this PR, if you want a rebase and squash, let me know, and I'll rebase and squash the commits.

Ah ok, I merged master inside this PR, if you want a rebase and squash, let me know, and I'll rebase and squash the commits.

No worries, it's going to be squashed on merge anyway :)
One final thing, could you do a mix format run? Then I'll merge right away

Ah ok, I merged master inside this PR, if you want a rebase and squash, let me know, and I'll rebase and squash the commits.

No worries, it's going to be squashed on merge anyway :) One final thing, could you do a mix format run? Then I'll merge right away

done!

Thank you!


Add support for TYPO3 v12

The Problem/Issue/Bug:
The new TYPO3 v12 major version has some breaking changes regarding the settings files.
How this PR Solves The Problem:
This patch introduces an automatic detection of the TYPO3 version 12 or higher and properly adapts the setting file paths and names.
To avoid the creation of the .gitignore in the wrong location, it is not written anymore before TYPO3 is installed or the version could be properly detected.
Manual Testing Instructions:
Follow the quick start guide to test this change. To test it for a previous version just add a version to the composer create command e.g.:
ddev composer create --no-install "typo3/cms-base-distribution:^11"

Automated Testing Overview:

Related Issue Link(s):
https://github.com/TYPO3/get.typo3.org/issues/386
Release/Deployment notes:

This one I'd dearly love to get into v1.21.2, which I hope to cut very soon, would have considered it today if this didn't come up. Thanks for the great work on this!

Fixed the failing test today and all green again :)

Congrats on tests, and thanks!


Laravel 7 support

After checking changes in Laravel 7 and after testing on my side, it's working without a problem. This should be realized as a new version because support for 5.5 and 6.0 is out.

It doesn't make sense to extend the exceptions from the Throwable Interface.
The only thing that has changed is the Laravel 7 exception handler typehints. This version is also backwards compatible. See #43


Turn the 6 notes into a multi picker

This may be an ios 16 only feature but the six notes could be a multi picker

Have you considered a simple multi select picklist for the flavor profile - rather than 6 identical picklists?

I'm not going to do this until SwiftUI has a way to handle this.


Electrs nginx integration

Based on: https://github.com/rootzoll/raspiblitz/pull/1250

Getting:
$ sudo nginx -t
nginx: [emerg] "stream" directive is not allowed here in /etc/nginx/sites-enabled/electrs_ssl.conf:4

Will try with the same syntax as with the other services.

Serves on LAN_IP:50002 over HTTPS using the self signed certificate used by all other services.


Pattern match on global search matches line preceding pattern

VSCode Version: Code - Insiders 1.13.0-insider (ec76a9fc5146b822cdb14b982ac3e5b470dd646a, 2017-05-19T08:07:58.056Z)
OS Version: Darwin x64 16.5.0
Extensions:

Extension
Author
Version

swagger-viewer
Arjun
1.4.0

vscode-docker
PeterJausovec
0.0.14

vscode-eslint
dbaeumer
1.2.11

vscode-whitespacer
deerawan
1.0.0

pgsql
doublefint
0.0.7

vscode-sql-connect
dvdbrink
0.2.1

vscode-great-icons
emmanuelbeziat
2.1.4

mssql
ms-mssql
1.0.0

typescript-javascript-grammar
ms-vscode
0.0.19

Found when trying to replace needless semicolons in JavaScript

Steps to Reproduce:

Open a javascript project or file
Global search for ';\n'
Set 'Use Regular Expression'
Set replacement to '\n'
Search
Replace All
Instead of replacing ';', VS matches and replaces the entire line up to ';'

This works fine on current file search/replace

The search viewlet does not really support multiline search, so the visualization is messed up. This will only operate on currently open files anyway - I recommend using ;$ instead.


Update configuration-page.md

Improve intend for sample code

Acrolinx Scorecards
We do not currently enforce a minimum score for content merged to the default branch. This will change in the future.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/tabs/how-to/create-tab-pages/configuration-page.md
96
4
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit bfaf0b0:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/tabs/how-to/create-tab-pages/configuration-page.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Routing failed. TypeError: Cannot read properties of undefined (reading 'pagePath'

Preliminary Checks

[X] I have reviewed the documentation: https://clerk.com/docs

[X] I have searched for existing issues: https://github.com/clerk/javascript/issues

[X] I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)

[X] This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.

Reproduction
don't have a reproduction
Publishable key
pk_live_Y2xlcmsud2l0aHRlcm1pbmFsLmNvbSQ
Description

Steps to reproduce:

Setup NextJS & Clerk, similar to https://clerk.com/docs/quickstarts/nextjs
Deploy to a hosted environment. (In my case, AWS, Lambda, and SST)
Log in
Log out

Expected behavior:
You see your login page
Actual behavior:

Routing failed. TypeError: Cannot read properties of undefined (reading 'pagePath') at du (file:///var/task/packages/dashboard/middleware.mjs:56:3273) at uu (file:///var/task/packages/dashboard/middleware.mjs:56:3128) at cu (file:///var/task/packages/dashboard/middleware.mjs:56:3063) at file:///var/task/packages/dashboard/middleware.mjs:56:2570 at Object.protect (file:///var/task/packages/dashboard/middleware.mjs:56:6831) at pu.afterSignInUrl (file:///var/task/packages/dashboard/middleware.mjs:56:7570) at file:///var/task/packages/dashboard/middleware.mjs:56:4648 at AsyncLocalStorage.run (node:async_hooks:338:14) at Object.g (file:///var/task/packages/dashboard/middleware.mjs:56:4630) at async file:///var/task/packages/dashboard/middleware.mjs:23:9303

The above error is thrown by the Clerk SDK, triggering the project's Error Boundary.
My middleware file is quite simple.
export default clerkMiddleware((auth, request) => {
  if (isProtectedRoute(request)) {
    auth().protect();
  }

  return NextResponse.next();
});

Environment
System:
    OS: macOS 14.5
    CPU: (8) arm64 Apple M3
    Memory: 77.17 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.11.0 - ~/Library/Caches/fnm_multishells/9874_1721250512495/bin/node
    npm: 10.2.4 - ~/Library/Caches/fnm_multishells/9874_1721250512495/bin/npm
    pnpm: 9.4.0 - ~/Library/Caches/fnm_multishells/9874_1721250512495/bin/pnpm
    bun: 1.1.16 - ~/.bun/bin/bun
  Browsers:
    Chrome: 126.0.6478.183
    Safari: 17.5
  npmPackages:
    @clerk/nextjs: ^5.0.12 => 5.2.3
    @heroicons/react: ^2.1.1 => 2.1.5
    @hookform/resolvers: ^3.4.2 => 3.9.0
    @knocklabs/client: 0.10.11 => 0.10.11
    @knocklabs/react: 0.2.25 => 0.2.25
    @radix-ui/react-accordion: ^1.1.2 => 1.2.0
    @radix-ui/react-alert-dialog: ^1.0.5 => 1.1.1
    @radix-ui/react-aspect-ratio: ^1.0.3 => 1.1.0
    @radix-ui/react-avatar: ^1.0.4 => 1.1.0
    @radix-ui/react-checkbox: ^1.1.1 => 1.1.1
    @radix-ui/react-collapsible: ^1.0.3 => 1.1.0
    @radix-ui/react-context-menu: ^2.1.5 => 2.2.1
    @radix-ui/react-dialog: ^1.0.5 => 1.1.1
    @radix-ui/react-dropdown-menu: ^2.0.6 => 2.1.1
    @radix-ui/react-hover-card: ^1.0.7 => 1.1.1
    @radix-ui/react-label: ^2.0.2 => 2.1.0
    @radix-ui/react-menubar: ^1.0.4 => 1.1.1
    @radix-ui/react-navigation-menu: ^1.1.4 => 1.2.0
    @radix-ui/react-popover: ^1.0.7 => 1.1.1
    @radix-ui/react-progress: ^1.0.3 => 1.1.0
    @radix-ui/react-radio-group: ^1.1.3 => 1.2.0
    @radix-ui/react-scroll-area: ^1.0.5 => 1.1.0
    @radix-ui/react-select: ^2.0.0 => 2.1.1
    @radix-ui/react-separator: ^1.0.3 => 1.1.0
    @radix-ui/react-slider: ^1.1.2 => 1.2.0
    @radix-ui/react-slot: ^1.0.2 => 1.1.0
    @radix-ui/react-switch: ^1.0.3 => 1.1.0
    @radix-ui/react-tabs: ^1.1.0 => 1.1.0
    @radix-ui/react-toast: ^1.1.5 => 1.2.1
    @radix-ui/react-toggle: ^1.0.3 => 1.1.0
    @radix-ui/react-toggle-group: ^1.0.4 => 1.1.0
    @radix-ui/react-tooltip: ^1.0.7 => 1.1.2
    @sentry/nextjs: ^7.114.0 => 7.118.0
    @spotlightjs/spotlight: ^2.0.0 => 2.0.0
    @tanstack/react-query: ^5.40.0 => 5.51.1
    @tanstack/react-table: 8.19.2 => 8.19.2
    @terminal/cdn: workspace:* => 0.0.0
    @terminal/config: workspace:* => 0.0.0
    @terminal/core: workspace:* => 0.0.0
    @terminal/generated: workspace:* => 0.0.0
    @terminal/schemas: workspace:* => 0.0.0
    @terminal/sdk: workspace:* => 0.0.0
    @terminal/spotlight-logger: workspace:* => 0.0.1
    @types/node: ^20 => 20.14.11
    @types/papaparse: ^5.3.14 => 5.3.14
    @types/react: ^18.3.3 => 18.3.3
    @types/react-dom: ^18.3.0 => 18.3.0
    autoprefixer: ^10.0.1 => 10.4.19
    axios: ^1.6.7 => 1.7.2
    class-variance-authority: ^0.7.0 => 0.7.0
    clsx: ^2.0.0 => 2.1.1
    cmdk: ^1.0.0 => 1.0.0
    date-fns: ^3.0.0 => 3.6.0
    embla-carousel-react: 8.1.6 => 8.1.6
    eslint: ^8 => 8.57.0
    eslint-config-next: 14.2.5 => 14.2.5
    google-maps-react-markers: ^2.0.10 => 2.0.10
    jotai: ^2.6.4 => 2.9.0
    lucide-react: ^0.407.0 => 0.407.0
    next: 14.2.5 => 14.2.5
    next-themes: ^0.3.0 => 0.3.0
    nuqs: ^1.17.4 => 1.17.4
    papaparse: ^5.4.1 => 5.4.1
    postcss: ^8 => 8.4.39
    posthog-js: ^1.131.3 => 1.146.1
    react: ^18.3.1 => 18.3.1
    react-day-picker: ^8.10.0 => 8.10.1
    react-dom: ^18.3.1 => 18.3.1
    react-error-boundary: ^4.0.12 => 4.0.13
    react-hook-form: ^7.51.5 => 7.52.1
    react-resizable-panels: ^2.0.5 => 2.0.20
    sonner: ^1.4.41 => 1.5.0
    svix-react: ^1.11.0 => 1.11.0
    tailwind-merge: ^2.2.1 => 2.4.0
    tailwindcss: ^3.3.0 => 3.4.4
    tailwindcss-animate: ^1.0.7 => 1.0.7
    typescript: ^5.5.2 => 5.5.3
    vaul: ^0.9.0 => 0.9.1
    zod: ^3.23.8 => 3.23.8

Hi!
Sorry to hear you're running into an issue. To help us best begin debugging the underlying cause, it is incredibly helpful if you're able to create a minimal reproduction. This is a simplified example of the issue that makes it clear and obvious what the issue is and how we can begin to debug it.
If you're up for it, we'd very much appreciate if you could provide a minimal reproduction and we'll be able to take another look.
Thanks for using Clerk!

Hello 👋
In an effort to keep our GitHub issues clean and focused, we close any issues that are awaiting a reproduction after 8 days on inactivity, and it has been 7 days. This issue will be closed tomorrow unless a reproduction is provided. If it takes longer than this to get a reproduction, that's ok, just drop a comment and we will remove the Stale label.
How to create a minimal reproduction
Thanks for being a part of the Clerk community! 🙏

I have this exact same setup and am running into this issue when I try to log in with a domain that hasn't been whitelisted. It also causes a Lambda timeout which slows down my next login significantly. When I log in with a gmail account that has access everything works fine.

For context I'm authenticating like this:
await signIn.authenticateWithRedirect({
        strategy: "oauth_google",
        redirectUrl: "/sso-callback",
        redirectUrlComplete: "/manage-inspections",
})

FYI https://github.com/clerk/javascript/pull/3773 did not resolve the issue

@MisterJimson @thadhutch Would you mind checking if this snapshot fixes your issue ?
npm i<EMAIL_ADDRESS>--save-exact

Great, this will be shipped in the next minor/patch release.
About the 404, we will investigate. Please provide us with any additional info, that you think will help us reproduce, in #3864

Figured I'd circle back on this since it's still ongoing. For me, the issue was actually caused by how I configured my VPC. It was actually unrelated to Clerk, but I didn't reproduce once I fixed my configuration. I ended up just implementing auth with an open source library.

This issue started happening again when I updated from the snapshot build to try to get the benefit of https://github.com/clerk/javascript/issues/3864 being solved.
On "@clerk/nextjs": "5.4.0"

the issue was actually caused by how I configured my VPC.

Can you elaborate?

the issue was actually caused by how I configured my VPC.

Can you elaborate?

Yea, I had my vpc setup incorrectly so any external request outside the vpc on my application was timing out. This just happened to be the first 3rd party API I integrated.


Use pre-installed Azure PowerShell modules

/azp run js - smoke-tests

/azp run js - smoke-tests

/azp run js - smoke-tests

/azp run js - smoke-tests

Pipeline js - smoke-tests is still failing due to a pre-existing issue, but the pipelines are passing step Deploy Smoke Test resources and prepare samples, so my change should be good.

/check-enforcer override


snippet too slow

im new to vscode and want to try out snippet for php:
this is my php.json:

{
	"pubfunc": {
		"prefix": "pubfunc",
		"body": [
			"public function $1()\r",
			"{\r",
			"\t$2",
			"}"
		],
		"description": "create public method"
	}
}

it takes a very long time for my snippet suggestion to popup. the only temporary fix is to set
"editor.tabCompletion": true
i have a lot of snippet in my sublime, and it take a second for snippet suggestion to popup. please optimize the snippet suggestion.

Please try with extensions and please provide the language in which this happens. Also, how many snippets do you have configured?

@jrieken sorry for lack on info.
Language: PHP
Snippet: only 1
Installed Extension: intelelephense & intellisense

Ok, please try without extensions... It's likely that an extension computes suggestion slowly and that snippets have to wait for that to finish. Only once all providers have computed a result, they are displayed

@jrieken
without extensions seems to fix my issues, so is this mean that i need to disable my extensions?

Try enabling the extensions one at a time to narrow it down.

@bmewburn time delay for snippet suggestion has reduce from 5 sec to 3 sec.


Save disk space by cleaning up decompressed files independently from legacy script succeeding or not

Save disk space by cleaning up decompressed files independently from legacy Fortran code succeeding or crashing.

Moved deleting the decompressed files from the shell script to the method LegacyWeightSolver.solve() so deletion takes place independently of any errors that might occur in the shell script and/or the legacy executables called by that script.

Safer removal of nn_orbmat.out: check for existing file before deleting.
Suggestion for testing:

Provoke an error in LegacyWeightSolver.solve(), right after executing the shell script (this simulates a script error). For example, this can be done in weight_solvers.py by changing line 316 from if not p.stdout.decode("UTF-8"): to if not p.stdout.decode("UTF-8") and False:.
Run any example using the LegacyWeightSolver.
Verify that after DYNAMITE crashes, there are no surviving orblib_*.dat files in any of the datfil/ folders (those would be the uncompressed files).
Optional: in line 314, change os.remove(f_name) to pass and re-run. The orblib_*.dat files should still be there in the datfil/ folder(s) after DYNAMITE crashes.

So far, tested successfully with test_nnls.py (after changing to the LegacyWeightSolver in its config file).

I ran the suggested test with test_nnls and all orblib_*.dat files are removed.

Many thanks, Prash! Will merge and delete branch :-)


bug: n.select on_select field returns nil when node clearly exists

I'm trying to incorporate this library into my own plugin, but with the following file.
local function tonode(themes)
  local nodes = {}
  for _, theme in pairs(themes) do
    local node = n.option(theme, { name = theme })
    table.insert(nodes, node)
  end
  return nodes
end

-- TODO: let create_renderer to take in a function or a table of acceptable values
local renderer = n.create_renderer({
  width = 40,
  height = vim.api.nvim_win_get_height(0),
  relative = "editor",
  -- position starts from the left corner
  position = {
    row = 0,
    col = vim.api.nvim_win_get_width(0) - 3,
  },
})

local body = n.columns(n.rows(
  { flex = 2 },
  n.prompt({
    autofocus = true,
    prefix = " ::: ",
    size = 1,
    border_label = {
      text = "󰌁 Huez",
      align = "center",
    },
  }),

  n.select({
    flex = 1,
    autofocus = false,
    border_label = "Themes",
    data = tonode(api.get_installed_themes(vim.g.huez_config.exclude)), -- this api call return's a list of strings which are then cast to nodes
    on_change = function(theme)
      vim.cmd("colorscheme " .. theme.name)
    end,
    on_select = function(theme)
      api.save_colorscheme(theme.name) -- <--- the problem is here, and I've already tested that this api call works as intended in my testing suite.
      renderer:close()
      utils.log_info("Selected " .. theme.name)
    end,
  })
))

The on_change function works completely fine giving me the impression that theme.name is not nil. BUT when I select a color scheme, the on_select function will print me theme.name prints nil, I have already tested that my api's work, I'm wondering if there's anything I'm doing that's particularly wrong.
steps to reproduce

create a function strings that returns a list of strings
create a function to_node that takes in a list of strings as a arg and converts each string to a n.option returning an array of NuiTreeNodes
copy paste the above code and replace data = ... with data = to_node(strings)
Source the file and trying selecting an option

@vague2k thanks for posting this issue! fixed in v1.5.1

thanks for the quick fix, i really appreciate it 👍🏼


highlighting problems on github

(Original issue 1027 created by cordoval on 2014-08-27T11:45:41.348808+00:00)
I see highlighting problems on github, and was pointed to this repo to ask what the problem is?
https://github.com/sstok/gush/blob/3ccee0811aa08395a3fa3dcd6dfa325d712e6a5e/src/Command/Util/MetaHeaderCommand.php#L49
It seems the current version does handle it well http://pygments.org/demo/597886/ but the tagged version github is using is still having issues.

(Original issue 1027 last updated on 2014-10-05T17:53:38.317206+00:00)
(Issue automaticaly closed due to status in Bitbucket: duplicate)

(Original comment by tshatch on 2014-10-05T17:53:38.332806+00:00)
Duplicate of #1019.


Some Spritesheets Won't Build for Seven Sirens

Hello.
With the release of Shantae and the Seven Sirens, I did some digging to see if the currently existing tools that worked with Half-Genie Hero would also work with this newest installment. wfLZEx is able to successfully extract images--however, running the command on certain .anb files does not build spritesheets. When run with the --no-sheet flag, everything works fine--all of the images (as far as I'm aware, anyway) extract without issue.
This does seem to work with single images:

It also seems to work with some of the less "complex" sprites.

However, the output on the player_shantae/shantae.anb file is a blank PNG, though some of her other spritesheets (such as her hula outfit) work fine.
The current list of blank PNGs generated for the current version of the game is:

miningbot.png
necromancer.png
scorpgal.png
scorpguy.png
shantae.png
shell.png
siren.png
eye.png
face.png
heartsmith.png

Thanks! Was noticing that with some of them, but having a complete list to test against really helps. I think it has to do with output image size; would be better to just not attempt joining the images into a spritesheet if it's going to be too large, rather than outputting blank images.
As a side note, just FYI I noticed that plantlady.anb was crashing the program; I just fixed that just now, so I'll be releasing a fix for that soon (probably when I fix this problem as well).

Whoops, I didn't even notice that plantlady.anb crashed the program! I admittedly was just mass running it on all the .anb files I had and not paying attention to terminal output--I wonder if there are any other files that do so. Doing a search through the extracted .pac files says there's 904 in total, but when exporting whole spritesheets, I only got 858--and I got 856 when I used --no-sheet. I'll see if there's an easy way for me to get a list of what's not working, because plantlady.anb might not be the only one.


Add TypeScript definitions

Added some simple TypeScript definitions in order to make it easy for TypeScript users to integrate the library.

thanks!


Embed/ticket custom emoji

is it possbile to add thumbnail in embed and use custom emoji instead of use the default emoji

also while using ticketCat add only default emoji work. can we have custom ticket like this?

we need welcome message similar like this. sorry if my english is bad

I'm going back to 505


Cannot build on OSX 10.11.6 with CUDA 7.5 and XCode 7.3.1

Building dlib with CUDA support on OSX does not work (at least for me). Here is what I've tried:

Building with clang from XCode 7.31 (Apple LLVM version 7.3.0 (clang-703.0.31) ): cudnn_test_build fails: Does not support thread_local (see http://stackoverflow.com/a/29929949/72082, my output here: https://gist.github.com/grefab/dfe4e64355d8bf13312ee446f7b346a4)
Building with clang 3.8 from homewbrew: Build of cuda_test_build fails: That clang version is not supported by nvcc.
Building with clang 3.7 from homebrew: cuda-test-build fails: Multiple definitions of pow (see https://gist.github.com/grefab/b6399975368d87bb8324748e1cc336dd) I'm not sure what to do about that.
Building with GCC from homebrew (gcc-6 (Homebrew gcc 6.2.0) 6.2.0): cuda_test_build fails: nvcc fatal: GNU C/C++ compiler is no longer supported as a host compiler on Mac OS X.

Any ideas what I've missed and/or could be done to get dlib with CUDA support build on OSX?

Maybe you need clang 6 from x code (
http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-mac-os-x/#axzz4JkoHKEy1).
In any case, to use dlib with cuda you need a compiler supported by NVIDIA
and the compiler needs to support C++11.

Meh. That won't help. C++11 support of Apple's current clang is incomplete, i.e. it does not support thread_local. Versions before that are no better. Compiler extensions (__thread, _Thread_local) are not the same (I tried replacing thread_local by them: cudnn_dlibapi.cpp:166:13: error: '__thread' variables must have global storage, cudnn_dlibapi.cpp:115:13: error: '_Thread_local' variables must have global storage, so unless I figure out a way to get rid of thread_local in my fork of dlib completely (which I really dont'want) it seems that I have to wait for XCode 8 with a version of clang that really supports C++11.

Well, you should be able to use the dlib::thread_specific_data instead.
You declare them statically in a function and it works basically the same
way as thread_local.

You need to declare the thread specific data static or the variable goes out of scope and you return a dangling reference.   So like this static thread_specific_data<cublas_context> c;.  Then it will probably work.

Whee! That did the trick! Thx! :)

Here is the source: https://github.com/grefab/dlib/commits/feature/osx_cuda_build This seems to be a more or less system-specific hack, so I'd keep it in a separate branch. Let me know if you want a pull request anyways.

Cool.  I'm not sure if I want to put this in dlib main since I find it somewhat absurd that thread_local is missing from clang. :\
If I did I would add some preprocessor logic that made dlib::thread_specific_data use thread_local when it can and it's current implementation when it can't.

Nah, I think what I've done is a workaround for a problem that should not be there in the first place (thread_local support), too. Xcode8 will be out the next days and should fix that. If not, I'll be happy to try to polish my solution accordingly. :)

Sounds good :)

the branch at https://github.com/grefab/dlib/commits/feature/osx_cuda_build mostly fixed my compilation issues.
at the moment, on OSX we have to use xcode 7.3 because CUDA doesn't work with 8.0. so even if 8.0 has a solution to thread_local, we can't use it yet. so the thing we're waiting on right now is for CUDA to issue a minor update for OSX users.


Updating content and getting back in sync with main page

Adjusting links and language back with the main readme.
Also adding in exe args

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

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

Resolves https://github.com/MicrosoftDocs/windows-uwp/issues/3532


Need to have ReactFela in UMD for external importing

Is it possible to export react-fela in UMD format?

If you'd be able to provide a PR doing that I'd be more than happy.
We had UMD builds years ago, but removed them due to build complexity and low interest in general.
I'm happy to help out if you get stuck!


InputListLOC has wrong prop type.

Warning: Failed prop type: Invalid prop `selected` of type `array` supplied to `InputListLOC`, expected `object`.

Can't figure out how to reproduce this.


Is System.ArraySegment supported?

Can CompareNetObjects support this data type "System.ArraySegment"? This data type is very special, multiple object could share some original array.

@zjw0304 I would try it out.  If it does not work you can certainly implement the feature.  Please also create a unit test.  I would be happy to merge in the pull request.


Introduce mkBinaryCache function

Description of changes
This introduces a new function mkBinaryCache which can be used to construct a flat-file binary cache (i.e. one you can use with the file:// prefix) from a derivation. It's inspired by the closureInfo function and uses the same techniques to construct .narinfo files.
My use-case that I'd like to test Nix builds in a containerized CI environment, without downloading a bunch of stuff on every pipeline run. Thus, I want to make a binary cache of some kind available inside the container. The most efficient way to do this is with a bind-mount.
Initially I tried just mounting /nix/store to a path on the container, but I soon ran into a problem: you can either mount read/write, in which case the container might potentially mess with the integrity of the store, especially when run as root. Or, you can mount read-only, in which case you run into https://github.com/NixOS/nix/issues/6835. Some discussion on the Nix hackers Matrix channel showed that mounting the store read-only is unlikely to be solvable because of how the Sqlite DB works.
So, making a flat-file binary cache and then bind-mounting it seemed like the best approach. I initially tried just running nix copy inside a derivation but that didn't work well, so I came up with this function.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[N/A] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[N/A] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

Some discussion on the Nix hackers Matrix channel showed that NixOS/nix#6835 is unlikely to be solvable because of how the Sqlite DB works.

What was the reasoning there?  I've used sqlite on readonly-mounted devices before.  You might have to disable locking, which means promising that nothing else has read-write access to the same database.

disable locking, which means promising that nothing else has read-write access to the same database

You're right that SQLite can operate in that mode, but it's not really viable when you're talking about mounting the main store of the CI machine which is busily building other things.
FWIW, I did come up with one (fragile and intricate) solution where you manually create a writable overlay filesystem on /nix/var/nix/db and mount that. This allows Nix to work with the DB normally, but probably still leads to undefined behavior if the host database changes unexpectedly.
There is probably also the possibility for weirdness because IIRC Nix sometimes creates store paths while performing apparently side-effect-free operations, which would not work on the read-only mount--I'm not sure if this is a possibility when the store is being used as a substituter.
Lastly I forgot to mention, but there were also other problems with read-only mounts, like the one I described in the linked issue. I spent a while trying to hack Nix to operate in a read-only mode where it wouldn't try to do things like chmod directories, but it was kind of a mess.

I spent a while trying to hack Nix to operate in a read-only mode where it wouldn't try to do things like chmod directories, but it was kind of a mess.

I tried that too at one point and got pretty much the same results.
It is pretty weird how insistent Nix is about being able to write to /nix/store.

Indeed haha our beautiful pure functional abstraction is built on a thing that loves to randomly chmod stuff.
Any chance you'd be willing to review this?

I initially tried just running nix copy inside a derivation but that didn't work well,

What was the failure?
If nix copy can be made to work inside a derivation I think that's a better approach.  This has to be recursive nix in either case, so it's no worse there.  And on the upside, it won't duplicate the narinfo-file-creation code already in nix.

Overall I guess I'm a bit unclear on the use case for this being in nixpkgs

The argument is just that this is a useful function, for working with a "core" Nix functionality, which ought to be generally available.

I'm also a bit unsure about the use of recursive nix

I wouldn't call it recursive nix -- it uses nix-store --dump and nix-hash. The former creates a NAR file and the latter hashes it. These are "utility" functions which happen to reside inside nix-store and nix-hash executables, and could be replaced with other tools. There's certainly no derivation building going on here.

For nix-store --dump: I looked around for a simple standalone tool to make NAR archives, but couldn't find one.
For nix-hash: any sha256 hashing tool would work, but I wanted to create the non-standard sha256:XXX style hashes which Nix uses, to match the behavior of nix copy.

If nix copy can be made to work inside a derivation I think that's a better approach.

I found nix copy was trying to access the internet, even though I was just trying to do --to file://$out. Running with --impure didn't fix it, it seemed confused that the Nix DB wasn't available.

The argument is just that this is a useful function

But is it useful to nixpkgs?  Nixpkgs is (a) a collection of expressions for building software and (b) Nix subroutines needed by (a).
If there is some software you want to package within nixpkgs that needs this subroutine, it would be a great idea to include it with the PR which adds that software package.

But is it useful to Nixpkgs?

I would say definitely! A Nix binary cache is a perfectly valid kind of software that I might want to build. It is an end goal in itself, if you're trying to work with Nix substituters.
For a close analogy of something already in Nixpkgs, consider dockerTools.
Since Nix binary caches are a native part of the Nix ecosystem, Nixpkgs seems like a very natural place to add support.

Without having read the whole thread: this has the same issues as closureInfo, as described in https://github.com/NixOS/nixpkgs/pull/123943#pullrequestreview-691704204 and https://github.com/NixOS/nix/issues/4840

this has the same issues as closureInfo, as described in #123943 (review) and NixOS/nix#4840

I don't think so.  This PR doesn't involve nix-store --load-db.
This PR doesn't try to separate the DB from the store paths and then restore the store paths using substituters.  As you noted in #123943, that's what caused the problems.

In fact, this PR does exactly what @roberth said all uses of closureInfo ought to do:

this functionality must only be used in derivations that produce no references to the original paths; instead incorporating all paths in an image (or similar)

That's what this PR does.  And it is packaged in a way that makes it impossible to not do this.
So it does appear as if this is less footgun-prone than closureInfo.  Unfortunately it is not really a replacement for closureInfo; they don't do the same thing, although there is some overlap in functionality.

Okay, I've taken a stab at documentation.
I'm having a little trouble adding a NixOS test, because the VM environment seems not to having a working NIX_PATH with nixpkgs. I've found that NIX_PATH equals NIX_PATH=nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:nixos-config=/etc/nixos/configuration.nix:/nix/var/nix/profiles/per-user/root/channels.
However, I'm finding that /nix/var/nix/profiles/per-user/root is an empty directory. Do you happen to know if there's some test setup I'm missing @roberth ?

A channel can be set up by importing nixos/modules/installer/cd-dvd/channel.nix
Suppose you want to build pkg, then you can add pkg.inputDerivation to the cache to provide the build dependencies.

That helped, thanks!
I'm having trouble with inputDerivation thing though. I was hoping adding hello.inputDerivation to the systemPackages would result in a VM where the full closure of hello is present. But instead the test fails to build with error: The store path /nix/store/ab0dn2k2xhx91amhr5dab82k4fwr1q99-hello-2.12.1 is a file and can't be merged into an environment using pkgs.buildEnv! at /nix/store/0v81528s8264h402mzbchvc1k3m937xy-builder.pl line 122.. Any chance you can see what I'm doing wrong?

You could use system.extraDependencies, or you could add it to mkBinaryCache instead.

Okay, got a working VM test!

For what it's worth, you'll probably want to use this Nix feature, which is not available yet.

https://github.com/NixOS/nix/pull/7087

@roberth think we could push this over the finish line? There's just one more small discussion going on the docs that should be done shortly.

Friendly ping @roberth, I think this is ready to go!

@roberth just checking in again, think we can merge this? Thanks!

Also https://github.com/NixOS/nix/pull/7087 was merged this week. Would you be interested in trying it out and updating this PR to set the right flag?

nix shell nix will make you a nix that supports it, although you do have to set an experimental feature for now.

Oh, no, no, no, no, no. That's not right. You do need to update your system nix or use a relocated store "chroot" store.
nix shell nix
nix --store ~/experimental-store --extra-experimental-features discard-references build nixosTests.binary-cache  # etc

Would you be interested in trying it out and updating this PR to set the right flag?

Sure -- would that be unsafeDiscardReferences.out = true ?
I'm having some trouble applying your suggestions above. Both cause the tests to fail in slightly different ways. Error messages are below. I have no idea why these cause failures, maybe the code this is based on has to be just so. Help?
Suggestion 1: Use nativeBuildInputs/buildCommand instead of PATH/builder
machine # building '/nix/store/x30m3rvz7j39imcm6i25mf444kiavlbp-acl-2.3.1.tar.gz.drv'...
machine # warning: error: unable to download 'https://mirror.easyname.at/nongnu/acl/acl-2.3.1.tar.gz': Couldn't resolve host name (6); retrying in 288 ms
machine # warning: error: unable to download 'https://mirror.easyname.at/nongnu/acl/acl-2.3.1.tar.gz': Couldn't resolve host name (6); retrying in 603 ms
machine # warning: error: unable to download 'https://mirror.easyname.at/nongnu/acl/acl-2.3.1.tar.gz': Couldn't resolve host name (6); retrying in 1412 ms
machine # warning: error: unable to download 'https://mirror.easyname.at/nongnu/acl/acl-2.3.1.tar.gz': Couldn't resolve host name (6); retrying in 2016 ms
machine # error: unable to download 'https://mirror.easyname.at/nongnu/acl/acl-2.3.1.tar.gz': Couldn't resolve host name (6)
machine # error: builder for '/nix/store/x30m3rvz7j39imcm6i25mf444kiavlbp-acl-2.3.1.tar.gz.drv' failed with exit code 1
machine # error: 1 dependencies of derivation '/nix/store/1aq767kvk0v8s7z7rvbc6ymlnxrpf85f-acl-2.3.1.drv' failed to build
machine # building '/nix/store/c99ihlhb2lh875spzsl6rnc4058grxvn-autoconf-2.71.tar.xz.drv'...
machine # error: 1 dependencies of derivation '/nix/store/5b0mvjy9yqhphn6jf7hz2lrxqrdcfgb9-libarchive-3.6.1.drv' failed to build

Suggestion 2: stdenv -> stdenvNoCC
machine # warning: error: unable to download 'http://tarballs.nixos.org/stdenv-linux/x86_64/c5aabb0d603e2c1ea05f5a93b3be82437f5ebf31/bootstrap-tools.tar.xz': Couldn't resolve host name (6); retrying in 337 ms
machine # warning: error: unable to download 'http://tarballs.nixos.org/stdenv-linux/x86_64/c5aabb0d603e2c1ea05f5a93b3be82437f5ebf31/bootstrap-tools.tar.xz': Couldn't resolve host name (6); retrying in 648 ms
machine # warning: error: unable to download 'http://tarballs.nixos.org/stdenv-linux/x86_64/c5aabb0d603e2c1ea05f5a93b3be82437f5ebf31/bootstrap-tools.tar.xz': Couldn't resolve host name (6); retrying in 1407 ms
machine # [   37.506805] systemd[1]: Started Logrotate Service.
machine # [   37.531086] systemd[1]: logrotate.service: Deactivated successfully.
machine # warning: error: unable to download 'http://tarballs.nixos.org/stdenv-linux/x86_64/c5aabb0d603e2c1ea05f5a93b3be82437f5ebf31/bootstrap-tools.tar.xz': Couldn't resolve host name (6); retrying in 2556 ms
machine # error: unable to download 'http://tarballs.nixos.org/stdenv-linux/x86_64/c5aabb0d603e2c1ea05f5a93b3be82437f5ebf31/bootstrap-tools.tar.xz': Couldn't resolve host name (6)
machine # error: builder for '/nix/store/bzq60ip2z5xgi7jk6jgdw8cngfiwjrcm-bootstrap-tools.tar.xz.drv' failed with exit code 1

I just rebased everything on master and force pushed, including your two suggestions @roberth. So on the current branch the tests fail on HEAD and HEAD~1, but pass on HEAD~2.

Ok, back from a deep rabbit hole that included improving the NixOS/nix testing infrastructure.
Anyway, both errors are caused by dependencies that need to be included into the VM's closure, so that they don't have to be built - well, attempted to be built, and fetched.
A way to achieve that is with inputDerivation, which didn't quite work yet. #215173
If you could squash the commits after removing my broken suggestions, I think we can move this forward. You can omit the co-authored-by stuff, because this is 99.9% your work anyway.

Okay, squashed and rebased again. Sorry for the noise all.

Has the time come at last @roberth? :smiley:
I know we discussed using the new self-contained outputs thing here, but at this point the PR has been open for so long I'd love to get it merged and pursue future improvements in a subsequent PR.


Decide on future status of targets, diseases, and drugs endpoints

As we have been encouraging users to utilise BigQuery and our dataset downloads for more comprehensive and systematic queries, we should decide the future status of the targets, diseases, and drugs endpoints.
Should these endpoints be officially deprecated?

For context, we have already had a user try the targets endpoint to return Known Drugs data for a list of targets.
See https://community.opentargets.org/t/graphql-interface-failing-to-fetch-knowndrugs/306 for the original post and my recommendation that they use BigQuery or the knownDrugsAggregated dataset.

I agree this requires some discussions. I wouldn't say deprecate is the way as it might be more performant to have 1 query of 10 targets than 10 individual GQL queries. There is clearly a tradeoff and a use case when this endpoints are reasonable and when they are not

I don't think that we want to deprecate them. I use them to quickly pull up several results, and from memory they are used in the FE. That said, there is a way to query multiple items in a single query using 'aliases':
query targets {
  t1: target(ensemblId: "ENSG00000168143") {
    id
    tep {
      uri
      name
    }
  }
  t2: target(ensemblId: "ENSG00000002745") {
    id
    tep {
      uri
      name
    }
  }
}

The above returns just about the same thing as the targets endpoint.
I saw the community discussion @andrewhercules and I think you're response is the only possible one. People wanting to pull comprehensive data sets need to use another service. GraphQL is a courtesy to provide programmatic querying rather than a data dump.
There is a more general issue however, which is we need to stop changing the GraphQL interface at some point. Beyond that properly deprecate old fields rather than just deleting/renaming things.

Ticket closed as endpoints will remain as they are useful for debugging and small queries. We will continue to recommend that more comprehensive and systematic use cases utilise either the dataset downloads or BigQuery.


handle back button presses within the login dialog fragment

This addresses an issue when the user presses back after following a link within the login dialog fragment

@gyasistory I added you as a member to this repo so you could review and make changes to this repo if necessary


[Feature request] Callbacks for data population

I'm probably wrong, but I don't think the FirebaseRecyclerAdapter and its children have callbacks for when the data is about to be initially populated or when it's finished populating items. I checked docs and code for the current and 2.0.0 branches, and I didn't see listeners or callbacks that would allow someone to display a progress bar if the database is taking a lot of time to fetch some items on a slow network and hide it when the items are populated. I know it's possible to do this for simple references like so:
dataRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        Data data = dataSnapshot.getValue(Data.class);
        textView.setText(data.getText());
        progressBar.setVisibility(View.GONE);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        // ...
    }
});

However, I'm wondering if something like this should be implemented in the FirebaseRecyclerAdapters:
dataAdapter.setOnPopulatedListener(new OnPopulatedListener() {
    @Override
    public void onPopulation() {
        progressBar.setVisibility(View.GONE);
    }
});

// Or perhaps, probably the right choice, by subclassing

public void onInitialPopulation() {
    progressBar.setVisibility(View.GONE);
}

The callback is onDataChanged which is available on the master branch.
A note of caution: there is little support for this method. It is completely broken for the index adapters and will never get called in certain situations when offline. I've just been using onChildChanged to know if I should show an empty list hint.

No wonder I didn't catch that small line of code! :open_mouth: Does the 2.0.0 branch include this method?

@TheCraftKid Yup! (Though it still isn't supported for the index stuff and probably won't be.)

Why won't it be supported for the indexing? Is it an implementation issue? Also, in what situations is onDataChanged not called?

@TheCraftKid So many questions! 😄 Well, now #633 should take care of it.
See https://github.com/firebase/FirebaseUI-Android/pull/477#issuecomment-270283875 for when onDataChanged isn't called.