bug: starknet_call errs if contract nonexistent

Bug Report
Madara version:
Whichever version <IP_ADDRESS>:9944 is running
Current behavior:
Calling a nonexisting contract causes the API to return an internal server error instead of a user-level err msg.
Expected behavior:
The API should respond with a relatively descriptive err message instead of seeming like there's a bug in the server.
Steps to reproduce:
Executing the following:
curl -X POST --location "http://<IP_ADDRESS>:9944" \
    -H "Content-Type: application/json" \
    -d '{
          "id": 1,
          "jsonrpc": "2.0",
          "method": "starknet_call",
          "params": [
            {
              "contract_address": "0x1",
              "entry_point_selector": "0x1",
              "calldata": [
              ]
            },
            "latest"
          ]
        }'

Results in the following internal server error response:
{
  "jsonrpc": "2.0",
  "error": {
    "code": 500,
    "message": "Internal server error"
  },
  "id": 1
}

Whereas executing the same request on Juno gives a descriptive error message:
{
  "jsonrpc": "2.0",
  "error": {
    "code": 40,
    "message": "Contract error",
    "data": {
      "revert_error": "Requested contract address ContractAddress(PatriciaKey(StarkFelt(\"0x0000000000000000000000000000000000000000000000000000000000000001\"))) is not deployed."
    }
  },
  "id": 1
}

can I take this one? @apoorvsadana

Sure, assigned @hhamud

I can definitely see that the errors need to return more information so I will refactor this but can you describe what actually doing? As I get this error when querying the jsonrpc when running the madara rpc locally
{"jsonrpc":"2.0","error":{"code":40,"message":"Contract error"},"id":1}

@neelkamath

I can definitely see that the errors need to return more information so I will refactor this but can you describe what actually doing? As I get this error when querying the jsonrpc when running the madara rpc locally
{"jsonrpc":"2.0","error":{"code":40,"message":"Contract error"},"id":1}

@neelkamath

If that's the response you get, then perhaps there's nothing to be done as it's already been fixed but the fix hasn't been deployed?

nah its still a bug as its supposed to tell you "Contract not found" for undeployed contract addresses. What happens here is that it fails to execute rather than failing on finding the contract class.

I can definitely see that the errors need to return more information so I will refactor this but can you describe what actually doing? As I get this error when querying the jsonrpc when running the madara rpc locally
{"jsonrpc":"2.0","error":{"code":40,"message":"Contract error"},"id":1}

@neelkamath

If that's the response you get, then perhaps there's nothing to be done as it's already been fixed but the fix hasn't been deployed?

nah its still a bug as its supposed to tell you "Contract not found" for undeployed contract addresses. What happens here is that it fails to execute rather than failing on finding the contract class.

OK. I didn't actually understand your question "can you describe what actually doing?".

Its fine now, the errors just need to be refactored and the testnet updated.


Multiple vue instance bug

Vue.js version
Vue.js v2.0.0-alpha.5
Reproduction Link
https://jsbin.com/xedizivigi/edit?html,js,console,output
Steps to reproduce
First read  'bar.car.log', then assign  bar.car.log = 'baoma'
What is Expected?
foo object will not update
What is actually happening?
foo object  will also be updated

Hi @douzi8,
I have checked your bin and the foo object remains the same as expected.

Interesting, looks like a bug to me.

It's working as expected for me, bar.car.log gets a new value assigned and foo.car.log is not changed.

@ealves-pt but update is still called for foo, which should not be happening.

@simplesmiler hmmm indeed didn't noticed that. Interesting...


Generate correct file paths on both Windows and POSIX systems

Hi @Crasnam,
thank you for this extension! I wanted to try autocomplete, but it was not working. It seems that file paths were generated using \ which doesn't work on my setup.
This change resolves the issue and tests stay green.
I'm not familiar with the development of the Visual Studio Code extensions so hopefully, this change won't break anything else...

Hi @vhyza,
It will work! can't see any reason this commit should break anything.
Thanks for the help!


Interactive List

In this Pull Request, I made the following Changes ♻ :

Implemented Interactive List

Added Task Status and Clear Button Functionalities
Added Modules for organization of code.
Implemented events for checkbox for task completion. ✔
Stored Changes to Local storage. 💾
Implemented Clear All Completed Button to remove all completed tasks. 🏁
Fixed Linters.

@Owusu-Desmond ,
Thank you for approving this PR.


After fine-tuning, the generated videos exhibited a significant grid pattern.

hello! I tried fine-tuning on CogvideoX 5B t2v model, after 300 epochs fine-tuning on my dataset consisting of 60 videos, it generates the grid pattern above. I wonder why this happens or whether I have missed something.
Thanks for your great contribution!

Maybe you can try to reduce the learning rate or increase the training data and batch size.

Maybe you can try to reduce the learning rate or increase the training data and batch size.

Thanks. It works and the grid pattern disappears. BTW why the grid exists? Is it overfitting so that deviate from 3DVAE distribution?

@Junsheng121
Which one worked for in this problem? Reducing lr? or increasing batch size?
I'm also suffering from the same promblem now :(
I used batch size of 2 per GPU * 4 GPU so that total batch size is 8. And lr == 1e-4 or 5e-5

@Junsheng121 Which one worked for in this problem? Reducing lr? or increasing batch size? I'm also suffering from the same promblem now :( I used batch size of 2 per GPU * 4 GPU so that total batch size is 8. And lr == 1e-4 or 5e-5

just reducing training steps. I consider it an overfitting problem :)


rule: support time functions

support time functions

Now() function: get current timestamp.
operator +/-

SELECT * FROM layer3.enrs WHERE (cttm > DATE_SUB(CURDATE(), INTERVAL 3 DAY));


ImportError: cannot import name 'Draft7Validator'

When I run - jupyter serverextension enable jupyterlab_sql --py --sys-prefix
It says ImportError: cannot import name 'Draft7Validator.
As suggested in one of the issues, I also tried - pip install --upgrade jsonschema. But it says Requirement already satisfied.
Can someone help me with this?

Are Jupyter and jupyterlab-sql in different virtual environments? Does your pip command apply to the virtual environment that jupyterlab-sql is in?

Yes. I installed everything in the same environment.

Hopefully addressed by PR #106. I'll make a new release with this in a few days.


creation of a crypto currency

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
I ask for the creation of a crypto currency
Describe the solution you'd like
A clear and concise description of what you want to happen.
create an exchange for the sale of physical and virtual products. accepted financial transactions
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
create a digital and physical wallet
Additional context
Add any other context or screenshots about the feature request here.
create a virtual world of selling crypto currencies, land and buildings

I ask you to sponsor this project for the creation of a future world

I ask you to sponsor this project for the creation of a future world


[flecs] update to 3.2.7

[X] Changes comply with the maintainer guide
[X] SHA512s are updated for each updated download
[ ] ~The "supports" clause reflects platforms that may be fixed by this new version~
[ ] ~Any fixed CI baseline entries are removed from that file.~
[ ] ~Any patches that are no longer applied are deleted from the port's directory.~
[X] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[X] Only one version is added to each modified port's versions file.

https://github.com/microsoft/vcpkg/pull/34187 was technically a dupe of this one but that one's already merged, sorry! Thanks!


Node 18

Would you accept a PR to lower the Node 18 requirement?

Sorry for this, I broke it in an intentional way; I added a tiny HTTP library to use instead of fetch, so it makes the library compatible with Node.js14 or Node.js 16 🙂

Thank you! :bow:


Instapapering

If you run http-server in your directory of these offline issues you can then Instapaper them!
That seems super tedious and maybe isn't that important, but I thought it was worth pointing out because, maybe you don't want to read them all on your computer (I don't) and you can't Instapaper GH issues directly :/
Might build a super simple --serve command into offline-issues...

[ ] Add note about this in Readme

Closing because low, low priority.


npm vulnerabilities

I just pulled the latest from master and ran "npm audit" which reported:
found 334 vulnerabilities (328 low, 6 high)

Running "npm audit fix" returns
fixed 312 of 334 vulnerabilities in 2410 scanned packages
9 vulnerabilities required manual review and could not be updated
3 package updates for 13 vulnerabilities involved breaking changes
(use npm audit fix --force to install breaking changes; or refer to npm audit for steps to fix these manually)
These should be addressed before merging to master.

Beginning with v12 this should be gone.


ci: pin to npm 6

Appears to be an issue with npm 7 somwehere in the dep tree

Messages

:book:

:white_check_mark: All tests are passing
Nice one! All 32 tests are passing.

:book:

:floppy_disk: Here's the built vsix for this change.

  Generated by :no_entry_sign: dangerJS against e44143a203deba6ad96e41a5bf56e038f293d608


changes the DEFAULT_SCRIPT variable to directly use cdnjs instead of …

…rerouting from cdn.mathjax since cdn.mathjax may be depreciated in the future

Done by https://github.com/SamyPesse/react-mathjax/pull/7
Thanks @ru-lai !


Add support for delete hotkey in browsers

Changes
This PR adds support for pressing the delete key to delete selected items in the Connection, IFS and Object browser.
It also restore the possibility to delete source files (this was lost with the filter enhancement).
All delete confirmation dialogs are now modals.
Checklist

[x] have tested my change

@worksofliam I'm looking forward to your review - I think we all should have a try with this PR, since it's about deleting objects and we should reduce the risk of users deleting something by mistake... :pray:
@Wright4i Your opinion is also welcome, of course! :heart:

Some additional thoughts:

maybe we should have all views working like the IFS browser, i.e. allowing multiple selections (drag'n'drop may be overkill, but could be used for re-arranging the order of the items)?
It should be clear to the user what is going to be deleted when Del is pressed. If not possible to make completely clear, then maybe remove the Delhotkey and have the user right-click instead?

I like the way the delete operation has been changed in the code. So maybe we at least should use that change?
FInally, is it just me or does Code for IBM i start faster now, with the new initialization of the Connection Browser? :+1:

Thank you @chrjorgensen , on point as usual!
I fixed the few issues you found I could work on. The rest (mostly the selection bits) is in the hand of the API and I have no way of working around that, which makes the delete key support questionable. I agree the other enhancement should be kept. The hotkey is up to debate 😁 Multi-selection/drag and drop should also be considered.

Agree - let's see what the other team members @worksofliam and @Wright4i have to say...

@sebjulliand Could you add the number of elements to the confirmation messages - like it is in the IFS browser? I think that is an extra assurance for the user to see the number of elements that will be deleted - if 3 was supposed to be selected and 4 is mentioned in the message, this is a quick alert.

There you go!

@sebjulliand Something's wrong with the current state - when I check out your feature branch, I get the following error:

Could you fix the merge conflict present and force-push your local branch (having no errors!)?
Would be nice to complete this great change asap. 😍

@chrjorgensen I had to nuke the branch and make everything clean, so I had to force-push a clean state, hence Git being confused.
I fixed the conflict so now it should be OK - pulling the changes shouldn't show any error. And hopefully it still works 🤣

Thanks for the testing guys.
@worksofliam I fixed my stupid mistake. I also went the extra mile and optimized the delete process for the IFS files:

The selection is first reduced to keep only folders and files whose parent folders are not in the selection
We build a single rm -rf command for what remains after the reduction
The command is run with a progress notification

It goes faster than running rm for each element, that goes without saying 😋
@chrjorgensen I'll need once again a small translation 🙏🏻

@sebjulliand Works great! 😍
Only one issue found: Deleting members shows this confirmation message - with a ()?

This is supposed to be the member's extension between ()! Does your member has no extension?!

No, no extension... but I think it is quite inconsistent to present a member as LIB/FILE/MEMBER (EXT), when we in all other places write LIB/FILE/MEMBER.EXT. WDYT? Would it be much work to present members like in all other places?

I made a silly - but valid - test, deleting 500 members in a source file... and found two issues:

The confirmation dialog filled the screen from top to bottom, with a slider. Is it possible to have a max height of the window?
The progress during deletion does not move - only the member name is rolling... Could it be the number to be deleted, that makes no progress move?

Sorry for being a PIA! 😢

I made a silly - but valid - test, deleting 500 members in a source file... and found two issues:
1. The confirmation dialog filled the screen from top to bottom, with a slider. Is it possible to have a max height of the window?

2. The progress during deletion does not move - only the member name is rolling... Could it be the number to be deleted, that makes no progress move?

Sorry for being a PIA! 😢

We have no control over the dialogs' size. Either we keep it like that, or I can limit the number items listed and print "XX more..." if the list length goes beyond that limit.
I' look into that.

@chrjorgensen : I fixed the progress stuck at 0 (rounding made the increment equals to 0...that was silly of me as the progress supports non-integer increments).
It should be OK now!

@sebjulliand Looking good to me - merge at will. 😍


Add support for building all members of the workspace with "build --all"

https://github.com/rust-lang/cargo/issues/3491

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Thanks! Could you add a test or two for this as well?

Sure, basically the same thing as for "cargo test --all"

:pushpin: Commit 4df1375 has been approved by alexcrichton

@bors: r+
Thanks!

:hourglass: Testing commit 4df1375 with merge ecf6f98...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing ecf6f980e5f1f49fcefd2f125177d291fc827e45 to master...


Document OSSL_SERIALIZER_PUBKEY_TO_DER_PQ and friends

travis failed so rebuilding..

Looks like travis has errors ..

.... argh

Travis failure fixed, I hope

Approved provided the appveyor tests pass.

If it doesn't, it's not relevant here.  We don't do documentation checks on Appveyor :wink:

If it doesn't, it's not relevant here. We don't do documentation checks on Appveyor 😉

Wouldnt suprise me if it failed.  I have never seen util/other.syms before... :)

