Error when updating callback url with node10

Describe the bug
I  was asked to update lambda to node 10.x with the new cli version. I did update to node10.x then i updated (changed) my oauth redirect uri. When i try to push now, I got an error in the lambda.
On the CLI, I got stuck to "Updating resources in the cloud. This may take a few minutes...". Which can take up to 3 hours thanks to cloudformation lambda callout long timeout.
When I check the lambda logs, I got this error:
{
    "errorType": "Runtime.ImportModuleError",
    "errorMessage": "Error: Cannot find module 'cfn-response'",
    "stack": [
        "Runtime.ImportModuleError: Error: Cannot find module 'cfn-response'",
        "    at _loadUserApp (/var/runtime/UserFunction.js:100:13)",
        "    at Object.module.exports.load (/var/runtime/UserFunction.js:140:17)",
        "    at Object.<anonymous> (/var/runtime/index.js:45:30)",
        "    at Module._compile (internal/modules/cjs/loader.js:778:30)",
        "    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)",
        "    at Module.load (internal/modules/cjs/loader.js:653:32)",
        "    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)",
        "    at Function.Module._load (internal/modules/cjs/loader.js:585:3)",
        "    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)",
        "    at startup (internal/bootstrap/node.js:283:19)"
    ]
}

Here is the cloudformation code of lambda:
OAuthCustomResource:
    Type: 'AWS::Lambda::Function'
    Properties:
      Code:
        ZipFile: !Join
          - |+
          - - 'const response = require(''cfn-response'');'
            - 'const aws = require(''aws-sdk'');'
            - 'const identity = new aws.CognitoIdentityServiceProvider();'
            - 'exports.handler = (event, context, callback) => {'
            - 'try{'
            - ' const userPoolId = event.ResourceProperties.userPoolId;'
            - ' let webClientId = event.ResourceProperties.webClientId;'
            - ' let nativeClientId = event.ResourceProperties.nativeClientId;'
            - ' let hostedUIProviderMeta = JSON.parse(event.ResourceProperties.hostedUIProviderMeta);'
            - ' let oAuthMetadata = JSON.parse(event.ResourceProperties.oAuthMetadata);'
            - ' let providerList = hostedUIProviderMeta.map(provider => provider.ProviderName);'
            - ' providerList.push(''COGNITO'');'
            - ' if (event.RequestType == ''Delete'') {'
            - '  response.send(event, context, response.SUCCESS, {});'
            - ' }'
            - ' if (event.RequestType == ''Update'' || event.RequestType == ''Create'') {'
            - '  let params = {'
            - '   UserPoolId: userPoolId,'
            - '   AllowedOAuthFlows: oAuthMetadata.AllowedOAuthFlows,'
            - '   AllowedOAuthFlowsUserPoolClient: true,'
            - '   AllowedOAuthScopes: oAuthMetadata.AllowedOAuthScopes,'
            - '   CallbackURLs: oAuthMetadata.CallbackURLs,'
            - '   LogoutURLs: oAuthMetadata.LogoutURLs,'
            - '   SupportedIdentityProviders: providerList'
            - '  };'
            - '  let updateUserPoolClientPromises = [];'
            - '  params.ClientId = webClientId;'
            - '  updateUserPoolClientPromises.push(identity.updateUserPoolClient(params).promise());'
            - '  params.ClientId = nativeClientId;'
            - '  updateUserPoolClientPromises.push(identity.updateUserPoolClient(params).promise());'
            - '  Promise.all(updateUserPoolClientPromises)'
            - '  .then(() => {response.send(event, context, response.SUCCESS, {})}).catch((err) => {'
            - '    console.log(err.stack); response.send(event, context, response.FAILED, {err});'
            - '  });'
            - ' }'
            - '} catch(err) { console.log(err.stack); response.send(event, context, response.FAILED, {err});};'
            - '}'

      Handler: index.handler
      Runtime: nodejs10.x
      Timeout: '300'
      Role: !GetAtt
        - UserPoolClientRole
        - Arn
    DependsOn: HostedUIProvidersCustomResourceInputs

Amplify CLI Version
4.11.0
To Reproduce

Get a project with version 3.x of CLI with auth (lambda in node8.10)
Update cli to latest version
amplify status
Accept to update to node 10.
Update auth

What do you want to do? Add/Edit signin and signout redirect URIs
 Which redirect signin URIs do you want to edit? https://localhost:3000/
? Update https://localhost:3000/ https://xxxx.cloudfront.net/
 Do you want to add redirect signin URIs? No
 Which redirect signout URIs do you want to edit? https://localhost:3000/
? Update https://localhost:3000/ https://xxxx.cloudfront.net/
 Do you want to add redirect signout URIs? No
Succesfully updated the Lambda function locally
Succesfully updated the Lambda function locally
Succesfully updated the Lambda function locally
Successfully updated resource nikociam locally

Some next steps:
"amplify push" will build all your local backend resources and provision it in the cloud
"amplify publish" will build all your local backend and frontend resources (if you have hosting category added) and provision it in the cloud

 % ampllify publish

Expected behavior
Should work and module should be accessible from lambda.

Also got an error with the PreTokenGeneration lambda when updated to node10.
Here is the error:
{
    "errorType": "Error",
    "errorMessage": "Cannot find module 'alter-claims'",
    "code": "MODULE_NOT_FOUND",
    "stack": [
        "Error: Cannot find module 'alter-claims'",
        "    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)",
        "    at Function.Module._load (internal/modules/cjs/loader.js:562:25)",
        "    at Module.require (internal/modules/cjs/loader.js:692:17)",
        "    at require (internal/modules/cjs/helpers.js:25:18)",
        "    at Runtime.exports.handler (/var/task/index.js:10:25)",
        "    at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
    ]
}

For the last part (PreTokenGeneration), I saw that now in the code, it generates with this for the require: require(`./${modules[i]}`). So this is maybe missing when asking the user to update to node 10 for cognito lambda function?
But it doesn't solve the first problem (module not found with the function created inside the cloudformation yml).

