time offset between tsync/tconnect record and NS time parse

Observed a couple problems with my initial tconnectsync attempts. I'll paste the full content of relevant errors in the next comment. Highlighting 2 items here...

Calculated "5 hours" offset between the similar log time and CIQ time? Not sure why this is hapenning. My timezone on my linux system and the date command are set correctly (central time)... (e.g. 2022-08-13 20:38:42 INFO     Last bolus from t:connect CIQ: 2022-08-13T19:46:15 (5 hours, 52 minutes ago) )
NS latest entry update shows a ISO-8601 parsing error, note that the NS site is a brand new site with not records. Tried adding a fake bolus manually and that didn't seem to change the error.

raise ApiException(latest.status_code, "Nightscout last_uploaded_entry response: %s" % latest.text)
tconnectsync.api.common.ApiException: Nightscout last_uploaded_entry response:
Error: Cannot parse 2022-08-12+20:38:37 as a valid ISO-8601 date

Full error text:
2022-08-13 20:38:37 INFO     Enabled features: BASAL, BOLUS
2022-08-13 20:38:37 INFO     Logged in to AndroidApi successfully (expiration: 2022-08-14T09:38:37.657Z, in 7 hours, 59 minutes)
2022-08-13 20:38:37 INFO     New reported t:connect data. (event index: 825914 last: None)
2022-08-13 20:38:37 INFO     Downloading t:connect ControlIQ data
2022-08-13 20:38:37 INFO     Logging in to ControlIQApi...
2022-08-13 20:38:38 INFO     Reported tconnect software version: t:connect <IP_ADDRESS>
2022-08-13 20:38:40 INFO     Logged in to ControlIQApi successfully (expiration: 2022-08-14T09:38:38.752Z, in 7 hours, 59 minutes)
2022-08-13 20:38:41 INFO     Downloading t:connect therapy_events
2022-08-13 20:38:42 WARNING  No last CGM reading is able to be determined from CIQ
2022-08-13 20:38:42 INFO     Last bolus from t:connect CIQ: 2022-08-13T19:46:15 (5 hours, 52 minutes ago)
2022-08-13 20:38:43 INFO     Last basal event from CIQ: {'time': '2022-08-13 19:52:44-05:00', 'delivery_type': 'algorithmDelivery', 'duration_mins': 3.2, 'basal_rate': 1.383}
Traceback (most recent call last):
File "/home/pi/.local/bin/tconnectsync", line 8, in
sys.exit(main())
File "/home/pi/.local/lib/python3.9/site-packages/tconnectsync/init.py", line 87, in main
sys.exit(u.process(tconnect, nightscout, time_start, time_end, args.pretend, features=args.features))
File "/home/pi/.local/lib/python3.9/site-packages/tconnectsync/autoupdate.py", line 48, in process
added = process_time_range(tconnect, nightscout, time_start, time_end, pretend, features=features)
File "/home/pi/.local/lib/python3.9/site-packages/tconnectsync/process.py", line 143, in process_time_range
added += ns_write_basal_events(nightscout, basalEvents, pretend=pretend, time_start=time_start, time_end=time_end)
File "/home/pi/.local/lib/python3.9/site-packages/tconnectsync/sync/basal.py", line 109, in ns_write_basal_events
last_upload = nightscout.last_uploaded_entry(BASAL_EVENTTYPE, time_start=time_start, time_end=time_end)
File "/home/pi/.local/lib/python3.9/site-packages/tconnectsync/nightscout.py", line 64, in last_uploaded_entry
raise ApiException(latest.status_code, "Nightscout last_uploaded_entry response: %s" % latest.text)
tconnectsync.api.common.ApiException: Nightscout last_uploaded_entry response:

Error: Cannot parse 2022-08-12+20:38:37 as a valid ISO-8601 date

Connect
500 Error: Cannot parse 2022-08-12+20:38:37 as a valid ISO-8601 date
    at /app/lib/server/query.js:71:17    at Array.forEach (<anonymous>)    at enforceDateFilter (/app/lib/server/query.js:62:28)    at create (/app/lib/server/query.js:120:5)    at query_for (/app/lib/server/treatments.js:121:12)    at Function.list (/app/lib/server/treatments.js:115:13)    at /app/lib/api/treatments/index.js:94:22    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)    at next (/app/node_modules/express/lib/router/route.js:137:13)    at Route.dispatch (/app/node_modules/express/lib/router/route.js:112:3)

 (HTTP 500)

It appears I'm getting a similar error regarding parsing the date as a valid ISO-8601 date.
2022-08-18 20:38:23 INFO     Enabled features: BASAL, BOLUS, PUMP_EVENTS
Processing data between 2022-08-17 20:38:23.528173 and 2022-08-18 20:38:23.528173
2022-08-18 20:38:23 INFO     Downloading t:connect ControlIQ data
2022-08-18 20:38:23 INFO     Logging in to ControlIQApi...
2022-08-18 20:38:23 INFO     Reported tconnect software version: t:connect <IP_ADDRESS>
2022-08-18 20:38:27 INFO     Logged in to ControlIQApi successfully (expiration: 2022-08-19T10:38:24.005Z, in 7 hours, 59 minutes)
2022-08-18 20:38:28 INFO     Downloading t:connect therapy_events
2022-08-18 20:38:29 WARNING  No last CGM reading is able to be determined from CIQ
2022-08-18 20:38:29 INFO     Last bolus from t:connect CIQ: 2022-08-18T19:41:42 (6 hours, 56 minutes ago)
2022-08-18 20:38:29 INFO     Last basal event from CIQ: {'time': '2022-08-18 19:55:52-04:00', 'delivery_type': 'algorithmDelivery', 'duration_mins': 30.066666666666666, 'basal_rate': 0.25}
Traceback (most recent call last):
  File "/home/health/.local/bin/tconnectsync", line 8, in <module>
    sys.exit(main())
  File "/home/health/.local/lib/python3.9/site-packages/tconnectsync/__init__.py", line 90, in main
    added = process_time_range(tconnect, nightscout, time_start, time_end, args.pretend, features=args.features)
  File "/home/health/.local/lib/python3.9/site-packages/tconnectsync/process.py", line 143, in process_time_range
    added += ns_write_basal_events(nightscout, basalEvents, pretend=pretend, time_start=time_start, time_end=time_end)
  File "/home/health/.local/lib/python3.9/site-packages/tconnectsync/sync/basal.py", line 109, in ns_write_basal_events
    last_upload = nightscout.last_uploaded_entry(BASAL_EVENTTYPE, time_start=time_start, time_end=time_end)
  File "/home/health/.local/lib/python3.9/site-packages/tconnectsync/nightscout.py", line 64, in last_uploaded_entry
    raise ApiException(latest.status_code, "Nightscout last_uploaded_entry response: %s" % latest.text)
tconnectsync.api.common.ApiException: Nightscout last_uploaded_entry response:

    <meta charset='utf-8'>
    <title>Error: Cannot parse 2022-08-17+20:38:23 as a valid ISO-8601 date</title>

Connect

500 Error: Cannot parse 2022-08-17+20:38:23 as a valid ISO-8601 date

    at /app/lib/server/query.js:71:17

    at Array.forEach (<anonymous>)

    at enforceDateFilter (/app/lib/server/query.js:62:28)

    at create (/app/lib/server/query.js:120:5)

    at query_for (/app/lib/server/treatments.js:121:12)

    at Function.list (/app/lib/server/treatments.js:115:13)

    at /app/lib/api/treatments/index.js:94:22

    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)

    at next (/app/node_modules/express/lib/router/route.js:137:13)

    at Route.dispatch (/app/node_modules/express/lib/router/route.js:112:3)

 (HTTP 500)

I'm running into the same issue on Ubuntu 20.04 but it is working macos. The issue seems to stem from urljoin of the dateFilter returned by time_range in last_uploaded_activity. This is just a guess, but it looks like the space in put into the date format in time_range is getting encoded as a +. It seems like ISO-8601 doesn't specify the space anyway, so maybe it makes sense to remove it?

Thanks @rstutsman! I figured it had to do with the date filter... will give this a check on my instance sometime today.

Hey I'm getting a different unknown therapy event error now before I hit the previous iso format time error, can't really verify yet. Will update if I'm able to check it out, hopefully soon.

pi@magicmirroros:~ $ tconnectsync --auto-update 2022-08-20 20:17:19 INFO     Enabled features: BASAL, BOLUS Starting auto-update between 2022-08-19 20:17:19.923273 and 2022-08-20 20:17:19.923273 2022-08-20 20:17:20 INFO     Logged in to AndroidApi successfully (expiration: 2022-08-21T08:17:20.401Z, in 7 hours, 59 minutes) 2022-08-20 20:17:20 INFO     New reported t:connect data. (event index: 817956 last: None) 2022-08-20 20:17:20 INFO     Downloading t:connect ControlIQ data 2022-08-20 20:17:20 INFO     Logging in to ControlIQApi... 2022-08-20 20:17:21 INFO     Reported tconnect software version: t:connect <IP_ADDRESS> 2022-08-20 20:17:24 INFO     Logged in to ControlIQApi successfully (expiration: 2022-08-21T08:17:21.513Z, in 7 hours, 59 minutes) 2022-08-20 20:17:25 INFO     Downloading t:connect therapy_events Traceback (most recent call last):   File "/usr/local/bin/tconnectsync", line 8, in <module>     sys.exit(main())   File "/usr/local/lib/python3.7/dist-packages/tconnectsync/__init__.py", line 87, in main     sys.exit(u.process(tconnect, nightscout, time_start, time_end, args.pretend, features=args.features))   File "/usr/local/lib/python3.7/dist-packages/tconnectsync/autoupdate.py", line 48, in process     added = process_time_range(tconnect, nightscout, time_start, time_end, pretend, features=features)   File "/usr/local/lib/python3.7/dist-packages/tconnectsync/process.py", line 67, in process_time_range     ciqBolusData, ciqReadingData = split_therapy_events(ciqTherapyEventsData)   File "/usr/local/lib/python3.7/dist-packages/tconnectsync/parser/ciq_therapy_events.py", line 12, in split_therapy_events     event = TConnectEntry.parse_therapy_event(e)   File "/usr/local/lib/python3.7/dist-packages/tconnectsync/parser/tconnect.py", line 204, in parse_therapy_event     raise UnknownTherapyEventException(data) tconnectsync.parser.tconnect.UnknownTherapyEventException: Unknown therapy event type:

@Ya that’s what I’m seeing as well!
Get Outlook for iOShttps://aka.ms/o0ukef