Wouldnt suprise me if it failed. I have never seen util/other.syms before... :)

We used to call it private.num (still do in 1.1.1), which was a bad name as it had nothing to do with any kind of enumeration.
Anyway, it's used by util/find-doc-nits only, so...

Merged
9ea59241745e0ca17dc05a142544aca032cc75a0 Document OSSL_SERIALIZER_PUBKEY_TO_DER_PQ and friends


Added support for indexing API

See https://github.com/joshcarty/google-searchconsole/issues/51 for reference
The code changes TL;DR:

Added a new property to the WebProperty object
Added a new Class to get the indexing information from GSC API

Works well on my side, even if data is slow to gather (this is due to how the API operates, though). I'd be happy to document better what I've done (inside the query.py file + improve the readme.md) if the change is okay for you.
Thanks!

Looks like a great start @antoineeripret - thanks for this!
Even though the API request here is quite simple, I'd be keen to preserve the querying and results interfaces as much as possible.
That would be something like:
statuses = webproperty.index_status.urls('www.example1.com', 'www.example2.com').get()
df = statuses.to_dataframe()

That would mean:

Creating the IndexStatus class similarly to Query in that its methods update an internal state and get actually makes the request.
Create a IndexStatusReport class to store the results. That's where you would call to_dataframe from.
You might want to create a separate module for those two classes.

Thanks again for this. The existing Query and Report classes should provide a good reference and let me know if I can help.

@joshcarty: applied your changes! Please let me know if that's okay, and I'll add comments + update the readme.md :)

Thanks for making those changes @antoineeripret - I'll provide more feedback this week.


Whitespace breaks interpolation

I accidently included some whitespace like this:
_logger.InterpolatedError(ex, $"Job failed {key: Job}");

I didn't think whitespace would matter and thought this a little more readable than:
_logger.InterpolatedError(ex, $"Job failed {key:Job}");

However, the result was the value of key was not rendered. (However, "Job" appeared where expected.)

I think you can trim leading spaces (TrimStart(' ')) after argFormat is extracted (here). Would you like to test and submit a PR?

@Drizin , sorry, but as much as I want to support your efforts, I don't have a lot of time to do development and testing right now.... My fulltime job already has my attention divided between 3 projects, not including several on the backburner which don't always stay there.
  ;-)


feat: support using a log store to manage concurrent commits

Changes

Add support for using a log store to manage concurrent commits.

Tests

[ ] make test passing
[ ] relevant integration tests passing

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@66299b2). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Current head 6da049a differs from pull request most recent head d5eb1fb. Consider uploading reports for the commit d5eb1fb to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@           Coverage Diff           @@
##             main      #35   +/-   ##
=======================================
  Coverage        ?   71.58%
=======================================
  Files           ?       18
  Lines           ?     2245
  Branches        ?        0
=======================================
  Hits            ?     1607
  Misses          ?      450
  Partials        ?      188


UI Feature Request

Descriptions
There's a few suggestions I think would be awesome.
Double Clicking a node removes all other un-connected nodes
I'd like to be able to do this to identify the relationships within one single group. Having a lot of groups (and nodes) can be very noisy on the screen and not appealing. Alternatively might be to just dim/reduce opacity every other resource not that nodes tree.
Toggle removes a node cluster of 1
I find this would be super neat if we could remove single nodes as I'm more focused on the relationships than seeing a huge sea of nodes. This is the same approach as filtering, except more of a "show me nodes with at least 1 connection".

Another suggestion. Clicking on a node/edge opens a side panel with the node/edge attributes. Could also be done by displaying as text on hover, though less practical for copying values.


pull hotspot date filter issue

using C# in Visual Studio 2017 Pro:
Client rewards = new Client(new NewtonsoftSerializationAdapter(), new Uri($"{APICalls.uri}hotspots/{HotSpotURI}/rewards/sum?max_time={maxValueInfo}&min_time={minValueInfo}"));
When passing max_time can only pass date, same with min_time, if i try to pass time value, error happens:
Example: max_time = "2021-04-19T23:59:59Z"
Example: min_time = "2021-04-19T00:00:00Z"
Full URL:
https://api.helium.io/v1/hotspots/11kQt8CFvaSCRcBxWtnC6FAaNU1f17cfYdbH7DqckVASzXUWu9Z/rewards/sum?max_time=21-04-19T23:59:59Z&min_time=2021-04-19T00:00:00Z
Results:
{"error":"Bad Request"}
Expected Results:
Data based on range within time, else if no time, then make max_time INCLUSIVE not EXCLUSIVE.
Right now, max_time is exclusive and since ommitting the time the end result is midnight of that day, as in AM, not PM, so the above would result in zero records if slated:
Example: max_time = "2021-04-19T23:59:59Z"
Example: min_time = "2021-04-19T00:00:00Z"
Full URL:
https://api.helium.io/v1/hotspots/11kQt8CFvaSCRcBxWtnC6FAaNU1f17cfYdbH7DqckVASzXUWu9Z/rewards/sum?max_time=21-04-19&min_time=2021-04-19
Where as it should be the results of that day, to pull the 19th in the above example, it must currently be
https://api.helium.io/v1/hotspots/11kQt8CFvaSCRcBxWtnC6FAaNU1f17cfYdbH7DqckVASzXUWu9Z/rewards/sum?max_time=21-04-20&min_time=2021-04-19

I must've not been paying attention while we were chatting in Discord and failed to notice that you while your Example: text is right your actual URL is wrong:
https://api.helium.io/v1/hotspots/11kQt8CFvaSCRcBxWtnC6FAaNU1f17cfYdbH7DqckVASzXUWu9Z/rewards/sum?max_time=21-04-19T23:59:59Z&min_time=2021-04-19T00:00:00Z
Note how max_time starts with 21 instead of 2021
using a fully qualified year:
http --body get https://api.helium.io/v1/hotspots/11kQt8CFvaSCRcBxWtnC6FAaNU1f17cfYdbH7DqckVASzXUWu9Z/rewards/sum\?max_time=2021-04-19T23:59:59Z\&min_time=2021-04-19T00:00:00Z
{
    "data": {
        "avg": 0.020832006666666666,
        "max": 0.0,
        "median": 7.6e-07,
        "min": 0.0,
        "stddev": 0.031309020674,
        "sum": 18748806,
        "total": 0.18748806
    },
    "meta": {
        "max_time": "2021-04-19T23:59:59Z",
        "min_time": "2021-04-19T00:00:00Z"
    }
}


Added JeyKeu/Notify

Added JeyKeu/Notify. A Bootstrap3 notifications for PHP

Thanks for the suggestion.


[ZEPPELIN-4324]: Support two-way SSL authentication.

What is this PR for?
Livy can run behind a reverse proxy that requires SSL authentication.
To support this, three additional properties have been added:

zeppelin.livy.ssl.keyStore
zeppelin.livy.ssl.keyStorePassword
zeppelin.livy.ssl.keyStoreType

The keystore type can either be JKS or PKCS12. The default is JKS. To
keep things streamlined, a property zeppelin.livy.ssl.trustStoreType
has been been added as well. Default value is also JKS.
What type of PR is it?
Improvement
What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-4324
How should this be tested?
Set up a livy instance behind a reverse proxy (e.g. HAProxy) that requires two way SSL authentication to access it. Configure the Livy interpreter to access this instance by setting the following properties:

zeppelin.livy.ssl.keyStore: Path to keystore containing client certificate and key
zeppelin.livy.ssl.keyStorePassword: Password of keystore
zeppelin.livy.ssl.keyStoreType: Either JKS or PKCS12
zeppelin.livy.ssl.trustStore: Path to trust store containing proxy host certificate
zeppelin.livy.ssl.trustStorePassword: Password of trust store
zeppelin.livy.ssl.keyStoreType: Either JKS or PKCS12

Thanks for the contribution @fdeantoni Does it keep backward compatibility ? I mean does it work in the non-proxy mode with the old configuration.
And have you configured your travis ? I don't see the travis build link here.

The changes should be backwards compatible. The keyStore is only added if the property zeppelin.livy.ssl.keyStore is non-empty. If not provided behaviour should be exactly the same as before.
I just set up travis and triggered a build: https://travis-ci.org/fdeantoni/zeppelin

Thanks, PR LGTM


CI - Update fluvio.io when Hub package docs updated

Related: https://github.com/infinyon/fluvio-website/issues/575

[ ] Add labels to PRs when docs are changed
[ ] Create new workflow to update fluvio-website

Since in every release, the readme is updated. i think that we can trigger once release to prod finishes


bundle validate: validate a bundle directory

Description of the change: validate a directory of manifests by passing a directory as an arg nstead of an image tag.
Motivation for the change: So you don't have to build and push an image before validating its eventual contents.
TODO:

