[BUG] - Transaction intentionally submitted with invalid Plutus script is never removed from mempool

Internal/External
Internal
Summary
In Babbage era, when building a Tx with invalid Plutus script and passing --script-invalid, the transaction submit succeeds and the Tx is placed in mempool. However the Tx is never removed from mempool.
Steps to reproduce
Steps to reproduce the behavior:

Build & sign transaction that uses invalid Plutus script

cardano-cli transaction build --tx-in "844e1d6e41eea362f5bad19547ebe0c6aecbf361d3d5fbeb7a8ab05f7291dcd5#0" --tx-in-script-file cardano_node_tests/tests/data/plutus/v1/always-fails.plutus --tx-in-datum-file cardano_node_tests/tests/data/plutus/typed-42.datum --tx-in-redeemer-file cardano_node_tests/tests/data/plutus/typed-42.redeemer --tx-in-collateral "844e1d6e41eea362f5bad19547ebe0c6aecbf361d3d5fbeb7a8ab05f7291dcd5#1" --tx-in "844e1d6e41eea362f5bad19547ebe0c6aecbf361d3d5fbeb7a8ab05f7291dcd5#2" --tx-out "addr_test1vqc0gyk7nmmnkq3npq9sxj42eyk0fsd7qzut3ey0cz2gnwc4tlsxx+2000000" --script-invalid --change-address addr_test1vqzasvkd8j5e0jny6x22d7yy54ygrl57g808j4tucy5pzrg3u4wxq --out-file test_script_invalid_ci0_ohp_step2_tx.body --babbage-era --testnet-magic 42

cardano-cli transaction sign --tx-body-file test_script_invalid_ci0_ohp_step2_tx.body --testnet-magic 42 --signing-key-file test_script_invalid_ci0_fhp_payment_addr_1.skey --signing-key-file test_script_invalid_ci0_fhp_payment_addr_0.skey --out-file test_script_invalid_ci0_ohp_step2_tx.signed

Submit transaction

cardano-cli transaction submit --testnet-magic 42 --tx-file test_script_invalid_ci0_ohp_step2_tx.signed

No error is raised, transaction is accepted by node.

Verify that collateral was not spent

cardano-cli query utxo --out-file /dev/stdout --tx-in "844e1d6e41eea362f5bad19547ebe0c6aecbf361d3d5fbeb7a8ab05f7291dcd5#1" --testnet-magic 42 --cardano-mode

{
    "844e1d6e41eea362f5bad19547ebe0c6aecbf361d3d5fbeb7a8ab05f7291dcd5#1": {
        "address": "addr_test1vqc0gyk7nmmnkq3npq9sxj42eyk0fsd7qzut3ey0cz2gnwc4tlsxx",
        "datum": null,
        "datumhash": null,
        "inlineDatum": null,
        "referenceScript": null,
        "value": {
            "lovelace": 2000000
        }
    }
}

Wait for 100+ new blocks and check that transaction is still in mempool

cardano-cli transaction txid --tx-body-file test_script_invalid_ci0_ohp_step2_tx.body
c04f89035a585165c287a5aefd4beec1e0388dad0e2f55bcb43a1a2e04d12aba

cardano-cli query tx-mempool --testnet-magic 42 tx-exists c04f89035a585165c287a5aefd4beec1e0388dad0e2f55bcb43a1a2e04d12aba

{
    "exists": true,
    "slot": 8842,
    "txId": "c04f89035a585165c287a5aefd4beec1e0388dad0e2f55bcb43a1a2e04d12aba"
}

Expected behavior
A transaction is removed from mempool and included in a block, the collateral input is spent.
System info (please complete the following information):

OS Name: Fedora 38
Consensus version: the version used in 8.9.0 node release branch, I believe it's <IP_ADDRESS>

Additional context
invalid_script_issue.tar.gz

@mkoura thank you for the info!
In step two, you submit the transaction to a node. Is that node itself a block-producing node in this setup?

@nfrisby The node I submitted the tx to is not a block-producing node.

A first step could be to investigate whether the other nodes are rejecting this transaction, and if so find out why (by inspecting the nodes logs).

cardano-node-test command to reproduce:
pytest -k "TestBuildLocking and test_script_invalid" cardano_node_tests


Tweak generators for 8x speedup of balanceTx property

[x] Rely less on CardanoApi in prop_balanceTransactionValid
[x] Generate fewer PParam updates in tests
[x] Use cheaper PParam gen for the sake of hashing

Comments
cabal test cardano-wallet:unit --test-options='-j 8 --match "valid transactions or fails"'
This PR
Cardano.Wallet.Shelley.Transaction
  balanceTransaction
    produces valid transactions or fails [✔] (11278ms)
      +++ OK, passed 1000 tests:
      100.0% has payment outputs
      55.0% >5 payment outputs
      33.8% >10 payment outputs
       9.6% >20 payment outputs
       9.1% partial tx had zero ada outputs

      49.1% existing total collateral
      26.1% existing collateral return outputs
      10.1% output below minCoinValue
       5.6% missing tokens
       3.9% conflicting networks
       3.1% success
       0.7% missing coin
       0.5% existing collateral
       0.4% maxTxSize limit exceeded
       0.3% missing coin and tokens
       0.1% ReferenceScriptsNotSupported
       0.1% failed with ByronTxOutInContext

Finished in 11.2793 seconds, used 12.2644 seconds of CPU time
1 example, 0 failures

Master (376280e420)
Cardano.Wallet.Shelley.Transaction
  balanceTransaction
    produces valid transactions or fails [✔] (77431ms)
      +++ OK, passed 1000 tests:
      100.0% has payment outputs
      55.8% >5 payment outputs
      35.3% >10 payment outputs
      10.1% partial tx had zero ada outputs
       9.3% >20 payment outputs

      50.9% existing total collateral
      24.9% existing collateral return outputs
      10.8% output below minCoinValue
       4.7% missing tokens
       4.0% conflicting networks
       2.7% success
       1.0% missing coin
       0.5% missing coin and tokens
       0.2% existing collateral
       0.1% failed with ByronTxOutInContext
       0.1% maxTxSize limit exceeded
       0.1% unable to construct change

Finished in 77.4322 seconds, used 84.2236 seconds of CPU time
1 example, 0 failures

Issue Number

Hi @Anviking
I noticed that master has coverage of "unable to construct change", but with this PR, that case seems not to be covered? (According to your PR description.)

unable to construct change

Good catch. While I can imagine this PR reducing the coverage for unable to construct change, I am unable reproducing it again on master. I.e. the coverage of this label is already very very low.
I'd look into this some time after the balanceTx library, closer to being able to test selectAssets and rewriting Cardano.Api.Gen generators with ledger ones for more performance and maxSuccess.

bors r+


Quickstarts with AspNetIdentity return to login after going to page with manage grants

I have tried the quickstarts with AspNetIdentity and if I am login and try go to the page called /grants then  I am automaticly redirected to login page.
Why is used in GrantsController the Authorization attribute with this schema? -
[Authorize(AuthenticationSchemes = IdentityServer4.IdentityServerConstants.DefaultCookieAuthenticationScheme)]
How can I fix it?
Thank you.

Change the scheme to be the same name as the cookie scheme used by ASP.NET Identity. Also, feel free to send a PR with the fix to us.

I've created the PR.


LastUpdateTime and LastUpdateAuthor are not displayed in some documents

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[ ] I have tried creating a repro with https://new.docusaurus.io.
[ ] I have read the console error message carefully (if applicable).

Description
LastUpdateTime and showLastUpdateAuthor are not displayed in some documents.I have already opened up and hosted it on Cloudflare, and I can provide the link. The "blog" folder and "docs" folder were renamed by me as "知识库" and "博客", but I changed them back when building using Github workflow. Maybe it's related to me changing the name of the folder, but I don't quite understand why intro.md is displayed but other documents are not.

Reproducible demo
https://github.com/yinsel/docusaurus-demo https://docusaurus-demo.yinsel.top/
Steps to reproduce
Built according to the official building instructions.
Expected behavior
Display last update time and author
Actual behavior
No display of last update time and author
Your environment
github action
Self-service

[ ] I'd be willing to fix this bug myself.

The reason is that renaming the folder resulted in the modification time not being recorded in the git, which means that the docs and blog folders cannot be modified. Is there any way to modify them? The reason why I made multiple modifications and the build failed is that there is no docs folder.

I don't understand your question sorry
We read the last update date from Git, and your repro has no docs folder so it can't work:
https://github.com/yinsel/docusaurus-demo/tree/main/docs/
If we can't read from git, you can still provide that last update data through front matter:
https://docusaurus.io/docs/next/api/plugins/@docusaurus/plugin-content-docs#last_update


Add snippet for importing ES6 module without module name

Add a snippet for import 'module';.

Thanks a lot for the contribution and sorry for my late response.


Clarify how to use updateUser() v2