@SebSchwartz For the cf-response error, see my comment here which may fix your problem (I am in the process of pushing changes myself so I don't know if manually changing this works yet):
https://github.com/aws-amplify/amplify-cli/issues/2745#issuecomment-571797398

@SebSchwartz
Which AWS region did you set up your backend resources?

@UnleashedMind I'm in eu-west-1 region for this project.

@SebSchwartz Are you still stuck with this?

Closing this issue due to lack of user information. Please comment on this thread if you're still seeing this issue.


how to get total supply of ram? how to get the price of ram?

As we all know, some explorer has already monitor the price of ram.
I wonder that how to get the price of ram and the total aviliable amount of ram？

Use https://www.eosrp.io

search ram total balance：
cleos get table eosio eosio rammarket
ram price / KB：
quote.balance/base.balance

https://www.bcskill.com/index.php/archives/353.html


[ENH] Implemented IsolatedForest in anomaly detection with some test cases

Reference Issues/PRs

Fixes #2108
What does this implement/fix? Explain your changes.

Implements PyODAdapter for IsolationForest in anomaly_detection along with some test cases.
Does your contribution introduce a new dependency? If yes, which one?

No
Any other comments?
Looking for feedback on class documentation & more test cases if needed.

No.
PR checklist

For all contributions

[ ] I've added myself to the list of contributors. Alternatively, you can use the @all-contributors bot to do this for you.
[x] The PR title starts with either [ENH], [MNT], [DOC], [BUG], [REF], [DEP] or [GOV] indicating whether the PR topic is related to enhancement, maintenance, documentation, bugs, refactoring, deprecation or governance.

For new estimators and functions

[ ] I've added the estimator to the online API documentation.
[ ] (OPTIONAL) I've added myself as a __maintainer__ at the top of relevant files and want to be contacted regarding its maintenance. Unmaintained files may be removed. This is for the full file, and you should not add yourself if you are just making minor changes or do not want to help maintain its contents.

For developers with write access

[ ] (OPTIONAL) I've updated aeon's CODEOWNERS to receive notifications about future changes to these files.

@notaryanramani please do not use force-pushes in the future. This breaks GitHub's differential reviewing feature.

thanks for this

@all-contributors add @notaryanramani for enhancement

@all-contributors add @notaryanramani for code


Input Keyboard Focus in iOS

Ionic version:  (check one with "x")
[ ] 1.x
[x] 2.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

if we place Textfield / Input inside Grid View. then upon focus, keyboard hides the textfield.
Expected behavior:

if we place Textfield / Input inside Grid View. then upon focus, textfield should scroll automatically.
Steps to reproduce:

Related code:
 <ion-grid>
    <ion-row>
      <ion-col>

PP

      </ion-col>
      <ion-col>

RP

      </ion-col>
    </ion-row>
    <ion-row>
      <ion-col>
        <ion-list>
          <ion-item>
             <ion-label stacked>Current Price</ion-label>
            <ion-input type="number" placeholder="Type Here"></ion-input>
          </ion-item>
        </ion-list>
      </ion-col>
      <ion-col>
        <ion-list>
          <ion-item>
            <ion-label stacked>Current Price</ion-label>
            <ion-input type="number" placeholder="Type Here"></ion-input>
          </ion-item>
        </ion-list>
      </ion-col>
    </ion-row>
  </ion-grid>

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Your system information:

Cordova CLI: 6.5.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
ios-deploy version: 1.9.0
ios-sim version: 5.0.12
OS: macOS Sierra
Node Version: v7.2.0
Xcode version: Xcode 8.2.1 Build version 8C1002

Confirmed.
Your system information:
Cordova CLI: 6.4.0
Ionic Framework Version: 2.3.0
Ionic CLI Version: 2.2.1
Ionic App Lib Version: 2.2.0
Ionic App Scripts Version: 1.2.4
ios-deploy version: 1.9.0
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v6.9.4
Xcode version: Xcode 8.3 Build version 8E162
If I downgrade Ionic to 2.2.0, the desired behavior is restored. After some debugging, I see that in 2.2.0 and 2.3.0, padding-bottom of 300px is added to the scroll-content when the keyboard is up. For some reason, in 2.3.0 the content inside of scroll-content doesn't respect the padding-bottom. Hopefully that helps.

Hello, thanks for using Ionic! Unfortunately there was a regression in 2.3.0 that caused an issue with scroll events. Would you guys mind updating to 3.0.1 as that has a fix for this issue.

Great, I will, thank you team.
2017-04-07 11:41 GMT-03:00 Justin Willis<EMAIL_ADDRESS>
Hello, thanks for using Ionic! Unfortunately there was a regression in
2.3.0 that caused an issue with scroll events. Would you guys mind updating
to 3.0.1 as that has a fix for this issue.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/driftyco/ionic/issues/10854#issuecomment-292555257,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABuEzyktF6gV1NV0MsTcog_p_8a2p4nks5rtksUgaJpZM4MjkEE
.

--
Jhonathas Matos
email<EMAIL_ADDRESS>

@jgw96 Still the issue is not resolved.
 Which happens when nesting ion-input inside ion-grid.
Please find the below example.
<ion-grid no-padding no-margin>
  <ion-row>
    <ion-col>

PP

    </ion-col>
    <ion-col>

RP

    </ion-col>
  </ion-row>
  <ion-row>
    <ion-col>
      <ion-list>
        <ion-item>
          <ion-label stacked>Current Price</ion-label>
          <ion-input type="number" placeholder="Type Here...."></ion-input>
        </ion-item>
      </ion-list>
    </ion-col>
    <ion-col>
      <ion-list>
        <ion-item>
          <ion-label stacked>Current Price</ion-label>
          <ion-input type="number" placeholder="Type Here...."></ion-input>
        </ion-item>
      </ion-list>
    </ion-col>
  </ion-row>
  <ion-row>
    <ion-col>
      <ion-list>
        <ion-item>
          <ion-label stacked>Current Price</ion-label>
          <ion-input type="number" placeholder="Type Here...."></ion-input>
        </ion-item>
      </ion-list>
    </ion-col>
    <ion-col>
      <ion-list>
        <ion-item>
          <ion-label stacked>Current Price</ion-label>
          <ion-input type="number" placeholder="Type Here...."></ion-input>
        </ion-item>
      </ion-list>
    </ion-col>
  </ion-row>
</ion-grid>

Your system information:

Cordova CLI: 6.5.0
Ionic Framework Version: 3.1.1
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.6
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v7.8.0
Xcode version: Xcode 8.3.1 Build version 8E1000a


feat(scale_degree): 🥅 assert ordinal and inversion integer values

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1063

Relevant Lines:
1063

💛  - Coveralls


swipeout:scroll conflict

解决swipeout和swiper连用时，swipeout-item的滑动会触发swiper滑动
Please makes sure the items are checked before submitting your PR, thank you!

[ ] Rebase before creating a PR to keep commit history clear.
[ ] Only One commit
[ ] No eslint errors

Codecov Report

Merging #3744 (0a73500) into v2 (e828b3c) will increase coverage by 0.20%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##               v2    #3744      +/-   ##
==========================================
+ Coverage   18.68%   18.88%   +0.20%
==========================================
  Files         226      226
  Lines        5598     5601       +3
  Branches      725      725
==========================================
+ Hits         1046     1058      +12
+ Misses       4438     4423      -15
- Partials      114      120       +6

Impacted Files
Coverage Δ

src/components/swipeout/swipeout-item.vue
0.00% <0.00%> (ø)

src/components/inline-calendar/util.js
69.41% <0.00%> (-9.42%)
:arrow_down:

src/components/inline-calendar/index.vue
28.76% <0.00%> (-0.69%)
:arrow_down:

src/components/picker/index.vue
7.52% <0.00%> (+4.30%)
:arrow_up:

src/components/qrcode/index.vue
9.09% <0.00%> (+4.54%)
:arrow_up:

src/components/selector/index.vue
20.45% <0.00%> (+4.54%)
:arrow_up:

src/directives/transfer-dom/index.js
45.83% <0.00%> (+10.41%)
:arrow_up:

src/components/popover/index.vue
29.72% <0.00%> (+21.62%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e828b3c...0a73500. Read the comment docs.

抱歉，这个使用场景看起来太奇怪了


Added ASL postures

update to register additional posture for the ASL task

Sounds good, Let's merge it in. Seems like there are merge conflicts. Can you attend to them and post outputs of following to this conversation.

python tests/test_envs.py
pytest tests/envs/

@vikashplus sorry, I missed this PR... fixed the conflicts and they are ready now to merge

Please post an output of all tests passing before you merge.

@Vittorio-Caggiano
dambrl is stale now. If this PR is still required please push it to V1. I'll close this PR. Feel free to create a new one.


Error while using function

This is my code that gets list of products from database
LLPhant\Chat\FunctionInfo\TypeMapper::mapPhpTypeToJsonSchemaType(): Argument #1 ($reflectionType) must be of type ReflectionNamedType, null given
My code is
$functionInfo = FunctionBuilder::buildFunctionInfo(new Products(), 'indexProducts');
                $this->chat->addFunction($functionInfo);
                $response = $this->chat->generateTextOrReturnFunctionCalled($prompt);

Hey @absolutemadla8,
Can you give me the signature of your method ?

Maybe you didn't put a type on one of your function parameter.
Working example: public function sendMail(string $subject, string $body, string $email)

You can describe manually your method if you prefer:
$subject = new Parameter('subject', 'string', 'the subject of the mail');
$body = new Parameter('body', 'string', 'the body of the mail');
$email = new Parameter('email', 'string', 'the email address');

$function = new FunctionInfo(
    'sendMail',
    new MailerExample(),
    'send a mail',
    [$subject, $body, $email]
);

What I'm trying to do is when a user asks about available products

did you try what I suggested and still got the error ?

did you try what I suggested and still got the error ?

Hey, its working now. I forgot to put type on one of my parameters.
However I'm confused how to differentiate between arguments that I want to pass internally and arguments that I want ask the user. Such as products connected to a store_id has to be passed in internally by my logic.

Actually better question would be how can I create my own tool using this library?
This would be really helpful. Thanks!

Just one last thing, while the function is being successfully executed I am unable to pass the response to GPT. Therefore the function is executed but there is not message sent to the user with the data that was given as a response by the function.

Hey,

However I'm confused how to differentiate between arguments that I want to pass internally and arguments that I want ask the user
OpenAI needs the to know what arguments you need to call your function. If you need some inputs from your user, you have many classic ways of getting it. If you are in a chatbot context , you can put in the prompt that at some point you'll need to get a data from the user and then let the conversation happen. At some point the LLM will ask the user the question et you'll need to parse it from the user response.

Just one last thing, while the function is being successfully executed I am unable to pass the response to GPT. Therefore the function is executed but there is not message sent to the user with the data that was given as a response by the function.

See this PR to have an example on how to pass the response to GPT.
$response = $this->chat->generateTextOrReturnFunctionCalled($prompt); => you have the response from the function, you can send it back to the user in a raw way. Or you can call GPT with the answer like in the PR and wait for GPT answer. Or you can call GPT with a custom prompt dedicated to what happen after your function is called.
Does this help you?

Hey,
I did help, thanks a lot.
I have another question. I'm trying to embed a document but it is returning an array whereas it should return a vector. How can I resolve this issue?

The array is the PHP representation of the vector. Where in your code does it create you a problem?

It creates an Issue when I'm saving it in elastic search. It returns Failed to parse object: expecting token of type [VALUE_NUMBER] but found [START_ARRAY]
When I log the response of
$embeddingGenerator = new OpenAIEmbeddingGenerator();
            $embedding = $embeddingGenerator->embedDocuments($formattedDocuments);
            \Log::info("embedding" . json_encode($embedding));

it returns "local.INFO: embedding[{"content":"[{"id":8719676342565,"title":"Gift Card...., embedding:[0.12232]".
the structure seems to be
[{
"content":[{
"embedding":[]
"sourceType":"files",
"sourceName":"/Users/mukulsharma/Documents/withoctober/storage/app/temp/places_1699270507.txt",
"hash":"b2306a679edeb05ad3e4aea1791ad12756a889dd0e8656844188d6e6a004a8ad",
"chunkNumber":0
}],
"content":[{
"embedding":[]
"sourceType":"files",
"sourceName":"/Users/mukulsharma/Documents/withoctober/storage/app/temp/places_1699270507.txt",
"hash":"b2306a679edeb05ad3e4aea1791ad12756a889dd0e8656844188d6e6a004a8ad",
"chunkNumber":0
}],
}]

Hello @absolutemadla8 ! Can you show me how you try to store the embedding the ES ?
You probably want to use the ElasticsearchVectorStore (see ElasticsearchVectorStoreTest.php).
If you want to store the embeddings without using our VectorStore, you should use "Dense vector" type in ES.

No news I'm closing this for now


Correctly handle arguments in entrypoint

Fixes #15.

Built locally, verified using the simple test from #15:
$ docker run -it f6090d1daa3d bash -c 'echo hello'
hello


fix definitions of net$Server and tls$Server

Fixes the definitions of net$Server and tls$Server so that they have the appropriate listen overloads. Currently, for example, server.listen(3106, err => {}) is an error as it is thinking the first parameter should be a string (path).
Also adds the options object as an option to pass to listen.

cla signed


pocket-casts: build from source

Description of changes

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

[ ] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 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.

@ofborg build pocket-casts

Result of nixpkgs-review pr 214678 run on aarch64-linux 1

1 package built:

pocket-casts

Result of nixpkgs-review pr 214678 run on x86_64-linux 1

1 package built:

pocket-casts

@wegank I think this one is ready to merge


Fix flaky tests

Some tests seem to be flaky, such as the FPC integration test.

Short-term solution:
Upgrade to ginkgo v2 as proposed in #331 and add ginkgo --flake-attempts=N to the corresponding make target of our flaky candidate.

Long-term:
Investigate what is wrong and provide a proper fix.

PR 375 disables integration/nwo/fsc/tracing/aggregator_test.go temporary

@mbrandenburger can we close this?


.github/workflows: add golangci-lint.yml

Alternative to #21.
It doesn't include the vendoring of all go modules, but instead drops the modules-download-mode: vendor line.
It also doesn't introduce 317 lines of Nix and flakes, which is a bit too heavy-handed for my taste.

I trimmed down .golangci.yml, then went through https://golangci-lint.run/usage/linters/#disabled-by-default, and manually enabled most linters there that make sense, adressing the suggestions. PTAL.


Can the keyword "let" be used inside a function?

I need a function that returns a Tuple when specific conditions have satisfied, to do this I used keywork "let" but I have syntax errors at let word.
Following a piece of code that I am writing
define function myCard(myObsCode String, myCompCode String, myValue Decimal) returns Tuple {extension String, title String, description String}:
let
    myObs: singleton from ([Observation] O where O.code[0].coding[0].code = myObsCode )
    myComponent: singleton from (myObs.component C where C.code[0].coding[0].code = myCompCode )
return (
    case
           when myValue > (myComponent.value as Quantity).value
                 then Tuple {extension: info, title: title, description: mydescription}
            when myValue < (myComponent.value as Quantity).value
                 then Tuple {extension: info, title: title, description: mydescription}
            else null
    end
)

My function should return a Tuple when it exists an Observation with a specific code, that has the specific component.code where the value of such component is for example greater/less than the value that I pass to the function.
I have a syntax error to the keyword "let", why? Can I use the keyword "let" in a function? @JPercival

I apologize for the delay. The "let" clause can be used inside a function but only within the context of a query. Here's the relevant specification:
https://cql.hl7.org/03-developersguide.html#queries-1
And here's a trivial example that doesn't really do anything:
define function example():
  [Medication] M
    let status: (M.status)
    return status

Thank you very much for your reply. Why does the cql_engine give syntax error at "let" in the code that I shared? Is it possible to define a function that starting from a list of  FHIR resources (e.g. list of Observation) returns a list of Tuple as I stated in my question?

Sorry, I wasn't clear. Your code is not syntactically valid because the let clause is not inside of a query context.
In CQL queries take the form:
<source> <identifier>
                <let>?
                <join>*
                <where>?
                (<return> | <aggregate>)?
                <sort>?

Here's the format syntax specification: https://cql.hl7.org/08-a-cqlsyntax.html
And the spec for queries: https://cql.hl7.org/02-authorsguide.html#queries
You need to rewrite your function in terms of a query to use let. Something along the lines of:
define function myCard(myObsCode String, myCompCode String, myValue Decimal, info String, title String, mydescription String) returns Tuple {extension String, title String, description String}:
    singleton from ([Observation] O
     let myComponent: O.component
     where O.code.coding[0].code = myObsCode
     and myComponent.code[0].coding[0].code = myCompCode
     return
      case
             when myValue > myComponent.value[0]
                   then Tuple {extension: info, title: title, description: mydescription}
              when myValue < myComponent.value[0]
                   then Tuple {extension: info, title: title, description: mydescription}
              else null
      end)

Thank you, I changed my code according to the cql syntax.


Can't connect to NodeJS instance 0.4.1

I first tried just launching and connecting that failed, then managed to get it started via the command-line and instead of failing completely it now tells me that the Node process suddenly quit and to check the console. I've been going through the console logs but don't know what I'm looking for and nothing pops up. Is there a specific log file to look at? I tried the lighttable server.log but there didn't seem to be much in there (and nothing new when I tried to connect, just a netty error).
Really would love to start using this for my Node development so any help is greatly appreciated!

I can confirm that LT is still affected (esp. on the mongoose part). First project breaks, I had it fail on bcrypt bindings (node-gyp) pilwon/ultimate-seed#54 this exception message. However it also contains mongoose.
Next I tried clean slate (mkdir foo; cd $-; npm init; npm i coffee-script; echo "var coffee = require('coffee-script');" > index.js; node index.js;) then tried LT everything works connecting properly to index.js
Now if I added mongoose however, as soon as simple require that project, LT breaks:
module.js:355
  Module._extensions[extension](this, filename);
                               ^

P.s. I can share some of the code of the original project failing, it highlights where it goes wrong anyway, if it is of any use (I hope):
Error: Could not locate the bindings file. Tried:
 → /home/foo/bar/api/node_modules/bcrypt/node_modules/bindings/build/bcrypt_lib.node
 → /home/foo/bar/api/node_modules/bcrypt/node_modules/bindings/build/Debug/bcrypt_lib.node
 → /home/foo/bar/api/node_modules/bcrypt/node_modules/bindings/build/Release/bcrypt_lib.node
 → /home/foo/bar/api/node_modules/bcrypt/node_modules/bindings/out/Debug/bcrypt_lib.node
 → /home/foo/bar/api/node_modules/bcrypt/node_modules/bindings/Debug/bcrypt_lib.node
 → /home/foo/bar/api/node_modules/bcrypt/node_modules/bindings/out/Release/bcrypt_lib.node
 → /home/foo/bar/api/node_modules/bcrypt/node_modules/bindings/Release/bcrypt_lib.node
 → /home/foo/bar/api/node_modules/bcrypt/node_modules/bindings/build/default/bcrypt_lib.node
 → /home/foo/bar/api/node_modules/bcrypt/node_modules/bindings/compiled/0.12.2/linux/x64/bcrypt_lib.node
    at bindings (/home/foo/bar/api/node_modules/bcrypt/node_modules/bindings/bindings.js:88:9)
    at /home/foo/bar/api/node_modules/bcrypt/bcrypt.js:3:35
    at Object.exports.runInContext (vm.js:64:17)
    at sbRequire (/opt/LightTable/plugins/javascript/node/ltnodeclient.js:99:10)
    at req (/opt/LightTable/plugins/javascript/node/ltnodeclient.js:79:12)
    at /home/foo/bar/api/player/model.js:4:16
    at /home/foo/bar/api/player/model.js:859:3
    at Object.exports.runInContext (vm.js:64:17)
    at sbRequire (/opt/LightTable/plugins/javascript/node/ltnodeclient.js:99:10)
    at req (/opt/LightTable/plugins/javascript/node/ltnodeclient.js:79:12)

The bindings directory (node_modules/bindings inside bcrypt) does not have a build/ directory. The file it looks for is actually inside the build/ directory from bcrypt, not bindings. However, from the cli, the project just runs fine as it is.
Next is the code it kicks off, nothing special I guess:
// line 4
  var bcrypt = require("bcrypt"),
// line 859
})();

module.exports = player;

Last line 859 referenced in stack trace shows closing. Anyway as Chris mentioned the problem is known, not sure how much this contributes but just to inform, the problem isn't limited to mongoose and affects bcrypt as well (although I'm fairly sure they have a problem too since the build paths don't seem correct, or at least where it seems to think the compiled files are).

@robjens I'm willing to look into this further if you can share a minimal project with which you can reproduce it.
Also, if you would, please build and run the atom-shell branch version and test connecting to your projects with it.

@robjens The master branch is now running on Atom; please build that if you can.

I believe I'm seeing the same issue on Linux using the prebuilt 0.7.2 binary and master, 686c9b1. I get the following error when trying to connect to server.js[0]:
server.js[stderr]:
/home/stephen/opt/LightTable/builds/lighttable-0.8.0-linux/resources/app/plugins/Javascript/node/ltnodeclient.js:99
      vm.runInContext(cleanCode(fs.readFileSync(path)), sb, path);
         ^
SyntaxError: Illegal return statement
    at /home/stephen/dev/wmf/restbase/mobileapps/server.js:12:1
    at sbRequire (/home/stephen/opt/LightTable/builds/lighttable-0.8.0-linux/resources/app/plugins/Javascript/node/ltnodeclient.js:99:10)
    at init (/home/stephen/opt/LightTable/builds/lighttable-0.8.0-linux/resources/app/plugins/Javascript/node/ltnodeclient.js:121:3)
    at Socket.<anonymous> (/home/stephen/opt/LightTable/builds/lighttable-0.8.0-linux/resources/app/plugins/Javascript/node/ltnodeclient.js:20:5)
    at Socket.EventEmitter.emit (events.js:117:20)
    at Object.afterConnect [as oncomplete] (net.js:883:10)

[0] The project is fully open source. http://git.wikimedia.org/blob/mediawiki%2Fservices%2Fmobileapps/HEAD/server.js

@niedzielski Thanks; an example should hopefully make fixing this easier. We're currently working on the next release but, even after it's done, I'm not sure when someone can look at this.

@kenny-evitt, thanks! I don't have bandwidth to help develop a fix but I would be happy to help test one when it does come along.

yep, getting the same problem using the locomotive library for nodejs
/mnt/stuff/Code/nodejs/muntref/taggeador/node_modules/locomotive/node_modules/actionrouter/node_modules/methods/index.js:9
  return;
  ^^^^^^

SyntaxError: Illegal return statement
    at Object.exports.runInContext (vm.js:43:16)
    at sbRequire (/home/candida/.config/LightTable/plugins/Javascript/node/ltnodeclient.js:99:10)
    at req (/home/candida/.config/LightTable/plugins/Javascript/node/ltnodeclient.js:79:12)
    at /mnt/stuff/Code/nodejs/muntref/taggeador/node_modules/locomotive/node_modules/actionrouter/lib/router.js:4:15
    at Object.exports.runInContext (vm.js:44:17)
    at sbRequire (/home/candida/.config/LightTable/plugins/Javascript/node/ltnodeclient.js:99:10)
    at req (/home/candida/.config/LightTable/plugins/Javascript/node/ltnodeclient.js:79:12)
    at /mnt/stuff/Code/nodejs/muntref/taggeador/node_modules/locomotive/node_modules/actionrouter/lib/index.js:4:18
    at Object.exports.runInContext (vm.js:44:17)
    at sbRequire (/home/candida/.config/LightTable/plugins/Javascript/node/ltnodeclient.js:99:10)

@niedzielski issue seems separate and I've made https://github.com/LightTable/Javascript/issues/18 for it
Closing issue as we don't have reproducible steps. If still interested, please reopen it here with reproducible steps as demonstrated in https://github.com/LightTable/Javascript/issues/18


Update BayesTME, Fix Readme

Hi @jeffquinn-msk

[ ] Does this point to a specific release/ref of BayesTME? If not, can we please do that? If there's a limitation on the number of containers you can host, can we check with Andre for suggestions to host the containers?
[ ] I noticed that the spatially varying genes module is not yet implemented in the pipeline. Can you please add that?


Refactor UserNotActiveList

Coverage increased (+0.3%) to 63.495% when pulling 832a3f1f5ca7c79972ac26d5c7a94c66d87066e2 on userlist into d357eb42a4de4796f844e2c9b050fac959a61721 on master.


AT+CIPSNTPTIME?查询到的时间总是1970年？

按照https://blog.csdn.net/espressif/article/details/101714951所写步骤，前面3步都正常AT+CWMODE=1
回复：
OK
AT+CWJAP="ssid","password"
回复：
WIFI DISCONNECT
WIFI CONNECTED
WIFI GOT IP
OK
AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com"
回复：
OK
AT+CIPSNTPTIME?
回复：
+CIPSNTPTIME:Thu Jan  1 00:02:08 1970
OK
不知原因何在？
AT+GMR
AT version:<IP_ADDRESS>-dev(044790d - Dec 30 2019 10:16:10)
SDK version:v3.3.1
compile time(d03b392):Jan  3 2020 15:41:07
Bin version:2.0.0(WROOM-32)
OK

@fsfxmfy
Please make sure that your router device connectd can visit the internet.
Moreover, could you please try with others sntp server.
AT+CIPSNTPCFG=1,8,"cn.pool.ntp.org"

Catch is that you have to wait for some time before SNTPTIME responds with correct time.
Try to wait ~5 seconds between setting server and acquiring time.

确实是网络问题，换了路由器就正常了。


Add contact-sensor-app

Add K32W0 contact-sensor-app example
Add contact-sensor-app-common files
Generate zap-files

Signed-off-by: Ethan Tan<EMAIL_ADDRESS>Signed-off-by: Andrei Menzopol<EMAIL_ADDRESS>

This should really be leveraging chef I'd think. (examples/chef). That provides a way to create device-type specific examples from a single generic 'builder'. Presumably, you could add your platform specific application guts there.

@mrjerryjohns Thank you for the suggestion. I agree that a better solution is needed here. I didn't know about chef.
However, do you think we can let this pass and come later with a PR that switches the examples to chef. We need the contact-sensor-app example and the chef approach looks like it needs some work.

Fast tracking platform changes.

However, do you think we can let this pass and come later with a PR that switches the examples to chef.

I'm fine with letting this PR in for now. @andrei-menzopol would you be able to see if you could eventually port it over to Chef as a follow-up?

@mrjerryjohns Yes, I will port it to chef in a follow-up PR. Thanks.


move init_winsock to nt

socket is stdlib but signal in vm requires this init. For now, we don't have any option to disable signal. So this might be ok.
Any better idea?

merged as part of #3129


Add grpc transport

@bjwatson @geigerj please review, as this will replace all of gax.auth and most of gax.grpc.
@nathanielmanistaatgoogle PTAL to verify grpc usage.

@nathanielmanistaatgoogle any idea why grpc.AuthMetadataPlugin doesn't exist on Python 2.7 but does for 3.4/3.5?

@nathanielmanistaatgoogle any idea why grpc.AuthMetadataPlugin doesn't exist on Python 2.7 but does for 3.4/3.5?

It might actually be that grpc isn't being installed. Do you know why this would be the case?

No idea why that might be happening.

No idea why that might be happening.

Does gRPC support PyPy? Surely it must support 2.7, but it's failing there too.

PyPy support isn't completely formalized, but if it's not working for you we definitely want to know. You shouldn't have to disable gRPC Python when running with PyPy.

PyPy support isn't completely formalized, but if it's not working for you we definitely want to know. You shouldn't have to disable gRPC Python when running with PyPy.

Do you have a tracking bug on gRPC for this?

@bjwatson @geigerj seems I've satisfied @dhermes and @nathanielmanistaatgoogle, can you please take a look?

@jonparrott: issue 4221 tracks formal PyPy support; if you've found something not working I'm sure @thunderboltsid will want to hear about it.

@nathanielmanistaatgoogle it just seems to not compile on Travis. I'll link over to the build on that issue.

If I'm reading the Travis output correctly, this passes on 2.7 now, right? Did you find any reason why it was failing yesterday? PyPy is now the only known problematic environment?

If I'm reading the Travis output correctly, this passes on 2.7 now, right?
Correct.

Did you find any reason why it was failing yesterday?

Not sure, but I'm guessing it was the addition of absolute_import that fixed it.

PyPy is now the only known problematic environment?

Correct.

@jonparrott What version of PyPy are you using and on what environment? Also, what version of grpc are you using?


Unable to parse big single page pdf to md

I have 8 MB pdf but it has only one page, and during parsing to md It's returning below error.
024-06-11 06:11:25,273 [INFO] HTTP Request: GET https://api.cloud.llamaindex.ai/api/parsing/job/9ff80260-7506-4c09-81e2-2758f720882a "HTTP/1.1 200 OK"
2024-06-11 06:11:28,834 [INFO] HTTP Request: GET https://api.cloud.llamaindex.ai/api/parsing/job/9ff80260-7506-4c09-81e2-2758f720882a "HTTP/1.1 200 OK"
2024-06-11 06:11:32,372 [INFO] HTTP Request: GET https://api.cloud.llamaindex.ai/api/parsing/job/9ff80260-7506-4c09-81e2-2758f720882a "HTTP/1.1 200 OK"
Error while parsing the file 'xxxxxxxxxxxxxxxxxxx': Failed to parse the file: 9ff80260-7506-4c09-81e2-2758f720882a, status: ERROR
2024-06-11 06:11:32,374 [WARNING] ⚠ No content found for file: xxxxxxxxxxxxxxxxxxx

I am doing that using pythong and facing issue.
parser = LlamaParse(
            api_key=api_key,
            gpt4o_mode=True,
            result_type="markdown",
            num_workers=1,
            verbose=True,
            language="en",
        )

laleet_test_wp_image.pdf

With GPT4o we send an Image of your page to the model. However gpt4o resize all image to 2048 max width and height while conserving the ratio. In your sample PDF as the page is very long it mean the image get resize to 2048px of height that result in an image where no text is legible.
It seems that you generated this PDF with imagemagick from a html file, try to send the html instead to llamaParse, and it will get splited into multiple 'pages' allowing GPT4o to do his job. This may work


When window is opened but in the background, clicking on the tray icon should bring the window to the front

💻 Environment
Platform: Windows
OS Version: Windows 10
Toggl Version: 7.4.529
🐞 Actual behavior
Clicking on the tray icon while the window is opened but in the background (doesn't have focus) will close the window requiring a second click to bring it up again.
Because I'm not always aware if the window is actually closed or just overlayed by some other window, it sometimes takes one and sometimes two clicks to bring the app to the front.
💯 Expected behavior
Clicking on the tray icon while the window is opened but in the background (doesn't have focus) should bring the window to the front and focus it.
🔨 Steps to reproduce

Open the app
Focus a different window
Click on tray icon

📦 Additional info
Possibly similar to #860

same as #3285

@skel35 Not sure if really the same. The behavior is consistent but not in a way a user might expect it.

@cypressious Yes, you're right, it is a different issue.
This one looks similar to "Show/Hide Toggl" should bring the window up if it has no focus from #3148.
Anyway, I'll try to tackle both #3285 and this in one PR.

This one looks similar to "Show/Hide Toggl" should bring the window up if it has no focus from #3148.

agreed

Unfortunately, this one would be tricky to implement, as by the time we clicked on the tray icon the focus is already moved from the app so we don't know whether it was in focus or not, especially when you have to click "Show hidden icons" before clicking the Toggl icon.
To the contrary "Show/Hide Toggl" should bring the window up if it has no focus looks a lot easier to do.

@skel35 Maybe https://www.codeproject.com/Articles/19529/Is-My-Application-on-Top is relevant for this case


wrappers: use (evalModules {}).type for nixvim submodule

This simplifies the wrapper modules, adding a little consistency.
Rather than passing all the same stuff to types.submoduleWith that we do internally in evalNixvim, we can just use evalNixvim itself and then inherit its type output.
This also means modules.specialArgsWith is now entirely internal and could be removed from out public API before we branch off 24.11.
This also fixes #2305 because we no longer enable shorthandOnlyDefinesConfig. We added that a while ago because we had an options option, however we renamed that to opts in #1342 so we no longer benefit from it.

@mergifyio queue


EventHub Output Binding

Hi.
I'm looking around for the EventHub Output Binding, but can't seem to find it and scanning through the codebase does not reveal much to me :).
Is EventHub Output Binding supported. If not, is there a way to mix FunctionMonkey with an attribute based EventHub output, maybe something like
FunctionMonkey(IN)::HttpTrigger --> FunctionMonkey(OUT)::StorageQueue --> AzureFunction(IN)::StorageQueue --> AzureFunction(OUT)::EventHub
Thanks in advance

Its mostly coded up but I haven't released it - I plan on doing so in the v4.x series which is under development at the moment.

Included in commit 7940add , scheduled for release in beta2 today.


doesn't work on LEDE Reboot 17.01.4

there are installations issues as:

filename is changed after download from amazon web services by wget
after installation and reboot rules aren't visible in iptables and lan client are still capable to connect to internet.

rules work in current LEDE version [LEDE Reboot 17.01.4 r3560-79f57e422d]

You only have to specify time in format: hh:mm:ss
eg 20:00:00 to 07:00:00
voila ;-)

in firewall :-/ rules because luci-access-control doesn't accept this format

I'm working on adopting to owrt/lede 17 version. Give me a few days.

There is a new release available, which corrects Lede-17 problems:  0.4.2. Please upgrade.


refactor(React Import): Unification of React import method

Summary
I have removed console.log statements and unified the React import style in the TSX files. Currently, JS and JSX files have not been integrated yet. If requested, I am willing to perform additional tasks. Thank you.
If there is no convention in the import method, you can close the PR.

please fix
[warn] packages/solid-query-persist-client/src/__tests__/PersistQueryClientProvider.test.tsx
[warn] Code style issues found in 1 file. Run Prettier to fix.

please fix
[warn] packages/solid-query-persist-client/src/__tests__/PersistQueryClientProvider.test.tsx
[warn] Code style issues found in 1 file. Run Prettier to fix.

@TkDodo  Could you please check again? Thank you.


Python language bindings

Currently the following language bindings are supported:

Java
Kotlin
Swift
Go

It would be nice to add Python to the list, as it's one of the most popular programming languages, and it is often used to process configuration.
A first step towards achieving this may be the creation of a C API, which Python could then wrap:

#8

+1 for Python Support. A lot of existing configuration systems, dev/infra/code-ops ecosystem leverage python. A python binding would would be a great addition.

+1!!!

+1

+10086

See also the discussion regarding a generic C ABI which would be required for a proper implementation of Python bindings.

+1

And then the results could be serialized in Pickle. 😉

Seems like pickle basically can do what pydantic does. So maybe pydantic V2 generation would make sense? Could then even go via rust instead of C or just generate pydantic Python and have pydantic/Python handle the underlying rust/C as it already does at runtime.
or am I missing the point?

+1

+1

Please use emoji reactions on the issue instead of replying to indicate your interest. If you simply want to be notified of updates, you can subscribe to the issue—there's no need to add a comment.

+1

+1

For those that are interested in implementing a python binding: we just published a specification for our message passing API, and our binary serialization format.
Our documentation can be found here: https://pkl-lang.org/main/current/bindings-specification/index.html

+1 for Python Support.

And it should be MicroPython friendly

I made python binding and it can be found here:
https://github.com/jw-y/pkll
https://pypi.org/project/pkll/
It is for evaluator only and doesn't have code generation yet.
But I hope I can implement it soon. Or pull requests are welcome.

must have!

Adding python support would be game changing!

I've also added codegen (though it still needs more testing)
Check it out here pkl-python

Python you can do it!

@bioball it would be great if you'll respond with your thoughts regarding the implementation of @jw-y - https://github.com/jw-y/pkl-python so it’ll get better chances of getting accepted.
As for Pydantic support, I’ve created an issue at the pkl python repository to discuss it.

For Rust, you can currently use https://github.com/DevYatsu/pkl_fast

any good news?


Open a new file from terminal from same project, clears old tabs and unsaved buffer from that project

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

[x] Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
[x] Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
[x] Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
[x] Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
[x] Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Open a new file from terminal from same project, clears old tabs and unsaved buffer from that project
Steps to Reproduce

Open a project in terminal with atom .
Open a file and modify it, don't save.
Close Atom(this won't repro if there's other atom windows open.  Only if all Atom instances are closed)
On the same directory in terminal, do atom <new file name>

Actual: Atom opens new file with the current folder.  The changes on the file that was modify in step 2 are gone.  When you close Atom and reopen with atom . or opening recent projects, it shows the new file from step 4 only.
Expected: old tabs and unsaved changes should exist(if there are any) and new file should open in new tab
Reproduces how often: 100% if you don't have another atom instance open, If you do, the new file will be opened there.
Versions
atom --version
Atom    : 1.13.1
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0

apm --version
apm  1.14.1
npm  3.10.5
node 4.4.5
python 2.7.10
git 2.10.1

This issue was found while testing https://github.com/atom/tabs/issues/306#issuecomment-276861137

I thought this was in the category of problems Reopen Project is supposed to fix but I can reproduce this. The new file is opened in the scope of the project and the pending changes are lost.
Good find, @ungb.

This was spuriously closed via an incorrect "closes" comment in commit c6cae5b.


Refactor call and create opcodes and frame call.

Please look into how this can be simplified and where the cutting point between the Instruction and sub call inside Evm should be, it is a little blurry now.
Try to consolidate both Create and calls into one structure, intention for both of them is to create a new call frame and execute some bytecode, pre and post interpreter logic is different but the flow is the same.
Try to make the frame stack more uniform, to be able to introduce new generic calls, this part is rigid in the Handler.

Brainstormed around this and what i concluded is that call stack needs to be generic over Frame.
For the frame to look something like this
trait Frame {
/// Runs the frame (Or interpreter) and returns the next frame if it is available.
 fn run(&mu self, host, instruction_table) -> Option<Frame>
/// Consumes child frame and inserts its outcome.
 fn insert_outcome(&mut self, child_frame);

Option<Frame> can be, Action::{SubFrame, Return, Error}. On return, the full frame is reinserted into the parent frame (or returned if it is last).
This means that Instructions for CALL/CREATE need to be set from revm create not from interpreter crate as instructions need to know how to execute precompile if needed or create frame.
This can be a pair of handlers that run_interpreter and insert_outcome.
Will implementation of EOF i hope this will become cleaner as we would need this kind of abstraction.

Handler was partially refactored to have more simpler call flow.
To close this PR sub calls should be able to be generalised in trait and specified in the Handler.

We should override instructions from revm crate. This would allow us to do:
const fn host_instruction_table<'a, EXT, DB: Database>() -> InstructionTable<Evm<'a, EXT, DB>> {
    let mut table = make_instruction_table::<Evm<'a, EXT, DB>, BerlinSpec>();
    table[0xf0] = |interpreter, evm| {};
    table
}

This would make the current Interpreter::next_action be moved inside Host aka Evm, and would make Host trait not needed (maybe useful for testing).
The default impl of those host instructions should act as dummy (empty,fail) replacements in Interpreter.
For this PR we should have a trait Frame
trait Frame {
    /// New or init of the frame, it pops values from interpreter and created dyn Box over itself
    /// Called from instruction
    fn new(interpreter, evm) -> Option<Box<dyn Frame>>
    /// Run interpreter with all needed data.
    /// Called from main loop.
    fn run(evm, shared_memory,instruction_table) -> ReturnOrExtCall

    /// Called by child frame to returns the output
    fn interpreter(&mut self) -> &mut Interpreter;
    /// That this Frame output and set it to parent Interpreter
    fn return_to_parent(self, parent: &mut Interpreter)
}

/// Implemented for `Call` and `Crate` as those are the only ones that can be called from transaction.
trait FirstFrame {
    fn output(self) -> ...
}


GT server and GT client connection pools add support for QUIC, which is compatible with existing TCP protocols and implements certain intelligent switching policies

Description
The connection between GT server and GT client is currently based on the TCP protocol. In order to improve the performance in long distance, high latency and high packet loss scenarios (mainly multinational scenarios), it is necessary to add support for the QUIC protocol based connection method and to consider supporting the BBR congestion control algorithm; and to consider adding some intelligent switching strategies to improve the user experience.
Project output requirements

Design and implementation of additional connection methods that support the QUIC protocol, with support for BBR congestion control algorithms
Design and implement intelligent switching strategies for multiple connection methods in different scenarios to improve transmission efficiency
Write unit tests and integration tests
Write appropriate design and usage documentation
Code compliance with specifications: https://google.github.io/styleguide/go/, https://github.com/uber-go/guide

Project technical requirements

Familiarity with Golang, C/C++
Familiarity with QUIC protocol
Familiarity with BBR congestion control algorithm
Familiarity with TCP, UDP protocols
Familiarity with the use of multithreading
Knowledge of code optimization for high concurrency transmission scenarios

Open Source Summer Official Website
GT server 与 GT client 连接池增加支持 QUIC，与现有的的 TCP 协议实现兼容及实现智能切换策略
描述
目前 GT server 与 GT client 之间的连接是基于 TCP 协议实现的，为了提高在远距离，高延迟，高丢包率场景下的传输的表现（主要是跨国场景），增加支持基于 QUIC 协议的连接方式，需要考虑支持 BBR 拥塞控制算法；并可以考虑增加一定的智能切换策略，提高用户体验。
项目产出要求

设计并实现增加支持基于 QUIC 协议的连接方式，需要支持 BBR 拥塞控制算法
设计并实现多种连接方式在不同场景下，通过智能切换策略，提升传输效率
编写相应的单元测试和集成测试
编写相应的设计和使用文档
代码符合规范： https://google.github.io/styleguide/go/、https://github.com/uber-go/guide

项目技术要求

熟悉 Golang、C/C++
熟悉 QUIC 协议
熟悉 BBR 拥塞控制算法
熟悉 TCP、UDP 协议
熟悉使用多线程
熟悉高并发传输场景下代码优化GT server 与 GT client 连接池增加支持 QUIC，与现有的的 TCP 协议实现兼容及实现智能切换策略

开源之夏官网

开发日程（7.1-7.9）
1、本周进展

阅读GT项目源码，主要关注了client/client.go和server/sever.go的启动流程和函数依赖关系；
阅读论文《WiseTrans: Adaptive Transport Protocol Selection for Mobile Web Service》，关注QUIC和TCP在不同网络条件下的性能差异。

2、下周计划

阅读并测试源码，找出并分析与“GT server 与 GT client 之间建立TCP连接”的相关函数；
学习BBR拥塞控制算法。

Development schedule (7.1-7.9)

This week's progress

Read the source code of the GT project, mainly focusing on the startup process and functional dependencies of client/client.go and server/sever.go;
Read the paper "WiseTrans: Adaptive Transport Protocol Selection for Mobile Web Service", pay attention to the performance difference between QUIC and TCP under different network conditions.

Next week plan

Read and test the source code, find out and analyze the functions related to "establishing a TCP connection between GT server and GT client";
Learn BBR congestion control algorithm.

开发日程（7.10-7.16）
1、本周进展

梳理GT项目中与Client-Server之间构建连接池的代码，找出关键函数并分析逻辑。主要关注Client端的c.connectLoop()->connect()->initConn()->dialFn函数链，关注Server端的listen()->acceptLoop()->handle()->handleTunnel()函数链，以及MagicNumber在区分流量中的作用；
学习BBR拥塞控制算法，阅读了提出BBR算法的论文“BBR：Congestion-Based Congestion Control”。使用iperf3在Linux中测试了不同条件下Cubic和BBR的吞吐量，BBR在长肥网络（带宽时延积大、丢包率高）具有显著效果。

2、下周计划

调研各种QUIC协议的开源实现，对比并挑选最合适的QUIC项目；
测试相关函数的作用，尝试将QUIC协议嵌入GT项目。

Development schedule (7.10-7.16)

This week's progress

Comb through the code of GT project with Client-Server to build connection pool, find out the key functions and analyse the logic. Mainly focus on the c.connectLoop()->connect()->initConn()->dialFn function chain of the Client side, on the listen()->acceptLoop()->handle()->handleTunnel() function chain of the Server side, and the MagicNumber's role in differentiating traffic;
Learn about the BBR congestion control algorithm and reading the paper "BBR: Congestion-Based Congestion Control" that proposed the BBR algorithm. Test the throughput of Cubic and BBR under different conditions in Linux using iperf3. Find that BBR has a significant effect in long fat networks (large bandwidth delay product and high packet loss).

Next week plan

Research various open-source implementations of the QUIC protocol, compare and select the most suitable QUIC project;
Test the role of related functions and try to embed the QUIC protocol into the GT project.

开发日程（7.17-7.23）
1、本周进展

调研各种QUIC的开源实现，主要关注quic-go（https://github.com/quic-go/quic-go ），msquic（https://github.com/microsoft/msquic ）和quiche（https://github.com/google/quiche ），因为这三个quic项目一直保持高频率维护。quic-go仅支持cubic拥塞控制算法（issue里面提到似乎不准备添加bbr算法），msquic和quiche均支持bbr；
尝试寻找关键函数，因为比较熟悉quic-go而且函数接口对应，所以目前尝试先使用quic-go让gt支持quic，后续视情况选择使用cgo替换为quiche/msquic，又或者自行为quic-go增加bbr支持。

2、下周计划

尝试基于quic-go实现gt对quic的支持。

Development schedule (7.17-7.23)

This week's progress

Investigate various open source implementations of QUIC, focusing on quic-go (https://github.com/quic-go/quic-go), msquic (https://github.com/microsoft/msquic) and quiche (https://github.com/google/quiche), because these three quic projects have maintained high-frequency maintenance. quic-go only supports the cubic congestion control algorithm (it seems that the bbr algorithm is not planned to be added in the issue), and both msquic and quiche support bbr;
Try to find the key functions, because I am familiar with quic-go and the function interface corresponds, so try to use quic-go first to make gt support quic, and then choose to use cgo to replace quiche/msquic according to the situation, or add bbr support for quic-go myself.

Next week plan

Try to implement gt's support for quic based on quic-go.

开发日程（9.4-9.10）
1、本周进展

尝试将QUIC嵌入gt。但是QUIC的IO读写接口全部实现在stream结构中，而TCP的IO接口是现在connection结构中，因此需要对GT中connection层进行大量修改，于9.5开会进行讨论。
在clinet.go以及client/conn.go中为QUIC撰写对应的处理函数，在server.go以及server/conn.go中为QUIC撰写对应的处理函数。

2、下周计划

扩展conn/conn.go中的Connection结构，对齐QUIC的接口；
基于quic-go实现gt对QUIC的支持。

Development schedule (7.17-7.23)

Progress this week

Try embedding QUIC into gt. However, QUIC's IO read and write interfaces are all implemented in the stream structure, while TCP's IO interface is now in the connection structure, so a lot of modifications to the connection layer in GT need to be made, and a meeting will be held on 9.5 for discussion.
Write corresponding processing functions for QUIC in clinet.go and client/conn.go, and write corresponding processing functions for QUIC in server.go and server/conn.go.

Plan for next week

Extend the Connection structure in conn/conn.go and align it with the QUIC interface;
Based on quic-go, gt supports QUIC.

开发日程（9.11-9.17）
1、本周进展

基于QUIC实现QuicConnection结构，实现net.Conn接口，对齐conn/conn.go中的Connection结构需求，满足client/client.go中的函数处理需求。
基于QUIC实现QuicListener结构，实现net.Listener接口，满足server/server.go中的函数处理需求。
开会讨论后续进展计划。

2、下周计划

完善client/config.go和server/config.go中对于QUIC相关参数的解析设置，完成gt对于QUIC的支持。
完善QUIC相关的单元测试和集成测试，更新readme。
尝试为QUIC增加BBR支持。

Development schedule (9.11-9.17)

Progress this week

Implement the QuicConnection structure based on QUIC, implement the net.Conn interface, align the Connection structure requirements in conn/conn.go, and meet the function processing requirements in client/client.go.
Implement the QuicListener structure based on QUIC and implement the net.Listener interface to meet the function processing needs in server/server.go.
Meet to discuss follow-up progress plans.

Plan for next week

Improve the parsing settings of QUIC related parameters in client/config.go and server/config.go, and complete gt's support for QUIC.
Improve QUIC-related unit tests and integration tests, and update the readme.
Try to add BBR support for QUIC.

开发日程（9.18-9.24）
1、本周进展

为GT的server与client之间的连接池增加支持 QUIC。
尝试实现GT对于QUIC和TCP之间的智能切换。
调研如何为GT的QUIC增加BBR的支持。

2、下周计划

基于PR的沟通，完善GT对于QUIC的支持。
实现GT对于QUIC和TCP的基本的智能切换。
为GT的QUIC实现对于BBR的支持。

Development schedule (9.18-9.24)

Progress this week

Add support for QUIC to the connection pool between GT's server and client.
Try to implement GT's intelligent switching between QUIC and TCP.
Investigate how to add BBR support to GT's QUIC.

Plan for next week

Based on PR communication, improve GT’s support for QUIC.
Implement GT's basic intelligent switching between QUIC and TCP.
Implement support for BBR for GT's QUIC.


Allow interactive options that echo to the console

Hi, now interactive mode hide text digitized by user. There is a mode to use interactive mode which show text that user insert during write on console?

Currently the picocli library does not provide this functionality, but I think it would be a good feature to have.
Perhaps we should add an echo attribute, that allows applications to control whether the user input is echo-ed to the console or not. I'm also thinking to add a prompt attribute so that applications can customize the text displayed to the end user for an interactive option. For example:
@Option(names = "-x", interactive = true, echo = true, prompt = "Enter your PIN: ")
String pin;

Note that you can work around this in the application, by calling Console.readLine:
public class Interactive implements Runnable {
    @Option(names = {"-u", "--user"}, interactive = true,
            description = "user id")
    private String user;

    public void run() {
        if (user == null) {
            user = new String(System.console().readLine("We really need a user id: "));
        }
        System.out.printf("Ok, we got: %s%n", user);
        // do stuff...
    }

    public static void main(String[] args) {
        int exitCode = new CommandLine(new Interactive()).execute(args);
    }
}

Note that you can work around this in the application, by calling Console.readLine:
public class Interactive implements Runnable {
    @Option(names = {"-u", "--user"}, interactive = true,
            description = "user id")
    private String user;

    public void run() {
        if (user == null) {
            user = new String(System.console().readLine("We really need a user id: "));
        }
        System.out.printf("Ok, we got: %s%n", user);
        // do stuff...
    }

    public static void main(String[] args) {
        int exitCode = new CommandLine(new Interactive()).execute(args);
    }
}

Then, the interactive flag is useless in this case and can be dropped, right?

@xinchao-zhang Yes, I think you are correct.

@remkop Hi, I'm interested in 'echoandprompt` feature. Can I try to create a PR?

Yes, great!


ImportError

ImportError: /home/xxxxx/anaconda3/envs/hhd_pytorch/lib/python3.6/site-packages/pyrvo2-0.0.0-py3.6-linux-x86_64.egg/rvo2.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZSt28__throw_bad_array_new_lengthv
I get this error when I import rvo2, how do I fix it? Thanks!

I found that this conflicted with some of the libraries in torch or torchvion, I solved this by importing torchvion before importing rvo2 and this was able to run on my ubuntu.
import torchvision     import rvo2

这是来自QQ邮箱的假期自动回复邮件。您好，我最近正在休假中，无法亲自回复您的邮件。我将在假期结束后，尽快给您回复。

I found that this conflicted with some of the libraries in torch or torchvion, I solved this by importing torchvion before importing rvo2 and this was able to run on my ubuntu.
import torchvision  import rvo2

I have solved this problem yesterday. Windows can not solve the import rvo2 import error problem, and I installed the rvo2 package by running python setup.py build and python setup.py install on the ubuntu terminal.

I found that this conflicted with some of the libraries in torch or torchvion, I solved this by importing torchvion before importing rvo2 and this was able to run on my ubuntu.
import torchvision  import rvo2

thank you


Different Database migrations in same assembilyh

Hi
It would be very nive if one could have a migration filter of some sort, so the same assembily could have migrations for different databases and database connections.
I can use the DB object in the migration base for some filtering. But e.g. an attribute filter would be cool.
Ideas?

Write your own IMigrationProvider.


[sharing]a ruby implement of webify

I like the idea that webify can quickly turning a cli command into a http service.
I wrote a ruby script to implement it with 6 lines of codes using pure ruby.
here is the gist:  https://gist.github.com/rainchen/3a91ef481e78ad38d51c91da0ab40e7f
have fun~

Looks very cool, thanks for sharing!


chore: disable publication from ci.jenkins.io

This PR disables tagging and publication of docker image and github release from ci.jenkins.io
The merge of this PR will also serve as a test for https://github.com/jenkins-infra/pipeline-library/pull/784
Ref:

https://github.com/jenkins-infra/account-app/pull/339#issuecomment-1872404386

Cherry-picked #353


Apply JSON conversion recursively / Disallow trailing garbage

(I just realized that this has a style error in it. I'll go ahead and fix that. I also have 2 other commits, so I may as well make them part of this PR, too.)

These commits fix two issues, one with producing objects that can be used in a JSON payload, and the other with parsing trailing garbage in a filter. I've also added some more tests that were inspired by old bugs in the v0.2.x branch.


Refactored versioning directives to take in a default value.

If one does not want to pass a default, use the new directives with "Optional" in their names.

Basic docs added. In any sections needing clarity / correction, please feel free to edit or let me know.

Excellent docs!  Thanks.
A tiny change, then squash and merge.


feat: upload multiple asset chunks in the same call

Description
The frontend canister sync now tries to batch multiple small content chunks into a single call using the create_chunks method added earlier.
This should lead to significantly faster upload times for frontends with many small files.
Also had to bump the api_version of the asset canister to build in backwards compatibility for the asset sync
Fixes SDK-1769
How Has This Been Tested?
Covered by existing e2e.
Manually tested repeatedly with many different average file sizes. Command to test:
for i in $(seq 1 50); do dd if=/dev/urandom of="src/hello_frontend/assets/file_$i.bin" bs=$(shuf -i 1-2000000 -n 1) count=1; done && dfx deploy hello_frontend

Checklist:

[x] The title of this PR complies with Conventional Commits.
[x] I have edited the CHANGELOG accordingly.
[ ] I have made corresponding changes to the documentation.

Is icx-asset updated as well? I tested this with one of the caffeine generated directory: https://github.com/chenyan-dfinity/asset-test/tree/main/1723158607637/frontend/dist
$ time ~/src/sdk/target/release/icx-asset upload br5f7-7uaaa-aaaaa-qaaca-cai dist/

On master, it takes 3.475s. On this branch, it takes 3.833s.
My simple chunk upload binary takes 2.158s. I expect icx-asset to be a bit slower because I didn't compute hash and didn't provide gzip files. But at least, it should be faster than master?

Is icx-asset updated as well?

Yes, it's 'just' a wrapper around ic-asset.
Just tested myself. Local with dfx start --clean --artificial-delay 500 since I ran out of ICP to test on mainnet. Should be simulating a subnet with no load and 2 blocks per second, which should be close-ish to current ideal mainnet performance.
Project: dfx new, react frontend
icx-asset-pr:       5.38s
icx-asset-master:   5.35s

Project: dfx new, react frontend, plus 500 random files between 0 and 20k bytes, same files for both runs
icx-asset-pr:       8.45s
icx-asset-master:  34.14s

After verifying with debug prints in the asset canister I am pretty certain this happens:
icx-asset-master, hello world:

round: create_batch
round: 5 parallel calls to create_chunk, all executed in the same round (debug prints show same timestamp)
round: commit_batch

icx-asset-pr, hello world:

round: create_batch
round: create_chunks with 5 chunks in it
round: commit_batch

icx-asset-master, hello world + 500 files:

round: create_batch

then: 500 times create_chunk, processes ~8 calls per round
last 3 rounds: commit_batch since dfx only commits so many changes at a time (execution limits), all wait for the previous call's response

icx-asset-pr, hello world + 500 files:

round: create_batch

round: three calls to create_chunks processed in parallel, all 500 files uploaded

3-5. round: commit_batch since dfx only commits so many changes at a time, all wait for the previous call's response

So long story short: it speeds things up significantly, but only with enough files


Python3?

Hi,
Does pywFM support Python3? I tried to run the example and got this error
model = fm.run(features[:5], target[:5], features[5:], target[5:])
/bin/sh: /usr/local/lib/python3.5/site-packages/pywFM/libfm/bin/libFM: cannot execute binary file
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-8-85e95dc4c2fd> in <module>()
----> 1 model = fm.run(features[:5], target[:5], features[5:], target[5:])

/usr/local/lib/python3.5/site-packages/pywFM/__init__.py in run(self, x_train, y_train, x_test, y_test)
    184         # parses rlog into
    185         import pandas as pd
--> 186         rlog = pd.read_csv(rlog_path, sep='\t')
    187
    188         # removes temporary output file after using

/usr/local/lib/python3.5/site-packages/pandas/io/parsers.py in parser_f(filepath_or_buffer, sep, dialect, compression, doublequote, escapechar, quotechar, quoting, skipinitialspace, lineterminator, header, index_col, names, prefix, skiprows, skipfooter, skip_footer, na_values, true_values, false_values, delimiter, converters, dtype, usecols, engine, delim_whitespace, as_recarray, na_filter, compact_ints, use_unsigned, low_memory, buffer_lines, warn_bad_lines, error_bad_lines, keep_default_na, thousands, comment, decimal, parse_dates, keep_date_col, dayfirst, date_parser, memory_map, float_precision, nrows, iterator, chunksize, verbose, encoding, squeeze, mangle_dupe_cols, tupleize_cols, infer_datetime_format, skip_blank_lines)
    496                     skip_blank_lines=skip_blank_lines)
    497
--> 498         return _read(filepath_or_buffer, kwds)
    499
    500     parser_f.__name__ = name

/usr/local/lib/python3.5/site-packages/pandas/io/parsers.py in _read(filepath_or_buffer, kwds)
    273
    274     # Create the parser.
--> 275     parser = TextFileReader(filepath_or_buffer, **kwds)
    276
    277     if (nrows is not None) and (chunksize is not None):

/usr/local/lib/python3.5/site-packages/pandas/io/parsers.py in __init__(self, f, engine, **kwds)
    588             self.options['has_index_names'] = kwds['has_index_names']
    589
--> 590         self._make_engine(self.engine)
    591
    592     def _get_options_with_defaults(self, engine):

/usr/local/lib/python3.5/site-packages/pandas/io/parsers.py in _make_engine(self, engine)
    729     def _make_engine(self, engine='c'):
    730         if engine == 'c':
--> 731             self._engine = CParserWrapper(self.f, **self.options)
    732         else:
    733             if engine == 'python':

/usr/local/lib/python3.5/site-packages/pandas/io/parsers.py in __init__(self, src, **kwds)
   1101         kwds['allow_leading_cols'] = self.index_col is not False
   1102
-> 1103         self._reader = _parser.TextReader(src, **kwds)
   1104
   1105         # XXX

pandas/parser.pyx in pandas.parser.TextReader.__cinit__ (pandas/parser.c:5030)()

ValueError: No columns to parse from file

Hello,
Since in my current project I'm trapped with python 2.7 , I haven't had time to update this package to Python3. Will add to the to do list! Feel free to PR as well, it shouldn't be that much work!
Thanks for the feedback.

I think this error is occured by hard coding libFM path as following line.
https://github.com/jfloff/pywFM/blob/master/pywFM/__init__.py#L103-L104
I tried to execute satisfying path condition, pywFM works as well on Python 3.5.

My intention was not to hardcode the path. In setup.py I clone libFM repo, on that line I was just getting the path of that clone. Are you saying you had to mode the libFM executable manually?
I'm not very experienced with creating python packages so I struggled a bit with this, but within the dockerfiles I've provided, everything works fine.

After posting my post, I found cloning libFM.
I tried to install and uninstall several times with Python 3.5, I found sometime libFM is not executable  even if I tried to run libFM on shell script.
Anyway, I didn't except cloning and I think using docker is overspec for pywFM.

Thank you for the comment! Have you installed libFM manually? https://github.com/srendle/libfm
Does the make all succeeds?
Regarding docker, the files are there just to get a dev environment asap. It's not mandatory :)

Yes, I've installed libFM manually, and I can use pyFM at all :)

Perhaps its best I remove the clone from the package and add manual instructions to install libFM. I could then check for a env variable (e.g. LIBFM_PATH) which has the path for the libFM executable.
Do you feel its better this way?

I've separated libFM install from pywFM package. It is now a separated installation step (instructions here).
@chezou could you please test this change?

It works. But there are many I/O overheads reading/writing tmp files, I expected to use shared library of libfm.

I also like the shared library idea, but I think that would require me to digg into libFM a bit more, and at this moment I don't have much time. When I built this I was looking at the quickest way to put libFM up and running. I will add this change to the TODO, next time I get a free time window, I'll dig this up a bit.
Meanwhile, even though this does have high I/O overhead, in my current experiments (dealing with Yelp dataset) I haven't had any trouble getting good performance out of this.

@chezou Btw, could you also confirm that this is python3 compatible?

Yes, it is works with Python 3.5! Of course you should fix document such as parentheses of print().
Finally, I realized it is very hard to execute without system function because libfm doesn't prepare shared library. But this changes makes good for windows user with compiled official binary :)

Great point!
I've updated the README and the simple example with print(). I think I can close this issue.
Thank you for the input @chezou !

Thanks.

Hi,
I tried to use pywFM on Python3.5.2 (ubuntu16.04), and I could use pywFM after little modified not only print() but also byte/str type conversion.
Particularly, in __init__.py, I changed following,
for print(),
print(os.stat(rlog_fd.name).st_size)
for byte/str type conversion,
if c_githash.decode("utf-8") != GITHASH:
preds = [float(p) for p in out_fd.read().decode("utf-8").split('\n') if p]
for line in model_fd.read().decode("utf-8").splitlines():
just for information.

Would you mind doing a PR with this change?
Thank you for the feedback!

Thank you for reply and nice wrapper!
I will do PR. Because I'm new to github, it may take time :-)

That's alright! I'll wait for it and review it with care!


Update uum student email

University URL: https://www.uum.edu.my/
Long Term IT Course URL: https://soc.uum.edu.my/programmes/undergraduate/bachelor-of-science-with-honours-information-technology-bsc-it

@ts133466 I am sorry, the domain student.uum.edu.my is removed from our trusted domains list because the school allows to register an email address there even if you are not a student of the school. If you are the student of this school, please apply with official document (OFFICIAL DOCUMENT tab at https://www.jetbrains.com/shop/eform/students).


[Style] Make Animated Login/Signup Form component responsive

What's the style idea?
We need to improve the responsiveness of Animated Login/Signup Form component for every device properly.

Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a KWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

@Rakesh9100 I am KWOC'24 contributor, Kindly assign me this issue

Go ahead @712Kunal


Standardize README shield badges

Description
This is my first contribution to DAPR. Please help me in the process :-)
I am trying to fix issue #710 that aims to standardize README shield badges created by @marcduiker. So this PR only contains changes to the badges at the top of the README.md file.

Issue reference
Please reference the issue this PR will close: #710
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

Not an approver/maintainer here but LGTM!

LGTM

@holopin-bot @pdebruin Thank you Pieter!


max_document_length cannot exceed 512

RAG.index(     collection=ragatouille_docs,     index_name="book01",     max_document_length=600,     split_documents=True, )
Set max_document_length smaller than 512, it works.
RuntimeError: The expanded size of the tensor (600) must match the existing size (514) at non-singleton dimension 1.  Target sizes: [64, 600].  Tensor sizes: [1, 514]

Bert has a max_length of 512 , recommended value is 128,256.

Hey, right now it's hard-coded as 512 because all existing ColBERT models are spun off models with a 512 max length. This is not ideal and I'm planning on making it so:

There are clearer indications of that being printed
Max length doesn't cap at 512 but at the max length of your underlying base model (to support longer context length models which people are now training)

thx!

FYI the hard 512 limit is fixed with https://github.com/bclavie/RAGatouille/pull/132. There's people currently training 8192 seqlen ColBERT which will be supported out of the box after this is merged!


Cursor position after copy is before not after the citation

Hi, is there a way to set the cursor position behind a citation? I use the linker very often - thank you for this great study improvement. All the time I pasted the bible verses into my text I have to click at the end to continue. Can you provide an automativ way for that use case?

Hello, as of right now this is not possible, but I'll try to implement it (hopefully soon)

It should now be fixed (version 1.5.2)

It should now be fixed (version 1.5.2)

Thank you. Basically it works, e.g. for Mat 9:1. But trying to enter e.g. Mat 10:1 will not work.


[BUG] The location information prompted when the import fails due to a JSON file format error is incorrect

Context
In order to help us troubleshoot issues with this project, you must provide the following details:

ElasticDump version: [ 6.97.0 ]
Elasticsearch version: [ 6.8.23 ]
Node.js version (note that nodejs v10+ is required for this tool): [ 16.18.0 ]
Full command you are having issue with (with inputs and outputs): [ see attached picture ]
A data-set you can share publicly which reproduces the problem: [ Artificially modifying the JSON file exported by elasticdump makes its format wrong. Note: the error position must be greater than 65536 to reproduce this problem. ]

Describe the bug
As the title says, the location information prompted when the import fails due to a JSON file format error is incorrect, and it seems that the position value of the prompt is the value after modulo 65536 of the real position value.
To Reproduce
Steps to reproduce the behavior:

Get any JSON file exported by elasticdump, the character length of the file is required to be greater than 65536.
Modifying any position after the position greater than 65536 makes the JSON file format wrong.
Then use 'elasticdump' to import this JSON file, and the output will prompt that the JSON format is wrong (may include the location of the error).

Current behavior
The location information prompted when the import fails due to a JSON file format error is incorrect, and it seems that the position value of the prompt is the value after modulo 65536 of the real position value.
Expected behavior
The location information prompted when the import fails due to a JSON file format error should be the real location value.
Screenshots

Additional context
None.

A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What was the url? What steps will reproduce the issue? What OS experience the problem? All these details will help to fix any potential bugs as soon as possible.

The position is relative to the line being read. The file is read as JSONL, line-by-line. As it relates to the positioning, this is handled by third-party libraries and there isn't much I can do here.

I checked the source code and found that this bug comes from the JSONStream package (v1.3.5) that parses json files. So I locate the problem locally, and then fix the problem, and the correct location information can be printed in the exception information. (see attached image below)
However, this project is now in an unmaintained archived state, so it may be necessary to fork a new project based on the last version of this project, and release it after fixing this bug. Do you think this solution is feasible?
But I still don't know how to publish an npm project. I wonder if you can help me with this?

exports.parse = function (path, map) {
  var header, footer
  var parser = new Parser()

  var offset = 0;
  var stream = through(function (chunk) {
    const chunkBytesLen = (new TextEncoder().encode(chunk)).length

    if('string' === typeof chunk) {
      chunk = bufferFrom ? Buffer.from(chunk) : new Buffer(chunk)
    }
    parser.write(chunk)

    offset += chunkBytesLen
  },
  function (data) {
    if(data)
      stream.write(data)
    if (header)
        stream.emit('header', header)
    if (footer)
      stream.emit('footer', footer)
    stream.queue(null)
  })

  parser.onError = function (err) {
    const originalErrMsg = err.message
    if(originalErrMsg && originalErrMsg.indexOf("at position") > -1) {
      const regex = /at position ([1-9][0-9]*) /
      const positionNumMatch = originalErrMsg.match(regex)
      if (positionNumMatch && positionNumMatch.length > 1) {
        const relativeBytePos = parseInt(positionNumMatch[1])
        const absolutePosition = offset + relativeBytePos + 1
        const fixedErrMsg = originalErrMsg.replace(regex, 'at position ' + absolutePosition + ' ')
        err.message = 'Invalid JSON (' + fixedErrMsg + ')'
      } else {
        err.message = 'Invalid JSON (' + originalErrMsg + ')';
      }
    }
    stream.emit('error', err)
  }
}

Send me a patch file of the changes

Thank you very much.
Ferron H @.***> 于2023年3月13日周一 22:55写道：

Send me a patch file of the changes
—
Reply to this email directly, view it on GitHub
https://github.com/elasticsearch-dump/elasticsearch-dump/issues/958#issuecomment-1466303438,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDH4AFXQMQHCVPGURCMCR3W34YNTANCNFSM6AAAAAAVYQOINA
.
You are receiving this because you authored the thread.Message ID:
@.***>

https://gist.github.com/bianyun/9fa8f45a5d1971f2979db446690681f7

new TextEncoder().encode(chunk).length This piece of code is only used to find out the size of the buffer in bytes, so that the exact offset that has been processed can be calculated.
If there is another way with better performance, you can replace this statement, as long as you can calculate the actual number of bytes of the UTF-8 string stored in the buffer.
I haven't done a comparison test, but I feel that the main time consumption is still in the step of writing data to ES.

I suspect it would have a performance impact, compounded since this method is used a lot. Did you tryng getting the length of the actual buffer ?
https://nodejs.org/api/buffer.html#buflength

Yes, the purpose of this statement is simply to obtain the exact value of the byte size of the buffer.
If you are worried that this statement will cause performance problems, then I think you can directly replace this statement with offset += 65536, because in most cases, the size of this buffer is 65536 bytes. Only when the character at the boundary happens to be a double-byte character or a three-byte character, can the buffer size be reduced to 65534 or 65535.
So, even if a fixed value of 65536 is used to calculate the offset, the resulting JSON malformed position value is basically accurate.

@ferronrsmith
Thank you for your hint. I changed the previous statement that may have performance problems to chunk.byteLength, which should be better.
The patch file v2:  https://gist.github.com/bianyun/d44035cc6add96d694c60416bef7f5bd

That's sounds good

Thanks for your help.

resolved https://github.com/elasticsearch-dump/elasticsearch-dump/commit/e0a519a2805937063d0dd10a94c6cc2329498edc

👍


Find the right Flow type for a static method

https://github.com/facebook/flow/issues/2048
and fix PerformerI when you do.

The original JS implementation asked too many simultaneous questions:

How do we solve the technical challenges of motion on the web platform (e.g. missing platform infrastructure for transitions, gestures, etc.)?
What does an idiomatic JS API feel like for Material Motion?  (Probably a lot more functional than the Java/ObjC implementations.)
What tools should we use to include the best open source workflows?
How do we make those tools work well within Google?
How can we improve the Material Motion architecture to enable even more expression?

Trying to solve these questions simultaneously had a tendency to retard project inertia.  Thus, we're now aiming for a more faithful port of the native architecture to JavaScript, using the Angular team's TypeScript tooling to achieve internal/external harmony.  This will enable us to focus on the hard technical problems (e.g. how does a transition work on the web).
Sometime in the future, we can revisit the other questions around functional APIs and expanding the number of things Material Motion can express.  For now, closing all issues that aren't relevant to our near-term plans.


Remove align_offset feature

This unstable feature has been stabilized in the latest nightlies. Fixes #246.

Thanks!


fix up the handlers a little and add digital ocean spaces

Coverage decreased (-0.07%) to 91.56% when pulling 1364c64e2391f0a0215c139af2b9d41c23b934dd on handler-fix into 1a598990eb143825748f7a4028eb6b95a8adc1b7 on master.


[Monitor] Expose --no-wait for command az monitor log-analytics cluster create

Resource Provider
Log-Analytics
Description of Feature or Work Requested
Expose --no-wait for command az monitor log-analytics cluster create
Minimum API Version Required
2020-03-01-preview
Swagger Link

Target Date

add to S171


Normalization of NaN is not working as intended

The data class tries to normalize na / nan values into empty strings.
This is done here:
https://github.com/AI-team-UoA/pyJedAI/blob/a668c98487f8f1fcdff72fa9d82473449b279c80/src/pyjedai/datamodel.py#L126-L130
but it does not work as intended.
When casting the DataFrame to str, all nan values will be replaced with the string "nan" and fillna does nothing anymore.
see:
>>> pandas.DataFrame.isnull(pandas.DataFrame([numpy.nan]).astype(float))
      0
0  True
>>> pandas.DataFrame.isnull(pandas.DataFrame([numpy.nan]).astype(str))
       0
0  False
>>>

Though, I do not know the best way to handle the intended conversion. One way could be to just change the order, first do fillna and later cast to string. But I don't know what happens if fillna('', inplace=True) is thrown against dtypes incompatible with / other than a string.
best

Hello, and I'm sorry for the late reply.
Yeah you're right on your remarks. Indeed NaN handling has no effect this way. So changing rows I think do the trick.
        # Fill NaN values with empty string
        self.dataset_1.fillna("", inplace=True)
        self.dataset_1 = self.dataset_1.astype(str)
        if not self.is_dirty_er:
            self.dataset_2.fillna("", inplace=True)
            self.dataset_2 = self.dataset_2.astype(str)

As far as the str transformation, it is necessary in order to assure that no other types will be handled. It caused issues in many  other steps, and that's why we decided to handle it this way.
The above fix will be uploaded in the next release.
Thank you that you shared it with us!
Konstantinos


Cts enhance clkgater handling

This PR enhances how clock gater are treated during CTS and it has 2 main changes:

Balance gated sinks and non gated sinks. Now the sinks that are gated are treated as a separate sub tree and are later balanced with the non gated sink.
Compute the path delays separate from the sta API. This is done to support the clock gaters that are not clock gater cells, but are defined behaviorally by the designer.

It has been throw a secure CI, there are 2 diode count failures on ibex gf180 and sky130hs. The critical failure is a time out on the microwatt design. Other than these all designs are passing.

I ran Microwatt loacally and it finished just fine. I am going to create a PR with the metrics update necessaries.

Pr with the metric update are were created, microwatt had a slight degradation on finish timing.

@precisionmoon please do that first pass.

Please resolve the clang-tidy

Please resolve the clang-tidy

I had addressed all the clang-tidy suggestions and resolved them, is there any I am missing?

Please merge master to this branch to resolve the c++20 issue.

I had addressed all the clang-tidy suggestions and resolved them, are there any I am missing?

Sorry I missed the 👍

@precisionmoon please do that first pass.

OK.   I'll schedule a review with Arthur tomorrow.

I reviewed code changes and QoR results with @arthurjolo today.  These changes look fine.

Are any metrics updates needed?

Are any metrics updates needed?

Yes, this pr has the necessary metrics changes: https://github.com/The-OpenROAD-Project-private/OpenROAD-flow-scripts/pull/942

I've sync'ed it to public but also noticed you have metric conflicts

Just fixed the merging, i believe it is ready now.


Bypass Patched?

Question in tittle.

Yes, I am pretty sure it is - I think it is also detected by the VAC system itself too. Someone can correct me if I'm wrong though...

been switching between raging and legit cheating on a couple of account with free cheats (Osiris built with junk code (that does fuckall) and otc ,injected with basic Xenos/Process Hacker, always injecting the bypass first with the loader. no ban yet. Will keep yous updated.

been switching between raging and legit cheating on a couple of account with free cheats (Osiris built with junk code (that does fuckall) and otc ,injected with basic Xenos/Process Hacker, always injecting the bypass first with the loader. no ban yet. Will keep yous updated.

I did the same thing but used a very mainstream injector and got a regular VAC ban. I didn't bother adding junk code into Osiris though, but I've just realised I didn't launch steam in administrator mode so that might've been it... Please do keep us updated!

Did it on a throwaway alt of course

You have to run Steam as administrator otherwise VAC runs in separate process and bypass won't work.

You have to run Steam as administrator otherwise VAC runs in separate process and bypass won't work.

Ah, well there's my mistake oops. I made sure to follow the instructions perfectly, but somehow I managed to miss that out.

OW banned after raging in 3-4 games. That's most likely due to reports.
Closet legit cheating in another account (teleporting people back to middoors with backtrack xD) and seems all fine for now.
However this is not the way of doing testing for this exploit, I guess. We need to try to inject a super detected cheat and play with both injected and non injected bypass. We should also trying to not get reported by other users. Or just simply try to modify memory with cheat engine in both cases.
From what happened to you @TheFlyingGamer7 , I believe the bypass works just fine.
Were you "raging"? Did you have max angles (in the misc tab) set higher or lower that 30?

OW banned after raging in 3-4 games. That's most likely due to reports.
Closet legit cheating in another account (teleporting people back to middoors with backtrack xD) and seems all fine for now.
However this is not the way of doing testing for this exploit, I guess. We need to try to inject a super detected cheat and play with both injected and non injected bypass. We should also trying to not get reported by other users. Or just simply try to modify memory with cheat engine in both cases.
From what happened to you @TheFlyingGamer7 , I believe the bypass works just fine.
Were you "raging"? Did you have max angles (in the misc tab) set higher or lower that 30?

Overwatch ban is indeed due to reports and not the cheat itself sadly lol. Keep me updated on how the legit account goes.
I'll make a new account and try using a detected cheat with the bypass to see how long the account lasts whilst hacking legitimately. Would be interesting to see the results ngl.
I wasn't raging, just using a silent aimhack on very low fov. I can't remember what max angles was set to, but I think it was set to the default.

I'm sure you know already but remember that silent aim is client-sided. If I'm legitbotting I would personally not use silent aim so I know when I'm exaggerating with my aimbot (even if I'm on like 1fov and some smoothing).
Remember to keep "max angle delta" to 30 or lower. It prevents you from getting "vac was unable to verify your game files" error ( not sure if this is only related to when you rage with wide FOVs) and ,in 2 of my accounts, it sequentially led to banned profiles.
Legit is going fine, it's on MM temporary cooldown now.
Funfact: I was playing MM, guy in the other team starts aimbotting really hard, my team reports him. I submit my report and bam, playerX account is convicted. Just like that. LMAO. I'm guessing he was using something super detected

I'm sure you know already but remember that silent aim is client-sided. If I'm legitbotting I would personally not use silent aim so I know when I'm exaggerating with my aimbot (even if I'm on like 1fov and some smoothing).
Remember to keep "max angle delta" to 30 or lower. It prevents you from getting "vac was unable to verify your game files" error ( not sure if this is only related to when you rage with wide FOVs) and ,in 2 of my accounts, it sequentially led to banned profiles.
Legit is going fine, it's on MM temporary cooldown now.
Funfact: I was playing MM, guy in the other team starts aimbotting really hard, my team reports him. I submit my report and bam, playerX account is convicted. Just like that. LMAO. I'm guessing he was using something super detected

Yeah true, but in all honesty if you set the fov to <1 and put it to snap to nearest it is very hard to tell even in slow mo.
I will keep that in mind ty, haven't had that error so far but will make sure to follow this steps thank you!
LOL that's golden, it's so satisfying when rage hacker get banned instantly from reports haha. I need to make a prime account to remove playing against hackers... How did you get the MM cool down?

Never seen this?

It happens when you win few times with an unranked account. I think every 2 won matches you get the cooldown, and after 10  won games you get your rank.

Never seen this?

It happens when you win few times with an unranked account. I think every 2 won matches you get the cooldown, and after 10 won games you get your rank.

For some reason I thought you meant a cool down for leaving a match early or something. I see the one you mean yeah

I've run ProcHack and Steam as administrator. But when I inject VAC-Bypass.dll, Steam.exe closes immediately. Why it happens?

I'm sure you know already but remember that silent aim is client-sided. If I'm legitbotting I would personally not use silent aim so I know when I'm exaggerating with my aimbot (even if I'm on like 1fov and some smoothing).
Remember to keep "max angle delta" to 30 or lower. It prevents you from getting "vac was unable to verify your game files" error ( not sure if this is only related to when you rage with wide FOVs) and ,in 2 of my accounts, it sequentially led to banned profiles.
Legit is going fine, it's on MM temporary cooldown now.
Funfact: I was playing MM, guy in the other team starts aimbotting really hard, my team reports him. I submit my report and bam, playerX account is convicted. Just like that. LMAO. I'm guessing he was using something super detected

aimbot has nothing to do with vac detections, vac will detect a cheat by sigs/hooks and so on, not by the feature it has / you're using with it, some might tho trigger an ut/other type of ban but that's due to serverside checks, that has nothing to do with the vac client that's executed on your system

Bypass Patched?

It's not.

I've run ProcHack and Steam as administrator. But when I inject VAC-Bypass.dll, Steam.exe closes immediately. Why it happens?

ProcHack uses other way to inject. I've used RemoteDLLInjector x32, it works


Telemetry keeps asking if I am interested on every reload

Hi guys. Even though I am not opposed at all to collecting information for telemetry purposes, the module now asks for my permission every time the server is reloaded (e.g. Are you interested in participation (Y/n)). It does not remember my response, while I think it should?
I think the problem here is that I use Nuxt with Adonis as the backend (using the official Nuxt template for this). In this structure, the settings are not stored in nuxt.config.js but in config/nuxt.js. I assume that is where the telemetry module stores the response setting, and it may have difficulties with this non-default path for the settings file?

I just found https://github.com/nuxt/telemetry/issues/16#issuecomment-647014318 in a closed issue. Maybe these (and other possible) settings should be mentioned the documentation/readme of this module.

Hi @dschreij. Thanks for reporting. This issue is probably because .nuxtrc cannot be read with programmatic (addonis) usage. I've added telemetry: true (as well as telemetry: false) support to nuxtconfig (v1.2.0)


Add missing caption in Bison TRISO example

The figure misses the caption of fluence.

Thanks for the fix! I ll let Abdalla know the figure is updated


Salvage magnet revamp

Working towards the vgstation roid, this revamps the magnet to have a UI and in the process add more asteroid varieties.

:cl:

add: Salvage magnet now has an interface to choose what you want to do.
tweak: Magnet asteroids now come in more varieties.

Will structures be able to be chosen now when using it? And if so how rarely?

this is a really great idea!
I love playing salv, but the current magnet system makes it a bit tough - when you get like 15 asteroids in a row. Being able to choose wreckages, etc. will be really cool - and the asteroid varieties are a nice touch! :D

Any demonstration or examples?


[backport] add license to source distribution

Backport of #4451

Jenkins, test this please.

LGTM!


[lagobot] enable jekyll

Summary
How was it tested?

Current dependencies on/for this PR:

main

PR #819   👈

This comment was auto-generated by Graphite.