[ ] ~discuss CLI flags to make sure we want to make this breaking change~
[x] update CLI and usage docs
[ ] add command test case ~will do in #2715 since this fixes the bundle image builder~

/kind feature

Will rebase on top of #2746 and add test cases.
/hold

/hold cancel


Email for High Point, NC

To:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: [INSERT UNIQUE SUBJECT LINE]
Message:
Dear Mayor Wagner & City Council Members,
My name is [YOUR NAME]. I am a resident of High Point. I am writing to the Mayor and the City Council to object the allocation of over $30M to the City of High Point Police Department in the proposed 2020-2021 budget.
I am asking that the High Point City Council take an overt and visible stance on racial justice by defunding the police. The current budget allocates a large amount of resources to police that could be better spent on community-led programs and initiatives.
Research shows that stable housing, a living wage, access to holistic health services and treatment, and educational opportunities are far more successful at increasing community safety than police or prisons (Source: Popular Democracy). As such, I demand more aggressive financial support be directed to affordable housing and rent subsidies, food resources, and medical supplies to meet the immediate needs of High Point residents amid strain from the COVID-19 pandemic, as well as the long-term and longstanding needs of residents. Resources should also be allocated to EMTs, social workers, and other social service providers such that they are able to respond to health and wellness checks, domestic/sexual violence situations, and basic bureaucratic documentation around break-ins, vandalism, wrecks, etc. There is no reason to have armed officers responding to the majority of emergency needs in High Point when professionals with specific training in the de-escalation and counseling of these situations could better serve our residents and community.
Reallocating funds away from the police and to the aforementioned avenues in
High Point will provide much needed assistance and security to the most vulnerable people in our community. Can I count on you to consider an alternative budget that puts a focus on social service programs?
Thank you,
[YOUR NAME]
[YOUR ADDRESS]
[YOUR EMAIL]
[YOUR PHONE NUMBER]

Thank you for submitting your city to defund12.org! Your request is now in the queue for review and publishing. We’ll reply here if we have any questions.

I’m reviewing


Create Print_unique_element.c++

I have made the necessary changes and made the code more understandable. Please review it.


Brick when using BOOT_SWAP_USING_MOVE and reset happens during images swap

Describe the bug
Interrupted swap of images when swap_move strategy is selected, can end up in "bricked" state. Possible workaround is to use swap_scratch strategy, which doesn't seem to have this specific issue.
To Reproduce
See https://github.com/zephyrproject-rtos/zephyr/issues/28933 for reproducing using Zephyr RTOS.
Expected behavior
Swap of images should continue.
Impact
Remote firmware upgrade is not safe, i.e. can result in bricked devices in the field.
Environment (please complete the following information):

MCU software: Zephyr RTOS
OS: Linux
Toolchain: Zephyr SDK 0.11.4
aac99a14c9cdc8684fd4fbced130d3065a75ffea (tip of master) + https://github.com/JuulLabs-OSS/mcuboot/pull/828