Improve documentation
Link
See description (it's about two pages).
Describe the problem
The Notes for resetPasswordForEmail() say:

Sends a password reset request to an email address. When the user clicks the reset link in the email they are redirected back to your application. Prompt the user for a new password and call auth.updateUser()

The documentation for updateUser() says:

Updates user data, if there is a logged in user.

Also in the Notes further down the page:

In order to use the updateUser() method, the user needs to be signed in first.

I was confused because I couldn't understand how the user could be logged in after they clicked on the link in the reset password email.
I had to look into the source, in particular this line in the constructor() for the SupabaseClient to understand that the link automatically logs in the user when detectSessionInUrl is true (I need to make sure of this).
Describe the improvement
I'd add:

a sentence to updateUser()'s notes In order to use the updateUser() method, the user needs to be signed in first. explaining that the link in resetPasswordForEmail() auto-logs in the user
a similar sentence to Sends a password reset request to an email address. When the user clicks the reset link in the email they are redirected back to your application. Prompt the user for a new password and call auth.updateUser()

hey @3v0k4, we've included the feedback on the docs you've provided to the updateUser and reset password methods already - please let us know if you'd like to see anything else!
@Crenshinibon I've made a fix in the client library method for updateUser to allow passing a custom redirect url when updating the user's email (https://github.com/supabase/gotrue-js/pull/610) - will update the docs when that is merged!

Do you guys know if supabase.auth.updateUser({ password: newPassword }) it's working properly on server side? I'm getting Auth session missing! error even when if I do getUser ou refreshSession. It's weird because in supabase-js v1 this chage-password thing was working normal. And it broke after upgrading the library.
I used to use: updateuserById. But this method it's obsolete now.
await supabaseAuth.auth.api.updateUserById(         loggedUser.id,         {password: password}       )

Nevermind... I found the methond under the admin:
supabase.auth.admin.updateUserById(user.id, {password: password})

I ended up calling setSession right before the updateUser call to get this to work:
await supabase.auth.setSession({
  access_token: session.get("access_token") as string,
  refresh_token: session.get("refresh_token") as string,
});

const {
  data: { user },
  error,
} = await supabase.auth.updateUser({
  password: new_password as string,
});

// no longer throws AuthSessionMissingError


Bug in Web GUI with interface named VPN

This is only a small GUI bug, but when having an interface named "VPN" it is impossible to open its entry on the interface overview (status_interfaces.php). When clicking on the entry, instead of opening the entry the menu "VPN" in the sidebar is opened.
I found this bug in version 18.1.2.

@0xFelix thanks for reporting, fixed in https://github.com/opnsense/core/commit/8787a3200b98b33b28e2bd0565b9111c275adb3a
To try, use:
opnsense-patch 8787a32

Can confirm the patch works, thanks!


[FEA] Support Roberta model

As title suggests, support the HF Roberta model with the pretrained weights here: https://huggingface.co/roberta-large

Hi @esnvidia ,
Thanks for the suggestion. We will add it to the list of feature requests. Not sure if/when we will have time to implement it but we will keep it in mind.
Thanks,
Julien

As more and more new models enter the market, we have prepared comprehensive instructions for TRT-LLM developers on adapting to new models of interest. We encourage our community developers to expand the range of supported models, fostering an open ecosystem with rapid iterations.
Please try following these instructions and let us know if you encounter any issues during the adaptation process. We greatly appreciate your dedication.

This model had been supported in Tensorrt-llm https://github.com/NVIDIA/TensorRT-LLM/blob/main/examples/bert/build.py#L101
please feel free to reopen this ticket if needed.


Switch to py 3.10 and spark 3.3.1

Switch our tests to Spark 3.3.1 and Python 3.10
Drop six package cause we don't support Python 2.x anymore
Replace Travis CI with Github Actions
Make our test/dev env compatible with arm64
Reduce the number of warnings

should add 3.8-3.10 to the setup.py classifiers section

🤘


Java on WAWS SSL binding of outbound connection

[Enter feedback here]
Cases involving outbound connection SSL binding for Java (Springboot) are fairly common, guide can use a section on keystore configuration that does not require admin privileges:

On my local environment import the public certificate in a new keystore.
Load the new keystore on webapp Azure (D:/home/site/wwwroot/cer/myKeystore.jks)
Add these java entries to web.config and restart service:
Djavax.net.ssl.trustStore=D:/home/site/wwwroot/cer/ myKeystore.jks
Djavax.net.ssl.trustStorePassword=*********

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b90ff6f8-f255-58b8-fc2e-f52fd1481640
Version Independent ID: 31063b65-21c4-0a7a-04bc-10be430cb116
Content: Create Java web app on Windows - Azure App Service
Content Source: articles/app-service/app-service-web-get-started-java.md
Service: app-service-web
GitHub Login: @msangapu-msft
Microsoft Alias: jafreebe

@theav8or Thanks for your comment. We are actively investigating and will get back to you shortly.

@theav8or, Thanks for sharing your valuable feedback! Your feedback has been shared with the content owner for further review.

@theav8or Thanks for your feedback, so you want to update the web.config file to use the keystore file? If so, you could do this with the maven-plugin, just specify what you want to upload and the destination(relative to wwwroot) and maven plugin will upload these files for you, here is an example.
<plugin>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>azure-webapp-maven-plugin</artifactId>
        <version>1.7.0</version>
        <configuration>
          ...
          <deployment>
            <resources>
              <resource>
                <directory>${PATH_TO_WEB_CONFIG}</directory>
                <includes>
                  <include>web.config</include>
                </includes>
              </resource>
              <resource>
                <directory>${PATH_TO_CERTIFICATE}</directory>
                <targetPath>/cer</targetPath> <!-- It will deploy to /wwwroot/cer/-->
                <includes>
                  <include>*.jks</include>
                </includes>
              </resource>
            </resources>
          </deployment>
        </configuration>
      </plugin>

@theav8or, Just checking if the suggestions posted above helps or you need further assistance on this issue.

@theav8or, Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag us in your reply and we will gladly continue the discussion.


HY-4964 Turn on strong mode and lint rules

Turn on strong mode and add required lint rules.
Testing
I pulled this into w_transport and all tests pass

Raven
Number of Findings: 0

@charliekump-wf @evanweible-wf @davidmarne-wf someone review and merge

@jayudey-wf ready for merge

QA +1

[ ] Testing instruction
[ ] Dev +1's
[ ] Dev/QA +10 with detail of what was tested
[ ] Security review (if required)
[ ] Unit tests created/updated - N/A dep bump
[ ] All unit tests pass
[ ] Rosie has run and reports properly the release the ticket will be included in

Merging into master.

@evanweible-wf Do we need to cut a release?


solver.IntVar does not return integer values in the solution

What version of OR-tools and what language are you using?
Version: 8.2 installed via pip (python 3.8)
Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP, Gurobi)
GLOP
(except GLOP is there any solver with is under license apache 2 ?)
What operating system (Linux, Windows, ...) and version?
Linux 20.04 LTS in a virtual machine
What did you do?
Steps to reproduce the behavior:
Run the follwing script:

What did you expect to see
Normaly, all elements of Sol1 should be interger and even binary (0 or 1)
Sol 1 =  [
0    0    1     0    0
0    1     0    0    0
1    0     0    1    1
]
Sol 2 = [875 425 187.5 1050 1012.5]
(solutions found with my equivalent Matlab program)
What did you see instead?

As you can see the elements of Sol 1 are not or equal to 0 or 1 but between.  The sum of each column is well equal to 1 as expected. For the third column, instead of [ 1 0 0] i get [0.69 0 0.31].
Similar results with the 5th column ([0.45 0 0.55 instead of [0 0 1])
Theses wrong values (real and not binary) affect of course the  third and fifth values of sol2 which are not correct.
Normally, for my problem i can have several solutions. I saw that with "pywrapcp" (instead of "pywraplp") it is possible.
I tried first with "pywrapcp" but i didn't succed to multiply my integer variable with some constants values, which can be rounded as integer if needed. That's why i moved to "pywraplp". Is there a simple way to get all solutions with pywraplp ?
This problem of mixing a variable which is a matrix of integers values and a variable which is a vector of double value.
Other solver like CP-SAT, Routing Solver, BOP, Gurobi can do the job ? My constraint is to use apache v2 license solvers.
Thanks for looking into this!
Emman
Make sure you include information that can help us debug (full error message, model Proto).
Anything else we should know about your project / environment

Please read the difference between a simplex solver and a MIP solver.
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le mer. 18 nov. 2020 à 11:19, emman91<EMAIL_ADDRESS>a écrit :

What version of OR-tools and what language are you using?
Version: 8.2 installed via pip (python 3.8)
Language: Python
Which solver are you using (e.g. CP-SAT, Routing Solver, GLOP, BOP,
Gurobi)
GLOP
What operating system (Linux, Windows, ...) and version?
Linux 20.04 LTS in a virtual machine
What did you do?
Steps to reproduce the behavior:
Run the follwing script:
[image: image]
https://user-images.githubusercontent.com/74408817/99512160-7380a080-2989-11eb-901e-1892dcff4f91.png
[image: image]
https://user-images.githubusercontent.com/74408817/99512349-a460d580-2989-11eb-8163-897d9bdb594c.png
[image: image]
https://user-images.githubusercontent.com/74408817/99512431-bc385980-2989-11eb-9c68-68fd8db16660.png
What did you expect to see
Normaly, all elements of Sol1 should be interger and even binary (0 or 1)
Sol 1 = [
0 0 1 0 0
0 1 0 0 0
1 0 0 1 1
]
Sol 2 = [875 425 187.5 1050 1012.5]
(solutions found with my equivalent Matlab program)
What did you see instead?
[image: image]
https://user-images.githubusercontent.com/74408817/99515602-754c6300-298d-11eb-92fb-d1e4540a424c.png
As you can see the elements of Sol 1 are not or equal to 0 or 1 but
between. The sum of each column is well equal to 1 as expected. For the
third column, instead of [ 1 0 0] i get [0.69 0 0.31].
Similar results with the 5th column ([0.45 0 0.55 instead of [0 0 1])
Theses wrong values (real and not binary) affect of course the third and
fifth values of sol2 which are not correct.
Normally, for my problem i can have several solutions. I saw that with
"pywrapcp" (instead of "pywraplp") it is possible.
I tried first with "pywrapcp" but i didn't succed to multiply my integer
variable with some constants values, which can be rounded as integer if
needed. That's why i moved to "pywraplp". Is there a simple way to get all
solutions with pywraplp ?
Thanks for looking into this!
Emman
Make sure you include information that can help us debug (full error
message, model Proto).
Anything else we should know about your project / environment
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2233, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3LY5Z3Z2QNSUKACEYTSQONRXANCNFSM4TZYQSQQ
.

Thansk for your fast reply. I know what is a MIP solver (Mixed linear problem) and i know that the solver i have used does not solve MIP. As i said, i can convert my problem into a full integer problem if needed. My question was why in the linear solver (GLOP, pywraplp) , a variable declared as integer with solver.IntVar return a real value in the solution.
Emman

Is there any solver for MIP under apache 2.0 ?

You may use the Coin-OR CBC solver which is under a EPL v2 license
ref: https://github.com/coin-or/Cbc/blob/master/LICENSE

Yes but according to my knowledge, with EPL v2  you have to give your code,  which is not the case with apache v2, right ?

And about my issue with GLOP with pywraplp, why a variable declared as integer with solver.IntVar return a real value in the solution ? have you some ideas ?

I would say glop is a pure linear solver to all intVar are converted to floating point value since integer constraint is not supported.

Yes but according to my knowledge, with EPL v2 you have to give your code, which is not the case with apache v2, right ?

Yes and no, you only have to publish the EPL code is you have modified it, it's a weak copyleft so simply using Cbc verbatim should be OK IMHO.

so my initial personnal code is not public until the moment i modify it ?

Only if you modify the code of the cbc solver.
Le mer. 18 nov. 2020 à 12:39, emman91<EMAIL_ADDRESS>a écrit :

so my initial personnal code is not public until the moment i modify it ?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2233#issuecomment-729623712,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3IIUX7SJSOO4BHLRBDSQOW7VANCNFSM4TZYQSQQ
.

Forcing the variables to have integer values is exactly the difference
between a simplex and a mip solver.
You can also use SAT_INTEGER_PROGRAMMING be to solve your problem. It is
part of or-tools.
Le mer. 18 nov. 2020 à 12:23, emman91<EMAIL_ADDRESS>a écrit :

And about my issue with GLOP with pywraplp, why a variable declared as
integer with solver.IntVar return a real value in the solution ? have you
some ideas ?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2233#issuecomment-729615474,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3I6TNRWN3LZ5TYPILDSQOVB7ANCNFSM4TZYQSQQ
.


Memory Leak in SPURLExtensions

In the file SPURLExtensions.m，there is method showed below:
-(sp_linktype)spotifyLinkType {
sp_link *link = [self createSpotifyLink];
if (link != NULL) {
	return sp_link_type(link);
	sp_link_release(link);
}
return SP_LINKTYPE_INVALID;

}
When the link is not NULL, the method return before the link is released.
So I try to modify the method like this:
-(sp_linktype)spotifyLinkType {
sp_link *link = [self createSpotifyLink];
if (link != NULL) {
          sp_linktype type = sp_link_type(link);
          sp_link_release(link);
          return type;
}
return SP_LINKTYPE_INVALID;

}
But after modify, run my app, it crashed during SPTrack's initialization:
-(id)initWithTrackStruct:(sp_track *)tr inSession:(SPSession *)aSession{
if ((self = [super init])) {
session = aSession;
track = tr;
sp_track_add_ref(track);  //my app crashed here:Program received signal: "EXC_BAD_ACCESS"
    if (!sp_track_is_loaded(track)) {
        [self performSelector:@selector(checkLoaded)
                   withObject:nil
                   afterDelay:kCheckLoadedDuration];
    } else {
        [self loadTrackData];
    }
}
return self;

}

Hey,
This has been fixed in the latest push of CocoaLibSpotify.


Updated the visualization and description of Composio - Ecosystem component

Why are these changes needed?
The updated visualisation contains a better attempt to show how Composio can empower platforms like Autogen, to interact with hundreds of external tools.
Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

Please feel free to reopen if you'd like to address the comments


 If I don't set up basic auth, I get a message like this:
[12/12/2021, 10:36:59 PM] [Rachio] Webhook received from an unknown external id Homebridge-5cb44a1b-23de-4d42-*

If I set basic auth, I get this which seems like it is saying something is wrong whether I use the app or the test url:
[12/12/2021, 10:05:53 PM] [Rachio] Expecting webhook authentication

Sending the wrong auth in the test URL seems to give the same result as the correct auth.
What should the proper configuration look like?  How do I know if all is good?

It sounds like there may be an extra Webhook defined on the Rachio side, maybe from a different plugin or app. If so deleting them and starting from scratch should do the trick. There is an checkbox in the plugin config under Webhooks/Extra stuff called "Delete all current webhook IDs". This box does not need to be checked permanently, one restart should be fine.
if correct you should see a line line this  Sidewalk Started, started for duration 3 mins. in your log when you start a zone from Rachio

Used the option to delete other webhooks, restarted. turned that option off, restarted. still get
2/13/2021, 9:09:30 AM] [Rachio] Expecting webhook authentication

But there are messages that look like Rachio is updating homebridge when I use the rachio app to turn on a zone.

I see some messages like that from time to time and have been trying to debug it, maybe this is a benign error. I'll look into it more, but it sounds like you're working ok. There is a beta version you could try, it cleaned up some of the extra logging that I had in place around this. If it is still there, I would need to see some debug logging that captured the webhook traffic, which would be really helpful. Thanks

Hi! I followed carefully all the instructions to set up the plug in but I still can’t see the accessories in the homekit app, maybe I’m doing something wrong with the webhooks config! I’ll leave you a few screen shots to see if you can tell me what I’m doing wrong.

Also here are the logs:
[16/05/22, 18:13] [Rachio Irrigation] Configuration change
[16/05/22, 18:13] [Hub] rachioirrigation stopping
[16/05/22, 18:13] [Hub] rachioirrigation stopping
[16/05/22, 18:13] [Hub] Rachio Irrigation starting
[16/05/22, 18:13] [Rachio Irrigation] Loaded plugin 'homebridge-rachio-irrigation'
[16/05/22, 18:13] [Rachio Irrigation] Registering platform 'homebridge-rachio-irrigation.rachio'
[16/05/22, 18:13] [Rachio Irrigation] Loading 1 platforms...
[16/05/22, 18:13] [Rachio Irrigation] Starting Rachio Platform with homebridge API 2.7
[16/05/22, 18:13] [Rachio Irrigation] [WARNING] Cannot validate webhook destination address, please check webhook config settings. Will not set Webhooks
[16/05/22, 18:13] [Rachio Irrigation] Getting Person info...
[16/05/22, 18:13] [Rachio Irrigation] [WARNING] Webhook support is disabled. This plugin will not sync Homekit to realtime events from other sources without Webhooks support.
[16/05/22, 18:13] [Rachio Irrigation] Bridge is running on port 51856.
[16/05/22, 18:13] [Rachio Irrigation] Found Person ID a47c0289-c62b-41df-9966-fd3d60c6691d
[16/05/22, 18:13] [Rachio Irrigation] Getting Person ID info...
[16/05/22, 18:13] [Rachio Irrigation] Getting Location info...
[16/05/22, 18:13] [Rachio Irrigation] Found Account for username balboaf25
[16/05/22, 18:13] [Rachio Irrigation] Found Location: id=f84f5fe2-a9a9-4626-be18-23e2ec2966cc address=Sendero del Lago 130  geo={ latitude: 20.681613696633, longitude: -101.394771621692 }
[16/05/22, 18:13] [Rachio Irrigation] Found Location: device id=4af91ed1-a1fe-42b1-9aaa-0b82c074fe92
[16/05/22, 18:13] [Rachio Irrigation] Skipping controller Residencial Pontevedra at Sendero del Lago 130 , not found at the configured location: Sendero del lago 130
[16/05/22, 18:18] [Rachio Irrigation] Configuration change
[16/05/22, 18:18] [Hub] rachioirrigation stopping
[16/05/22, 18:18] [Hub] rachioirrigation stopping
[16/05/22, 18:18] [Hub] Rachio Irrigation starting
[16/05/22, 18:18] [Rachio Irrigation] Loaded plugin 'homebridge-rachio-irrigation'
[16/05/22, 18:18] [Rachio Irrigation] Registering platform 'homebridge-rachio-irrigation.rachio'
[16/05/22, 18:18] [Rachio Irrigation] Loading 1 platforms...
[16/05/22, 18:18] [Rachio Irrigation] Starting Rachio Platform with homebridge API 2.7
[16/05/22, 18:18] [Rachio Irrigation] [WARNING] Cannot validate webhook destination address, please check webhook config settings. Will not set Webhooks
[16/05/22, 18:18] [Rachio Irrigation] Getting Person info...
[16/05/22, 18:18] [Rachio Irrigation] [WARNING] Webhook support is disabled. This plugin will not sync Homekit to realtime events from other sources without Webhooks support.
[16/05/22, 18:18] [Rachio Irrigation] Bridge is running on port 51856.
[16/05/22, 18:18] [Rachio Irrigation] Getting Person ID info...
[16/05/22, 18:18] [Rachio Irrigation] Found Person ID a47c0289-c62b-41df-9966-fd3d60c6691d
[16/05/22, 18:18] [Rachio Irrigation] Found Account for username balboaf25
[16/05/22, 18:18] [Rachio Irrigation] Getting Location info...
[16/05/22, 18:18] [Rachio Irrigation] Found Location: id=f84f5fe2-a9a9-4626-be18-23e2ec2966cc address=Sendero del Lago 130  geo={ latitude: 20.681613696633, longitude: -101.394771621692 }
[16/05/22, 18:18] [Rachio Irrigation] Found Location: device id=4af91ed1-a1fe-42b1-9aaa-0b82c074fe92
[16/05/22, 18:18] [Rachio Irrigation] Skipping controller Residencial Pontevedra at Sendero del Lago 130 , not found at the configured location: Sendero del lago 130
[16/05/22, 18:21] [Hub] [WARNING] device reboot command received
[16/05/22, 18:21] [Hub] Initilizing interface 'homebridge-lutron-caseta-leap'
[16/05/22, 18:21] [Hub] Registering route 'homebridge-lutron-caseta-leap:search' on 'lutroncasetaleapbridge'
[16/05/22, 18:21] [Hub] Shutting down
[16/05/22, 18:21] [Hub] Stopped
[16/05/22, 18:21] [Hub] hub is running on port 8080
[16/05/22, 18:21] [Hub] Initilizing interface 'homebridge-lutron-caseta-leap'
[16/05/22, 18:21] [Hub] Registering route 'homebridge-lutron-caseta-leap:search' on 'lutroncasetaleapbridge'
[16/05/22, 18:21] [Hub] Tuya Web Bridge starting
[16/05/22, 18:21] [Hub] Lutron Caseta Leap Bridge starting
[16/05/22, 18:21] [Hub] Sensibo Ac Bridge starting
[16/05/22, 18:21] [Hub] Camera FFmpeg Bridge starting
[16/05/22, 18:21] [Hub] Switchbot Bridge starting
[16/05/22, 18:21] [Hub] SmartThings Bridge starting
[16/05/22, 18:21] [Hub] Govee starting
[16/05/22, 18:21] [Hub] August Locks starting
[16/05/22, 18:21] [Hub] Rachio Irrigation starting
[16/05/22, 18:22] [Rachio Irrigation] Loaded plugin 'homebridge-rachio-irrigation'
[16/05/22, 18:22] [Rachio Irrigation] Registering platform 'homebridge-rachio-irrigation.rachio'
[16/05/22, 18:22] [Rachio Irrigation] Loading 1 platforms...
[16/05/22, 18:22] [Rachio Irrigation] Starting Rachio Platform with homebridge API 2.7
[16/05/22, 18:22] [Rachio Irrigation] [WARNING] Cannot validate webhook destination address, please check webhook config settings. Will not set Webhooks
[16/05/22, 18:22] [Rachio Irrigation] [WARNING] Webhook support is disabled. This plugin will not sync Homekit to realtime events from other sources without Webhooks support.
[16/05/22, 18:22] [Rachio Irrigation] Getting Person info...
[16/05/22, 18:22] [Rachio Irrigation] Bridge is running on port 51856.
[16/05/22, 18:22] [Rachio Irrigation] Found Person ID a47c0289-c62b-41df-9966-fd3d60c6691d
[16/05/22, 18:22] [Rachio Irrigation] Getting Person ID info...
[16/05/22, 18:22] [Rachio Irrigation] Found Account for username balboaf25
[16/05/22, 18:22] [Rachio Irrigation] Getting Location info...
[16/05/22, 18:22] [Rachio Irrigation] Found Location: id=f84f5fe2-a9a9-4626-be18-23e2ec2966cc address=Sendero del Lago 130  geo={ latitude: 20.681613696633, longitude: -101.394771621692 }
[16/05/22, 18:22] [Rachio Irrigation] Found Location: device id=4af91ed1-a1fe-42b1-9aaa-0b82c074fe92
[16/05/22, 18:22] [Rachio Irrigation] Skipping controller Residencial Pontevedra at Sendero del Lago 130 , not found at the configured location: Sendero del lago 130
[16/05/22, 18:25] [Rachio Irrigation] Configuration change
[16/05/22, 18:25] [Hub] rachioirrigation stopping
[16/05/22, 18:25] [Hub] Rachio Irrigation starting
[16/05/22, 18:25] [Rachio Irrigation] Loaded plugin 'homebridge-rachio-irrigation'
[16/05/22, 18:25] [Rachio Irrigation] Registering platform 'homebridge-rachio-irrigation.rachio'
[16/05/22, 18:25] [Rachio Irrigation] Loading 1 platforms...
[16/05/22, 18:25] [Rachio Irrigation] Starting Rachio Platform with homebridge API 2.7
[16/05/22, 18:25] [Rachio Irrigation] [WARNING] Cannot validate webhook destination address, please check webhook config settings. Will not set Webhooks
[16/05/22, 18:25] [Rachio Irrigation] [WARNING] Webhook support is disabled. This plugin will not sync Homekit to realtime events from other sources without Webhooks support.
[16/05/22, 18:25] [Rachio Irrigation] Getting Person info...
[16/05/22, 18:25] [Rachio Irrigation] Bridge is running on port 51856.
[16/05/22, 18:25] [Rachio Irrigation] Found Person ID a47c0289-c62b-41df-9966-fd3d60c6691d
[16/05/22, 18:25] [Rachio Irrigation] Getting Person ID info...
[16/05/22, 18:25] [Rachio Irrigation] Found Account for username balboaf25
[16/05/22, 18:25] [Rachio Irrigation] Getting Location info...
[16/05/22, 18:25] [Rachio Irrigation] Found Location: id=f84f5fe2-a9a9-4626-be18-23e2ec2966cc address=Sendero del Lago 130  geo={ latitude: 20.681613696633, longitude: -101.394771621692 }
[16/05/22, 18:25] [Rachio Irrigation] Found Location: device id=4af91ed1-a1fe-42b1-9aaa-0b82c074fe92
[16/05/22, 18:25] [Rachio Irrigation] Skipping controller Residencial Pontevedra at Sendero del Lago 130 , not found at the configured location: Irapuato
[16/05/22, 18:26] [Rachio Irrigation] Configuration change
[16/05/22, 18:26] [Hub] rachioirrigation stopping
[16/05/22, 18:26] [Hub] rachioirrigation stopping
[16/05/22, 18:26] [Hub] Rachio Irrigation starting
[16/05/22, 18:26] [Rachio Irrigation] Loaded plugin 'homebridge-rachio-irrigation'
[16/05/22, 18:26] [Rachio Irrigation] Registering platform 'homebridge-rachio-irrigation.rachio'
[16/05/22, 18:26] [Rachio Irrigation] Loading 1 platforms...
[16/05/22, 18:26] [Rachio Irrigation] Starting Rachio Platform with homebridge API 2.7
[16/05/22, 18:26] [Rachio Irrigation] [WARNING] Cannot validate webhook destination address, please check webhook config settings. Will not set Webhooks
[16/05/22, 18:26] [Rachio Irrigation] [WARNING] Webhook support is disabled. This plugin will not sync Homekit to realtime events from other sources without Webhooks support.
[16/05/22, 18:26] [Rachio Irrigation] Getting Person info...
[16/05/22, 18:26] [Rachio Irrigation] Bridge is running on port 51856.
[16/05/22, 18:26] [Rachio Irrigation] Found Person ID a47c0289-c62b-41df-9966-fd3d60c6691d
[16/05/22, 18:26] [Rachio Irrigation] Getting Person ID info...
[16/05/22, 18:26] [Rachio Irrigation] Found Account for username balboaf25
[16/05/22, 18:26] [Rachio Irrigation] Getting Location info...
[16/05/22, 18:26] [Rachio Irrigation] Found Location: id=f84f5fe2-a9a9-4626-be18-23e2ec2966cc address=Sendero del Lago 130  geo={ latitude: 20.681613696633, longitude: -101.394771621692 }
[16/05/22, 18:26] [Rachio Irrigation] Found Location: device id=4af91ed1-a1fe-42b1-9aaa-0b82c074fe92
[16/05/22, 18:26] [Rachio Irrigation] Skipping controller Residencial Pontevedra at Sendero del Lago 130 , not found at the configured location: Irapuato
Hope you can help me.

Solved partially: removed http:// from the external IP address field and leave blank the street name!  now I only see one button with two buttons on it, one to run all the zones and the other, I suppose to leave them in stand by mode, but no buttons for individual zones!

Updated version 1.2.11. added additional info to both the readme and the logging if a domain address fails validation hoping this will help others in the future.
As for missing zones, the is a known issue since Apple IOS 15.4.1. zones may appear with long press (press and hold). IOS 15.5 released today does not appear to have fixed this.

As a work around to this current bug, you may can uncheck show as irrigation in the plugin config. You may have to remove and re add the device in IOS. If you can see all the zones in IOS you can group as a single tile.


0.3.16 release due to new cargo

The build fails with todays stable and nightly; I successfully built the tip today.

The fix was merged in https://github.com/meta-rust/cargo-bitbake/pull/27 and works fine for me.

@srwalter Can we reopen this, as no release was actually tagged or uploaded to crates.io?

Unfortunately I'm not able to produce a release because its failing to build for me currently on my dev box.
  = note: ld: reference to symbol (which has not been assigned an address) __ZN4
curl4init9INIT_CTOR17h52e5a6ce1731886eE in '__ZN4curl4init17h4b2fd770f1576c88E' from /Users/cardoe/work/cargo-bitbake/target/package/cargo-bitbake-0.3.16-alpha.
0/target/debug/deps/libcurl-e5052614d62e5d75.rlib(curl-e5052614d62e5d75.curl.f364c615-cgu.15.rcgu.o) for architecture arm64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

I am using the legacy overrides feature on master, so I would love a release to avoid having to install from git and have a deterministic cargo-bitbake version for generated recipes.
If there are any issues blocking release I will be happy to contribute more to this wonderful tool if I can.

@cardoe Is there anything we can do to help (access to amd64 build VMs, ...)?

@kraj can you create a release?

@kraj any chance of a cargo release? I'm happy to help if I can ☺

@kraj I see the release but it's not on crates.io yet, has it just not been uploaded?

The Rust issue on the M1 is taken care of and I've made the release.


strange behavior with StopIterationAndBuffer in wasm filter

If you are reporting any crash or any potential security issue, do not
open an issue in this repo. Please report the issue via emailing
<EMAIL_ADDRESS>where the issue will be triaged appropriately.
Title: One line description
StopIterationAndBuffer does not stop request being sent to destination upstream service
Description:
in onrequestbody method, i simply return StopIterationAndBuffer and hoped to halt request processing e.g. other filters etc. but client always received response from the destination service no matter what.

Describe the issue.

it may be my poor understanding of the inner workings of wasm filter. code snippet below does not prevent the request from being handled by destination service e.g. hello world service:
FilterDataStatus TransformContext::onRequestBody(size_t body_buffer_length,
bool end_of_stream) {
return FilterDataStatus::StopIterationAndBuffer;
[optional Relevant Links:]

Any extra documentation required to understand the issue.
below is envoy.yaml:

static_resources:
listeners:
- name: main
address:
socket_address:
address: <IP_ADDRESS>
port_value: 8000
filter_chains:
- filters:
- name: envoy.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
stat_prefix: ingress_http
codec_type: auto
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains:
- "*"
routes:
- match:
prefix: "/"
route:
cluster: web_service
            http_filters:
              - name: envoy.filters.http.wasm
                typed_config:
                  "@type": type.googleapis.com/udpa.type.v1.TypedStruct
                  type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm
                  value:
                    config:
                      name: "my_plugin"
                      root_id: "my_root_id"
                      configuration:
                        "@type": type.googleapis.com/google.protobuf.StringValue
                        value: |
                          { }
                      vm_config:
                        vm_id: "my_vm_id"
                        runtime: "envoy.wasm.runtime.v8"
                        code:
                          local:
                            filename: "envoy/bazel-bin/examples/wasm-cc/main.wasm"
              - name: envoy.filters.http.router
                typed_config:
                  "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

- name: staticreply
  address:
    socket_address:
      address: <IP_ADDRESS>
      port_value: 9000
  filter_chains:
    - filters:
        - name: envoy.http_connection_manager
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
            stat_prefix: ingress_http
            codec_type: auto
            route_config:
              name: local_route
              virtual_hosts:
                - name: local_service
                  domains:
                    - "*"
                  routes:
                    - match:
                        prefix: "/"
                      direct_response:
                        status: 200
                        body:
                          inline_string: "hello from the server\n"
            http_filters:
              - name: envoy.filters.http.router
                typed_config:
                  "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

clusters:
- name: web_service
connect_timeout: 0.25s
type: STATIC
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: mock_service
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: <IP_ADDRESS>
port_value: 9000
- name: grpc
connect_timeout: 0.25s
type: STATIC
lb_policy: ROUND_ROBIN
http2_protocol_options: {}
load_assignment:
cluster_name: mock_grpc
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: <IP_ADDRESS>
port_value: 8085
admin:
access_log_path: "/dev/null"
address:
socket_address:
address: <IP_ADDRESS>
port_value: 8001
Thanks for any assistance

as experiment, i changed logic in onrequeestheaders to:
FilterHeadersStatus TransformContext::onRequestHeaders(uint32_t headers,
bool end_of_stream) {
if(!end_of_stream) {
return FilterHeadersStatus::StopIteration;
}
return FilterHeadersStatus::Continue;

}
from envoy log, i saw:
[2022-08-19 19:29:54.948][2219435][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:882] [C0][S6386565109344744445] request headers complete (end_stream=false):
':authority', 'localhost:8000'
':path', '/'
':method', 'POST'
'user-agent', 'curl/7.68.0'
'accept', '/'
'a', 'b'
'content-length', '3'
'content-type', 'application/x-www-form-urlencoded'
[2022-08-19 19:29:54.949][2219435][debug][http] [external/envoy/source/common/http/filter_manager.cc:779] [C0][S6386565109344744445] request end stream
[2022-08-19 19:29:56.535][2219421][debug][main] [external/envoy/source/server/server.cc:209] flushing stats
[2022-08-19 19:30:01.534][2219421][debug][main] [external/envoy/source/server/server.cc:209] flushing stats
[2022-08-19 19:30:06.542][2219421][debug][main] [external/envoy/source/server/server.cc:209] flushing stats
[2022-08-19 19:30:09.951][2219435][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:757] [C0][S6386565109344744445] Stream max duration time reached
[2022-08-19 19:30:09.951][2219435][debug][http] [external/envoy/source/common/http/filter_manager.cc:883] [C0][S6386565109344744445] Sending local reply with details max_duration_timeout
something is amiss: if request headers complete, how come end_of_stream is false in this case?

Once i deleted listener configuration for upstream service e.g. web_service and configured a separate service outside of envoy, the issue disappeared.


Replication should handle scheduler jobs

I try to copy an index using the replication API. These are the steps I took:

create the new index
add a replication task from source to target index, replication type "backup"
run the replication

Bugs:

the scheduler jobs from the source index are not replicated (source had a BuildAutocompletion job, destination does not)
if the target index already hold a job, this job is removed (created the BuildAutocompletion job beforehands)

Any news on this, @emmanuel-keller?

@emmanuel-keller is there any chance to implement this?


Unable to scroll test runs while notifications are active

Once the process of sending email(s) / deleting test run(s) is started, user isn't able to scroll test runs page until all the notifications are completed. However, other interactions with the test runs, such as opening of specific test run, using search filters are available

fixed


Not compatible with rails 5.1

As before_filter has been depricated in in rails 5.1 so papertrail is not working with rails 5.1 I needed to change in paper_trail-4.0.0/lib/paper_trail/frameworks/rails/controller.rb and replace before_filter with before_action is there any version update or do I need to create a fork for this.

I was able to get it fix by adding this line in my gemfile
gem 'paper_trail', git: 'https://github.com/airblade/paper_trail.git', branch: '5-stable'

[PT 4.0.0 is] not compatible with rails 5.1

Correct. Compatibility with rails 5.1 was added in PT 6. Please see our compatibility table.

I was able to get it fix by [using] branch: '5-stable'

I'm glad you found a solution, but I don't recommend using a branch. Please use an official release instead. The latest release is 7.0.2.

yes agree


Blows up if directory doesn't exist

I was using requireDir to include optional files into my project. Over the course of time, all of those optional files ended up getting removed, so the directory itself was lost by git, and then my project suddenly stopped working. Took me awhile to track down the cause. In my case, adding a .gitkeep to the directory is an acceptable solution. But, I propose that there be some sort of error handling if a directory doesn't exist. Maybe return an empty object or null instead of completely blowing up. Example;
Error: ENOENT, no such file or directory '/somedirectorythatdoesntexist'

Thanks for the feedback, @josiahsprague. But the native require() also throws an error if a file or module doesn't exist, so it feels like the right thing to do here also. (And I think in other cases, failing fast with an error would have been helpful to spot a bug sooner.)
The good news is that the error message is descriptive and accurate, at least to me. Did you think so too?

Closing since no response, and this feels like the right thing to do. Feel free to chime in if you still disagree. =)


DS-3700: MediaFilterServiceImpl forgot to close an input stream (for master)

Port https://github.com/DSpace/DSpace/pull/1848 to master

Hmm...looks like we already have a PR port of this fix for master: https://github.com/DSpace/DSpace/pull/1963
I've reviewed this, and it doesn't look to be the same as #1848 (the DSBitStoreService is a bit different in the final code result, and a missing System.out in the MediaFilterServiceImpl).
I'll see if I can simply update one of these into better alignment.


plugins/cilium-docker: use log default exit code 1

log.Fatal(err) in line 63 will call
https://github.com/cilium/cilium/blob/c39e1337f98da3ca1dd2e35bc719026442486273/vendor/github.com/sirupsen/logrus/entry.go#L325-L328
and entry.Logger.Exit(1) in line 327 will call
https://github.com/cilium/cilium/blob/c39e1337f98da3ca1dd2e35bc719026442486273/vendor/github.com/sirupsen/logrus/logger.go#L336-L342
and we don't set logger.ExitFunc. So just call os.Exit(1).
In fact, the README of the log library already points this out:
https://github.com/cilium/cilium/blob/c39e1337f98da3ca1dd2e35bc719026442486273/vendor/github.com/sirupsen/logrus/README.md?plain=1#L303-L304
The line 65 of code will not be executed regardless of the exit code set.
https://github.com/cilium/cilium/blob/c39e1337f98da3ca1dd2e35bc719026442486273/plugins/cilium-docker/main.go#L62-L67

/test-runtime

The Cilium docker plugin is only exercised in runtime tests. These passed and the change LGTM. Marking as ready to merge.


Add Russian translation

Resolves #1842
Currently just done for testing, needs proper translation by a native speaker.

Closing in favour of proper translation now being done in translation.io, and #1842


Strict mode

Is your feature request related to a problem? Please describe.
Some test fail because testers do not known that used selector, select more then one element on the page. Possibly because they are hidden
Describe the solution you'd like
Playwright 1.14.0 introduces concept of "strict mode" (see: https://github.com/microsoft/playwright/blob/master/docs/src/release-notes-python.md)
Describe alternatives you've considered
Will the robotframework-browser support this construct ?
Additional context
not applicable

How you would like to control the feature?

That's a good question.
For me it could be a setting on initialization if a new browser object.
Which in turn, turns all requests into strict (without adding additional
options in the robot code)
But maybe other users have more fine grained wishes.
Greets
On Sun, Aug 15, 2021, 20:48 Tatu Aalto @.***> wrote:

How you would like to control the feature?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MarketSquare/robotframework-browser/issues/1233#issuecomment-899094521,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARLATWN63LUZSOOZNU6IPODT5ADXZANCNFSM5CGOBAPA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

Well, I see three different and common options to control it.

Library import controls the default behaviour.
There is new keyword which can change the default behaviour.
Default behaviour can be changed in each keyword by an new argument.

I agree, these are the most common chosen  solutions...
Starting with least impact, Ending with most impact in my opinion.
For me: the first option would suffice for now...

I think we should enable strict mode by default.

It will generate some problems, but every failure with selector finding more than one element can be fixed.
In the long term enforcing strict mode will spot more errors in tests and is good for all.

I am leaning towards same direction, although it is backwards incomplete change. But I am happy to do so and release 8.0 next.

I think we also need an option to change the default option to the old way
of working.
Otherwise, potentially, a lot of errors can occur without a way to get the
old behavior back.
But I agree that these errors can and should be fixed.
My 2 cents
On Sun, Aug 15, 2021, 23:05 Tatu Aalto @.***> wrote:

I am leaning towards same direction, although it is backwards incomplete
change. But I am happy to do so and release 8.0 next.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MarketSquare/robotframework-browser/issues/1233#issuecomment-899109779,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARLATWLHDMOYBCFBHJMKM63T5AT3NANCNFSM5CGOBAPA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

This also changes drastically some keywords signature.

Decided to go with options

Library import controls the default behaviour.
There is new keyword which can change the default behaviour.

Hello Tatu.
Great solution. A all or nothing is fine by me.
I see the code is merged to master, but no new release is created?
When do you think when this is released?
Fingers are itching to test it.
Greets,
Erik
On Sun, Sep 12, 2021, 07:52 Tatu Aalto @.***> wrote:

Decided to go with options

Library import controls the default behaviour.
There is new keyword which can change the default behaviour.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MarketSquare/robotframework-browser/issues/1233#issuecomment-917562707,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARLATWPYEDBCWUPS5G4ZVOLUBQ53PANCNFSM5CGOBAPA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Most likely we will create release early next week. I wanted to give some time to thing about and at least change this one https://github.com/MarketSquare/robotframework-browser/pull/1293

@aaltat
Thanks for both releases (8.0.0 and 8.0.1). I think this is the first time in my life that I'm the first to download a link.
I already did some tests and noticed some errors (which I did expect). Now its up to us to fix them!
Thanks for all the great work


Fixed #27458 - Fixed Oracle ORA-00911 error when trying to create object with many-to-many relationship

See https://code.djangoproject.com/ticket/27458 for more details

retest this please

Does this still work with lower and mixed cased tables? Specially edge case where table is twice - one in uppercase and one in lowercase?

@jtiai yes, it works, it doesn't influence the case because it's processed later to be all uppercased

Hi @timgraham @felixxm !
any updates on this pull request and ticket?

Looking good @andrewnester! Thanks for clarifying the test user situation @felixxm.

Buildbot, test on Oracle.

Buildbot, test on Oracle.

retest this please on Oracle

Buildbot, test on Oracle.

@charettes not sure why I am getting this when running teat on Jenkins for Oracle ORA-01031: insufficient privileges
Is this related to CI configuration or something wrong with my tests?
Thanks

Test failed because CI configurations use multiple databases (default and other) with different test users (D_PULLREQUESTSORACLE_35 and D2_PULLREQUESTSORACLE_35). Due to this line Django trying to create table with the same username in both cases
CREATE TABLE "D_PULLREQUESTSORACLE_35"."DJANGO_STUDENT_TABLE" ("ID" NUMBER(11) NOT NULL PRIMARY KEY, "NAME" NVARCHAR2(30) NULL)
Maybe database router can help in this case.

Buildbot, test on Oracle.

Buildbot, test on Oracle.

Buildbot, test on Oracle.

Buildbot, test on Oracle.

What about testing this tests/schema instead? You should be able to create the model there, assert the index was created and query the model to make sure everything work.

Buildbot, test on Oracle.

@felixxm @charettes thanks you for all suggestions! moved tests to test/schema. Now working fine, thanks!

Hi @felixxm @charettes
any updates on this ticket?

I guess we could ship this as is and adjust the test for PostgreSQL and MySQL later.

While you're in the area, you might look at https://code.djangoproject.com/ticket/12529. I think that might only affect apps without migrations.

@timgraham I decided to create new function instead of flag because using flag might indicate that function performs more than one logic functionality (consider Single Responsibility principle)

@timgraham mentioned ticket is covered by this pull request too.

Buildbot, test on Oracle.

Buildbot, test on Oracle.

buildbot, test on oracle.

@andrewnester, you're saying that #12529 should be fixed now? I can't see how, but if you can add an explanation to the ticket and close it, please do. Thanks.


README show wrong license

This will be soon fixed by a README update, but I'm tracking it here anyway

The README file text and badge claims the extension is subject to the CC-BY-NC-SA license, which is wrong. The LICENSE file clearly states it's a CC-BY-NC-ND license.
The README will be updated to reflect the LICENSE file.

Fixed in https://github.com/flagrow/bazaar/commit/64ac87182de5361549d8d98fa940d1e8e8572943


Can push screen to OME like getDisplayMedia() using OvenLiveKit?

As title, can I push media stream from my desktop to OME?

@buithevuong Hi. There is a display capture feature we haven't revealed yet.
https://github.com/AirenSoft/OvenLiveKit-Web/blob/17e7387782bc63485ea6694cda18a2b2d7161ab9/src/OvenLiveKit.js#L222
Usage is the same as getUserMedia...
ovenLivekit.getDisplayMedia().then(function () {

    const connectionConfig = {
        iceServers : null ,
        iceTransportPolicy: null,
        maxBitrate: null
    }

    // Got media stream from user device and start to stream to OvenMedieEngeine
    ovenLivekit.startStreaming(connectionUrl, connectionConfig);
});

However, there is an issue with the display capture, so we have not released it yet.

Delay in Start the Streaming of Screen Share https://github.com/AirenSoft/OvenLiveKit-Web/issues/1

See also this issue. Maybe this issue can help.

WebRTC input x-google-start-bitrate hack? https://github.com/AirenSoft/OvenPlayer/issues/202

As title, can I push media stream from my desktop to OME?

hi, did you make it work? I managed to share browser tab, but still problem with sharing entire screen and app window

Close this issue due to duplicated. (refer https://github.com/AirenSoft/OvenLiveKit-Web/issues/10)


Bug fix save_df if_exists='replace'

Updated the save_df if_exists option
Fixed bug for if_exists='replace'. It now correctly deletes the data of the existing table
before writing the DataFrame instead of dropping the table, recreating it, and finally writing the DataFrame.

Added option 'drop-replace' to the if_exists parameter. This option does what the bug with 'replace' did before,
which is also the way if_exists='replace' is implemented in the pandas.DataFrame.to_sql method.

Updated error handling of save_df method.
The method now correctly triggers TableExistsError and SaveDataFrameError.
If a ValueError is raised by the pandas.DataFrame.to_sql method, that is not related to
"table exists and if_exists='fail'", the ValueError is translated into a SaveDataFrameError
and not a TableExistsError as before.

Ok to merge.


Support json log exception stack filtering

Logback supports the ability to filter[1] out stack frames from the exception[2] with the format template of %exception{full, io.dropwizard,org.apache} syntax. With json log format we lost the ability to support this type of filtering. I think it can be reintroduced by adding configuration and setting[3] those on the ThrowableHandlingConverter[4].
[1] http://jira.qos.ch/browse/LOGBACK-540
[2] https://logback.qos.ch/manual/layouts.html#ex
[3] https://github.com/qos-ch/logback/blob/v_1.2.3/logback-core/src/main/java/ch/qos/logback/core/pattern/DynamicConverter.java#L54
[4] https://github.com/dropwizard/dropwizard/blob/v1.3.5/dropwizard-json-logging/src/main/java/io/dropwizard/logging/json/EventJsonLayoutBaseFactory.java#L91

I realize now that you're already familiar with my suggestion in #2489.
Can the issue of configuring json logging of exception be solved in a single swoop, as these two issues seem very much related.

Closed via #2501


Some markers are not visible in range scale but all are visible when series is fit to size.

Lightweight Charts Version:
I have used unpkg CDN link in my code.
Steps/code to reproduce:
https://jsfiddle.net/6kq9jy7m/
Actual behavior:
Markers should be visible all the time.
Expected behavior:
belowBar Markers are only visible when series data is fit to content.
Screenshots

CodeSandbox/JSFiddle/etc link:
https://jsfiddle.net/6kq9jy7m/

I checked the issue by changing color, placement but still one type of markers is showing but another type of markers is not showing.
Please check, I have shared jsfiddle link also with this issue.

I think there is some issue with the time of the marker.
I tried sorting markers with time ascending then called setMarkers function.
Now all the markers are working fine.

We're planning to add run-time checks for such issues #315.

@aadityatamrakar Thank you for telling the fix. I've found this issue also in my application and could fix the missing markers by sorting the array. 👍 :)


[ISSUE #7295] Reserve time for next retrial when send message.

Which Issue(s) This PR Fixes

Fixes #7295
Brief Description

How Did You Test This Change?

Codecov Report

Merging #7298 (5d194a7) into develop (d000ef9) will increase coverage by 0.01%.
Report is 2 commits behind head on develop.
The diff coverage is 73.77%.

@@              Coverage Diff              @@
##             develop    #7298      +/-   ##
=============================================
+ Coverage      42.63%   42.64%   +0.01%
- Complexity      9453     9460       +7
=============================================
  Files           1151     1151
  Lines          82669    82699      +30
  Branches       10771    10775       +4
=============================================
+ Hits           35246    35271      +25
- Misses         43018    43022       +4
- Partials        4405     4406       +1

Files Changed
Coverage Δ

...c/main/java/org/apache/rocketmq/common/MixAll.java
38.98% <ø> (ø)

...e/rocketmq/remoting/netty/NettyRemotingClient.java
43.17% <44.44%> (ø)

...mq/client/impl/producer/DefaultMQProducerImpl.java
44.70% <74.35%> (+0.70%)
:arrow_up:

...ocketmq/broker/processor/AdminBrokerProcessor.java
24.37% <92.30%> (+0.30%)
:arrow_up:

... and 23 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Missing exception-free JavaCast overload

Android framework version
net8.0-android
Affected platform version
.NET 8
Description
When writing some code that does not have a specific .NET type, or if the linker removes the .NET type because it is not used, there is no way to check to see if the type is implementing an interface or has a specific base type.
For example, I am using Glide to load a Drawable and then I want to see if it implements the IAnimatable interface. In debug builds this works because the AnimationDrawable type happens to be in the .NET type system. When the linker runs through the code, that type is never referenced so it is removed. This causes the runtime behavior to be wrong for an if block like this:
if (myDrawableFromJava is IAnimatable)

Similarly, if I have a slim binding (or chose not to bind everything) then the .NET type will never exist at all.
The app still runs because it uses the DrawableInvoker type to do things. This invoker does not have the interface to the .NET type check fails.
To get around this issue, I want to use the JavaCast<T>() extension method, but that now throws an exception if the type is not what I am casting.
Is there an overload or alternative that will allow be to check the types on the Java side to see if an interface or base type is valid and then return the instance that is of that type?
Steps to Reproduce
This is the core issue: https://github.com/dotnet/maui/pull/22874
Did you find any workaround?
public static TResult? TryJavaCast<[DynamicallyAccessedMembers (Constructors)] TResult>(this IJavaObject? instance)
	where TResult : class, IJavaObject
{
	try
	{
		return instance.JavaCast<TResult>();
	}
	catch
	{
		return null;
	}
}

Relevant log output
No response

I like this idea, and we should do it in dotnet/java-interop as an extension method on IJavaPeerable. :-)

This probably merits some discussion on what the API should look like.  To fit the standard "Try" pattern, the API would be:
public bool TryJavaCast<T> (this IJavaPeerable? instance, out T? result) where T : class, IJavaPeerable

If we want to simply return T?, perhaps we should call it AsJavaCast to by symmetric with a C# "as" cast?
public T? AsJavaCast<T> (this IJavaPeerable? instance) where T : class, IJavaPeerable

@jpobst: I agree with your thoughts on the "Try" pattern; TryJavaCast<T>() having a non-bool return type feels wrong.
We could alternatively do .JavaAs<T>() for "symmetry" with the as operator.
Usage-wise, I think bool-returning TryJavaCast() might be better?
if (a.TryJavaCast<B>(out var b)) {
    // use `b`
}

// vs
var b = a.JavaAs<B>();
if (b != null) {
    // use `b`
}

If you're going to need an if anyway, you might as well go with the bool TryJavaParse<T>() idea.  However, if you want to use the null conditional operator or pattern matching, .JavaAs<T>() might be better:
a.JavaAs<B>()?.SomeMethodSpecificToB();

if (a.JavaAs<B>() is B b) { // … but why?!
}

Maybe both Try and As variants?
We can also debate .AsJavaCast<T>() vs. .JavaAs<T>().  .JavaAs<T>() came to mind earlier todays, before I had a chance to elaborate.  However, .JavaAs<T>() might be "too cute".


incompatible with angular 8.1.2

i run  npx ng update @angular/core @angular/cli
and i got the error message !
Package "ngx-barcode6" has an incompatible peer dependency to "@angular/common" (requires ">=6.0.0 <=8.0.0"
(extended), would install "8.1.2").
Package "ngx-barcode6" has an incompatible peer dependency to "@angular/core" (requires ">=6.0.0 <=8.0.0" (extended), would install "8.1.2").
help~ thx~

i solved it~
npm uninstall ngx-barcode6
npx ng update @angular/core @angular/cli
npm install --save ngx-barcode6<EMAIL_ADDRESS>it work!


doc: Document building with west in the Getting Started guide

Codecov Report

Merging #13314 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #13314      +/-   ##
==========================================
+ Coverage   48.76%   48.76%   +<.01%
==========================================
  Files         319      319
  Lines       46864    46864
  Branches    10832    10832
==========================================
+ Hits        22853    22854       +1
  Misses      19381    19381
+ Partials     4630     4629       -1

Impacted Files
Coverage Δ

arch/posix/core/posix_core.c
91.91% <0%> (+1.01%)
: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 b44e06e...8fbddcd. Read the comment docs.

@dbkinder @nashif @mbolivar this only adds west instructions for building and flashing in the Getting Started page. We may want to consider adding them everywhere instead, but perhaps inverting the order in which they appear. Today west is first:

Using west
west build -b ...

Using cmake and ninja:
cmake -GNinja ...
ninja

we could invert it so:

Using cmake and ninja:
cmake -GNinja ...
ninja

Using west
west build -b ...


Clean up integration tests

This PR...

Adds tests to easily broadcasts transactions to/from noble and Eth or any L2. See deployed_relayer_test.go
Updates eth_burn_to_noble_mint_test.go and noble_burn_to_eth_mint_test.go to only use 1 config file. It also introduces the destination caller to ensure the no other relayers pick up the transaction when testing.
Removes the multi send tests as I don't think those are necessary anymore.
Updates the sample config files

This PR was included in: https://github.com/strangelove-ventures/noble-cctp-relayer/pull/49


added clipShapeOnCrop param

Currently the app will clip the area outside of the Circle when we use the Circle shape. This is a problem if we only want to show the Circle shape but save the Rectangle shape in the server.
For example, if we want to show the avatar in circle shape and in the future if they want to show it in rectangle or need a rectangle image somewhere else in the platform, they cannot get it now as we are clipping the area outside of the circle.
clipShapeOnCrop param allows us to save the image file in Rectangle path so that we can have the flexibility of changing the shape in the future. By default, theclipShapeOnCrop is set to true to avoid any breaking changes.

Released in 0.0.11 🙂 Thank you for your PR!


Add link to documentation generated for redhatinsights/insights-operator-cli/commands/common_test.go

Description
Add link to documentation generated for redhatinsights/insights-operator-cli/commands/common_test.go
Fixes #288
Type of change

Documentation update

Testing steps
N/A

Codecov Report

Merging #344 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #344   +/-   ##
=======================================
  Coverage   70.95%   70.95%
=======================================
  Files          12       12
  Lines         730      730
=======================================
  Hits          518      518
  Misses        208      208
  Partials        4        4

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 7ce6fec...e333bda. Read the comment docs.


config: Two small copyedits

Commit messages have terse descriptions ;).

We did a major rewrite to this stuff so none of this merges right now. Sorry about that. :(


TypeError: dom.window.eval is not a function

Basic info:

Node.js version:  v7.10.0
jsdom version: 10.1.0

I use jsdom to process many web pages but found some page's window.eval() is not a function.
HTML elements with id='eval' will override the window.eval()!.
Minimal reproduction case
const { JSDOM } = require("jsdom");

const options = {
  runScripts: 'outside-only'
};

const dom = new JSDOM(`

Eval

`, options);

> dom.window.eval
HTMLHeadingElement {}
> dom.window.eval('1+1')
TypeError: dom.window.eval is not a function

@weijarz  Why did you close? Does this work this way in the browsers?

Please reopen, this is NOT how browsers behave and it is a major issue.

@vsemozhetbyt
Sorry, I make a mistake.
Browsers does not allow overriding 'window.eval' by set element id to "eval".


Initial E2E tests

@uriklar nice work!
Can you please add:

package.json script to run cypress tests
README instructions on how to run cypress tests locally

?

Thanks @webernir. Updated the README


[3.24.1] Can't use RenderTexture with Shader

Version
v3.24.1 (also tried with v3.50.0-beta.11)
Description
When binding a RenderTexture to a shader's iChannel uniform, the shader does not render anything. Whereas, passing a texture from a loaded image does work.
Here's a rough outline of the steps I'm carrying out:

Create a RenderTexture object (using power-of-two dimensions)
Colour the Render Texture red using .fill()
Store a copy of the Render Texture in the Texture Manager using .saveTexture()
Add a shader to the display list and pass the texture to it using its key from the Texture Manager

Expected Behaviour
You should see the shader display object on screen with a predominantly red texture.
Actual Behaviour
The entire shader display object is black.
Example Test Code
Live example: https://playground.chunk.co.uk/christopher/phaser-issues/issue1/dist/index.html
Full source code: https://playground.chunk.co.uk/christopher/phaser-issues/issue1/src/index.js
You can see the bulk of the code directly below.
function preload() {
  this.load.image('metal', './assets/alien-metal.jpg');
  this.load.glsl('bundle', './assets/bundle.glsl.js');
}

function create() {
  // Create a 512x512 render texture and fill it red.
  var rt = this.make.renderTexture({ x: 0, y: 0, width: 512, height: 512 }, true);
  rt.fill(0xff0000, 1, 0, 0, 512, 512);

  // Store the render texture in the texture manager.
  rt.saveTexture('rt');

  // Create a shader and pass it our render texture.
  const shader = this.add.shader('Tunnel', 400, 300, 800, 600, [ 'rt' ]);

  // If the user clicks the shader then toggle between the render texture and the loaded image texture.
  shader.setInteractive();
  shader.on('pointerdown', function () {
    var currentTexture = shader.getUniform('iChannel0').textureKey;
    if (currentTexture === 'rt') {
        shader.setChannel0('metal');
    } else if (currentTexture === 'metal') {
        shader.setChannel0('rt');
    }
  });
}

Additional Information
The code example above listens for mouse clicks on the shader. When clicked, it swaps between the render texture and a texture from a loaded image. Whereas the render texture never renders within the shader, the loaded image does.

Thank you for submitting this feature request. We have implemented this and the feature has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.

Hi, I've re-tested this with the latest code from master (and also from the commit for this bug) and it still seems to be broken.
I've uploaded my source and a latest live demo here:
Live example: https://playground.chunk.co.uk/christopher/phaser-issues/issue1b/dist/index.html
Full source code: https://playground.chunk.co.uk/christopher/phaser-issues/issue1b/src/index.js
And here's a link to the original live example I provided: https://playground.chunk.co.uk/christopher/phaser-issues/issue1/dist/index.html
When comparing the original live version I provided with the latest one, I noticed the following differences:

The following WebGL warning is now output to the browser's developer console: WebGL: INVALID_OPERATION: bufferSubData: no buffer

When I click on the screen to swap the texture that the shader is using, nothing appears to happen. I now see a blank screen in both cases.

Additional Notes:
The version of Phaser I tested with was taken from master and installed as a node package using:
npm install https://github.com/photonstorm/phaser.git
I also tried using the actual bug fix commit instead:
npm install https://github.com/photonstorm/phaser.git#d6d5c095521429daf3151e4bb4b968aa15235927
Both exhibited the same issues.
Thanks.

http://labs.phaser.io/view.html?src=src\3.50\game objects\shaders\shader using a render texture.js&v=dev
This is a dev build prior to further changes being made in Render Texture (to solve an unrelated issue, but the changes will impact the master branch currently)


Assert hit on TCP RST with full write buffer.

When a TCP channel has a full send buffer (e.g. the channel is registered for writability) and the socket is closed by TCP RST, an assert is hit with the following backtrace:
* thread #3, name = 'NIO-ELT-#1', stop reason = Assertion failed
    frame #0: 0x0000000100c9d800 libswiftCore.dylib`_swift_runtime_on_report
    frame #1: 0x0000000100ce0da0 libswiftCore.dylib`_swift_stdlib_reportFatalErrorInFile + 128
    frame #2: 0x0000000100a1313c libswiftCore.dylib`closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in Swift._assertionFailure(Swift.StaticString, Swift.String, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Never + 284
    frame #3: 0x0000000100c82762 libswiftCore.dylib`partial apply forwarder for closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in Swift._assertionFailure(Swift.StaticString, Swift.String, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Never + 34
    frame #4: 0x0000000100c83c09 libswiftCore.dylib`closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in Swift._assertionFailure(Swift.StaticString, Swift.String, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Neverpartial apply forwarder with unmangled suffix ".823" + 9
    frame #5: 0x0000000100a12836 libswiftCore.dylib`function signature specialization <Arg[1] = [Closure Propagated : reabstraction thunk helper from @callee_guaranteed (@unowned Swift.UnsafeBufferPointer<Swift.UInt8>) -> () to @callee_guaranteed (@unowned Swift.UnsafeBufferPointer<Swift.UInt8>) -> (@out ()), Argument Types : [@callee_guaranteed (@unowned Swift.UnsafeBufferPointer<Swift.UInt8>) -> ()]> of generic specialization <()> of Swift.StaticString.withUTF8Buffer<A>((Swift.UnsafeBufferPointer<Swift.UInt8>) -> A) -> A + 54
    frame #6: 0x0000000100c824eb libswiftCore.dylib`partial apply forwarder for closure #1 (Swift.UnsafeBufferPointer<Swift.UInt8>) -> () in Swift._assertionFailure(Swift.StaticString, Swift.String, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Never + 203
    frame #7: 0x0000000100a12836 libswiftCore.dylib`function signature specialization <Arg[1] = [Closure Propagated : reabstraction thunk helper from @callee_guaranteed (@unowned Swift.UnsafeBufferPointer<Swift.UInt8>) -> () to @callee_guaranteed (@unowned Swift.UnsafeBufferPointer<Swift.UInt8>) -> (@out ()), Argument Types : [@callee_guaranteed (@unowned Swift.UnsafeBufferPointer<Swift.UInt8>) -> ()]> of generic specialization <()> of Swift.StaticString.withUTF8Buffer<A>((Swift.UnsafeBufferPointer<Swift.UInt8>) -> A) -> A + 54
    frame #8: 0x0000000100ba3870 libswiftCore.dylib`function signature specialization <Arg[1] = Exploded> of Swift._assertionFailure(Swift.StaticString, Swift.String, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Never + 144
    frame #9: 0x0000000100a12270 libswiftCore.dylib`Swift._assertionFailure(Swift.StaticString, Swift.String, file: Swift.StaticString, line: Swift.UInt, flags: Swift.UInt32) -> Swift.Never + 32
  * frame #10: 0x0000000100601c75 NIO`SocketChannel.isOpen.getter(self=0x0000000101527280) at SocketChannel.swift:52
    frame #11: 0x000000010050bf78 NIO`BaseSocketChannel.close0(error=alreadyClosed, mode=all, promise=some, self=0x0000000101527280) at BaseSocketChannel.swift:641
    frame #12: 0x00000001006070e2 NIO`SocketChannel.close0(error=alreadyClosed, mode=all, promise=some, self=0x0000000101527280) at SocketChannel.swift:256
    frame #13: 0x0000000100511337 NIO`protocol witness for ChannelCore.close0(error:mode:promise:) in conformance BaseSocketChannel<A> at BaseSocketChannel.swift:0
    frame #14: 0x000000010055fb1a NIO`HeadChannelHandler.close(ctx=0x0000000101527b90, mode=all, promise=some, self=0x0000000101602740) at ChannelPipeline.swift:915
    frame #15: 0x000000010055feff NIO`protocol witness for _ChannelOutboundHandler.close(ctx:mode:promise:) in conformance HeadChannelHandler at ChannelPipeline.swift:0
    frame #16: 0x00000001005592ca NIO`ChannelHandlerContext.invokeClose(mode=all, promise=some, self=0x0000000101527b90) at ChannelPipeline.swift:1392
    frame #17: 0x000000010056244b NIO`ChannelHandlerContext.close(mode=all, promise=some, self=0x0000000101429930) at ChannelPipeline.swift:1198
    frame #18: 0x0000000100540c47 NIO`_ChannelOutboundHandler.close(ctx=0x0000000101429930, mode=all, promise=some, self=<unavailable>) at ChannelHandler.swift:261
    frame #19: 0x00000001003c92e6 NIOHTTP1`protocol witness for _ChannelOutboundHandler.close(ctx:mode:promise:) in conformance HTTPResponseEncoder at HTTPEncoder.swift:0
    frame #20: 0x00000001005592ca NIO`ChannelHandlerContext.invokeClose(mode=<unavailable>, promise=<unavailable>, self=NIO.ChannelHandlerContext @ 0x0000700002660338) at ChannelPipeline.swift:1392
    frame #21: 0x0000000100559384 NIO`ChannelHandlerContext.invokeClose(mode=<unavailable>, promise=<unavailable>, self=NIO.ChannelHandlerContext @ 0x00007000026605b8) at ChannelPipeline.swift:1394
    frame #22: 0x000000010056244b NIO`ChannelHandlerContext.close(mode=<unavailable>, promise=<unavailable>, self=NIO.ChannelHandlerContext @ 0x0000700002660670) at ChannelPipeline.swift:1198
    frame #23: 0x0000000100540c47 NIO`_ChannelOutboundHandler.close(ctx=NIO.ChannelHandlerContext @ 0x00007000026606d8, mode=<unavailable>, promise=<unavailable>, self=Self @ 0x00007000026606c0) at ChannelHandler.swift:261
    frame #24: 0x00000001003ddaa6 NIOHTTP1`protocol witness for _ChannelOutboundHandler.close(ctx:mode:promise:) in conformance HTTPServerPipelineHandler at HTTPServerPipelineHandler.swift:0
    frame #25: 0x00000001005592ca NIO`ChannelHandlerContext.invokeClose(mode=<unavailable>, promise=<unavailable>, self=NIO.ChannelHandlerContext @ 0x0000700002660948) at ChannelPipeline.swift:1392
    frame #26: 0x0000000100559384 NIO`ChannelHandlerContext.invokeClose(mode=<unavailable>, promise=<unavailable>, self=NIO.ChannelHandlerContext @ 0x0000700002660bc8) at ChannelPipeline.swift:1394
    frame #27: 0x000000010056244b NIO`ChannelHandlerContext.close(mode=<unavailable>, promise=<unavailable>, self=NIO.ChannelHandlerContext @ 0x0000700002660c80) at ChannelPipeline.swift:1198
    frame #28: 0x0000000100564096 NIO`protocol witness for ChannelOutboundInvoker.close(mode:promise:) in conformance ChannelHandlerContext at ChannelPipeline.swift:0
    frame #29: 0x000000010054a512 NIO`ChannelOutboundInvoker.close(mode=<unavailable>, self=<unavailable>) at ChannelInvoker.swift:172
    frame #30: 0x000000010001a441 NIOHTTP1Server`closure #3 in HTTPHandler.handleFile(error=NIO.IOError @ 0x0000000101718a38, responseStarted=0x0000000101717d90, request=NIOHTTP1.HTTPRequestHead @ 0x0000000101718bf8, ctx=0x0000000101429e90, self=0x0000000101429d50) at main.swift:321
    frame #31: 0x000000010001fa95 NIOHTTP1Server`partial apply for closure #3 in HTTPHandler.handleFile(ctx:request:ioMethod:path:) at main.swift:0
    frame #32: 0x0000000100591210 NIO`closure #1 in EventLoopFuture.thenIfError(self=<unavailable>, next=<unavailable>, callback=<unavailable>) at EventLoopFuture.swift:553
    frame #33: 0x00000001005942f9 NIO`partial apply for closure #1 in EventLoopFuture.thenIfError(file:line:_:) at EventLoopFuture.swift:0
    frame #34: 0x000000010058ab05 NIO`CallbackList._run(self=<unavailable>) at EventLoopFuture.swift:82
    frame #35: 0x000000010058bccb NIO`EventLoopPromise._resolve(value=<unavailable>, self=<unavailable>) at EventLoopFuture.swift:191
    frame #36: 0x000000010058bf1f NIO`EventLoopPromise.fail(error=Error @ 0x0000700002661ad0, self=<unavailable>) at EventLoopFuture.swift:178
    frame #37: 0x00000001005d6698 NIO`closure #1 in closure #1 in PendingStreamWritesState.failAll($0=<unavailable>, error=Error @ 0x0000700002661b10) at PendingWritesManager.swift:235
    frame #38: 0x00000001005ddf7d NIO`closure #1 in closure #1 in PendingStreamWritesState.failAll(error:)partial apply at PendingWritesManager.swift:0
    frame #39: 0x00000001005cae19 NIO`thunk for @callee_guaranteed (@owned EventLoopPromise<()>) -> (@error @owned Error) at PendingDatagramWritesManager.swift:0
    frame #40: 0x00000001005ddfdb NIO`thunk for @callee_guaranteed (@owned EventLoopPromise<()>) -> (@error @owned Error)partial apply at PendingWritesManager.swift:0
    frame #41: 0x0000000100bc34bf libswiftCore.dylib`function signature specialization <Arg[0] = Owned To Guaranteed> of (extension in Swift):Swift.Sequence.forEach((A.Element) throws -> ()) throws -> () + 351
    frame #42: 0x0000000100aeb86d libswiftCore.dylib`merged (extension in Swift):Swift.Sequence.forEach((A.Element) throws -> ()) throws -> () + 13
    frame #43: 0x00000001009c9d80 libswiftCore.dylib`(extension in Swift):Swift.Sequence.forEach((A.Element) throws -> ()) throws -> () + 16
    frame #44: 0x00000001005d6450 NIO`specialized closure #1 in PendingStreamWritesState.failAll(promises=<unavailable>, error=Error @ 0x0000700002661d10) at PendingWritesManager.swift:235
    frame #45: 0x00000001005d64d1 NIO`partial apply for specialized  at PendingWritesManager.swift:0
    frame #46: 0x00000001005dba2f NIO`PendingStreamWritesManager.failAll(error=Error @ 0x0000700002661ea8, close=<unavailable>, self=<unavailable>) at PendingWritesManager.swift:415
    frame #47: 0x0000000100607697 NIO`SocketChannel.cancelWritesOnClose(error=Error @ 0x0000700002661f60, self=NIO.SocketChannel @ 0x0000700002661f58) at SocketChannel.swift:270
    frame #48: 0x000000010050c1fd NIO`BaseSocketChannel.close0(error=Error @ 0x00007000026622c0, mode=<unavailable>, promise=<unavailable>, self=NIO.BaseSocketChannel<T> @ 0x00007000026622a8) at BaseSocketChannel.swift:670
    frame #49: 0x00000001006070e2 NIO`SocketChannel.close0(error=Error @ 0x00007000026626c8, mode=<unavailable>, promise=<unavailable>, self=NIO.SocketChannel @ 0x00007000026626b0) at SocketChannel.swift:256
    frame #50: 0x0000000100505fa1 NIO`BaseSocketChannel.flushNow(self=NIO.BaseSocketChannel<T> @ 0x0000700002662a10) at BaseSocketChannel.swift:404
    frame #51: 0x000000010050d5bc NIO`BaseSocketChannel.writable(self=NIO.BaseSocketChannel<T> @ 0x0000700002662af8) at BaseSocketChannel.swift:721
    frame #52: 0x0000000100511189 NIO`protocol witness for SelectableChannel.writable() in conformance BaseSocketChannel<A> at BaseSocketChannel.swift:0
    frame #53: 0x000000010057ee92 NIO`SelectableEventLoop.handleEvent<A>(ev=<unavailable>, channel=<unavailable>, self=<unavailable>) at EventLoop.swift:428
    frame #54: 0x0000000100580593 NIO`closure #1 in closure #1 in SelectableEventLoop.run(ev=<unavailable>, self=<unavailable>) at EventLoop.swift:489
    frame #55: 0x0000000100585546 NIO`partial apply for closure #1 in closure #1 in SelectableEventLoop.run() at EventLoop.swift:0
    frame #56: 0x0000000100580680 NIO`thunk for @callee_guaranteed (@owned SelectorEvent<NIORegistration>) -> (@error @owned Error) at EventLoop.swift:0
    frame #57: 0x00000001005855ab NIO`partial apply for thunk for @callee_guaranteed (@owned SelectorEvent<NIORegistration>) -> (@error @owned Error) at EventLoop.swift:0
    frame #58: 0x00000001005eb7c8 NIO`Selector.whenReady(strategy=<unavailable>, body=<unavailable>, self=<unavailable>) at Selector.swift:419
    frame #59: 0x0000000100580376 NIO`closure #1 in SelectableEventLoop.run(self=<unavailable>, nextReadyTask=<unavailable>) at EventLoop.swift:484
    frame #60: 0x000000010058523b NIO`partial apply for closure #1 in SelectableEventLoop.run() at EventLoop.swift:0
    frame #61: 0x00000001005066e6 NIO`thunk for @callee_guaranteed () -> (@error @owned Error) at BaseSocketChannel.swift:0
    frame #62: 0x00000001005852ab NIO`thunk for @callee_guaranteed () -> (@error @owned Error)partial apply at EventLoop.swift:0
    frame #63: 0x000000010057ac13 NIO`closure #1 in withAutoReleasePool<A>(execute=<unavailable>) at EventLoop.swift:261
    frame #64: 0x000000010057acb6 NIO`partial apply for closure #1 in withAutoReleasePool<A>(_:) at EventLoop.swift:0
    frame #65: 0x00000001011448aa libswiftObjectiveC.dylib`ObjectiveC.autoreleasepool<A>(invoking: () throws -> A) throws -> A + 58
    frame #66: 0x000000010057ab79 NIO`withAutoReleasePool<A>(execute=<unavailable>) at EventLoop.swift:260
    frame #67: 0x000000010057f58f NIO`SelectableEventLoop.run(self=<unavailable>) at EventLoop.swift:482
    frame #68: 0x0000000100582e52 NIO`closure #1 in static MultiThreadedEventLoopGroup.setupThreadAndEventLoop(t=<unavailable>, initializer=<unavailable>, self=<unavailable>, lock=<unavailable>, _loop=<unavailable>, loopUpAndRunningGroup=<unavailable>) at EventLoop.swift:673
    frame #69: 0x0000000100585f9a NIO`partial apply for closure #1 in static MultiThreadedEventLoopGroup.setupThreadAndEventLoop(name:initializer:) at EventLoop.swift:0
    frame #70: 0x00000001005834ef NIO`thunk for @escaping @callee_guaranteed (@owned Thread) -> () at EventLoop.swift:0
    frame #71: 0x000000010061e2e1 NIO`partial apply for thunk for @escaping @callee_guaranteed (@owned Thread) -> () at Thread.swift:0
    frame #72: 0x000000010061d26e NIO`closure #1 in static Thread.spawnAndRun(p=<unavailable>) at Thread.swift:105
    frame #73: 0x000000010061d2f9 NIO`@objc closure #1 in static Thread.spawnAndRun(name:body:) at Thread.swift:0
    frame #74: 0x00000001010e045f libsystem_pthread.dylib`_pthread_body + 126
    frame #75: 0x00000001010e03e1 libsystem_pthread.dylib`_pthread_start + 61
    frame #76: 0x00000001010e0011 libsystem_pthread.dylib`thread_start + 13

This appears to be a simple ordering issue: right now the pending writes are failed (transitioning the PWM to "closed") before the channel lifecycle manager transitions to closed. This means that if there is a write promise that calls ChannelHandlerContext.close, this assertion will trigger, because we are only partially closed.
As a general rule, this assertion is probably right: there should be no user-observable moment when one of these two entities believes it is closed but the other does not. In particular, if this assert had not triggered then we'd have re-entered BaseSocketChannel.close0 which is extremely unlikely to end well (we'd have transitioned into the closed state twice, which will cause a fatalError and bring the process down).
Probably the fix here is to change the ordering in one of two ways: either we can cancel all the pending writes after the pipeline and promise callouts, or we can do what we've done elsewhere and transition the state manager, then cancel these writes, then make the pipeline callouts. The second is more likely to be accurate: I'll try making that change and see what happens.

a fix for this is in https://github.com/apple/swift-nio/pull/286/files#diff-c8d9db5af379f19953c31d0baf337291R664 . @Lukasa volunteered to pull it out and write unit tests for it


Auto Updater

https://github.com/dustinblackman/Championify/commit/042ca497b3fa6fe456be8bc9fa37a23679649b5c

Fixed in GUI release.


First letter in field name changed to lower case

If a field name starts with a capital letter then Apollo changes it to a lower case letter. This causes the query or mutation to fail. Changing the function and variable names is just fine, but the marshaller should use a non-modified field name.

Could you please provide example of the query and what was generated in static final ResponseField[] $responseFields = { } section.
Another question what version are you using?

Oh InputFieldMarshaller , yeah thx, will take a look at it ASAP


Add router

so should we remove TabsDevelop now?
Yes. I just made that to use vue-material.

so should we remove TabsDevelop now?

Yes. I just made that for vue-material and kept Tabs just in case. Now we no longer use vue-material so I removed TabsDevelop too.


run tfjob failded with self build image

I build an image by a Dockerfile which is the same as tf-operator/examples/tf_sample/Dockerfile. When I try to apply and run a tfjob.  The container is failed without any logs.....

Can you give us the detail of the pod: kubectl describe pods <pod>

the description of master pod:
Name:           example-job1-master-0
Namespace:      default
Node:           <IP_ADDRESS>/<IP_ADDRESS>
Start Time:     Mon, 08 Oct 2018 15:15:27 +0800
Labels:         group_name=kubeflow.org
tf-replica-index=0
tf-replica-type=master
tf_job_name=example-job1
Annotations:
Status:         Failed
IP:             <IP_ADDRESS>
Controlled By:  TFJob/example-job1
Containers:
tensorflow:
Container ID:   docker://af68b1a2a1f46c27ed35d98c9280e52f13b54a75bfe9441402c7edfa38a65d0e
Image:          <IP_ADDRESS>:5000/szz/tfjobtest:1.0
Image ID:       docker-pullable://<IP_ADDRESS>:5000/szz/tfjobtest@sha256:cd56d14bd7a97ae3776aae696678fbac6b81298588fd50237205fe777d35f1fb
Port:           2222/TCP
Host Port:      0/TCP
State:          Terminated
Reason:       Error
Exit Code:    132
Started:      Mon, 08 Oct 2018 15:15:30 +0800
Finished:     Mon, 08 Oct 2018 15:15:30 +0800
Ready:          False
Restart Count:  0
Environment:
TF_CONFIG:  {"cluster":{"master":["example-job1-master-0:2222"],"ps":["example-job1-ps-0:2222","example-job1-ps-1:2222"],"worker":["example-job1-worker-0:2222"]},"task":{"type":"master","index":0},"environment":"cloud"}
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-5rl6d (ro)
Conditions:
Type              Status
Initialized       True
Ready             False
ContainersReady   False
PodScheduled      True
Volumes:
default-token-5rl6d:
Type:        Secret (a volume populated by a Secret)
SecretName:  default-token-5rl6d
Optional:    false
QoS Class:       BestEffort
Node-Selectors:
Tolerations:
Events:

I think the error is from your code, since Exit Code: 132

Maybe you could output something in the container, to debug.

I think the error is from your code, since Exit Code: 132

my code is the same as the file  tf-operator/examples/tf_sample/tf_smoke.py
There is a lot of log output statement, but no output log。

I think the error is from the image, then.
PTAL https://github.com/tensorflow/tensorflow/issues/19584

I think the error is from the image, then.
PTAL tensorflow/tensorflow#19584

But when I use the sample image from the official gcr.io/tf-on-k8s-dogfood/tf_sample:dc944ff, the code could run off. Do you know how to build this official image?

https://github.com/kubeflow/tf-operator/blob/master/examples/tf_sample/Dockerfile

https://github.com/kubeflow/tf-operator/blob/master/examples/tf_sample/Dockerfile

I have built this Dockerfile before I open this issue. My error is caused by this image. So how to build an useful image for tfjob?

I think you just need to make sure that the tensorflow is installed correctly in the image.

I think you just need to make sure that the tensorflow is installed correctly in the image.

Thank you,I solve this problem. After I used the tensorflow/tensorflow:1.5.0 instead of tensorflow/tensorflow:1.8.0 in the Dockerfile, my image run off.


Handling critical startup exceptions.

As was suggested by @aprogiena there should be a way for handling critical startup exceptions that are not compatible with continuation of node starting process. Probably a new type of exception should be introduced for that and every component's startup rebuilt.

Currently, the components are started with Start which returns void, so there is no how for the caller to see if the startup succeeded or not. We could either change the pattern to return bool and if something returned false then we would not continue with the startup. Or we can introduce a new type of exception that would be handled without reporting to the console.
The idea is not to crash to console, but give user a nice message when something bad happens due to misconfiguration or whatever is user's fault.

Is it not like this already?

I think we can close this, the resolution is sufficient for now.


Add Docker-specific rake tasks

Prevent conflicts with non-Docker setups
See https://github.com/fastlane/ci/pull/848 for an example

Oh, I didn't realize that was a thing. I'm new to Rake. I'll do some reading and see if it makes sense to use.

While we talk about this, how much of the code do we want to have in a Rakefile, or should those be separate Ruby/shell files in a different structure?
From what I see, Rake has 2 powerful main features we'd make use of

task :name to easily define tasks in combination with namespaces
Lots of helpers, especially around file system related tasks. I don't think we make use of them yet for fastlane.ci

Either way is fine, I know Rakefile can be structured really well, as you can extend it and provide your own helper methods, to keep the main Rakefile clean 👍

I agree, we should make sure the rakefile is clean, and organized. I also think we should limit the amount of stuff that goes in there.