From: Joe @.>
Sent: Saturday, August 20, 2022 7:18:39 PM
To: jwoglom/tconnectsync @.>
Cc: Jarred Yaw @.>; Author @.>
Subject: Re: [jwoglom/tconnectsync] time offset between tsync/tconnect record and NS time parse (Issue #47)
@.***:~ $ tconnectsync --auto-update 2022-08-20 20:17:19 INFO Enabled features: BASAL, BOLUS Starting auto-update between 2022-08-19 20:17:19.923273 and 2022-08-20 20:17:19.923273 2022-08-20 20:17:20 INFO Logged in to AndroidApi successfully (expiration: 2022-08-21T08:17:20.401Z, in 7 hours, 59 minutes) 2022-08-20 20:17:20 INFO New reported t:connect data. (event index: 817956 last: None) 2022-08-20 20:17:20 INFO Downloading t:connect ControlIQ data 2022-08-20 20:17:20 INFO Logging in to ControlIQApi... 2022-08-20 20:17:21 INFO Reported tconnect software version: t:connect <IP_ADDRESS> 2022-08-20 20:17:24 INFO Logged in to ControlIQApi successfully (expiration: 2022-08-21T08:17:21.513Z, in 7 hours, 59 minutes) 2022-08-20 20:17:25 INFO Downloading t:connect therapy_events Traceback (most recent call last): File "/usr/local/bin/tconnectsync", line 8, in  sys.exit(main()) File "/usr/local/lib/python3.7/dist-packages/tconnectsync/init.py", line 87, in main sys.exit(u.process(tconnect, nightscout, time_start, time_end, args.pretend, features=args.features)) File "/usr/local/lib/python3.7/dist-packages/tconnectsync/autoupdate.py", line 48, in process added = process_time_range(tconnect, nightscout, time_start, time_end, pretend, features=features) File "/usr/local/lib/python3.7/dist-packages/tconnectsync/process.py", line 67, in process_time_range ciqBolusData, ciqReadingData = split_therapy_events(ciqTherapyEventsData) File "/usr/local/lib/python3.7/dist-packages/tconnectsync/parser/ciq_therapy_events.py", line 12, in split_therapy_events event = TConnectEntry.parse_therapy_event(e) File "/usr/local/lib/python3.7/dist-packages/tconnectsync/parser/tconnect.py", line 204, in parse_therapy_event raise UnknownTherapyEventException(data) tconnectsync.parser.tconnect.UnknownTherapyEventException: Unknown therapy event type:
—
Reply to this email directly, view it on GitHubhttps://github.com/jwoglom/tconnectsync/issues/47#issuecomment-1221435053, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACAG5IYOY6P4QGW4D7JNRYDV2FYV7ANCNFSM56PAYJ5Q.
You are receiving this because you authored the thread.Message ID: @.***>

It looks like when process.py calls parse_therapy_event in parser/tconnect.py, the type for the first few of my events is 'BG', rather than 'Bolus' or 'CGM', so it throws a UnknownTherapyEventException... not related to this time issue, so I'll open a new issue if it doesnt exist yet...

Verified it works, will leave the issue open since the PR hasn't been approved...

@jyaw I ran into the UnknownTherapyEventException for the same reason as you (type == BG), but before I could track down what was the issue disappeared. If someone catches that issue in action, it would be great to capture it in an issue. I tweaked the output for UnknownTherapyEventException in a posted PR since it was missing a format string element that prevented it from outputting the full details of the event that triggered it.

I created an issue And fixed in issue #52 I think. Thanks for addressing the exception formatting!


Content-Security-Policy introduced

With this PR a content security policy is introduced. All scripts come with a nonce value which is generated on the server per each request. This value is also sent as a header where it serves as an allowlist for scripts. All scripts coming with that value can be executed by the browser.
I added some sources to the trello card where the components of the csp are explained. The reason why I create the whole header in the filter (instead of using the possibility to configure it in the SecuritConfigs configure-method) is, that I was not able alter that header in my filter. The header has to contain the random nonce value so I have to format the string. I guess my filter ran before the SecurityConfig's filter, but I did not find out which filter does that or at which position in the filter chain it is set.
What's missing: it is possible to set a report url where csp reports are sent by the browser. We should configure that for production. I'll create a card for that.
Whats' not so nice: we have to remember a few things from now on: all new frontend pages have to be added to the list of pages so that the filter accesses them. Also the script blocks have to have the nonce-tag.

 Content security policy (CSP)

@DanielW1987 I added everything we talked about. There are no more error messages in the browser log. If needed logging can be activated via a env property.


Amplify pull does not work after API is migrated to V2

Before opening, please confirm:

[X] I have searched for duplicate or closed issues and discussions.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

JavaScript Framework
Vue
Amplify APIs
GraphQL API
Amplify Categories
api
Environment information

 @aws-amplify/cli: 7.6.8

Describe the bug
I've made a project with auth and api. The APi is upgraded to transformer V2 ( amplify migrate api ).
When I later do a pull of the app it fails with the error that the graphql model is incorrect (contains the new V2 directive which is not supported).
Expected behavior
amplify pull --appId XXXXX --envName develop Should work in a empty folder when API has been upgraded.
Reproduction steps

amplify init
amplify add api (select demo project with blog)
amplify push
amplify migrate api
amplify push
cd an empty parent folder (e.g. c:/tmp/test-bug/ )
amplify pull --appId XXXXX --envName develop

Code Snippet
// Put your code below this line.

Log output
Output from amplify pull

amplify pull --appId XXXXXXX --envName develop
? Select the authentication method you want to use: AWS profile

For more information on AWS Profiles, see:
https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html

? Please choose the profile you want to use amplify-account
Amplify AppID found: d2e767e8hsmnyv. Amplify App name is: aws-admins
Backend environment develop found in Amplify Console app: aws-admins
? Choose your default editor: Visual Studio Code
? Choose the type of app that you're building javascript
Please tell us about your project
? What javascript framework are you using none
? Source Directory Path:  src
? Distribution Directory Path: dist
? Build Command:  npm.cmd run-script build
? Start Command: npm.cmd run-script start
SchemaValidationError: Your GraphQL Schema is using "@primaryKey", "@hasOne", "@hasMany", "@manyToMany", "@index", "@belongsTo" directives from the newer version of the GraphQL Transformer. Visit https://docs.amplify.aws/cli/migration/transformer-migration/ to learn how to migrate your GraphQL schema.
Failed to pull the backend.
Unknown directive "primaryKey".

Unknown directive "hasOne".

Unknown directive "hasMany".

Unknown directive "primaryKey".

Unknown directive "manyToMany".

aws-exports.js
No response
Manual configuration
No response
Additional configuration
No response
Mobile Device
No response
Mobile Operating System
No response
Mobile Browser
No response
Mobile Browser Version
No response
Additional information and screenshots
No response

Hey @bergmorten :wave: to better understand the context, which version of the Amplify CLI are you currently using?

I'm using  @aws-amplify/cli: 7.6.8 in windows
What is strange that pulling the same app and environment worked for my colleague. He has the same cli version, but use mac.
Either there is something with the windows cli or something in my profile / setup.

Thank you for clarifying @bergmorten ! I will also take the Windows-Mac note into consideration as I work to reproduce this behavior.

Yes, you where correct. I did had another amplify project in a folder two-siblings above my test directory.  This was a garbage project I did not know about.  The pull succeeded after deleting this folder.
Ref my other ticket  ( #9503 ), I do still get warning about models is missing @connection. The datastore does however works :-)

Ah thanks for confirming that @bergmorten I've run into the same thing in the past 😅 I'll go ahead and close this issue out and take a look at your other issue 🙂


Release v.2.5.0-alpha.1

:tada: This PR is included in version 2.5.0-alpha.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


What does [m] and [r] mean ?

Hi everybody! I have one simple question about gtm output, in codes below:
$ gtm status

       20m 40s  53% [m] plugin/gtm.vim
       18m  5s  46% [r] Terminal
           15s   1% [m] .gitignore
       39m  0s          gtm-vim-plugin

What does [m] and [r] mean ?
Thanks if anyone can explain that!

Good question, m is for modified and r is for read.

Thanks
Another question:
Why a file ,untracked by git, have a '[r]' sign, which means read ,is this a bug?
For example:
$ gtm status
$ gtm status

       20m 40s  53% [r] plugin/gtm.vim
       18m  5s  46% [r] T
in/gtm.vim
       18m  5s  46% [r] Terminal
           15s   1% [m] .gitignore
       39m  0s          gtm-vim-plugin

'plugin/gtm.vim' is untracked


Dev: Web - Console log error on clicking 'Description'

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

Action Performed:

Open an existing chat
Click on '+' icon
Click on 'Assign task' button
Enter title & description > click on 'Next'
Click on 'Confirm task' button
Click on 'Description'

Expected Result:
There should be no console log error
Actual Result:
Console log error displayed [TextInput contains a textarea with both value and defaultValue props.]
Workaround:
Unknown
Platforms:

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: Dev 1.3.39-8
Reproducible in staging?: n/a
Reproducible in production?: n/a
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
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/1639eb3f-498e-4a24-8686-89ea3547138d
Expensify/Expensify Issue URL:
Issue reported by: @Natnael-guchima
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689172593965979
View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
Web - Console log error on clicking 'Description'
What is the root cause of that problem?
defaultValue in TextInput component was used
https://github.com/Expensify/App/blob/9b205fbb26aeafea690b62412d00fd1aa5529bde/src/pages/tasks/TaskDescriptionPage.js#L68-L80
What changes do you think we should make in order to solve the problem?
Instead of defaultValue, need to use value for controlled input
What alternative solutions did you explore? (Optional)
N/A

posted in slack to have repro'd

Will be fixed in https://github.com/Expensify/App/pull/22589


option-getter not working

Hello!
I have :
JS
 $scope.selected = function(Name){
            console.log(Name);
        };

and HTML

            <button class="button button-dark" modal-select="" ng-model="selectedname"  option-getter="selected(Name)"
                    options="items"  modal-title="Alege locatia">
               Alege

{{option.name}}

            </button>

           Selected option: {{selectedname}}

I have 3 elements in array, but when I click on select to open modal, console.log gives me 9 objects, and when I select an element, {{selectedname}} does not update.

@s1lviu option-getter, if set to a function call, accepts a parameter callled option (the parameter name is important in this case, as per #5), as function is passed into scope with a reference (&)

I understand now. Thanks!


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


UPM Invalid Argument: Temperature: mraa_aio_init() failed, invalid pin?

I’m getting
Traceback (most recent call last):
File "/usr/src/app/grovetemp.py", line 28, in <module>
temp = upm.Temperature(0)
File "/usr/local/lib/python2.7/site-packages/upm/pyupm_temperature.py", line 106, in __init__
this = _pyupm_temperature.new_Temperature(pin, scale, r0, b)
UPM Invalid Argument: Temperature: mraa_aio_init() failed, invalid pin?

even though I have:
from upm import pyupm_temperature as upm
temp = upm.Temperature(0)

in temperature.py and I’ve connected the sensor to A0.
What might be going on?

The board is an Intel Edison Arduino with the Grove Temperature v1.1 sensor.

The Intel Edison board is running balena OS.


[redknot] add module type and attribute lookup for some types

Add a module type, ModuleTypeId
Add an attribute lookup method get_member for Type

Only implemented for ModuleTypeId and ClassTypeId
[x] Should this be a trait?
Answer: no
[x] Uses unwrap, but we should remove that. Maybe add a new variant to QueryError?
Answer: Return Option<Type> as is done elsewhere

Add infer_definition_type case for Import
Add infer_expr_type case for Attribute
Add a test to exercise these
[ ] remove all NOTE/FIXME/TODO after discussing with reviewers

Since you folks were ooo, I added questions that I had as NOTE/TODO/FIXME comments in the diff.

Thanks for your review. I've made requested changes and asked some followup questions to describe the follow-up work in comments. Let me know when/if it's ok to merge.

Oh there are a couple clips issues to fix, too.
Looks like you could easily support AnnotatedAssignment the same as Assignment for now (with a TODO to actually look at the annotation) and our Definition handling would cover all variants?

Clippy: rename an unused variable which we'll use after completing the get_member case for unions
Added case to infer_definition_type for AnnotatedAssignment variant which returns Type::Unknown when the value isn't present; includes a TODO to look at the annotation (which presumably will have a type expression)

Oh weird. Maybe the CI-clippy is getting some stricter options than my local one. Ty


Allow building contributed PRs

Currently our CI system doesn't run for external contributed PRs. We should allow this but we need to make sure we don't leak any environment variables (these can easily be stolen by an attacker by echo'ing its value during a CI run).

[ ] allow external PRs to use CI
[ ] disable using env variables for external PRs
[ ] add checks to circle configuration to not run certain steps if an env variable is needed (example)

Fixing the third item in https://github.com/mapbox/mapbox-plugins-android/pull/838


[DPTOOLS-2312] Add callback registration in Publisher

Summary of Changes
Introduce Callback into Databuilder.
From "README.MD":
Callback interface is built upon a Observer pattern where the participant want to take any action when target's state changes.
Publisher is the first one adopting Callback where registered Callback will be called either when publish succeeded or when publish failed. In order to register callback, Publisher provides register_call_back method.
One use case for Extractor needs to commit when job is finished. Having Extractor register a callback to Publisher to commit when publish is successful, extractor can safely commit by implementing commit logic into on_success method.
Tests
Added unit tests. Performed integration tests.
Documentation
Added documentation
https://github.com/lyft/amundsendatabuilder/tree/jinchang-callback-registration#callback
CheckList
Make sure you have checked all steps below to ensure a timely review.

[x] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[x] PR includes a summary of changes.
[x] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[x] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain docstrings that explain what it does

[x] PR passes make test
[x] I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message"

Codecov Report

Merging #57 into master will decrease coverage by 0.28%.
The diff coverage is 53.65%.

@@            Coverage Diff             @@
##           master      #57      +/-   ##
==========================================
- Coverage   83.12%   82.84%   -0.29%
==========================================
  Files          50       51       +1
  Lines        2311     2413     +102
  Branches      223      242      +19
==========================================
+ Hits         1921     1999      +78
- Misses        314      334      +20
- Partials       76       80       +4

Impacted Files
Coverage Δ

databuilder/publisher/neo4j_csv_publisher.py
87.81% <100%> (+1.68%)
:arrow_up:

databuilder/publisher/elasticsearch_publisher.py
93.87% <100%> (ø)
:arrow_up:

databuilder/callback/call_back.py
42.3% <42.3%> (ø)

databuilder/job/job.py
79.62% <57.14%> (-3.71%)
:arrow_down:

databuilder/publisher/base_publisher.py
83.33% <83.33%> (-0.88%)
:arrow_down:

Continue to review full report at Codecov.

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

This is awesome. Nice implementation. 👍


Pre predeployment script support for SQL Projects

Related to an existing integration?
Yes
Existing integration
CommunityToolkit.Aspire.Hosting.SqlDatabaseProjects
Overview
In our workflow we often have to resort having a pre predeployment script as described the archutect behind SSDT. We have destructive actions in this script for example.
Having the ability to point to this script and having it run against the database if it exists would be a great addition to this integration, particular for keeping the database persisted between invocations.
The script is assumed to be authored as idempotent, and the integration schould only execute the script if the database exists.
@jmezach FYI!
Usage example
var builder = DistributedApplication.CreateBuilder(args);
var sql = builder.AddSqlServer("sql")
.AddDatabase("test");
builder.AddSqlProject<Projects.MySqlProj>("mysqlproj")
.WithPreScript("path/to/script.sql")
.WithReference(sql);
Breaking change?
No
Alternatives
Not aware of any other integrations that can do this, but I could easily be wrong
Additional context
No response
Help us help you
Yes, but only if others can assist

@ErikEJ I guess it should be fairly easy to run a script before deploying the .dacpac by creating a SqlCommand and putting in the script, but there's a couple of challenges that I can think of:

With Aspire the database creation is usually done under the hood of the .dacpac deployment, so if we run a script before that the database might not yet exist. This may or may not be a problem depending on whether the pre pre-script does something to the database
If the pre pre-script needs to leverage any SQLCMD variables we might be in for a challenge as we'd need to have some mechanism that can parse the script and replace those variables. Maybe the DacFx library provides something for that, but I'm not sure.

@jmezach
For us, having the pre pre script is only relevant if the database is persisted between invocations of the App Host.
We assume the script executes against the user database.
We have statements similar to this in it:
IF OBJECT_ID('dbo.WorkflowProcess', 'U') IS NOT NULL
BEGIN
    DROP TABLE dbo.WorkflowProcess
END

We have no need for sqlcmd variables or GO statements.
The only issue I can see is that the script will fail on first run if the database does not exist, but for that we could add a database existance check, using the supplied connection string and a simple SqlConnection.Open(SqlConnectionOverrides.OpenWithoutRetry) to fail fast.

Why would this be done as part of the app host and not in the referenced SQL project? My impression was that that project was responsible for configuring the server with all the required databases/tables/etc. so what's the pre deployment script for?

@aaronpowell If you do not want destructive actions in your database project, you need the pre predeploy script, as described in the link from the old blog post by Geert Drapers above.
And as mentioned above, this is only needed if the database is on a persisted volume/disk.
Having the pre -predeploy script executed allows the developer to verify/test this early.
Hope this makes sense?

I will just use this approach, it will fullfill our requirements:
https://github.com/dotnet/aspire-samples/blob/main/samples/DatabaseContainers/DatabaseContainers.AppHost/Program.cs#L37

(Would be nice if this was simpler, though)

Maybe this is a feature request to the authors of the SQL Server image? (Looking at the comments for the other db containers in the link above)


'-' in the middle of option is working

Describe the bug
Related version: [2.0.0]
Using '--' and '-' to indicates options - works when it is  used in the middle of the name. It should throw an exception.
To Reproduce
Steps to reproduce the behaviour:

run sampleComman sample--parameter samplevalue

Expected behaviour
This should result in an exception.
Actual behaviour
This is actually wokrking.

I will try to paraphrase the requirements: Option name must not contain hyphens.
Is this ok? Should we introduce other constraints?
Maybe it should be defined as: Option name can only contain alphanumeric characters. But are numeric chars accepted? If so, can option name start with a numeric character?

I guess there is nothing that would prevent you from having hyphen in the middle of an option. You shouldn't on the other hand have an option that will start with one.
This actually will force me to update #36 with what you pointed out - and add constraint on Option naming and command naming as well.


Feature/display walks

implemented feedback. I will do the metatitle as a own small developer story at a later point to avoid merge conflicts for now.


Redirect_uri is used before it is checked

In validate_code_authorization_request, redirect_uri is used for InvalidClientError before it has been checked with validate_authorization_redirect_uri. This allows an attacker to redirect to any given uri.
I did not yet consider it security relevant, as it's only in master and not released yet.

After having a look again into RFC-6749, I've also seen that invalid_client is not listed as valid error response for authorization endpoint (only for token endpoint). But I'm also not sure which error code to use instead.

Thanks, fixed. InvalidClientError should not contain redirect_uri


How to integrate oh-my-zsh with other git tool - posh-git-bash to show git prompts?

I can use the posh-git-bash in normal bash shell, but I can't use it under oh-my-zsh.
First of all, I follow github project posh-git-sh to create ~/git-prompt.sh, and add the following scripts to the bottom of file ~/.bashrc
source ~/git-prompt.sh
PROMPT_COMMAND='__posh_git_ps1 "\u@\h:\w" "\\\$ ";'$PROMPT_COMMAND

reopen the terminal, and go to a git project folder, all the git prompts are correct and as I expected. e.g.
Orion@Orions-machine-1:~/Source/MyProjects/deploy_tools [master ≡ +0 ~1 -0 | +1 ~0 -0]$

Then, I follow the oh-my-zsh to install zsh and oh-my-zsh. I choose the 'crcandy' theme, and add the scripts to the bottom of file ~/.zshrc.
But it always uses the format defined in theme 'crcandy', just show a '*' in prompt.
Orion@Orions-machine-1 [10:25:57] [~/Source/MyProjects/deploy_tools] [master *]

The file ~/.oh-my-zsh/themes/crcandy.zsh-theme content:
PROMPT=$'
%{$fg_bold[green]%}%n@%m %{$fg[blue]%}%D{[%I:%M:%S]} %{$reset_color%}%{$fg[white]%}[%~]%{$reset_color%} $(git_prompt_info)\
%{$fg[blue]%}->%{$fg_bold[blue]%} %#%{$reset_color%} '

ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}["
ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$fg[green]%}"
ZSH_THEME_GIT_PROMPT_CLEAN=""

Do you guys know how to integrate other git tool into oh-my-zsh? thx.
thread in stackoverflow

@alexya  looks like this might be something you're looking for https://github.com/elboletaire/zsh-theme-racotecnic


⚠ Bofrost.nl has degraded performance

In 63d25f7, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1608 ms

Resolved: Bofrost.nl performance has improved in fcfdeb6 after 2 minutes.


Changing multiple occurrences when they are adjacent loses one of the occurrences

VSCode Version: 1.4.0
OS Version: OS X 10.11.6

Note how 11 turns into 2.

Duplicate of #6661


Misleading ".pdb file not loaded" error on debugging non-windows target

Remote debug on a device in Visual Studio with my extension based on MIEngine. When debugger stops at a point in libc.so, I got error message "libc.pdb not loaded". That is misleading as we are not doing Windows app debug. Is it possible the message can be customized to just "Symbol file not found" ?

@digittigerw Can you fill this issue out with more details?

Remote debug on a device in Visual Studio with my extension based on MIEngine. When debugger stops at a point in libc.so,  I got error message  "libc.pdb not loaded". That is misleading as we are not doing Windows app debug. Is it possible the message can be customized to just "Symbol file not found" ?

You are seeing this message in the output window? The modules window? Somewhere else?

Here's the screenshot.

Got it. I doubt that there is an interface today that MIEngine could implement to change that string, but now I know what you are talking about :)


missing page at 'http://progrium.com/localtunnel'

404.tiff | uploaded via ZenHub

Yep, site gone.


[Python 3.12] Increase test timeout

Passed manual run: https://fusion2.corp.google.com/invocations/0e337438-8573-4b54-ba1c-242b1ad58586

A few data points here. I ran this locally and it passed in just a few minutes. Peeking inside the docker image, I can confirm that we are still getting build parallelization.
I SSH'd to the build executor to check out what might be going on there since the build seems to be significantly slower there. We're using a 32 core machine with each core at around 2.2GHz. It is at 100% capacity for the duration of this build, with 4 distribtest containers running at the same time. This means this is almost certainly a legitimate timeout just caused by how much code is being compiled and how many resources we've devoted to the task.
The solution is either to increase the individual task timeout as we've done here, or to decrease the level of parallelization between different docker image runs so that each individual run will take less time. For the moment, I think this solution is a good one.


Using CloudConfiguration

Using CloudConfiguartion, Removing HeliumLogger dependency

Closes https://github.com/IBM-Swift/DevOps/issues/121
Part of https://github.com/IBM-Swift/DevOps/issues/116

Codecov Report

Merging #40 into master will decrease coverage by -0.02%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master      #40      +/-   ##
==========================================
- Coverage   56.98%   56.97%   -0.02%
==========================================
  Files           1        1
  Lines          93       86       -7
==========================================
- Hits           53       49       -4
+ Misses         40       37       -3

Impacted Files
Coverage Δ

...udFoundryDeploymentTracker/DeploymentTracker.swift
56.97% <50%> (-0.02%)
:x:

Continue to review full report at Codecov.

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


Add HPC instructor training as an upcoming workshop

Add HPC instructor training as an upcoming workshop, by including 2020-11-02-online.md in _workshops

Looks good to me.  Should we make it clear who can and can't sign up?

@rkdarst  good point, let me fix that


[8.x] Nested AssertableJsonString

This pr adds the ability to use the helpers provided by the AssertableJsonString class, in nested array or object elements within the json string.
The following example is a test for an api request that responses with an array of objects, where we want to test fragment of the first array element:
$response->decodeResponseJson()[0]->assertFragment([
    'foo' => 'bar'
]);

Before we would have to write:
$firstElement = new AssertableJsonString($response->decodeResponseJson()[0]);
$firstElement->assertFragment([
    'foo' => 'bar',
]);

Seems like a major breaking change.


JavaScript warnings in CRM 2015 Update 1

There's a few JavaScript warnings appearing when using CRM 2015 Update 1.  I've fixed these in our branch with the following.  Is this patch OK?
@@ -5602,10 +5602,13 @@
             // since version SDK 5.0.13
             url = context.getClientUrl();
         }
-        else if ( context.isOutlookClient() && !context.isOutlookOnline() ) {
+        else if ( context.isOutlookClient !== undefined && context.isOutlookOnline !== undefined &&
+                  context.isOutlookClient() && !context.isOutlookOnline() ) {
+            // isOutlookClient() and isOutlookOnline() have been depreciated in CRM 2015 Update 1
             url = localServerUrl;
         }
-        else {
+        else if ( context.getServerUrl !== undefined ) {
+            // getServerUrl() is only available pre CRM 2015 Update 1
             url = context.getServerUrl();
             url = url.replace(/^(http|https):\/\/([_a-zA-Z0-9\-\.]+)(:([0-9]{1,5}))?/, localServerUrl );
             url = url.replace(/\/$/, "" );

Have you executed the integration tests with this update source code?

Hi Daniel,
Nope.  I haven't setup a full environment
On 21 September 2015 at 15:31, Daniel Thul<EMAIL_ADDRESS>wrote:

Have you executed the integration tests with this update source code?
—
Reply to this email directly or view it on GitHub
https://github.com/thuld/CrmFetchKit/issues/7#issuecomment-141999661.

--
Phil

Hello filcole, I committed some code, the method "getServerUrl" handles the logic a bit better. Right now I do not have an CRM 2013 instance running, but in my Dynamics CRM 2015 Update 1 environment are all integration tests good.


bug: PipelineCompleted condition momentarily set before all Pipelines have run

Summary
When update-status runs at the end of every successful Pipeline within a Configure workflow, we always set the PipelineCompleted condition to True for every Pipeline.
When a Promise or Resource contains multiple Pipelines in the Configure workflow, this no longer makes sense for two reasons:

PipelineCompleted is singular, and doesn't reflect the fact there may be multiple Pipelines.
The PipelineCompleted will be True for a short window between one Pipeline finishing and the next being triggered.

Proposed fix
We should:

Change the PipelineCompleted condition type to ConfigureWorkflowCompleted to better reflect what this condition is trying to convey.
Update the condition's messages/reasons to reflect the possibility of multiple Pipelines.
Only set the condition to True when the last Pipeline in a Configure workflow has completed successfully.

release notes pending PR created: https://github.com/syntasso/kratix-docs/pull/141


raise_on_failure=false not giving fire and forget performance

For high load web applications that are publishing a message (or messages) with raise_on_failure=false for each web app request, there is a significant performance impact when a queue is receiving those messages. When there is no queue receiving the messages, there is no performance impact.

A couple of questions arise:

http://reference.rubybunny.info/Bunny/Channel.html#wait_for_confirms-instance_method states that it will block until all unack'd messages are confirmed.  This could be the source of significant latency if we're blocking one thread and another thread attempts to publish and also has a message that needs to confirm.  This thread too would then block as well.
Once confirm_select is set on a channel, does it retain that setting?  It looks like we're taking that connection and returning it to the pool.  Could it be that all subsequent messages sent using that channel are also getting confirmed?
Maybe I'm missing something, but we're never checking raise_on_failure before marking a channel as confirm_select https://github.com/emque/emque-producing/blob/master/lib/emque/producing/publisher/rabbitmq.rb#L31.  I'll need to explore if we can pause in message delivery and check if the channel is set to expect confirms for messages with raise_on_failure set to false

states that it will block until all unack'd messages are confirmed. This could be the source of significant latency if we're blocking one thread and another thread attempts to publish and also has a message that needs to confirm. This thread too would then block as well.

We're not publishing through threads from the web apps currently. But yeah, it does sound like a pitfall.

Once confirm_select is set on a channel, does it retain that setting? It looks like we're taking that connection and returning it to the pool. Could it be that all subsequent messages sent using that channel are also getting confirmed?

Good question, it appears so[1]
From this moment on, every message published on this channel will cause the channel's publisher index (message counter) to be incremented. It is possible to access the index using Bunny::Channel#next_publish_seq_no method. To check whether the channel is in confirmation mode, use the Bunny::Channel#using_publisher_confirmations? method:

Maybe I'm missing something, but we're never checking raise_on_failure before marking a channel as confirm_select https://github.com/emque/emque-producing/blob/master/lib/emque/producing/publisher/rabbitmq.rb#L31.

You are not missing anything here. Every RabbitMQ message is published through the confirm_select to determine if it succeeded or not, regardless of the raise_on_failure. The raise_on_failure is checked in the Emque::Message instance [2].
all in all, it still kind of strikes me as having 2 distinct publish paths, one for critical that does the waiting for confirmation and and one for fire and forget.
[1] http://rubybunny.info/articles/extensions.html
[2] https://github.com/emque/emque-producing/blob/fc3f43b5f26d7d0e26e513cff0165358c9340eae/lib/emque/producing/message/message.rb#L145


fix(ui-ux):  vault drawer scoll

What this PR does / why we need it:
Which issue(s) does this PR fixes?:

Fixes #
Additional comments?:
Developer Checklist:

[ ] Read your code changes at least once
[ ] Tested on iOS/Android device (e.g, No crashes, library supported etc.)
[ ] No console errors on web
[ ] Tested on Light mode and Dark mode*
[ ] Your UI implementation visually matched the rendered design*
[ ] Unit tests*
[ ] Added e2e tests*
[ ] Added translations*

closed due to PR #3732 🤪


Sequential deployments with multiple project Ids

Currently, it's impossible to run deployments to multiple projects within a single pipeline. This is not ideal behavior. The notes within the vercel-deployment-task-source indicate this should be possible. I believe have corrected the problem in the reconcileConfigurationInput. Please let me know if my assumptions are incorrect:
/**
 * To reconcile configuration inputs, get both the _input_ and the _environment variable_.
 *
 * If neither are defined, throw an error.
 *
 * If both are defined, log a warning that _input_ will be used.
 *
 * If _input_ is defined, and not _environment variable_, set the _environment variable_ to the _input_ value and return the _input_ value.
 *
 * If _environment variable_ is defined, and not _input_, return the _environment variable_ value.
 *
 * @param configurationInput
 * @returns
 */
function reconcileConfigurationInput(
  inputKey: string,
  envVarKey: string,
  name: string,
  defaultValue?: string
): string {
  const inputValue = getInput(inputKey);
  const envVarValue = getVariable(envVarKey);

  if (inputValue && envVarValue) {
    console.warn(
      `${name} specified by both \`${inputKey}\` input and \`${envVarKey}\` environment variable. Input field \`${inputKey}\` will be used.`
    );
  }

  if (inputValue) {
    setVariable(envVarKey, inputValue);
    return inputValue;
  } else if (envVarValue) {
    setVariable(envVarKey, envVarValue);
    return envVarValue;
  } else if (defaultValue) {
    setVariable(envVarKey, defaultValue);
    return defaultValue;
  } else {
    throw new Error(
      `${name} must be specified using input \`${inputKey}\` or environment variable \`${envVarKey}\``
    );
  }

The only workaround I've is resetting the environment variable "VERCEL_PROJECT_ID" between executions:
      - script: |           echo "##vso[task.setvariable variable=VERCEL_PROJECT_ID]"
reference: https://github.com/orgs/vercel/discussions/3442

I can also reproduce this issue. I've created PR #41 where I also resolved the nesting for better readability.
@codybrouwers If you provide a preview I'm happy to validate the fix!

@codybrouwers I've created my own Azure org for debugging the plugin – could you add 'philippdollst' for the preview?
The repo there is setup to be public so you can then also see the pipeline runs 🤝


fix(ui): fix frontend workflow migration when node is missing version

What type of PR is this? (check all applicable)

[ ] Refactor
[ ] Feature
[x] Bug Fix
[ ] Optimization
[ ] Documentation Update
[ ] Community Node Submission

Description
This should default to "1.0.0" to match the behaviour of the backend.
Related Tickets & Documents

Related Issue https://discord.com/channels/1020123559063990373/1049495067846524939/1184533310731468911

QA Instructions, Screenshots, Recordings
@JPPhoto This branch should fix the loading of all those workflows that complain about the node data version.

Merge Plan
This can be merged once @JPPhoto confirms it resolves his issue.

@psychedelicious This fixed the issue for those particular images.


[Bug?]: No notification for group members

I'm not sure if this is a bug or intended but I think it could a bug.
When I add a group of users to a project no one gets a notification when a notification is usually triggered.
(Notification is of course activated with all users of this group!).
For example:

There is a group called "Sales"
The users Mike and Molly are part of this group
This group is now a "Allowed Group" of the project "BigWin"
Ruben is the project manager of this project
Ruben adds a new task and change the "Assignee" to "Mike"

And there it is - Mike is getting no notification.
But when I add Mike to the "Allowed Users" section he is getting a notification!
So in conclusion:

When a user is directly added to the section "Allowed Users" he is going to get a notification.
BUT if a user is only added to a project with a GROUP then he is getting no notification.

Is this intended?
Thank you for your great work and happy new year :-)
John

This feature has been added to the development branch. Thanks.


[system] Fix behavior of visuallyHidden when used with sx prop

Closes #25107

@niting143 It's a great first pull request on Material-UI 👌🏻. Thank you for working on it!


prevent panic in proximity function with shorter second argument

This PR is a proposal how to handle the symptom of the problem described in https://github.com/ethersphere/bee/issues/515. This changes the behaviour for proximity function to handle shorter second argument than the first one instead to panic. This behaviour would hide the root cause of the issue https://github.com/ethersphere/bee/issues/515, but the current implementation is not commutative binary function as it would handle shorter first argument, but not the second one.
The root cause of https://github.com/ethersphere/bee/issues/515 should be found, regardless of this PR being merged or not.
Additionally, mockValidator is removed in order to make the linter pass.

Suggesting to open an issue to find the root-cause, or not close #515 before the rootcause is found.


".staging" directories?

I have tried to build jitsi-meet from source with napalm. I am only interested in the web parts but the repository also contains "react-native" code for iOS and Android.
[...]
jitsi-meet> Runnig npm command: npm install
jitsi-meet> npm WARN tar ENOENT: no such file or directory, open '/build/source/node_modules/.staging/dropbox-7d59b16d/dist/DropboxTeam-sdk.min.d.ts'
jitsi-meet> npm WARN tar ENOENT: no such file or directory, open '/build/source/node_modules/.staging/dropbox-7d59b16d/dist/DropboxTeam-sdk.min.js'
jitsi-meet> npm WARN tar ENOENT: no such file or directory, open '/build/source/node_modules/.staging/@react-native-community/cli-platform-android-df898059/build/commands/runAndroid/g
[... many more ...]
jitsi-meet> npm WARN tar ENOENT: no such file or directory, open '/build/source/node_modules/.staging/bc-css-flags-73d17359/lib/region-flags/svg/US-IA.svg'
jitsi-meet> npm ERR! code ENOENT5mtar ENOENT: no such file or directory, opeope
jitsi-meet> npm ERR! syscall spawn git
jitsi-meet> npm ERR! path git
jitsi-meet> npm ERR! errno ENOENT
jitsi-meet> npm ERR! enoent Error while executing:
jitsi-meet> npm ERR! enoent undefined ls-remote -h -t<EMAIL_ADDRESS>jitsi-meet> npm ERR! enoent
jitsi-meet> npm ERR! enoent
jitsi-meet> npm ERR! enoent spawn git ENOENT
jitsi-meet> npm ERR! enoent This is related to npm not being able to find a file.
jitsi-meet> npm ERR! enoent
jitsi-meet>
jitsi-meet> npm ERR! A complete log of this run can be found in:
jitsi-meet> npm ERR!     /build/tmp.fIXNtDnhqr/.npm/_logs/2020-04-28T09_12_28_142Z-debug.log
jitsi-meet> npm install: failure, aborting

Note that if I run npm install (0.12) outside of nix, there are no .staging directories. But apparently, it is normal that npm first downloads new modules there.
To reproduce: either check out napalm-jitsi-meet or follow these steps:
niv init
niv add nmattia/napalm
niv add jitsi/jitsi-meet

default.nix:
{ nixpkgs ? <nixpkgs>
, pkgs ? import nixpkgs {}
, sources ? import ./nix/sources.nix
, napalmSrc ? sources.napalm
, napalm ? pkgs.callPackage napalmSrc {}
, jitsiMeetSrc ? sources.jitsi-meet
}:

napalm.buildPackage jitsiMeetSrc {}

Execute nix build -L

Interesting. Looks like tar tries to unpack a directory that doesn't exist:
jitsi-meet> npm WARN tar ENOENT: no such file or directory, open '/build/source/node_modules/.staging/dropbox-7d59b16d/dist/DropboxTeam-sdk.min.d.ts'

can you try downloading the package tarball by hand and unpacking it?

Thank you for your super quick response!
Which tar ball?

That of the dependencies or one of them? Not sure what the URL would be. How do I find out?
Or the original source?

❯ nix build -f default.nix -L
jitsi-meet> unpacking sources
jitsi-meet> unpacking source archive /nix/store/mv22mya4rxlz1xgi7a6mcv90cl8h27y0-source
...
❯ cd /nix/store/mv22mya4rxlz1xgi7a6mcv90cl8h27y0-source
❯ ls -la | head
total 10304
dr-xr-xr-x    19 root root      4096 Jan  1  1970 .
drwxrwxr-t 16843 root nixbld 9396224 Apr 28 11:44 ..
-r--r--r--     1 root root      5927 Jan  1  1970 analytics-ga.js
dr-xr-xr-x     8 root root      4096 Jan  1  1970 android
-r--r--r--     1 root root      1635 Jan  1  1970 app.js
-r--r--r--     1 root root        18 Jan  1  1970 base.html
-r--r--r--     1 root root         0 Jan  1  1970 body.html
-r--r--r--     1 root root       114 Jan  1  1970 .buckconfig
-r--r--r--     1 root root       324 Jan  1  1970 ConferenceEvents.js

Looks normal to me...

I should maybe mention that npm install works for me outside of nix for this project.


Add commonSpec to other jobs (es-index-cleaner, es-rollover, cassandr…

…a-create-schema)
Signed-off-by: Gary Brown<EMAIL_ADDRESS>

@jpkrohling Seems like a problem with the github actions, created a fresh PR (not rebased) - failed on streaming test first time around (with 2 other e2e tests cancelled) but then when restarted it complains on the checkout. Any idea how best to proceed?

Are you or @kevinearls able to run the e2e tests for Cassandra locally? If they succeed, I'm comfortable in merging this, as that's the only one that hasn't succeeded between all the runs.

@jpkrohling The cassandra tests work locally for me.  FYI I have had problems getting some tests to run here.  For example, the streaming tests have failed here repeatedly https://github.com/jaegertracing/jaeger-operator/pull/636   I cannot, however, reproduce this failure on my laptop, either using minikube or OCP 4.1

@kevinearls Thanks - I've just done a minor refactor so will see if tests are working better today. Could you try running all of the e2e tests locally based on this updated PR? When I tried the cassandra test it timed out - but will try again.

@objectiser Sure, I'll try it shortly.

@jpkrohling @objectiser  Sorry, but my earlier comments were incorrect.  In fact I cannot get the cassandra test tor work with this PR.  Both test cases fail.

@kevinearls Ok thanks Kevin - I'll take anothe look.

@kevinearls I've updated to remove the common spec from the cassandra create schema job for now - all e2e tests run fine locally except the streaming one timed out - could you try running all the tests locally to see what results you see? Thanks.

@jpkrohling Looks like all is ok now :)
@kevinearls don't worry about retesting.

LGTM! Feel free to merge if you think it's ready. Should I start the release process after this one gets merged?

@jpkrohling yes I think the release should be done.


[Feature Request] node option can be specified around core cli

What problem does this feature solve?
sconfig-paths
I think that it is better to be able to specify the package that can be specified in the node option such as nuxt command or nuxt-ts command.
For example, when starting from ts-node with nuxt-ts command, paths cannot be used for ts-node. In order to be able to use, it is necessary to specify with --require options such as tsconfig-paths, but since node option can not be specified with current cli, when using --require,
"build": "node -r tsconfig-paths / register<EMAIL_ADDRESS>build"
Should be run directly like
Node option can be specified via cli
"build": "nuxt-ts -r tsconfig-paths / register build"
I think that it is better to be able to execute like this.
I made a PR for nuxt / typescript once, but commented that the core cli is better, so I made a feature request here.
closed
https://github.com/nuxt/typescript/pull/81#event-2590393663
Corresponding part is
Make node option readable around core cli.
Even if nodo-option is specified in nuxt / typescript-runtime, I think that the cli itself will not pass through an error and the option will pass to the core cli.

This feature request is available on Nuxt community (#c171)

You should already / also be able to pass options to node by using the env var NODE_OPTIONS

You can, but specifically tsconfig-paths/register will not work with nuxt-ts. I created a reproduction repo to demonstrate the problem: https://github.com/IlyaSemenov/nuxt-reproduction-6474
Note that it used to work with Nuxt 2.6 (before decoupling Typescript support).

In Nuxt 3, the nuxi CLI is fully decoupled from Nuxt, with no dependencies, and can be run directly with node if needed. If there's still an issue here, please do let me know and we can revisit.


Olivia Zoe: Watch usontv24.com

Olivia Zoe requests the watch of the watch_keyword usontv24\.com. See the Metasmoke search here and the Stack Exchange search here.

usontv24\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Coverage remained the same at 65.091% when pulling 85af6d296cbbdef5b31f3859df035028f2acf295 on auto-blacklist-1524303648.5738785 into 0e2b43a1006f5bab626c140598396e81851301ab on master.

!!/approve

Approved by tripleee in Charcoal HQ


Add redis config files into config-seed container

This is my proposal to solve #1347 (in contrast with #1348).
Specifically this PR is different in that in order for the config-seed container to support Redis, we just make copies of all the config files that are currently under /edgex/cmd at /edgex/cmd-redis, then use some simple shell tools (toml2json, jq and json2toml) to modify some of the configuration.toml files in the cmd-redis directory with Redis configuration.
I originally had thought that the increased total file size would be 9 KB, but I measured it as actually 16 KB, which I still think is very minimal. You can measure this by building the config-seed container and getting the size with:
$ echo "$(docker image inspect redis-config-seed --format='{{.Size}}') - $(docker image inspect mongo-config-seed --format='{{.Size}}')" | bc
16968

(where mongo-config-seed is a local image built from of current master config-seed Dockerfile and redis-config-seed is a local image built from this branch's config-seed Dockerfile).
Justification
I think this PR is better than #1348 for a few reasons:

A slight increase in complexity of the docker build process offsets a slight increase in complexity of the go code because it has smaller scope
Less maintenance burden for the config-seed options handling - less options means config-seed is simpler to use and simpler to maintain
Lets us handle the larger problem for overwriting config keys from the command line using config-seed in a more general way for Fuji or Geneva

Testing
To test this, I first modified the redis docker-compose file for delhi to delete the device-virtual and portainer containers, and then reference the local 1.0.0-dev tags of the containers with this patch to the developer-scripts repo:

diff --git a/compose-files/docker-compose-redis-delhi-0.7.1.yml b/compose-files/docker-compose-redis-delhi-0.7.1.yml
index e75f299..1013ad9 100644
--- a/compose-files/docker-compose-redis-delhi-0.7.1.yml
+++ b/compose-files/docker-compose-redis-delhi-0.7.1.yml
@@ -57,7 +57,7 @@ services:
       - volume

   config-seed:
-    image: edgexfoundry/docker-core-config-seed-go:0.7.1
+    image: edgexfoundry/docker-core-config-seed-go:1.0.0-dev
     container_name: edgex-config-seed
     hostname: edgex-core-config-seed
     networks:
@@ -103,7 +103,7 @@ services:
       - volume

   logging:
-    image: edgexfoundry/docker-support-logging-go:0.7.1
+    image: edgexfoundry/docker-support-logging-go:1.0.0-dev
     ports:
       - "48061:48061"
     container_name: edgex-support-logging
@@ -121,7 +121,7 @@ services:
       - volume

   notifications:
-    image: edgexfoundry/docker-support-notifications-go:0.7.1
+    image: edgexfoundry/docker-support-notifications-go:1.0.0-dev
     ports:
       - "48060:48060"
     container_name: edgex-support-notifications
@@ -137,7 +137,7 @@ services:
       - logging

   metadata:
-    image: edgexfoundry/docker-core-metadata-go:0.7.1
+    image: edgexfoundry/docker-core-metadata-go:1.0.0-dev
     ports:
       - "48081:48081"
     container_name: edgex-core-metadata
@@ -153,7 +153,7 @@ services:
       - logging

   data:
-    image: edgexfoundry/docker-core-data-go:0.7.1
+    image: edgexfoundry/docker-core-data-go:1.0.0-dev
     ports:
       - "48080:48080"
       - "5563:5563"
@@ -170,7 +170,7 @@ services:
       - logging

   command:
-    image: edgexfoundry/docker-core-command-go:0.7.1
+    image: edgexfoundry/docker-core-command-go:1.0.0-dev
     ports:
       - "48082:48082"
     container_name: edgex-core-command
@@ -186,7 +186,7 @@ services:
       - metadata

   scheduler:
-    image: edgexfoundry/docker-support-scheduler-go:0.7.1
+    image: edgexfoundry/docker-support-scheduler-go:1.0.0-dev
     ports:
       - "48085:48085"
     container_name: edgex-support-scheduler
@@ -202,7 +202,7 @@ services:
       - metadata

   export-client:
-    image: edgexfoundry/docker-export-client-go:0.7.1
+    image: edgexfoundry/docker-export-client-go:1.0.0-dev
     ports:
       - "48071:48071"
     container_name: edgex-export-client
@@ -222,7 +222,7 @@ services:
       - EXPORT_CLIENT_CONSUL_HOST=edgex-config-seed

   export-distro:
-    image: edgexfoundry/docker-export-distro-go:0.7.1
+    image: edgexfoundry/docker-export-distro-go:1.0.0-dev
     ports:
       - "48070:48070"
       - "5566:5566"
@@ -262,23 +262,6 @@ services:
 # Device Services
 #################################################################

-  device-virtual:
-    image: edgexfoundry/docker-device-virtual:0.6.0
-    ports:
-      - "49990:49990"
-    container_name: edgex-device-virtual
-    hostname: edgex-device-virtual
-    networks:
-      - edgex-network
-    volumes:
-      - db-data:/data/db
-      - log-data:/edgex/logs
-      - consul-config:/consul/config
-      - consul-data:/consul/data
-    depends_on:
-      - data
-      - command
-
 #  device-random:
 #    image: edgexfoundry/docker-device-random-go:0.7.1
 #    ports:
@@ -428,17 +411,6 @@ services:
 # Tooling
 #################################################################

-  portainer:
-    image:  portainer/portainer
-    ports:
-      - "9000:9000"
-    command: -H unix:///var/run/docker.sock
-    volumes:
-      - /var/run/docker.sock:/var/run/docker.sock
-      - portainer_data:/data
-    depends_on:
-      - volume
-
 networks:
   edgex-network:
     driver: "bridge"

Then I started that running with:
docker-compose -f compose-files/docker-compose-redis-delhi-0.7.1.yml up -d

And then checked in consul that all the keys were set for mongodb under edgex/core/1.0/core-command/databases/primary for all of the services that use the database layer.
That confirms that the container works for mongodb.
After, I applied a slightly different patch to the docker-compose file to overwrite the command for the config-seed container to use --profile=docker --cmd=/edgex/cmd-redis instead of the default in order to use redis. The patch is here:

diff --git a/compose-files/docker-compose-redis-delhi-0.7.1.yml b/compose-files/docker-compose-redis-delhi-0.7.1.yml
index e75f299..7cfd3aa 100644
--- a/compose-files/docker-compose-redis-delhi-0.7.1.yml
+++ b/compose-files/docker-compose-redis-delhi-0.7.1.yml
@@ -57,7 +57,8 @@ services:
       - volume

   config-seed:
-    image: edgexfoundry/docker-core-config-seed-go:0.7.1
+    image: edgexfoundry/docker-core-config-seed-go:1.0.0-dev
+    command: ["--profile=docker","--cmd=/edgex/cmd-redis"]
     container_name: edgex-config-seed
     hostname: edgex-core-config-seed
     networks:
@@ -103,7 +104,7 @@ services:
       - volume

   logging:
-    image: edgexfoundry/docker-support-logging-go:0.7.1
+    image: edgexfoundry/docker-support-logging-go:1.0.0-dev
     ports:
       - "48061:48061"
     container_name: edgex-support-logging
@@ -121,7 +122,7 @@ services:
       - volume

   notifications:
-    image: edgexfoundry/docker-support-notifications-go:0.7.1
+    image: edgexfoundry/docker-support-notifications-go:1.0.0-dev
     ports:
       - "48060:48060"
     container_name: edgex-support-notifications
@@ -137,7 +138,7 @@ services:
       - logging

   metadata:
-    image: edgexfoundry/docker-core-metadata-go:0.7.1
+    image: edgexfoundry/docker-core-metadata-go:1.0.0-dev
     ports:
       - "48081:48081"
     container_name: edgex-core-metadata
@@ -153,7 +154,7 @@ services:
       - logging

   data:
-    image: edgexfoundry/docker-core-data-go:0.7.1
+    image: edgexfoundry/docker-core-data-go:1.0.0-dev
     ports:
       - "48080:48080"
       - "5563:5563"
@@ -170,7 +171,7 @@ services:
       - logging

   command:
-    image: edgexfoundry/docker-core-command-go:0.7.1
+    image: edgexfoundry/docker-core-command-go:1.0.0-dev
     ports:
       - "48082:48082"
     container_name: edgex-core-command
@@ -186,7 +187,7 @@ services:
       - metadata

   scheduler:
-    image: edgexfoundry/docker-support-scheduler-go:0.7.1
+    image: edgexfoundry/docker-support-scheduler-go:1.0.0-dev
     ports:
       - "48085:48085"
     container_name: edgex-support-scheduler
@@ -202,7 +203,7 @@ services:
       - metadata

   export-client:
-    image: edgexfoundry/docker-export-client-go:0.7.1
+    image: edgexfoundry/docker-export-client-go:1.0.0-dev
     ports:
       - "48071:48071"
     container_name: edgex-export-client
@@ -222,7 +223,7 @@ services:
       - EXPORT_CLIENT_CONSUL_HOST=edgex-config-seed

   export-distro:
-    image: edgexfoundry/docker-export-distro-go:0.7.1
+    image: edgexfoundry/docker-export-distro-go:1.0.0-dev
     ports:
       - "48070:48070"
       - "5566:5566"
@@ -262,23 +263,6 @@ services:
 # Device Services
 #################################################################

-  device-virtual:
-    image: edgexfoundry/docker-device-virtual:0.6.0
-    ports:
-      - "49990:49990"
-    container_name: edgex-device-virtual
-    hostname: edgex-device-virtual
-    networks:
-      - edgex-network
-    volumes:
-      - db-data:/data/db
-      - log-data:/edgex/logs
-      - consul-config:/consul/config
-      - consul-data:/consul/data
-    depends_on:
-      - data
-      - command
-
 #  device-random:
 #    image: edgexfoundry/docker-device-random-go:0.7.1
 #    ports:
@@ -428,17 +412,6 @@ services:
 # Tooling
 #################################################################

-  portainer:
-    image:  portainer/portainer
-    ports:
-      - "9000:9000"
-    command: -H unix:///var/run/docker.sock
-    volumes:
-      - /var/run/docker.sock:/var/run/docker.sock
-      - portainer_data:/data
-    depends_on:
-      - volume
-
 networks:
   edgex-network:
     driver: "bridge"

Then I started that running with:
docker-compose -f compose-files/docker-compose-redis-delhi-0.7.1.yml up -d

And then checked in consul that all the keys were set for redisdb under edgex/core/1.0/core-command/databases/primary for all of the services that use the database layer.
That confirms that the container works for redisdb.

recheck

Codecov Report

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

@@            Coverage Diff            @@
##             master    #1359   +/-   ##
=========================================
  Coverage          ?   16.57%
=========================================
  Files             ?       78
  Lines             ?     8789
  Branches          ?        0
=========================================
  Hits              ?     1457
  Misses            ?     7185
  Partials          ?      147

Continue to review full report at Codecov.

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

This PR also cleans up the docker image a bit and uses the scratch base image, which reduces the image size down to around 15 MB.

Should we also default the logger to the file system in the .toml files?

He's got this covered
# support-logging needs the Writable.Persistence key set to file to be usable with Redis
RUN configFile=./cmd-redis/support-logging/res/docker/configuration.toml && \
    toml2json --preserve-key-order "$configFile" | \
    jq -r '.Writable.Persistence = "file"' | \
    json2toml --preserve-key-order > "$configFile.tmp" && \
    mv "$configFile.tmp" "$configFile"


FoldingRangeProvider for imports

[ ] Providing the ability to fold all the imports at once.
[ ] Setting to fold the imports by default (provide similar experience as PyCharm)

Pointers:
start, end = this.getRange(document)
return new FoldingRange(start, end, FoldingRangeKind.Imports)

https://code.visualstudio.com/docs/extensionAPI/vscode-api#FoldingRangeProvider

Related to #1847


Build Failed Creating base-plugins.jar

This is not a problem with the project itself.
It may be a Gradle problem.
It is probably a Windows 11 vs. Gradle problem.
The build fails with the following error:
FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':platform'.
> java.util.concurrent.ExecutionException: org.gradle.api.GradleException: Failed to create Jar file C:\Users\feisele\.gradle\caches\jars-9\447ff4e774d837b8b39c9410a295e1b9\base-plugins.jar.

When I look in the C:\Users\feisele\.gradle\caches\jars-9\447ff4e774d837b8b39c9410a295e1b9 folder I see a base-plugins.jar.lock.lock file.
Removing this file does not correct the problem.
The suffix on that file seems suspicious to me.

I keep hearing similar issues with pre-compiled plugins on windows. But I have never come up with a reproducer (not working on WIndows myself) to report something to Gradle.
Would killing all Gradle Daemon processes solve the problem for you?


New Avorion Beta Version

Hi,
thx for you creat work. Avorion have a new Beta Update. Plz Update your Container :)

Thx for Update


Add separate get proof steps and execute proof step phase

Separates get_steps from step_proof. Simple implementation of proof steps for now, i.e. just a reference to the proof plus the node ID to step on, or in the case of ImpliesProof, just the proof, since there is always exactly one step for those.

Converted this to draft to avoid accidentally merging it before the pyk -> K migration is done.

https://github.com/runtimeverification/k/pull/4246


[#2331] Fix deserialization bug GrpcBackedSubscriptionQueryMessage and filter non-handler-matching updates

See https://github.com/AxonFramework/AxonFramework/issues/2331

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

I've already approved this PR, but perhaps you want to add the update type filter suggestion from issue #2331.
So, I'll wait with merging for a bit longer! :-)

I just added the type check. Also included is a unit test for the emitter class that reproduces the issue if the additional filter line in the emitter is omitted. In the tests, you can also see why the bug never surfaced. All examples in the test have identical initial response and update response types.

So, the builds fail, but with known reasons:

JDK8 fails because the build can't use the sonatype secrets, which happens because you're not part of the AxonFramework organization and thus can't access the secrets.
JDK11 fails because the build can't use the sonarcloud secrets, which happens because you're not part of the AxonFramework organization and thus can't access the secrets.
JDK17 fails as we still need to fix some tests there.

In all, the mvn clean verify runs successfully, so I expect the tests to be successful.
Thus, I'll go on and merge this pull request.
Thanks again for the effort here, @heutelbeck!!


Pod lint doesn't validate

It complains about the typealias for NSImage and UIImage and some CGSize in watchOS.
cc @sergigracia
You can push directly to CocoaPods with
bundle exec fastlane push

Fixed @sergigracia
https://github.com/carambalabs/UnsplashKit/releases/tag/0.0.23


Typehints go missing when | is used instead of Union

Hello there,
first of all thank you very much for this project which you share with us! I started the module recently and it worked fantastically in many cases! Thanks again for that!
I also saw that in some cases typehints went missing without any warning or error message. One instance you can see at https://conflowgen.readthedocs.io/en/latest/api.html#conflowgen.PortCallManager where in the method add_large_scheduled_vehicle all parameters do not have typehints even though they are provided in the code. In the case of the method has_schedule everything worked out fine again.
Here is the trimmed source code:

class PortCallManager:

    def add_large_scheduled_vehicle(
            self,
            vehicle_type: ModeOfTransport,
            service_name: str,
            vehicle_arrives_at: datetime.date,
            vehicle_arrives_at_time: datetime.time,
            average_vehicle_capacity: int | float,
            average_moved_capacity: int | float,
            next_destinations: Union[List[Tuple[str, float]], None] = None,
            vehicle_arrives_every_k_days: int | None = None
    ) -> None:
        """
        Add the schedule of a ship of any size or a train. The concrete vehicle instances are automatically generated
        when :meth:`.ContainerFlowGenerationManager.generate` is invoked.

        Args:
            vehicle_type: One of
                :class:`ModeOfTransport.deep_sea_vessel`,
                :class:`ModeOfTransport.feeder`,
                :class:`ModeOfTransport.barge`, or
                :class:`ModeOfTransport.train`
            service_name:
                The name of the service, i.e. the shipping line or rail freight line
            vehicle_arrives_at:
                A date the service would arrive at the terminal. This can e.g. point at the week day for weekly
                services. In any case, this is combined with the parameter ``vehicle_arrives_every_k_days`` and only
                arrivals within the time scope between ``start_date`` and ``end_date`` are considered.
            vehicle_arrives_at_time:
                A time at the day (between 00:00 and 23:59).
            average_vehicle_capacity:
                Number of TEU that can be transported with the vehicle at most.
            average_moved_capacity:
                Number of TEU which is imported.
            next_destinations:
                Pairs of destination and frequency of the destination being chosen.
            vehicle_arrives_every_k_days:
                Defaults to weekly services (arrival every 7 days). Other frequencies are possible as well.
                In the special case of ``-1``, only a single arrival at the day ``vehicle_arrives_at`` is scheduled.
                This arrival is only part of the generated container flow if that arrival lies between ``start_date``
                and ``end_date``.
        """
        pass

    def has_schedule(
            self,
            service_name: str,
            vehicle_type: ModeOfTransport
    ) -> bool:
        """
        Args:
            service_name: The name of the service which moves to a schedule that is sought for.
            vehicle_type: The mode of transport to restrict the search to.

        Returns: Whether the requested schedule already exist in the database
        """
        pass

Once I changed the signature to Union instead of |, the documentation built again including the type hints.
    def add_large_scheduled_vehicle(
            self,
            vehicle_type: ModeOfTransport,
            service_name: str,
            vehicle_arrives_at: datetime.date,
            vehicle_arrives_at_time: datetime.time,
            average_vehicle_capacity: Union[int, float],
            average_moved_capacity: Union[int, float],
            next_destinations: Union[List[Tuple[str, float]], None] = None,
            vehicle_arrives_every_k_days: Optional[int] = None
    ) -> None:

So if  the | operator is not supported, this should be stated in the Readme and most preferably some kind of warning should be issued. Better even if the | operator for type hints would be supported though. Would this be possible in one of the future releases?

This is supported, see our test suite https://github.com/tox-dev/sphinx-autodoc-typehints/blob/main/tests/roots/test-dummy/dummy_module_future_annotations.py https://github.com/tox-dev/sphinx-autodoc-typehints/blob/main/tests/test_sphinx_autodoc_typehints.py#L580-L613
We recently also filled https://github.com/tox-dev/sphinx-autodoc-typehints/pull/184 (released a few days back) that adds support for these on older python versions than 3.10. Can you provide a reproducible with the issue you're seeing? Repo, and command how you build it, output of it.

Thank you very much for the hint. After an update, the behavior has definitively changed. I will inspect the output and return if other issues pop up.

@gaborbernat I think I ran into this issue.
Reproducible example (please use a fresh environment! Python 3.8 is recommended.)
pip install poetry
git clone --recursive https://github.com/theislab/ehrapy/
cd ehrapy
make install
cd docs
make clean & make html

View the docs. The type hints still exist for functions which use the former Union and not the | character.
Happy to provide assistance if required.
Thank you very much!

A PR addressing this would be welcome.

A PR addressing this would be welcome.

I am afraid that I haven't found the root cause yet.

please use a fresh environment! Python 3.8 is recommended

@Zethson have you tried building your docs in 3.10? I wonder if 3.8 is failing to evaluate the | types which causes this extension to ignore them.

No, because my project does not support Python 3.10 yet and the building of the documentation requires it to be installed (for sphinx-click etc) I think.
But I'll keep it in mind.

The reason I ask is because if that's the issue (the typings failing to evaluate correctly on 3.9 and earlier), I could submit a PR to add | evaluation to the extension via future_typing.

Yeah, I see. But @1kastner seems to use 3.9 for his RTD build and it looks fine for him now? I am not sure what is going on in my case...

My case has been solved after updating to a newer Python version and the discussion faded, thus I close this stale issue.


images: remove original files when using zstd for compression

Motivation for this change
Hopefully fixes https://github.com/NixOS/nixpkgs/issues/90230
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

I confirm the size went down, roughly back to the previous value (646M -> 684M).


Local variable isa referenced before assignment

[ScriptingProvider] stack block 181a1de14: UnboundLocalError: local variable 'isa' referenced before assignment
[ScriptingProvider] Traceback (most recent call last):
[ScriptingProvider]   File "/Users/0xalsr/Library/Application Support/Binary Ninja/plugins/binja-blocks/blocks.py", line 745, in annotate_stack_block_literal
[ScriptingProvider]     bl = BlockLiteral.from_stack(bv, block_literal_insn, block_literal_var, sym_addrs)
[ScriptingProvider]   File "/Users/0xalsr/Library/Application Support/Binary Ninja/plugins/binja-blocks/blocks.py", line 344, in from_stack
[ScriptingProvider]     return cls(bv, is_stack_block, bl_insn, isa, flags, reserved, invoke, descriptor)
[ScriptingProvider] UnboundLocalError: local variable 'isa' referenced before assignment

This was found running the Annotate all blocks command on DSC for iOS 18.1.1 22B91 iPhone17,2 with the libsystem_c.dylib (loaded by default), Foundation and libsystem_blocks.dylib images loaded.
This error has occurred in a number of other instances.

Can repro w/macOS 14.x DSC.

Root cause is that reloading the stack variable insn when there are multiple insns with the same address may fail to pick up the correct insn:
181d365ec            int64_t var_f0_1 = 0
181d36608            int64_t var_158_1 = 0
181d36608            struct Block_literal var_150
181d36608            var_150.isa = &__NSConcreteStackBlock
181d3660c            var_150.flags = 0xc2000000
181d3660c            var_150.reserved = 0
181d36620            var_150.invoke = ____NSLexiconIterateFormsOfWord_block_invoke.8
181d36620            var_150.descriptor = &___block_descriptor_56_e8_32o40o48r_e15_"NSString"8?0l

The reloaded instruction ends up as int64_t var_158_1 = 0 instead of struct Block_literal var_150, resulting in the code to look for the wrong variable identifier, for which it will not find any isa field assignment.


bitmaps for msi installer

closes #671
tiling taken from julialang.org (originally @cormullion?)
Github won't let me upload .bmps for the preview here (though the commit is .bmp). I also have the Affinity Photo files that were the basis for these but I figured you didn't want them in this repo?

They look great!
Two small things: I think the dlgbmp.bmp has a different resolution now? Width seems to be 491 now but was (and should be) 493. And I think the background might have changed to gray, but ideally should be white?

Awesome, thanks!


feat: support account collections for instructions

Now this case of IDL is taken into account.
FIXES: #78
The problem you said in the issue is solved (A instruction should just have a list of accounts, each of type AccountMetadata (not arrays or anything else), but not 100% sure if it is the best way, as I included in the code as a commentary:
as there are cases where the collection of the accounts is reused on the same ix, is needed to change the name of the account (because in that case would be accounts in the same instruction with the same name)
To solve that, I have included on the accounts the name of the list of the accounts.
This case appears on the IDL of Marinade Finance, Jet Protocol and Jupiter, so would be great to fix.

I understand that the IDL of these programs is built with Anchor. Marinade and Jet are published here (https://www.apr.dev/) "Anchor Program Registry".
Where else could this problem be solved?
In the end you don't care about the collection of accounts itself, the important thing is the list of all the accounts used in the context of an instruction.
About the name collision, it is something that the only solution I see is with the modification I have made, if you consider another way is better, I would be happy to include it.
A check could be made to check if in this collection case account names are repeated (by using the same struct/same collection of accounts twice within the context as in the case of Jet with DexMarketAccounts):
https://github.com/jet-lab/jet-v1/blob/master/programs/jet/src/instructions/liquidate_dex.rs#L759
In this case it would be necessary to modify the name of the accounts, no doubt, because will be duplicated account names.

About the name collision, it is something that the only solution I see is with the modification I have made, if you consider another way is better, I would be happy to include it.

I'll have a look on how to improve it.
But first you please fix the lint errors in the meantime and add an integration test here?
Basically provide a sample IDL and make sure that the generated code is valid via that test.
That would also allow me to understand better what your changes are doing and possibly modify them without breaking anything.

Thanks for the update .. CI is now passing ..
Please fix the one nit I pointed out and I'll have a look to see how to workaround the parts I didn't like to get this feature in.

Thanks for fixing .. I'll have a look this week (was OOO last) to get this adapted + merged ASAP.

Just FYI I'm currently working on cleaning this up to get it merged properly.
Since I cannot push to your branch I'm doing this over here
I'll create a separate PR once that is done and will give you a chance to give feedback before merging.

@ricardocr987 please review https://github.com/metaplex-foundation/solita/pull/87 and we can merge if the changes I made are fine with you.

Superseeded by #87


Finish Extension Packs:

[x] preview of the installed extensions - #12756
[x] support to uninstall a pack - #12957
[ ] add a category for a pack

This plan item is done from development point of view.
Adding pack category in the market place is being taken care by @seanmcbreen.


Implement a central repository for packages

Hello.
This package list is very basic and after some time it will be unmaintenable if the ecosystem grows bigger.
I can implement a REST API for storing and retrieving nim packages in my free time if you are interested.

Also see:
https://github.com/nim-lang/packages/issues/1012
https://github.com/nim-lang/packages/issues/777
http://nimble.directory

https://github.com/kivimango/nim-hub

Written in Java? Come onnnnn

Yes.Java has a richer ecosystem, and some of the libs (securtiy, testing) i couldnt find written in nim.
One could rewrite this later in nim ofc.

Do what you like, but there is a low chance we would adopt a Nim "hub" written in Python, let alone Java.

See https://github.com/nim-lang/packages/issues/777#issuecomment-562863060


Anti-aliasing effect is not obvious, not as good as mapbox effect, how to improve?

I run the demo app on iphone7 device and mac book pro,Sawtooth on the edge is more serious
,Anti-aliasing effect is not obvious, not as good as mapbox effect, how to improve?

We actually do not apply any anti-aliasing to the framebuffer in Tangram! In iOS this is configured here: https://github.com/tangrams/tangram-es/blob/master/platforms/ios/framework/src/TGMapView.mm#L223 If you instead set this value to GLKViewDrawableMultisample4X then you would see anti-aliased geometry edges. This option negatively impacts performance on older devices, which is why it is normally not enabled in Tangram.

@matteblair thanks a lot,turn on msaa4x got a good effect.


[Bug]: The experimental ES modules support breaks when using it with some native addons that reexports the native addon module itself, such as isolated-vm

Version
29.5.0
Steps to reproduce

Clone https://github.com/JCMais/jest-issue-native-addons
Run: pnpm/npm install
Run: pnpm test esBug
Notice the error in the output:

❯ pnpm test esBug

><EMAIL_ADDRESS>test /home/jcm/projects/opensource/jest-issue-native-addons
> NODE_OPTIONS=--experimental-vm-modules pnpm jest --verbose "esBug"

 FAIL  ./esBug.test.ts
  ● Test suite failed to run

    Unexpected closing bracket.
      at @:1:61

      at @:1:61
          at Array.forEach (<anonymous>)

----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files |       0 |        0 |       0 |       0 |
----------|---------|----------|---------|---------|-------------------
Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.399 s
Ran all test suites matching /esBug/i.
(node:19378) ExperimentalWarning: VM Modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ELIFECYCLE  Test failed. See above for more details.

In our codebase the error does include the stack trace, which is similar to this one:
Unexpected closing brace.
      at @:1:234

      at @:1:234
      at parseSource (node_modules/.pnpm/cjs-module-lexer@1.2.2/node_modules/cjs-module-lexer/lexer.js:185:17)
      at parseCJS (node_modules/.pnpm/cjs-module-lexer@1.2.2/node_modules/cjs-module-lexer/lexer.js:43:5)
          at Array.forEach (<anonymous>)

Expected behavior
It should work and console log the exported function of the isolated-vm module.
Actual behavior
The error above is thrown and jest crashes.
I am not familiar with Jest's codebase, but I think this could be due to the way reexports are handled here:
https://github.com/jestjs/jest/blob/39f3beda6b396665bebffab94e8d7c45be30454c/packages/jest-runtime/src/index.ts#L833-L850
It looks like it treats the isolated-vm export in the node_modules/isolated-vm/isolated-vm.js file as a re-export. This is the contents of that file:
module.exports = require('./out/isolated_vm').ivm;

It would then try to parse the ./out/isolated_vm module as a CommonJS module using cjs-module-lexer. However, this module is a native addon, which then breaks the lexer cuz it is a binary file.
Additional context
Workaround
Change node_modules/isolated-vm/isolated-vm.js  from this:
module.exports = require('./out/isolated_vm').ivm;

to this:
const ivm = require('./out/isolated_vm').ivm
module.exports = ivm;

and it starts working again:
❯ pnpm test esBug

><EMAIL_ADDRESS>test /home/jcm/projects/opensource/jest-issue-native-addons
> NODE_OPTIONS=--experimental-vm-modules pnpm jest --verbose "esBug"

  console.log
    isolated_vm { lib: Lib {} }

      at Object.<anonymous> (esBug.test.ts:6:13)

  console.log
    [Function (anonymous)]

      at Object.<anonymous> (esBug.test.ts:7:13)

(node:13821) ExperimentalWarning: VM Modules is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 PASS  ./esBug.test.ts
  test
    ✓ works (20 ms)

----------|---------|----------|---------|---------|-------------------
File      | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------|---------|----------|---------|---------|-------------------
All files |       0 |        0 |       0 |       0 |
----------|---------|----------|---------|---------|-------------------
Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        2.533 s
Ran all test suites matching /esBug/i.

Environment
System:
    OS: Linux 5.10 Ubuntu 22.04.2 LTS 22.04.2 LTS (Jammy Jellyfish)
    CPU: (8) x64 AMD Ryzen 5 5600X 6-Core Processor
  Binaries:
    Node: 18.14.0 - ~/.nvm/versions/node/v18.14.0/bin/node
    Yarn: 1.22.19 - /usr/bin/yarn
    npm: 9.3.1 - ~/.nvm/versions/node/v18.14.0/bin/npm
  npmPackages:
    jest: ^29.5.0 => 29.5.0

Yeah, I think your analysis is correct. Would you be up for sending a PR?

I will try to find time next week to see if I can come up with something

Hi, did someone created already a PR for this issue?

For me, it's complaining error like this:
Cannot find module './out/isolated_vm' from 'node_modules/isolated-vm/isolated-vm.js'

    Require stack:
      node_modules/isolated-vm/isolated-vm.js
      server/util/script.runner.js
      server/router/Rule.js
      server/router/strategry/supportedStrategies.js
      server/router/supportedStrategies.test.js

    However, Jest was able to find:
        'out/isolated_vm.node'

    You might want to include a file extension in your import, or update your 'moduleFileExtensions', which is currently ['js', 'json'].

    See https://jestjs.io/docs/configuration#modulefileextensions-arraystring

However, if I add the 'out' in moduleFileExtensions, Jest hangs there forever.

@kenspirit the error tells you to add .node extension`


API access not working

Hi,
First of all, thank you for making your amazing model publicly available!
Currently i'm working on a chemical project in R in which i want to integrate the molGpKa predictions. A few months ago, this worked fine with the information provided in your API example. However, when trying to use it these days, it either returns 'connection refused' or 'connection timed out'.
Since it does not give me more information, I was curious if you might have seen this before? If so, would you know how to fix this?
Many thanks in advance!!

sorry for the late reply, we have repaired this problem. If you have any other questions please tell me.


Replace gitter with Matrix badge

https://shields.io/category/chat
Link: https://chat.openastronomy.org/#/room/#poliastro:matrix.org

Hey, shall I work on this?

First to submit a pull request wins ;)

Closed in #582


#63 Fix default image size should be 15G

Add Following change

Default image size should be 15G

Please, fix your CLA.

@googlebot rescan

let me create new one


convert gnome-settings-daemon: patches are not handled properly

$ dist2src.py -v convert {rpms,source-git}/gnome-settings-daemon:c8s

I expected all patches to be turned into commits and dropped from SOURCES dir
Instead:

the patches were still present in the spec
they were also present in the SOURCES dir
and no git commits were done

https://github.com/rebase-helper/rebase-helper/issues/798 the main cause

It's ok now (do we know why?) - https://git.stg.centos.org/source-git/gnome-settings-daemon/commits/c8s :)

nice!


Add user role to /auth/whoami response

Add user role ("admin" for user with admin privilege or "user" if they don't) so that UI can do RBAC.

@CannonLock This PR should give you what you need


ROS 2 Crystal can now use the latest tinyxml2 formula.

The change which necessitated this restriction was fixed upstream and
released in Fast-RTPS 1.7.1. Fast-RTPS 1.7.2 was released into Crystal
on 2019-04-08.
This reverts commit 99bd6bf7b13a7d690b934e23edece1eb85d9c39a from #68.

The requirement for TinyXML2 <7 is documented on the MacOS install instructions. Support was added in Fast-RTPS in eProsima/Fast-RTPS#349 but Crystal is still using Fast-RTPS 1.7.0. Updating Fast-RTPS, which would remove the restriction is being discussed in #669

It seems the released Dashing binary distribution still has a runtime dependency on TinyXML2 hard-coded to version 6.2.0, but no such mention of the particular version is present on the installation instructions. Was this regression intentional?


Provide dockerfile for execution environment

Currently, we have dockerfile for building environment. We also need to provide a clean/minimal execution environment. (e.g., based on alpine image)

Then, we can use docker-compose to manage the services instead of using service.sh.


Materials: Turn "Transparent" on by default

I think it's the more common usecase.
Affects all materials with "transparent" slot.

not sure if we should do this, there is a performance penalty & this might cause some draw order problems

Well, in any case I'll turn it on in all the presets, as I want always to have the controls for blending, opacity and double sided at hand. So it's not strictly necessary to turn it on in the plugin. Just would save one toggle value from the common presets.

closing


Turned misleading logging info stmt into a debug stmt

Empty nodes are a common use case, so there's no need to log them out.
Those, who really need information about it, can use the debug log lovel now.

Codecov Report

Merging #22 into master will decrease coverage by 0.04%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master      #22      +/-   ##
============================================
- Coverage     50.62%   50.58%   -0.05%
  Complexity      236      236
============================================
  Files            51       51
  Lines          1201     1202       +1
  Branches        133      134       +1
============================================
  Hits            608      608
- Misses          537      538       +1
  Partials         56       56

Impacted Files
Coverage Δ
Complexity Δ

...talcollections/commons/xml/xpath/XPathWrapper.java
22.22% <0%> (-0.18%)
15 <0> (ø)

Continue to review full report at Codecov.

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

Codecov Report

Merging #22 into master will decrease coverage by 0.04%.
The diff coverage is 0%.

@@             Coverage Diff              @@
##             master      #22      +/-   ##
============================================
- Coverage     50.62%   50.58%   -0.05%
  Complexity      236      236
============================================
  Files            51       51
  Lines          1201     1202       +1
  Branches        133      134       +1
============================================
  Hits            608      608
- Misses          537      538       +1
  Partials         56       56

Impacted Files
Coverage Δ
Complexity Δ

...talcollections/commons/xml/xpath/XPathWrapper.java
22.22% <0%> (-0.18%)
15 <0> (ø)

Continue to review full report at Codecov.

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


Fix for CMake errors if parent project also provides gtest

I'd argue that for ftl to be less intrusive, bringing in a relatively-common third-party target should also ensure that it doesn't break an existing implementation/CMake project.
Let me know if you'd rather the gtest_force_shared_crt flag be set regardless. Maybe that's safer if ftl requires it?

So, this is actually order-dependent from the POV of the parent project - it needs to add the gtest target (e.g. via ADD_SUBDIRECTORY) before adding ftl for this check to work, but it at least provides some way of preventing the conflict that isn't requiring the parent project to depend on whether or not ftl's tests are enabled.
If that was the way it worked, the parent project could have tests enabled but ftl's disabled, and then gtest wouldn't have been added and all hell would break loose.
Interested in any other solutions.

No longer relevant, since we switched to catch2. Thanks for the contribution though :)