Additional context
It seems that problems start here (https://github.com/JuulLabs-OSS/mcuboot/blob/aac99a14c9cdc8684fd4fbced130d3065a75ffea/boot/bootutil/src/loader.c#L1084):
        /*
         * If a swap was under way, the swap_size should already be present
         * in the trailer...
         */
        rc = boot_read_swap_size(image_index, &bs->swap_size);
        assert(rc == 0);

mcuboot reads 0xFFFFFFFF after swap was interrupted, because this is what was contained originally in app.hex (signed and confirmed) image trailer and that was never updated by mcuboot. This value is passed as copy_size to swap_run() and results in infinite loop there (https://github.com/JuulLabs-OSS/mcuboot/blob/aac99a14c9cdc8684fd4fbced130d3065a75ffea/boot/bootutil/src/swap_move.c#L448):
    while (1) {
        sz += sector_sz;
        /* Skip to next sector because all sectors will be moved up. */
        g_last_idx++;
        if (sz >= copy_size) {
            break;
        }
    }

mcuboot reads 0xFFFFFFFF after swap was interrupted, because this is what was contained originally in app.hex

The trailer is only present in an image file if you used --pad, but even so the trailer itself is not part of the image; the bootloader always erases the trailer area when starting a new swap, and then writes metadata there. I always felt a bit worried about this particular while (1) you mentioned but I think there might be some other problem going on. Any chance you could get me a dump of the flash of the bricked device?

Well, it didn't erase the end of first partition, because there are magic bytes and image_ok on the end (just like generated with --pad --confirm). Flash content was read using nrfjprog --readcode /tmp/flash.hex, gzipped and attached here: flash.hex.gz.

Well, it didn't erase the end of first partition, because there are magic bytes and image_ok on the end

Well it does also write back this information once a swap upgrade has finished. What is your partition map?

Well it does also write back this information once a swap upgrade has finished. What is your partition map?
I am pretty sure trailer of first partition was not modified (yet), because when debugging I was looking for boot_write_magic() being called, and that didn't happen.

Partition map is stock from nrf52840dk_nrf52840 Zephyr board: https://github.com/zephyrproject-rtos/zephyr/blob/2d7ccb59a9d3b501229e52f3369af8a1c45f2192/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts.

I am pretty sure trailer of first partition was not modified (yet), because when debugging I was looking for boot_write_magic() being called, and that didn't happen.

It only happens before a swap starts, not at every swap operation or reboot, and your swap status area shows there was a swap under way, but the swap info/size metadata was not written for some reason, which is why the bootloader does not know what to do. Are you able to reproduce this when starting from a freshly erased device?

Partition map is stock from nrf52840dk_nrf52840 Zephyr board: https://github.com/zephyrproject-rtos/zephyr/blob/2d7ccb59a9d3b501229e52f3369af8a1c45f2192/boards/arm/nrf52840dk_nrf52840/nrf52840dk_nrf52840.dts.

Is your device config also stock from nrf52840dk_nrf52840 or have you customized something?

It only happens before a swap starts, not at every swap operation or reboot, and your swap status area shows there was a swap under way, but the swap info/size metadata was not written for some reason, which is why the bootloader does not know what to do. Are you able to reproduce this when starting from a freshly erased device?

From what I understand, there are two phases: BOOT_STATUS_OP_MOVE and BOOT_STATUS_OP_SWAP. I think that we are still in BOOT_STATUS_OP_MOVE when rebooting. Yes, I am able to reproduce from freshly erased device.

Is your device config also stock from nrf52840dk_nrf52840 or have you customized something?

Stock. Everything is described in "To Reproduce" at https://github.com/zephyrproject-rtos/zephyr/issues/28933. There is every command and action needed (including after which period (2s) reset was issued after mcuboot started).


TypeScript return type from $relatedQuery is not optional for optional relation

I have a model with a relation that's optional, however when I use $relatedQuery to get the relation, the return type is not optional. I put together a small project to demonstrate!
Snippet from project:
const Example = async () => {
    const customer = await Customer.query().findById("123").throwIfNotFound();
    /**
     * The program relation on customer is an optional relation. I would expect this to be returned from $relatedQuery
     * as optional, but the typing is just Program
     */
    const program = await customer.$relatedQuery("program");
    console.log(program.id);
}

Example project:
https://github.com/ryan-gray-db/objection-relation

Indeed, this is a very annoying issue :/


Marker Click not work

Please note: issues related to or caused by osmbonuspack will be closed with a
suggestion to open an issue at https://github.com/MKergall/osmbonuspack
(feel free to delete whatever doesn't apply)
Issue Type
[ ] Question
[x ] Bug
[ ] Improvement
[ ] Build system related
[ ] Performance
[ ] Documentation
Description and/or steps/code to reproduce the problem
-Open map
-Create marker
-Rotate map 30 degrees or more
-Click Marker not work

Environment
Marker mr = new Marker(map);
mr.setOnMarkerClickListener((marker, mapView) -> {
          log .......
            return true;
        });

 mr.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);

If it's a bug, version(s) of android this affects:
All
Version of osmdroid the issue relates to:
6.0.2 and 6.0.1

@nicolae1992 Fixed (cf. #516) for 6.0.3, but I guess it's also part of the current 6.0.2, as you can check in demo "More Samples / Data / Marker" (use the top-right menu to rotate the map). I even tried with a less square-shaped icon, and it works.
How fresh is your 6.0.2?

compile 'org.osmdroid:osmdroid-android:6.0.2@arr'

When will available next version?

@monsieurtanuki in demo it's work, maybe you set ->
Marker.setAnchor(Marker.ANCHOR_CENTER, _Marker.ANCHOR_CENTER_);
but i set ->
Marker.setAnchor(Marker.ANCHOR_CENTER, _Marker.ANCHOR_BOTTOM_);

@nicolae1992 In the demo it's also Marker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM); (as you can see here), and anyway the anchor is taken into account.
Can you call Marker.isDisplayed() in your code? If not, then you don't have the latest version.
According to @spyhunter99 in #1001 you can use the SNAPSHOT version: it will include the latest code.

Fixed: it was about computing the correct orientation, and it took me only one character to fix the issue...
The code in draw used to be:
float rotationOnScreen = (mFlat ? -mBearing : mapView.getMapOrientation()-mBearing);

but is now
float rotationOnScreen = (mFlat ? -mBearing : -mapView.getMapOrientation()-mBearing);

@nicolae1992 Thanks for creating this (now fixed) issue. While the PR is merged and the snapshot created, you can create your own marker class that extends Marker and overrides its draw method, copying the whole method code with just one fix: the float rotationOnScreen line.

@nicolae1992 Managed to try with the code edit I suggested?

@nicolae1992 Now that version 6.0.3 has just been released, could you try again?

I is still not working, I only get the ballon when I tip the marker, but the OnClick is'nt called.

For me it is working now on 6.0.3, forget my comment from yesterday, I deleted it.

@TFreudi1 Thank you!
@nicolae1992 Seems to be fixed: could you please test again with version 6.0.3 and close the issue if relevant?

Yes it is fixed in 6.0.3, but I can't close it, because I did'nt open it :-)

@nicolae1992 Assuming @TFreudi1 is talking about the very same issue you experienced, as it's fixed in 6.0.3 I close the issue. Feel free to reopen it if relevant.


vault container enters not ready state unpredictably.

Describe the bug:
Every so often the vault container inside the vault-x pod will enter a not ready state and not restart causing requests to Vault API to fail. This is not reproducible by will. It happens every few weeks in ALL 4 of our environments (4 separate installations). No logs are (even with debug enabled) are present when the failure happens. Our monitoring show NO increase in CPU/memory/network utilization. One theory we do have is that we use External Secrets engine to automatically create secrets. The polling interval for over 200 secrets is every 60 seconds. The issue with this theory is the resource usage. All metrics are normal for hours prior to the failure. Something is happening here and the vault container isn't logging anything.
Expected behaviour:
Container should not crash OR if it does, the pod is restarted.
Steps to reproduce the bug:
I cannot reproduce this. I just have to wait. But this happens in all 4 environments, on separate Kubernetes clusters. I should also note that we are in the middle of a K8s upgrade and it happens on two separate version.
Additional context:
Add any other context about the problem here.
Environment details:

Kubernetes version (e.g. v1.10.2): 1.21.2 AND 1.20.7
Cloud-provider/provisioner (e.g. AKS, GKE, EKS, PKE etc): AKS
bank-vaults version (e.g. 0.4.17): 1.13.1
Vault Version: 1.7.3
Install method (e.g. helm or static manifests): helm
Logs from the misbehaving component (and any other relevant logs): NO LOGS when this happens. None. Everything appears normal but it is very much not normal
Resource definition (possibly in YAML format) that caused the issue, without sensitive data:

apiVersion: "vault.banzaicloud.com/v1alpha1"
kind: "Vault"
metadata:
  name: "vault"
  namespace: secret-infra
spec:
  size: 3
  image: vault:1.7.3
  bankVaultsImage: banzaicloud/bank-vaults:1.13.1

  podAntiAffinity: kubernetes.io/hostname

  resources:
    vault:
      limits:
        cpu: 2
        memory: 4Gi
      requests:
        cpu: 500m
        memory: 512Mi
  vaultContainerSpec:
    name: "vault"
    readinessProbe:
      periodSeconds: 10
      timeoutSeconds: 5

  # Common annotations for all created resources
  annotations:
    common/annotation: "true"

  # Vault Pods , Services and TLS Secret annotations
  vaultAnnotations:
    type/instance: "vault"

  # Vault Configurer Pods and Services annotations
  vaultConfigurerAnnotations:
    type/instance: "vaultconfigurer"

  # Vault Pods , Services and TLS Secret labels
  vaultLabels:
    example.com/log-format: "json"

  # Vault Configurer Pods and Services labels
  vaultConfigurerLabels:
    example.com/log-format: "string"

  vaultEnvsConfig:
    - name: VAULT_LOG_LEVEL
      value: {{ .Values.vault.logging.level }}

  # Support for nodeAffinity Rules
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: purpose
          operator: NotIn
          values:
          - ml

  # Support for pod nodeSelector rules to control which nodes can be chosen to run
  # the given pods
  # nodeSelector:
  #   "node-role.kubernetes.io/your_role": "true"

  # Support for node tolerations that work together with node taints to control
  # the pods that can like on a node
  # tolerations:
  # - effect: NoSchedule
  #   key: node-role.kubernetes.io/your_role
  #   operator: Equal
  #   value: "true"

  # Specify the ServiceAccount where the Vault Pod and the Bank-Vaults configurer/unsealer is running
  serviceAccount: vault

  # Specify the Service's type where the Vault Service is exposed
  # Please note that some Ingress controllers like https://github.com/kubernetes/ingress-gce
  # forces you to expose your Service on a NodePort
  serviceType: ClusterIP

  # Specify existing secret contains TLS certificate (accepted secret type: kubernetes.io/tls)
  # If it is set, generating certificate will be disabled
  # existingTlsSecretName: selfsigned-cert-tls
  existingTlsSecretName: ""
  ingress:
    annotations:
      nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
      kubernetes.io/ingress-class: nginx
      kubernetes.io/ingress.allow-http: "false"
    spec:
      rules:
      - host: "vault{{ .Values.ingress.namespaceSubDomain }}{{ .Values.ingress.domain }}"
        http:
          paths:
          - backend:
              serviceName: vault
              servicePort: 8200
            path: /
      tls:
      - hosts:
        - "vault{{ .Values.ingress.namespaceSubDomain}}{{ .Values.ingress.domain }}"
        secretName: tls-vault-external

  # Support for distributing the generated CA certificate Secret to other namespaces.
  # Define a list of namespaces or use ["*"] for all namespaces.
  caNamespaces:
    - "*"

  # Describe where you would like to store the Vault unseal keys and root token.
  unsealConfig:
    options:
      # The preFlightChecks flag enables unseal and root token storage tests
      # This is true by default
      preFlightChecks: true
    kubernetes:
      secretNamespace: secret-infra

  # A YAML representation of a final vault config file.
  # See https://www.vaultproject.io/docs/configuration/ for more information.
  config:
    storage:
{{- if hasKey .Values.vault.backend "postgres" }}
      postgresql:
        connection_url: {{ .Values.vault.backend.postgres.connection_url }}
        max_idle_connections: 30
        max_open_connections: {{ .Values.vault.backend.postgres.max_idle_connections }}
        ha_enabled: {{ .Values.vault.backend.postgres.ha_enabled }}
{{- else }}
      file:
        path: "{{ .Values.vault.backend.file.path }}"
{{- end }}
    listener:
      tcp:
        address: "<IP_ADDRESS>:8200"
        # Uncommenting the following line and deleting tls_cert_file and tls_key_file disables TLS
        # tls_disable: true
        tls_cert_file: /vault/tls/server.crt
        tls_key_file: /vault/tls/server.key
    telemetry:
      statsd_address: localhost:9125
    ui: true
    api_addr: "https://vault.secret-infra:8200"
    cluster_addr: "https://vault.secret-infra:8201"

  # See: https://github.com/banzaicloud/bank-vaults#example-external-vault-configuration for more details.
  externalConfig:
    policies:
      - name: allow_secrets
        rules: path "secret/*" {
          capabilities = ["create", "read", "update", "delete", "list"]
          }
      - name: allow_pki
        rules: path "pki/*" {
          capabilities = ["create", "read", "update", "delete", "list"]
          }
      - name: allow_transit
        rules: path "transit/*" {
          capabilities = ["create", "read", "update", "delete", "list"]
          }
      - name: admin
        rules: path "sys/health" {
                  capabilities = ["read", "sudo"]
                } path "sys/policies/acl"
                {
                  capabilities = ["list"]
                } path "sys/policies/acl/*"
                {
                  capabilities = ["create", "read", "update", "delete", "list", "sudo"]
                } path "auth/*"
                {
                  capabilities = ["create", "read", "update", "delete", "list", "sudo"]
                } path "sys/auth/*"
                {
                  capabilities = ["create", "update", "delete", "sudo"]
                } path "sys/auth"
                {
                  capabilities = ["read"]
                } path "secret/*"
                {
                  capabilities = ["create", "read", "update", "delete", "list", "sudo"]
                } path "sys/mounts/*"
                {
                  capabilities = ["create", "read", "update", "delete", "list", "sudo"]
                } path "sys/mounts"
                {
                  capabilities = ["read"]
                }
    auth:
    - roles:
      - name: app_auth
        token_ttl: 0
        token_policies:
        - allow_secrets
        - allow_pki
        - allow_transit
      type: approle

    - roles:
      - bound_service_account_names:
        - '*'
        bound_service_account_namespaces:
        - secret-infra
        - vswh
        - {{ .Values.global.environment }}
{{- if eq .Values.global.environment "uat"}}
        - demo
{{- end }}
        name: secret-infra
        policies:
        - allow_secrets
        - allow_pki
        - allow_transit
        ttl: 1h
      type: kubernetes

# Give Devs Access to Development Vault
    - roles:
      - user_claim: email
        allowed_redirect_uris:
        - <REDACTED>
        - <REDACTED>
        policies:
        - allow_secrets
        - allow_pki
        - allow_transit
        ttl: 24h
        name: developer
      bound_group_ids: {{ .Values.vault.rbac.groups.developers }}
      config:
        oidc_client_id: ${ .Env.AZURE_OIDC_CLIENT_ID }
        oidc_client_secret: ${ .Env.AZURE_OIDC_CLIENT_SECRET }
        oidc_discovery_url:  <REDACTED>
        default_role: developer
      options:
        listing_visibility: unauth

      type: oidc

    groups:
    - name: AZ_DEV
      policies:
        - allow_secrets
        - allow_pki
        - allow_transit
      metadata:
        admin: "true"
        priviliged: "true"
      type: external

### Admin Role For DevOps
    - roles:
      - user_claim: email
        allowed_redirect_uris:
        -  <REDACTED>
        -  <REDACTED>
        policies:
        - allow_secrets
        - allow_pki
        - allow_transit
        ttl: 24h
        name: admin
      bound_group_ids: {{ .Values.vault.rbac.groups.devops }}
      config:
        oidc_client_id: ${ .Env.AZURE_OIDC_CLIENT_ID }
        oidc_client_secret: ${ .Env.AZURE_OIDC_CLIENT_SECRET }
        oidc_discovery_url:  <REDACTED>
        default_role: developer
      options:
        listing_visibility: unauth
      type: oidc

    groups:
    - name: DevOps
      policies:
        - admin
      metadata:
        admin: "true"
        priviliged: "true"
      type: external

    secrets:
    - description: General secrets.
      options:
        version: 2
      path: secret
      type: kv
    - description: Transit Secret Engine for Encryption Keys.
      path: transit
      type: transit
    - config:
        default_lease_ttl: 168h
        max_lease_ttl: 720h
      configuration:
        config:
        - crl_distribution_points:  <REDACTED>
          issuing_certificates: <REDACTED>
          name: urls
        roles:
        - allow_subdomains: true
          allowed_domains: localhost,pod,svc,secret-infra
          generate_lease: true
          name: secret-infra
          ttl: 1m
        root/generate:
        - common_name: vault.secret-infra
          name: internal
      description: Vault PKI Backend
      type: pki

    # Allows writing some secrets to Vault (useful for development purposes).
    # See https://www.vaultproject.io/docs/secrets/kv/index.html for more information.
    startupSecrets:
      - type: kv
        path: secret/data/accounts/aws
        data:
          data:
            AWS_ACCESS_KEY_ID:  <REDACTED>
            AWS_SECRET_ACCESS_KEY:  <REDACTED>
      - type: kv
        path: secret/data/dockerrepo
        data:
          data:
            DOCKER_REPO_USER:  <REDACTED>
            DOCKER_REPO_PASSWORD:  <REDACTED>
      - type: kv
        path: secret/data/mysql
        data:
          data:
            MYSQL_ROOT_PASSWORD:  <REDACTED>
            MYSQL_PASSWORD:  <REDACTED>
  envsConfig:
  - name: AZURE_OIDC_CLIENT_ID
    valueFrom:
      secretKeyRef:
        name: azure-oidc-client
        key: AZURE_OIDC_CLIENT_ID
  - name: AZURE_OIDC_CLIENT_SECRET
    valueFrom:
      secretKeyRef:
        name: azure-oidc-client
        key: AZURE_OIDC_CLIENT_SECRET

  vaultEnvsConfig:
    - name: VAULT_LOG_LEVEL
      value: info

  # Marks presence of Istio, which influences things like port namings
  istioEnabled: false

/kind bug

Bump

Just a guess but it might be due to your api_addr and cluster_addr configurations?
    api_addr: "https://vault.secret-infra:8200"
    cluster_addr: "https://vault.secret-infra:8201"

This points to the vault service which has a filter on the active pod.
For my setup it's set to:
    api_addr: https://$${.Env.POD_NAME}:8200
    cluster_addr: "https://$${.Env.POD_NAME}:8201"


Removing ppname from bv in the reflection API

With @nikswamy and @mtzguido.
Summary of changes:
This PR removes the string name of a bv from the reflection API. The main changes are as follows:
The proposed bv_view datatype in reflection:
// there used to be a bv_ppname:string field, which we are removing
type bv_view = {
  bv_index : int;
  bv_sort : typ
}

The proposed signature of pack_bv in reflection:
// the string argument is the ppname
val pack_bv : string -> bv_view -> bv

inspect_bv remains same:
val inspect_bv: bv -> bv_view

A new Tac primitive to get the string name of a bv:
val bv_ppname : bv -> Tac string

Axioms about pack_bv/inspect_bv
val pack_bv_ppname (s1 s2:string) (bvv:bv_view) : Lemma (pack_bv s1 bvv == pack_bv s2 bvv)

val pack_inspect_bv (s:string) (bv:bv) : Lemma (pack_bv s (inspect_bv bv) == bv)

val inspect_pack_bv (s:string) (bvv:bv_view) : Lemma (inspect_bv (pack_bv s bvv) == bvv)

Some justification of the axioms
The reflection clients don't get to inspect the name of a bv in pure code, so their logical view of a bv is just its index and type. They can call bv_ppname to get the ppname of a bv, but then it incurs the Tac effect, and hence, no guarantees about it.
Why these changes
The reflection API maintains the syntax in locally nameless representation. Despite that, with ppnames in the bv_view record, the equality of terms depends on these names. These names are there just for printing purposes, they don't have a semantic role to play.
This change is a step towards making the reflection syntax more canonical.
Names are still useful for readability etc. Therefore, we are keeping the ability for the user to set these names (in the pack_bv API), and inspect these names (using the new bv_ppname primitive). But the latter incurs the Tac effect. This allows us to provide the axiom that pack_bv s1 bvv == pack_bv s2 bvv, even when s1 and s2 are different.
Other change in the PR
The PR also un-explodes the inspect and pack API for binders, by introducing a binder_view record. This is just a cosmetic change to ease the usability of the API and make it uniform.
Status
The branch passes the everest CI (with only API fixes in HACL*).

I'm for this, and more changes in this area, but this needs some tweaks.
This can be broken by free-name checking (currently exposed as FStar.Reflection.Builtins.is_free : bv -> term -> bool). This calls into the internal Syntax.Free module, which uses order_bv to decide equality of variables, and this function distinguishes variables with different names even if they have the same index. Here's a way to exploit it (though I didn't find the axioms in the branch to obtain bv1 == bv2 and hence false).
let bvv : bv_view = { bv_index = 42; bv_sort = `int }

let bv1 = pack_bv "n1" bvv
let bv2 = pack_bv "n2" bvv

let tm1 = pack_ln (Tv_Var bv1)

let _ = assert_norm (is_free bv1 tm1)
let _ = assert_norm (not (is_free bv2 tm1))

I could look into removing this semantic use of ppname.
(Also, pack_bv_ppname is provable from the other two axioms).

Actually I got an F* green with that change... see https://github.com/FStarLang/FStar/commit/962fb302053914ff1446145a0976ba41e355d090, so maybe we should bundle it here?

Thanks Guido! I will merge your change to order_bv in this branch, seems like a good cleanup in the typechecker in any case.

I'm also wondering if we can be more principled about this. What about having something like:
assume type meta : Type -> Type
val observe : meta 'a -> Tac 'a
assume MetaEq : forall (a:_) (x y : meta a). x == y

and then we can just mark some fields meta as needed
noeq
type bv_view = {
    bv_ppname : meta string;
    bv_index : int;
    bv_sort : typ;
}

And prove an analogue the lemma above:
assume val inspect_bv : bv -> bv_view
assume val pack_bv : bv_view -> bv
assume val pack_inspect_bv (bv:bv) : Lemma (pack_bv (inspect_bv bv) == bv)
assume val inspect_pack_bv (bvv:bv_view) : Lemma (inspect_bv (pack_bv bvv) == bvv)

let pack_bv_ppname (bvv1 bvv2:bv_view)
  : Lemma (requires (bvv1.bv_index == bvv2.bv_index /\ bvv1.bv_sort == bvv2.bv_sort))
          (ensures (pack_bv bvv1 == pack_bv bvv2)) =
          assert (bvv1.bv_ppname == bvv2.bv_ppname);
          ()

observe can just a return, and the model for meta t is just t.

I really like this general idea for meta a for unobservable things.
This will allow us to use the same pattern of packaging meta into the abstract syntax for user-level DSLs, rather than having it only as a primitive for the F* reflection AST.

Some thoughts about this meta type:
Naming: What about calling it something like FStar.Tactics.Sealed.t? I.e., it is a value that is sealed and unobservable, except in a tactic. Open to other name suggestions.
Positivity: Can we please mark this type strictly_positive in its argument?
Equality: It would be nice if this type supported decidable equality, but I guess it's not possible to do, since behind the scenes its representation is just the underlying type. Is there a way?

Also, what about a monadic signature for Sealed.t?
val (let?) (x:t 'a) (f: 'a -> t 'b) : t 'b
val return (x:'a) : t 'a

Useful for created and updating these sealed fields in pure code.

For equality, we can give an axiom forall (a:Type).{: pattern hasEq (meta a)} hasEq a ==> hasEq (meta a).

I don't think that's right ... I would want (=) to always return true on any pair of sealed values of the same type. Otherwise, the comparison breaks the seal.

Sealed sounds good, I was using invisible/vanish, but I think that sounds better. +1 on positivity and let syntax.
As for decidable equality, I think we can just assume hasEq (meta a) and it always returns true? It has to match the propositional equality.
The underlying repr for sealed t is indeed t operationally, but not at the SMT level where seal : a -> sealed a is just uninterpreted, so I think it's fine to make decidable equality constantly true.

As for decidable equality, I think we can just assume hasEq (meta a) and it always returns true? It has to match the propositional equality.

I don't think this works with OCaml extraction. Because, we extract (=) to the built-in OCaml equality. And if the representation of Sealed.t a is just a, then we can't really override it in OCaml ... can we?

Refining my name proposal: Let's not call it Sealed.t, because once you open the Sealed namespace, t will clash badly with whatever else is around, including local variables. (I'm trying this out in a branch and already running into name clashes once I open the namespace : ) How about FStar.Tactics.Sealed.sealed?

As for decidable equality, I think we can just assume hasEq (meta a) and it always returns true? It has to match the propositional equality.

I don't think this works with OCaml extraction. Because, we extract (=) to the built-in OCaml equality. And if the representation of Sealed.t a is just a, then we can't really override it in OCaml ... can we?

Ah, good point... Well, one way to go about it is using typeclasses, but there's a bootstrapping problem to solve there (tcresolve depends on terms, which depend on sealed, which would depend on typeclasses).
But this may be easier now with the upcoming static linking of the library. If we add a few tweaks to have built-in typing information for tcresolve (without needing to load the module), we may be good, and we could then use it very early in the dependency tree. Though we would have to check that then the module correctly defines tcresolve, and non-cyclically.


Version Solving Failure

Hi Wilberforce
When i try to install the package in my application, i get the error below,
Please let me know how i may be able to resolve it
Because flutter_paystack >=1.0.1+1 depends on intl ^0.16.0 and datetime_picker_formfield 0.4.3 depends on intl ^0.15.8, flutter_paystack >=1.0.1+1 is incompatible with datetime_picker_formfield 0.4.3.
And because no versions of datetime_picker_formfield match >0.4.3 <0.5.0, flutter_paystack >=1.0.1+1 is incompatible with datetime_picker_formfield ^0.4.3.

This plugin uses version ^0.16.0 of the intl package while datetime_picker_formfield uses version ^0.15.8 of the same package and dart doesn't like this.
I think you can resolve this in two ways:

You can upgrade datetime_picker_formfield  to 1.0.0-pre.5 (read the changelog to ensure you're OK with this upgrade).
You can force dart to build with a version of intl that works for you by adding this to pubspec.yaml.

dependency_overrides:
  intl: ^0.15.8

Since there has been no activity here for some time now, I will be closing this issue.
Please, feel free to reopen it if you are still experiencing the issue.


chore(main): release 1.10.0

:robot: I have created a release beep boop
1.10.0 (2023-01-14)
Features

Add Diet field (#296) (ad117c7)

Bug Fixes

Allow commas in payment (#299) (842e459)

Miscellaneous Chores

Add test for download of documents (f1903de)
Add test for download of documents (#298) (a0ed863)
add test for inputs excluded from TrimStrings.php (6ff2199)
add test for inputs excluded from TrimStrings.php (#297) (7a7bdb5)
add test for no attendees in event (c14b71a)
deps: bump laravel/dusk from 7.3.0 to 7.4.0 (693e4a8)
deps: bump laravel/dusk from 7.3.0 to 7.4.0 (#287) (66cc92a)
deps: bump laravel/fortify from 1.15.0 to 1.16.0 (6fee29d)
deps: bump laravel/fortify from 1.15.0 to 1.16.0 (#294) (42784da)
deps: bump laravel/pint from 1.3.0 to 1.4.0 (ef53866)
deps: bump laravel/pint from 1.3.0 to 1.4.0 (#291) (d5572d8)
deps: bump laravel/sail from 1.17.0 to 1.18.0 (2c6c612)
deps: bump laravel/sail from 1.17.0 to 1.18.0 (#289) (a073164)
deps: bump laravel/tinker from 2.7.3 to 2.8.0 (6f435ea)
deps: bump laravel/tinker from 2.7.3 to 2.8.0 (#288) (f746de4)
deps: bump nunomaduro/larastan from 2.3.4 to 2.3.5 (d9efc13)
deps: bump nunomaduro/larastan from 2.3.4 to 2.3.5 (#290) (38bd483)
deps: bump nunomaduro/larastan from 2.3.5 to 2.4.0 (830a104)
deps: bump nunomaduro/larastan from 2.3.5 to 2.4.0 (#293) (31e2de8)
deps: bump pestphp/pest-plugin-laravel from 1.3.0 to 1.4.0 (3e525f0)
deps: bump pestphp/pest-plugin-laravel from 1.3.0 to 1.4.0 (#295) (2c65224)
fix typo in password reset email (270cc46)
Improve coverage (#300) (9ebd65e)
Improve coverage on registration info navigation (e0f78fb)
remove unused override of method (71f321f)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/rotex1800/registration/releases/tag/v1.10.0 :sunflower:


[backport 1.20] runc: v1.0.0-rc95

Is your feature request related to a problem? Please describe.

runc v1.0.0-rc94 has a fix for seccomp/ebpf reading under high load
runc v1.0.0-rc95 has a fix for CVE-2021-30465 addressing a symlink exchange vulnerability

Describe the solution you'd like

bump to runc v1.0.0-rc94
bump to runc v1.0.0-rc95

Describe alternatives you've considered
n/a
Additional context
n/a

Validated in v1.20.6-rc2+rke2r1 -- conformance and standard tests pass


ROS integration

Hi!
Is there any plan of integrating Carla with ROS?
In specific this would allow us to retrieve the state information, sensor data and to send control command to the car.
Probably the easiest way would be to write a ROS node that uses the CARLA client API in python?
Thanks!

+1

+1

We would like to integrate CARLA with ROS at one point, but this may take some time due to our limited resources.
But we are very happy to accept contributed code, if anyone is willing to implement it. For instance, @WenchaoDing in #26 mentioned he is doing something in this direction.

My original repo is moved to private since I am developing some work which is buggy and not relevant to this topic. Instead, I post this gist https://gist.github.com/WenchaoDing/8bdf2b6753f0cc6cb1c4019529a79c9f which may be a little bit helpful for beginners. Hope someone can post more elegant solutions. :)

I was also interested in using Carla with ROS. Started catkinizing the binary distribution. A first go at it can be found at https://github.com/mit-drl/carla_binary_catkin. So far, this does not install the python module (will still look into this).

I have also done a simple ros_bridge for carla, you can test it here:  dev/add_ros_bridge

Almost merged at #301


Modify the deploy script to run on the control machine so that the correct versions of dependencies are installed

RHEL 7 is limited to GLIBC 2.17, which limits pyzmq to <25 for the default wheel. However, there is an pyzmq-26.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl build which is still compatible, and will be installed if the pip install is run on the control machine instead of a RHEL8(+) machine
Acceptance criteria:

deploy script builds the venv ssh'd to the control machine
dependency pin for pyzmq is removed

Maybe this is a sign we should containerize?

Lets do the control machine fix for now and think harder about long term solutions

See https://github.com/DiamondLightSource/hyperion/issues/1367 for the longer term solution


KinematicBody's move methods are inconsistent

move_and_collide requires we multiply the argument with delta to have consistent movement, while in move_and_slide we shouldn't do this, as it is done internally.
Is there a good reason for this behaviour? Right now it's very confusing why I need to multiply delta on one method and not on another, considering they do similar stuff. Not to mention, having to "remember" which one should and shouldn't have it.
I propose making move_and_slide need the delta argument too, so it's consistent. But of course, this would be a breaking change.

#33653 will allow you to pass an optional argument to move_and_slide().

I'm pretty sure there's already an issue discussing this, but I can't find it right now.

Yeah, I figured someone must have talked about it by now, but when I searched for it, I couldn't find anything.
Should I close this issue then?

Yes, it seems the same discussion is occurring in #30029.


tutorial CPAModule.init

Hi all, great work.
Trying to run this function from the tutorial.
Have passed test arguments and geting the error below. Any clue? Seems like the packages could have been updated but the tutorial still failing to call the functions properly maybe?
Tutorial
Thanks a lot!
model = cpa.CPA(adata=adata,
n_latent=64,
loss_ae='gauss',
doser_type='logsigm',
split_key='split',
train_split='train',
valid_split='test',
test_split='ood',
**ae_hparams,
)

TypeError                                 Traceback (most recent call last)
 in <cell line: 1>()
----> 1 model = cpa.CPA(adata=adata,
2                 n_latent=64,
3                 loss_ae='gauss',
4                 doser_type='logsigm',
5                 split_key='split',
/usr/local/lib/python3.10/dist-packages/cpa/_model.py in init(self, adata, split_key, train_split, valid_split, test_split, **hyper_params)
99         }
100
--> 101         self.module = CPAModule(
102             n_genes=adata.n_vars,
103             n_perts=len(self.pert_encoder),
TypeError: CPAModule.init() got an unexpected keyword argument 'loss_ae'

I have the same problem.
The tutorial seems to be written for v0.1 and the current version 0.5 is very different.
Looking into the v0.5 code one can see that loss_ae is now called recon_loss, but the real problem is that the parameters in ae_hparams and trainer_params are now very different :-(
PLEASE, somebody update the tutorial so that it works with v0.5 !!


Support for Azure Functions development

Based on https://github.com/OmniSharp/omnisharp-vscode/issues/1241
This can be spun off from the existing CSX support with some extra features, specific to Azure Functions:

predefined set of implicit namespaces
predefined set of DLLs available as if they were GACed (even though they aren't)
support for project.json for external references (this is already there, however for .NET Core only, but functions are net46 only)

The biggest challenge would be to decide when a CSX is a "standard" one and when it is an Azure Function one.
At the very worst, if we can't infer it, we could have a mode switch in omnisharp.json.

Long story short, the key would be to incorporate https://github.com/Azure/azure-webjobs-sdk-script/blob/master/src/WebJobs.Script/Description/DotNet/FunctionMetadataResolver.cs and most other things should just fall in place.


Fix some missing indentationRules and indentation on ctrl+shift+enter

Fixes #51802
Fixes #29134
Makes "Insert Line Above" command use current line's indentation when no indentationRules exist for the current language.
All indentationRules were copied/converted from the source language package or from a similar Atom package. Some language packages still don't have any indentationRules because I couldn't find any.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: dqsully sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Any progress on this?


No solution for puzzle if rotated tetris piece is shifted

Puzzle (reported by jacsn):
Puzzle URL

Problem is that the top left corner could be empty after rotations and then the problem in #2 resurfaces.


[$250] Unread new messages are not showing in the LHN

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number:
Reproducible in staging?: needs reproduction
Reproducible in production?: needs reproduction
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @grgia
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1714411583152639
Action Performed:

Open NewDot
As User B > login and set your preferences to Focus mode (account settings > Preference > Focus toggled on)
Log out as User B
Send a chat to User A to User B (FAB > Send a Chat > find the email)
Log out of User A
Log into User B
Notice the new message doesn't have a green dot in LHN and isn't showing as unread

Expected Result:
New message should be shown in the LHN with unread indicator (green dot)
Actual Result:
User can find the chat only by searching and this is not appearing in the LHN
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~013457f96e79046763
Upwork Job ID:<PHONE_NUMBER>483603456
Last Price Increase: 2024-05-03

Issue OwnerCurrent Issue Owner: @eh2077

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

user A<EMAIL_ADDRESS>User B<EMAIL_ADDRESS>- set to focus
Trying to get the email.

Testing:
User A<EMAIL_ADDRESS>User B<EMAIL_ADDRESS>with focus

I can't reproduce this - I can't get the emails. I'll keep testing

not overdue, still waiting for proposals

asking Software Mansion if they might have someone - https://expensify.slack.com/archives/C04878MDF34/p1715141128515599

Hello, I'm from SoftwareMansion and I'll work on this issue

Thanks @jnowakow I assigned you!

@Christinadobrzyn
I tried to reproduce the this issue but I'm not able. I see messages coming for user both in Focus and Most recent modes. I only don't see green dot next to message. But it's not visible in any mode.
Here is the video with receiving messages in focus mode:
https://github.com/Expensify/App/assets/56261019/1039e400-1cd3-44bb-8fce-70d6aea7ff61
And here is the video of message coming in Most recent mode:
https://github.com/Expensify/App/assets/56261019/f8357ab2-6932-4c34-866b-864409acf169
Can you confirm it's replicable? It also seems to work properly on login

I am still able to reproduce it; I think the difference is that you're signed into both accounts @jnowakow. The green 'unread' dot should show in the LHN when you sign into the account (So the messages need to be sent when you're signed out).
Let me just confirm with the team this is the expected behaviour.

When I write a message to another account (that I'm not currently logged in) and then I login into this account I see this:

I can only see green dot when I submit expense:

And if there's expense submitted when I'm logged out then behaviour is as described. No green dot appears:

@Christinadobrzyn my investigation shows that there is a problem with data coming from backend.

Report information coming from backend at login
Part of response form  `https://dev.new.expensify.com:8082/api/OpenApp?` endpoint.
{
  "reportID": "5446516894189387",
  "reportName": "Chat Report",
  "type": "chat",
  "chatType": "",
  "ownerAccountID": 0,
  "managerID": 0,
  "policyID": "_FAKE_",
  "participants": {
    "16628532": {
      "hidden": false
    },
    "16684291": {
      "hidden": false
    }
  },
  "participantAccountIDs": [
    16628532
  ],
  "visibleChatMemberAccountIDs": [
    16628532
  ],
  "isPinned": false,
  "lastReadTime": "2024-05-13 06:58:39.492",
  "lastMentionedTime": null,
  "lastReadSequenceNumber": 0,
  "lastVisibleActionCreated": "2024-05-13 06:58:17.473",
  "lastVisibleActionLastModified": "2024-05-13 06:58:17.473",
  "lastMessageText"<EMAIL_ADDRESS>owes PLN 7.00",
  "lastActionType": "REPORTPREVIEW",
  "lastActorAccountID": 16684291,
  "notificationPreference": "always",
  "stateNum": 0,
  "statusNum": 0,
  "oldPolicyName": "",
  "visibility": null,
  "isOwnPolicyExpenseChat": false,
  "lastMessageHtml"<EMAIL_ADDRESS>owes PLN 7.00",
  "iouReportID": null,
  "hasOutstandingChildRequest": false, <---- THIS VALUE is set to FALSE on initial load
  "policyName": null,
  "hasParentAccess": null,
  "parentReportID": null,
  "parentReportActionID": null,
  "writeCapability": "all",
  "description": "",
  "isDeletedParentAction": null,
  "fieldList": null,
  "total": 0,
  "unheldTotal": 0,
  "currency": "USD",
  "submitterPayPalMeAddress": "",
  "chatReportID": null,
  "isWaitingOnBankAccount": false,
  "nonReimbursableTotal": 0,
  "isCancelledIOU": false,
  "avatarUrl": "",
  "invoiceReceiver": null
}

Report information coming from backend when opening report
Response from https://dev.new.expensify.com:8082/api/OpenReport? endpoint.
{
  "avatarUrl": null,
  "chatReportID": null,
  "chatType": "",
  "currency": "USD",
  "description": "",
  "fieldList": null,
  "hasOutstandingChildRequest": true, <--- THIS VALUE is set to TRUE
  "hasParentAccess": null,
  "invoiceReceiver": null,
  "iouReportID": "7134394162447841",
  "isCancelledIOU": false,
  "isDeletedParentAction": null,
  "isOwnPolicyExpenseChat": false,
  "isPinned": false,
  "isWaitingOnBankAccount": false,
  "lastActionType": "REPORTPREVIEW",
  "lastActorAccountID": "16684291",
  "lastMentionedTime": null,
  "lastMessageHtml"<EMAIL_ADDRESS>owes PLN 7.00",
  "lastMessageText"<EMAIL_ADDRESS>owes PLN 7.00",
  "lastReadSequenceNumber": 0,
  "lastReadTime": "2024-05-13 06:58:39.492",
  "lastVisibleActionCreated": "2024-05-13 06:58:17.473",
  "lastVisibleActionLastModified": "2024-05-13 06:58:17.473",
  "managerID": 0,
  "nonReimbursableTotal": 0,
  "notificationPreference": "always",
  "oldPolicyName": "",
  "ownerAccountID": 0,
  "parentReportActionID": null,
  "parentReportID": null,
  "participantAccountIDs": [
    16628532
  ],
  "participants": {
    "16628532": {
      "hidden": false
    },
    "16684291": {
      "hidden": false
    }
  },
  "permissions": [
    "read",
    "write"
  ],
  "policyAvatar": null,
  "policyID": "_FAKE_",
  "policyName": null,
  "reportID": "5446516894189387",
  "reportName": "Chat Report",
  "stateNum": 0,
  "statusNum": 0,
  "submitterPayPalMeAddress": "",
  "total": 0,
  "type": "chat",
  "unheldTotal": 0,
  "visibility": null,
  "visibleChatMemberAccountIDs": [
    16628532
  ],
  "welcomeMessage": "",
  "writeCapability": "all"
}

Ah okay, I'll add the internal label to this to see if we can get an internal engineer to help.

Based on the convo here - https://expensify.slack.com/archives/C036QM0SLJK/p1715672323323189
The original issue is that the chats weren't showing at all - this is resolved. The chats are showing.
And it sounds like the green dot isn't expected unless there's a @mention involved or an expense is created. So it sounds like the product is behaving as expected.
I'm going to close this as resolved. Thanks for all your help & testing on this @jnowakow.


feat: bump version to 2.0

PR 合并后，我们将开始 v2.0 的发布和构建流程。目前主线分支的内容已经发布为“v2.0.0-pre”。
Signed-off-by: Alex Chi<EMAIL_ADDRESS>

Looks good. Would you mind write some release notes for v2.0.0? i.e. some introduction to new features.
You could update the description of https://github.com/sjtug/SJTUBeamer/releases/tag/v2.0.0-pre, and I'll paste that to the 2.0.0 release.

Looks good. Would you mind write some release notes for v2.0.0? i.e. some introduction to new features.
You could update the description of https://github.com/sjtug/SJTUBeamer/releases/tag/v2.0.0-pre, and I'll paste that to the 2.0.0 release.

OK. I'm on it.

The pre-release is updated.


Concessionary travel: Description of physical bus pass

Paragraph 8 says
Bus passes are a physical plastic card that users can use on any bus in England. They show it to the driver on the way onto the bus.
In London, the pass is an Oyster card which the user scans on a reader.
What it should say is;
Bus passes are a smartcard in all parts of England which are all scanned on the ticket machine on the bus. However, In London, the pass is an Oyster card which can be scanned on the bus, but, bus passes issued in the rest of England will not work on the Oyster scanners and must be shown to the driver.
(N.B. I have no idea if Oyster cards will scan on non-Oyster readers - one of the London boroughs should know this!)

Worth including a picture of a sample pass on the confirmation page

@sanjaypoyzer @kaydale we need to get a content designer on this. That replacement paragraph is super confusing.

@kateiw Yeah, that was just copied from the actual feedback from councils, not a suggestion for actual content. Kay can pull in Ant Lord for help with this if needed.

In Northumberland passes are scanned the bus driver doesnt really get shown them

add stuff about: "how they use their bus pass, bus pass is scanned"


Choose a date library / or use the provided one from JS

I'm thinking about going with Day.js (https://day.js.org/en/).


Reduce test scope

Description
Should improve CI reliability and reduce test duration.

Only perform all FIO I/O operations in one of the tests
Disable metadata collection in benchmarks with more than one test case.
Enable prometheus metric collection in only one kube-burner test

LGTM


SelectChain::finality_target should not return an Option

In absence of a better finality target any select chain implementation can just return the target hash it was called with.

I'm all for simplifiying things.


Unhandled Exception (Access Denied) when running Streamlabs Chatbot

Hello.
I had Automatic Volume Mixer running when I started Streamlabs Chatbot and this error came up:

I checked for logs and this is all it says:
NBugTrace: Starting to handle a System.AppDomain.UnhandledException. NBugTrace: Starting to generate a bug report for the exception. NBugTrace: As per setting 'Settings.StopReportingAfter(30)', bug reporting feature was enabled for a certain amount of time which has now expired: Bug reporting is now disabled.
If you think it's their fault, can you help me submit a bug for Chatbot?
Thanks

It also happens with "putty", when a bell rings. Something's not quite right.

Will this be fixed??

Can you check if this build works properly? Debug.zip
It looks like AVM needs admin permissions in some cases.


added the matchFormalCharge option in the MCS algorithm

I had issues with the FindMCS function as I wanted it to see the formal charge of atoms in the returned SMARTS. I added a matchFormalCharge option to the function whose default is False so it doesn't affect people that used it previously.
>>from rdkit import Chem
>>from rdkit.Chem import MCS
>>mol1 = Chem.MolFromSmiles("[C-][C+]CC")
>>mol2 = Chem.MolFromSmiles('[C-][C+]C')
>>mcsResult = MCS.FindMCS([mol1,mol2],matchFormalCharge=True)
>>print(mcsResult.smarts)

[#6-1]-[#6+1]-[#6+0]
Feel free to tell me what needs to be done differently if needed. I'll try to do it asap

Can you also add a test for the new functionality?

Yes, I'll do this as soon as possible

The two files have a lot of whitespace changes. I can give you the two files reformatted using yapf. This hopefully makes them consistent with the previous formatting and make them easier to review.

Let's see if this works:
fmcs.py.txt
MCS.py.txt

Instead of:
      formalCharge = atom.GetFormalCharge()
      if formalCharge >= 0:
        charge_str = "+%d" % formalCharge
      else:
        charge_str = "%d" % formalCharge

you can use
    charge_str = '%+d' % atom.GetFormalCharge()

See here

Unfortunately these changes are all relative to the python-based MCS implementation, which is no longer supported and has been deprecated (but, obviously, not yet removed).
It does make sense to be able to require charge matches in the MCS . That would be a good one for us to add to the C++ code.

I was afraid it would be the case.
For the record, the C++ version does not show the valence in the smartsString when using matchValences=True:
>>from rdkit import Chem
>>from rdkit.Chem import rdFMCS
>>mol1 = Chem.MolFromSmiles("CCCC")
>>mol2 = Chem.MolFromSmiles('CCC')
>>mcsResult = rdFMCS.FindMCS([mol1,mol2],matchValences=True)
>>print(mcsResult.smarts)

[#6]-[#6]-[#6]
while the python version does as shown below:
>>from rdkit import Chem
>>from rdkit.Chem import MCS
>>mol1 = Chem.MolFromSmiles("CCCC")
>>mol2 = Chem.MolFromSmiles('CCC')
>>mcsResult = MCS.FindMCS([mol1,mol2],matchValences=True)
>>print(mcsResult.smarts)

[#6v4]-[#6v4]-[#6v4]
Which behavior is expected ?
I will still submit the changes requested by @gedeck to the python version. I might try to have a look at the C++ version this weekend.

OK i modified the python version.

@greglandrum is this safe to merge or close in favor of #1311 ?

Assuming that @jbDelafosse agrees, I think we can close this

yes. close this one in favor of #1311 please


Google PubSub example

I request more examples in examples repo especially Google PubSub if possible

Indeed, there is no Google PubSub example yet. That's related to the fact that the Google PubSub component is supported only in JVM mode so far. @jamesnetherton might want to consider creating an example once he fixes #1041 ?

Thank you so much @ppalaga


add soft masked assembly

Hello,
I wanted to add soft masked assembly (PacBio reads) to the BlobDir using this command: ../BLOBTOOLS/blobtools2/blobtools create --fasta carp_pbjelly.fa NETHERLANDS
But I got and error:
Loading sequences from carp_pbjelly.fa

processing Contig76388: : 76354it [01:00, 7943.08it/s]Traceback (most recent call last):
File "/Data/jadzia/ANUSH/BLOBTOOLS/blobtools2/lib/add.py", line 152, in
main()
File "/Data/jadzia/ANUSH/BLOBTOOLS/blobtools2/lib/add.py", line 119, in main
meta=meta)
File "/Data/jadzia/ANUSH/BLOBTOOLS/blobtools2/lib/fasta.py", line 56, in parse
_gc_portions[seq_id], _n_counts[seq_id] = base_composition(seq_str)
File "/Data/jadzia/ANUSH/BLOBTOOLS/blobtools2/lib/fasta.py", line 29, in base_composition
gc_portion = float("%.4f" % (gc_count / acgt_count))
ZeroDivisionError: division by zero
processing Contig76388: : 76354it [01:00, 1271.37it/s]

I am attaching few lines of the assembly test.txt

Hi
Most likely cause would be if Contig76388 contains no ACGT (or acgt as it is soft masked) bases. The file didn't attach but if there is sequence in Contig76388 could you attach that then I can try to dig a bit deeper.

That's right, Contig76388 contained only NNNNNNNNNNN.
Thanks a lot :)


Some problems in setting it up

Thanks for Library, looks really promising! I'm evaluating it to be used as a basis for our company (Reaktor) collaborative documentation site. I set it up using your instructions and found some errors, most likely mostly due to changes on the GCP UI. Just dumping the observations here for now with links to the pages where I stumbled into them.

Creating service account: "Create key" is not shown in "Create service account" wizard. Instead you'll need to click on the account after creation, then Keys->Add key.
You might mention that when sharing the shared folder, you should grant "Content manager" permissions (the default).
In my case I had to change the "People outside Reaktor can be added to files" setting for the shared drive I'm using. Not sure if worth mentioning.
Cloud datastore API I found out that DataStore is now under "Databases", not "Storage" in the GCP menu
Also "you should be able to fun" -> "run"
After "Select Datastore Mode" there were few steps, including database location selection, but that was easy.
I first copy-pasted the command including YOUR_PROJECT_ID_HERE until I realised that I'll need to replace the placeholder.
The OAuth id and secret are to be found under the OAuth client Id, not the service account, like it says on Deploying to Heroku: "...by going to the “Credentials” the "Credentials" page of the console's "APIs & Services" menu and clicking on the service account name."

All of this I managed through quite easily. Then after deployment it starts on Heroku and requires Google Authentication as expected. However, after that,

"uh on that's a 500" and logs have the following

2021-06-08T09:05:37.727667+00:00 app[web.1]: error: Serving an error page for /
2021-06-08T09:05:37.727678+00:00 app[web.1]: { message: 'Cannot convert undefined or null to object',
2021-06-08T09:05:37.727679+00:00 app[web.1]: stack:
2021-06-08T09:05:37.727682+00:00 app[web.1]: 'TypeError: Cannot convert undefined or null to object\n    at Function.keys (<anonymous>)\n    at buildDisplayCategories (/app/server/routes/pages.js:90:29)\n    at handlePage (/app/server/routes/pages.js:65:24)' }

I'm not expecting you to fix all this, just reporting the current status and I'll try to figure out what's wrong. Any pointers/help is of course appreciated! If we get this set up, and decide to give Library a go, you might expect some contributions from us :)
Anyways, huge thanks for making Library happen and open-source. Looks really good and kinda checks all of my boxes. Documentation seems very good, you've clearly put a lot of effort into this.

I created new Shared Drive and pointed Library to use that (with DRIVE_TYPE=team) and now it seems to work. I cannot seem to get it to work with a Folder as root though. Even when using a folder on this new Drive.

I have the same error as @raimohanska, which is that a folder within a team drive doesn't seem to work (tried both DRIVE_TYPE=folder and DRIVE_TYPE=team, but a root team drive is fine (with DRIVE_TYPE=team).
Previously (on an older version), I had it working on a regular folder (not within a team drive), but we are switching to team drives for easier access control.
We don't want Library to read from the root of the team drive, but that's the only way it seems to work.


Initial draft of the ScopeManager proposal.

Scope Manager
Current State: Draft
Author: carlosalberto
In the OpenTracing specification, under the "Optional API Elements" section, it is mentioned languages may choose to provide utilities to pass an active Span around a single process.
Upon many iterations and feedback from several contributors, the Java 0.31 API defined the new Scope Manager concept, which is a simple and explicit way to manage the active Span at a given call-context point. This document intends to standardize this concept, so other supported languages and platforms can leverage it, with their respective semantical differences.
Technical background
For any thread, at most one Span may be "active". Of course, there may be many other Spans involved with the thread which are (a) started, (b) not finished, and yet (c) not "active": perhaps they are waiting for I/O, blocked on a child Span, or otherwise off of the critical path.
For platforms where the call-context is propagated down the execution chain -such as Go-, such context can be used to store the active Span at all times.
For platforms not propagating the call-context, it's inconvenient to pass the active Span from function to function manually, so OpenTracing should require, for those platforms, that Tracer contains a Scope Manager that grants access to the active Span through a container, called Scope (using some call-context storage, such as thread-local or coroutine-local).
Specification Changes
New ScopeManager and Scope interfaces are added to the specification, and the Tracer interface is extended to support creation of Spans that are automatically set as the active one for the current context.
ScopeManager
The ScopeManager interface allows setting the active Span in a call-context storage section, and has the following members:

activate, capability to set the specified Span as the active one for the current call-context, returning a Scope containing it. A required boolean parameter finish span on close will mark whether the returned Scope should, upon deactivation, finish the contained Span.
active, the Scope containing the current active Span if any, or else null/nothing.

Scope
The Scope interface acts as a container of the active Span for the current-call context, and has the following members:

span, the contained active Span for this call-context. It will never be null/nothing.
close, marking the end of the active period for the current Span, and optionally finishing it. Calling it more than once leads to undefined behavior.

If the language supports some kind of auto finishing statement (such as try for Java, or with for Python), Scope should adhere to such convention. Additionally, Scope is not guaranteed to be thread-safe.
Tracer changes
The Tracer interface will be extended with:

scope manager, the ScopeManager tracking the active Span for this instance.
start active span, a new behavior for starting a new Span, which will be automatically marked as active for the current call-context. It will return a Scope. A parameter finish span on close will mark whether the Scope should, upon deactivation, finish the contained Span. A default value for this parameter may be provided, depending on the suitability for the language and its use cases.
Both start span and start active span will implicitly use any active Span as the parent for newly created Spans (with a ChildOf relationship), unless the parent is explicitly specified, or (the new) ignore active span parameter is specified (in which case the resulting Span will have no parent at all).

Use Cases
Single-threaded operations.
The active Span will be accessible at all times through the Tracer, without any need to pass the Span around when creating children.
Multi-threaded operations.
The active Span will be accessible at all times, probably using thread-local storage, and it will be possible to pass Span instances between threads and manually manage its active period, and have full, manual control on when it should be finished.
Risk Assessment
The following risks have been identified:

This change will mean API breakage, as both start span and start active span behaviors of Tracer will implicitly use any active Span as the parent for newly created Spans (previously, if no parent was specified, all created Spans were parentless).
For platforms having a prior version with a different in-context propagation (as it happened to the 0.30 Java version, which included a concept called ActiveSpanSource, which used reference-count to handle the lifetime of Spans), either a full migration will be needed, or at least a shim/bridge layer should be provided to ease with the proposed changes.
There can be languages and platforms for which, given their specific threading or memory models, implementing this changes will either be not sufficient or redundant.

CC @palazzem @cwe1ss as contributors who have been working on ScopeManager implementations for other languages ;)

Updated the RFC to reflect (as per @cwe1ss feedback), finish span on close mention for both start active span and ScopeManager's activate.

@jpkrohling Hey, updated the draft to reflect the Go case - decided to leave (for now) the thread and the reactive parts out as they could be more of implementation detail (i.e. Java works 'just fine' using the ScopeManager concept, but some of their frameworks may find this insufficient, etc).
Hope that makes things clear for the remaining of the process, anyway ;)

I'm not sure we can say that Go has "call-context propagated down the execution chain". What I meant is that it's common in Go to pass down a context object[1], and such context object would contain a span context[2]. If that's indeed what you mean, I'm +1 to the changes.
1 - https://golang.org/pkg/context/
2 - https://github.com/opentracing/opentracing-go#creating-a-span-given-an-existing-go-contextcontext

Hey @jpkrohling thanks again for the feedback ;)
So yes, I had briefly consulted the documentation for Go and how they use Context to store the active Span - so my question is more about how you think I should write this part, i.e. not call-context propagated down the execution chain (to me, as a non-Go developer, it looks like the context is propagated down the chain, even if explicitly).
Let me know - the clearer we can define this part, the better ;)

I think something similar to my initial proposal would describe the scenario in a way that is independent of the language:

For applications where the whole unit of work happens in a single thread, it's more convenient to store the active span in a thread-local variable than to pass the span context to all involved functions

Otherwise, your version would also work. Perhaps it would make sense to just add the word "explicitly" here:

For platforms where the call-context is explicitly propagated down the execution chain...

any implement suggest in cpp?


iso8601 fallback fix

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/900
Originally created by @derek-knox on 2019-08-20 18:53:04

[x] fix default setting for iso8601 due to orchestrations.py's get_plugin_configuration() refactor (https://gitlab.com/meltano/meltano/commit/d996f40846c13181c437e1e14fea730b5dabbd9b), the response has the keys but they're set to null

View 3 previous comments from the original issue on GitLab


can't use Actions.[key_name] within saga

I use Actions.custom_key_name from react-native-router-flux within saga like below image,
but it's not work, and I notice that no error be throwed.

I also try yield call(() => {Actions.redo()}) but also failed,
how should I use Actions.[key_name] appropriately within saga?
thanks for your time,
regards.

ok, I figure out it by restart the Remotely JS Debugging, maybe it's react native issue.
sorry to trouble.
regards.


Fine tuning

🚀The feature
hello im a new one. and i have some problem like this. Thanks for your help
I want to fine tuning this model on my dataset https://huggingface.co/dragonSwing/wav2vec2-base-vn-270h I follow all the code in the https://github.com/speechbrain/speechbrain/tree/develop/recipes/LibriSpeech/ASR/CTC but it does not help because the file hparam look difference. And i really dont know what structure about train.csv is it link_path_to_wav trascript ??
Solution outline
can u show me how to fine tuning step by step
Additional context
No response

Hello,
This is a duplicate of #1617 therefore I am closing this "issue". :-)


Write up testing strategy

https://trello.com/c/wgkfOJsE/1283-improve-consistency-in-content-publisher-tests
We've struggled over time with a consistent approach to testing with
different understandings of our approaches. This document serves as an
attempt to put down our current thinkings. It's unlikely to be fully
exhaustive and I'm hoping it will be amended and improved over time.
I intend to follow this with a bunch of changes to our tests to increase
consistency.
View rendered

Thanks for writing this up, looks great so far! Just left a few comments on slight improvements / general questions.

Thanks for the review Pete 👍

I like the addition of request testing to bridge the gap between feature and unit testing and also would like to see more testing of our interactors as there are still quite a few that are untested, what do you think?

Yeah I'm hoping we gradually get tests for all of them.

Also just to make sure of my understanding of when to use a 'view' test, should these be used when a partial contains complex logic on that HTML it displays depending on what's being passed in?

Yeah I think anytime you want to be testing that certain HTML is output a view test is the right way to go. I'm hoping https://github.com/alphagov/content-publisher/pull/1592 serves as a reasonably good example where we were using feature tests to test stuff that is isolated to a particular view.

Thanks for the reviews, I've made a number of amends based off them.

@ChrisBAshton

Do we want to set a target value for our "fastness of tests" metric? Have some automated build steps in place which measures time taken to run the test suite and fails if it makes the suite significantly slower?
Is this a good opportunity to improve the workflow of writing our tests (as opposed to what they look like at the end)?  Some run rake, others run more specific commands. Linting errors often get missed if the rake command isn't used, or if it fails before it gets to the linting stage. Linting is also much faster than running the entire test suite - would it be worth putting it first in the rake tasks queue so that we fail faster?

Both of those things seem like interesting areas but likely I'd consider them to be outside the scope of what this document is trying to achieve.
In terms of speed it is good to be trying to have fast tests. I think it would be a challenge to have such a tool that identifies slow tests and calls them out, as I think this would be an area that is very difficult to have a consistent rule. I'm also hoping that in the not too distant future RSpec-Rails embraces parallelism like Rails 6 did and thus provide speed boost (could be a while though as they started talking about parallel RSpec 6 years ago)
In terms of the rake ordering and approach to run tests, I think mostly it's somewhat of a different strokes. Myself I mostly run individual tests with RSpec directly and then rake on its own occasionally to check everything together. I'm not aware of a particular problem that warrants widening the scope of this to include that but we can certainly chat about it if there are challenges you are facing.

Thanks for putting this together @kevindew! I like the consistency it will bring, and we definitely have enough tests to allow us to reason about the different alternatives. There are a couple of comments that I'd like to clarify before this goes in, the most interesting one being around the use of feature tests.
Otherwise, in looking at the different alternatives I noticed one that's missing: "integration tests". This is probably intentional, but it might be helpful to briefly state what we're not doing as well.

Sure, it's not something particular intentional - in the same way we're not calling out functional tests explicitly. I wouldn't say we've got a firm stance on integration tests myself (as I recall them briefly existing for a few days last year) just that request and feature tests cover our current needs for integration and functional testing but were they to not be the right way to test a part of the app (which may occur with migration) then we'd consider having directories for them. I'm not too keen on wanting to add that to the doc, more it feels like a reason to amend the doc were our needs to change.

Thanks @benthorner I've merged in to move forward, but happy to carry on talking about the unit test point and update accordingly - after all I hope this doc evolves with us.


Add location links to lifeGroup page

We have to do #458 first so that we have the location data available to display.

This is obsolete because the site has been over to SquareSpace.


UF-262 - Allow WorkbenchPopup size to be defined following Bootstrap …

…sizing guide

+1 to merge.

+1, nice!

master: fe576d7a12c67207f94b68834340509631dd98ff


Last obs write out

I was testing this on Florence_test2_loop.yaml on Cheyenne. It appears to be working, but does not maintain parity over time. I believe this is caused by the calculation being used for how far back since the last obs was observed that comes from the "results". you can specify an output folder to send the lastobs csvs to or not and it will write to whatever the current directory is. Lastobs_df is recreated each following iteration and is updated with the correct gages and q0 values. Lastobs_df can then be fed back into the next run in the same format as the initial run.
The current changes take place in main.py and the Florence_test2_loop.yaml files. It looks like some formatting changes caused some other files to be posted in this WIP. Added a new yaml called Florence_test_lastobs_writeout.yaml on Cheyenne for simplicity.

Last obs netcdf write out #457 will replace this PR.


postinst script adds vscode repo on Raspberry Pi OS, although the packages are present in the existing repo

VS Code Version: any
OS Version: Raspberry Pi OS

Steps to Reproduce:

apt install code
postinst adds vscode repo and MS key although it's not required

Does this issue occur when all extensions are disabled?: Yes

I don't think we can e2e verify this until stable is released, so marking as verified after code review.