MyCarePlanner (sdsbetarelease) : SDS is present but not appropriately identified by the app, causing subject to be blank in submitted resources

It was observed in the most recent, intermediate release of the MyCarePlanner app (tagged "sdsbetarelease"), that attempting to answer a Questionnaire and submit the associated QuestionnaireResponse resource to the SDS fails with an HTTP 403 error due to the subject element not being populated.

After discussions with Dave and Sean about this, and after analyzing logs (below), they came to the conclusion that a check in the app that (I think I'm phrasing this right) equated the presence (or absence) of the queried-for Patient resource from the SDS, with the presence (or absence) of the SDS itself, was not an appropriate surrogate for making that evaluation.  Indeed, the queried-for patient (having the OHSU FHIR Patient ID) from the SDS local partition, that Patient resource will never exist there, and will always return a HTTP 404 response (as that resource exists in the OHSU partition, not the local one).
In any case, EMI is aware of this issue and will work to resolve it in a forthcoming release.
MyCarePlanner logs:
Navigated to https://patient-mccecare2-dev.ohsu.edu/mycareplanner/index.html
resourceData:
Array(776) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]
fhirService.ts:783
resources:
Array(388) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]
fhirService.ts:785
ProgressMessage: Found 388 lab results. App.tsx:662
ProgressMessage: Medication Request request: 1:16:13 PM App.tsx:662
ProgressMessage: Found 12 active medication requests. App.tsx:662
ProgressMessage: Found 20 inactive medication requests (before filtering). App.tsx:662
ProgressMessage: Found 20 inactive medication requests (after removing duplicates). App.tsx:662
ProgressMessage: ServiceRequest request: 1:16:14 PM App.tsx:662
resourceData:
Array(34) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]
fhirService.ts:783
resources:
Array(17) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]
fhirService.ts:785
ProgressMessage: Found 17 ServiceRequests. App.tsx:662
ProgressMessage: SocialHistory request: 1:16:14 PM App.tsx:662
resourceData:
Array(14) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]
fhirService.ts:783
resources:
Array(7) [ {…}, {…}, {…}, {…}, {…}, {…}, {…} ]
fhirService.ts:785
ProgressMessage: Found 7 social history observations. App.tsx:662
ProgressMessage: Obs Survey request: 1:16:14 PM App.tsx:662
resourceData:
Array []
fhirService.ts:783
resources:
Array []
fhirService.ts:785
ProgressMessage: Vitals request: 1:16:15 PM App.tsx:662
ProgressMessage: Found 22 vital signs. App.tsx:662
ProgressMessage: All FHIR requests finished: 1:16:16 PM App.tsx:662
FHIR queries: 11423ms - timer ended fhirService.ts:682
Provenance resources: 591 fhirService.ts:684
ProgressMessage: App.tsx:662
launcherData: Check for patient name...is it in here to use vs using launcherClient.tokenResponse?.patient from client itself?
Object { serverUrl: https://epicmobile.ohsu.edu/FHIRDEV/api/FHIR/R4, isSDS: false, clientScope: "patient/Binary.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/DiagnosticReport.read patient/Encounter.read patient/Flag.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Patient.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read patient/Questionnaire.read patient/QuestionnaireResponse.Read patient/RelatedPerson.Read patient/ServiceRequest.read patient/Task.read fhirUser launch launch/patient openid", fhirUser: {…}, caregiverName: undefined, patient: {…}, patientPCP: {…}, carePlans: (2) […], careTeams: (1) […], careTeamMembers: Map(18), … }
App.tsx:298
launcherPatientId:  eFTHaVbQzCEwOEE97maN2MC2jJi-r8nnkhRh.umMUlz03 App.tsx:300
connect to SDS so we can verify it can exist App.tsx:332
setSupplementalDataClient() App.tsx:604
getSupplementalDataClient Start fhirService.ts:185
getSupplementalDataClient else if (authURL && sdsURL && sdsScope) == true; authorize using existing token fhirService.ts:202
getSupplementalDataClient authURL:  https://epicmobile.ohsu.edu/FHIRDEV/api/FHIR/R4 fhirService.ts:203
getSupplementalDataClient sdsURL:  https://sds-mccecare-dev.ohsu.edu/fhir fhirService.ts:204
getSupplementalDataClient sdsScope:  launch/patient openid fhirUser patient/*.read patient/*.write fhirService.ts:205
enter extractFhirAccessDataObjectIfGivenEndpointMatchesAnyPriorEndpoint() persistenceService.ts:152
givenEndpoint: https://epicmobile.ohsu.edu/FHIRDEV/api/FHIR/R4 persistenceService.ts:153
Key fhir-client-states-array-MCP exists in localForage persistenceService.ts:48
arrayOfFhirAccessDataObjects:
[{"clientId":"66f00bfd-14a9-49c9-b11a-4a539508c79e","scope":"launch launch/patient openid fhirUser patient/Patient.read patient/Practitioner.read patient/RelatedPerson.read patient/Condition.read patient/DiagnosticReport.read patient/Observation.read patient/Procedure.read patient/CarePlan.read patient/CareTeam.read patient/Goal.read patient/Immunization.read patient/MedicationRequest.read patient/Medication.read patient/ServiceRequest.read patient/Provenance.read patient/Organization.read","redirectUri":https://patient-mccecare2-dev.ohsu.edu/mycareplanner/index.html,"serverUrl":https://epicmobile.ohsu.edu/FHIRDEV/api/FHIR/R4,"tokenResponse":{"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJ1cm46b2hzdTpjZXBvYyIsImNsaWVudF9pZCI6IjY2ZjAwYmZkLTE0YTktNDljOS1iMTFhLTRhNTM5NTA4Yzc5ZSIsImVwaWMuZWNpIjoidXJuOmVwaWM6T0hTVSIsImVwaWMubWV0YWRhdGEiOiJOZ2x2S2NfaEdUOWJaWjV0TG5DZTE3eHdaV2pySjN0MDRzdmg4WXQxZ2hpUnc4ajFVWDBiS1lNeFljN3MxekdmQzFicGRNMktmS3N3bUJ2QTQxeTE2c3hOZXdzWmRKQXBoY0tK…
persistenceService.ts:157
arrayOfFhirAccessDataObject is truthy persistenceService.ts:160
inside arrayOfFhirAccessDataObjects.find((curFhirAccessDataObject) function persistenceService.ts:162
endpointInSavedData: https://epicmobile.ohsu.edu/FHIRDEV/api/FHIR/R4 persistenceService.ts:164
getSupplementalDataClient found extractFhirAccessDataObjectIfGivenEndpointMatchesAnyPriorEndpoint using https://epicmobile.ohsu.edu/FHIRDEV/api/FHIR/R4 fhirService.ts:209
getSupplementalDataClient authFhirAccessDataObject is truthy fhirService.ts:212
getSupplementalDataClient  getSupplementalDataClient() sdsFhirAccessDataObject =
Object { clientId: "66f00bfd-14a9-49c9-b11a-4a539508c79e", scope: "launch/patient openid fhirUser patient/*.read patient/*.write", redirectUri: https://patient-mccecare2-dev.ohsu.edu/mycareplanner/index.html, serverUrl: https://sds-mccecare-dev.ohsu.edu/fhir, tokenResponse: {…}, key: "383dTFJgZYTd5BWX", registrationUri: "", authorizeUri: https://epicmobile.ohsu.edu/FHIRDEV/oauth2/authorize, tokenUri: https://epicmobile.ohsu.edu/FHIRDEV/oauth2/token, codeChallengeMethods: [], … }
fhirService.ts:220
getSupplementalDataClient FHIR.client(sdsFhirAccessDataObject) sdsClient =
Object { units: {…}, state: {…}, environment: {…}, _refreshTask: null, patient: {…}, encounter: {…}, user: {…} }
fhirService.ts:223
getSupplementalDataClient End fhirService.ts:235
client.patient.id !== null, using client.patient.read() App.tsx:622
XHRGET
https://sds-mccecare-dev.ohsu.edu/fhir/Patient/eFTHaVbQzCEwOEE97maN2MC2jJi-r8nnkhRh.umMUlz03
[HTTP/2 404  65ms]

Warning: SDS Patient cannot be read via client.patient.read(): The SDS client will not be used. App.tsx:627
Warning: Invalid SDS patient read: Overriding valid client to undefined
                and not setting state for supplementalDataClient or canShareData App.tsx:651
Non-terminating Error: The SDS is invalid. Loading the launcher only. App.tsx:701
Technical Message: The SDS cannot be used due to an invalid SDS configuration,
                a missing patient, or otherwise: Loading the launcher only, the SDS will not be loaded. App.tsx:702
Error Caught: !this.state.supplementalDataClient || !this.state.canShareData App.tsx:703
Warning: validateDOMNesting(...): <h5> cannot appear as a descendant of <p>.
    in h5 (at Home.tsx:186)
    in p (at Home.tsx:185)
    in div (at Home.tsx:183)
    in div (at Home.tsx:133)
    in div (at Home.tsx:66)
    in Home (at App.tsx:886)
    in div (created by MuiTabPanelRoot)
    in MuiTabPanelRoot (created by ForwardRef(TabPanel))
    in ForwardRef(TabPanel) (at App.tsx:885)
    in div (created by Styled(div))
    in Styled(div) (created by ForwardRef(Box))
    in ForwardRef(Box) (at App.tsx:872)
    in TabContext (at App.tsx:871)
    in SessionProtected (at App.tsx:870)
    in Route (at App.tsx:869)
    in Switch (at App.tsx:814)
    in div (at App.tsx:793)
    in App (created by Context.Consumer)
    in Route (at src/index.js:18)
    in Switch (at src/index.js:16)
    in Router (created by BrowserRouter)
    in BrowserRouter (at src/index.js:15)
    in StrictMode (at src/index.js:14) index.js:1211
Warning: validateDOMNesting(...): <h5> cannot appear as a descendant of <p>.
    in h5 (at Home.tsx:196)
    in p (at Home.tsx:195)
    in div (at Home.tsx:193)
    in div (at Home.tsx:133)
    in div (at Home.tsx:66)
    in Home (at App.tsx:886)
    in div (created by MuiTabPanelRoot)
    in MuiTabPanelRoot (created by ForwardRef(TabPanel))
    in ForwardRef(TabPanel) (at App.tsx:885)
    in div (created by Styled(div))
    in Styled(div) (created by ForwardRef(Box))
    in ForwardRef(Box) (at App.tsx:872)
    in TabContext (at App.tsx:871)
    in SessionProtected (at App.tsx:870)
    in Route (at App.tsx:869)
    in Switch (at App.tsx:814)
    in div (at App.tsx:793)
    in App (created by Context.Consumer)
    in Route (at src/index.js:18)
    in Switch (at src/index.js:16)
    in Router (created by BrowserRouter)
    in BrowserRouter (at src/index.js:15)
    in StrictMode (at src/index.js:14) index.js:1211
    e index.js:1211
    React 10
    unstable_runWithPriority scheduler.development.js:572
    React 6
    setFhirDataStates App.tsx:597
    _callee$ App.tsx:393
    tryCatch App.tsx:2
    makeInvokeMethod App.tsx:2
    defineIteratorMethods App.tsx:2
    Babel 6
    setLoadAndMergeSDSIfAvailable App.tsx:402
    _callee11$ App.tsx:309
    tryCatch App.tsx:2
    makeInvokeMethod App.tsx:2
    defineIteratorMethods App.tsx:2
    Babel 8
    componentDidMount App.tsx:322
    React 6
    unstable_runWithPriority scheduler.development.js:572
    React 10
    js index.js:13
    Webpack 7
getGoalSummaries(): 10339ms - timer ended App.tsx:523
getConditionSummaries(): 4478ms - timer ended App.tsx:523
getMedicationSummaries(): 1170ms - timer ended App.tsx:523
getLabResultSummaries(): 3854ms - timer ended App.tsx:523
getVitalSignSummaries(): 1902ms - timer ended App.tsx:523

This should be fixed when we address the SDS fix.

Close as OBE


Comments box and timeline taking up all screen width

Comments box and timeline expand horizontally to both sides of the screen, taking up all the width available as shown below instead of having empty margins to the sides

Any idea why that would be? For instance I was using utterances before and didn't have this problem.

The iframe/container always takes the full width of the parent element. If you need to set a width limit, you can set the parent's width or target the iframe/container with .giscus-frame/.giscus selectors.
Please provide an accessible link where the issue happens, otherwise it's very hard to find where the issue is.

It should be observable in this post.
This is the post template I'm using in my website
{{!< default}}

        {{#post}}
            {{> content width="wide"}}
        {{/post}}
        {{#is "post"}}
            {{#if @custom.show_related_posts}}
                {{> related}}
            {{/if}}
            {{> comment}}

        {{/is}}

I don't really understand how your template system works but the script tag should be somewhere inside the element with the .kg-canvas class so that it is placed with the correct grid column

Or, you can also make an empty
 with the class giscus in there so the script will know to put the tag there.
Alternatively, you can also add your own styles with the .giscus selector in your CSS.

My bad, I forgot that the template is specific to Ghost blog. Anyway thank you for the inputs, I will try to fix it when I find some time and update the issue.

Or, you can also make an empty
 with the class giscus in there so the script will know to put the tag there.

Thank you, that worked. Solved by adding

 in:

        {{content}}

    {{#is "post"}}

    {{/is}}

For Ghost specifically, this was in /var/www/mydomain/content/themes/mytheme/partials/content.hbs


Cannot retrieve PIT from samsung GT-I9195

Hi.
Here verbose output of "detect" command:
heimdall detect --verbose --usb-log-level debug
[timestamp] [threadID] facility level [function call]
[ 0.002148] [0000128e] libusb: debug [libusb_get_device_list]
[ 0.002192] [0000128e] libusb: debug [discovered_devs_append] need to increase capacity
[ 0.002204] [0000128e] libusb: debug [libusb_get_device_descriptor]
[ 0.002211] [0000128e] libusb: debug [libusb_get_device_descriptor]
Device detected
[ 0.002232] [0000128e] libusb: debug [libusb_exit]
[ 0.002239] [0000128e] libusb: debug [libusb_exit] destroying default context
It seems to be ok, but when I ask to print-pit:
heimdall print-pit --usb-log-level debug
Heimdall v1.4.1
Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/
This software is provided free of charge. Copying and redistribution is
encouraged.
If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/
Initialising connection...
Detecting device...
[timestamp] [threadID] facility level [function call]
[ 0.005591] [0000129e] libusb: debug [libusb_get_device_list]
[ 0.005660] [0000129e] libusb: debug [discovered_devs_append] need to increase capacity
[ 0.005693] [0000129e] libusb: debug [libusb_get_device_descriptor]
[ 0.005705] [0000129e] libusb: debug [libusb_get_device_descriptor]
[ 0.005718] [0000129e] libusb: debug [libusb_open] open 2.4
[ 0.005752] [0000129e] libusb: debug [usbi_add_pollfd] add fd 11 events 4
[ 0.005777] [0000129e] libusb: debug [libusb_get_device_descriptor]
[ 0.005789] [0000129e] libusb: debug [libusb_get_config_descriptor] index 0
Claiming interface...
[ 0.005819] [0000129e] libusb: debug [libusb_claim_interface] interface 1
Setting up interface...
[ 0.005866] [0000129e] libusb: debug [libusb_set_interface_alt_setting] interface 1 altsetting 0
Initialising protocol...
[ 0.006203] [0000129e] libusb: debug [add_to_flying_list] arm timerfd for timeout in 1000ms (first in line)
[ 0.006240] [0000129e] libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 4
[ 0.006286] [0000129e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.006301] [0000129e] libusb: debug [handle_events] poll() 4 fds with timeout in 60000ms
[ 0.006471] [0000129e] libusb: debug [handle_events] poll() returned 1
[ 0.006529] [0000129e] libusb: debug [reap_for_handle] urb type=3 status=0 transferred=4
[ 0.006555] [0000129e] libusb: debug [handle_bulk_completion] handling completion status 0 of bulk urb 1/1
[ 0.006575] [0000129e] libusb: debug [handle_bulk_completion] last URB in transfer --> complete!
[ 0.006595] [0000129e] libusb: debug [disarm_timerfd]
[ 0.006616] [0000129e] libusb: debug [usbi_handle_transfer_completion] transfer 0x9f18f28 has callback 0xb779dcd0
[ 0.006634] [0000129e] libusb: debug [sync_transfer_cb] actual_length=4
[ 0.006670] [0000129e] libusb: debug [add_to_flying_list] arm timerfd for timeout in 1000ms (first in line)
[ 0.006684] [0000129e] libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 7
[ 0.006705] [0000129e] libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.006718] [0000129e] libusb: debug [handle_events] poll() 4 fds with timeout in 60000ms
[ 1.006725] [0000129e] libusb: debug [handle_events] poll() returned 1
[ 1.006775] [0000129e] libusb: debug [handle_events] timerfd triggered
[ 1.006794] [0000129e] libusb: debug [libusb_cancel_transfer]
[ 1.007136] [0000129e] libusb: debug [disarm_timerfd]
[ 1.007171] [0000129e] libusb: debug [handle_events] poll() 4 fds with timeout in 0ms
[ 1.007186] [0000129e] libusb: debug [handle_events] poll() returned 1
[ 1.007201] [0000129e] libusb: debug [reap_for_handle] urb type=3 status=-2 transferred=0
[ 1.007210] [0000129e] libusb: debug [handle_bulk_completion] handling completion status -2 of bulk urb 1/1
[ 1.007219] [0000129e] libusb: debug [handle_bulk_completion] abnormal reap: urb status -2
[ 1.007227] [0000129e] libusb: debug [handle_bulk_completion] abnormal reap: last URB handled, reporting
[ 1.007235] [0000129e] libusb: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
[ 1.007243] [0000129e] libusb: debug [disarm_timerfd]
[ 1.007251] [0000129e] libusb: debug [usbi_handle_transfer_completion] transfer 0x9f19190 has callback 0xb779dcd0
[ 1.007260] [0000129e] libusb: debug [sync_transfer_cb] actual_length=0
ERROR: Protocol initialisation failed!
Releasing device interface...
[ 1.007312] [0000129e] libusb: debug [libusb_release_interface] interface 1
[ 1.007352] [0000129e] libusb: debug [libusb_close]
[ 1.007372] [0000129e] libusb: debug [usbi_remove_pollfd] remove fd 11
[ 1.007395] [0000129e] libusb: debug [libusb_exit]
[ 1.007403] [0000129e] libusb: debug [libusb_exit] destroying default context
Can You help me?
Thanks.

Try version 1.4.2

No more luck...
$ sudo bin/heimdall detect
Device detected
$ sudo bin/heimdall print-pit --no-reboot
Heimdall v1.4.2
Copyright (c) 2010-2017 Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/
This software is provided free of charge. Copying and redistribution is
encouraged.
If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/
Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...
Initialising protocol...
Protocol initialisation successful.
Beginning session...
ERROR: Failed to begin session!
Releasing device interface...
$ sudo bin/heimdall print-pit --no-reboot --usb-log-level debug
Heimdall v1.4.2
Copyright (c) 2010-2017 Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/
This software is provided free of charge. Copying and redistribution is
encouraged.
If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/
Initialising connection...
Detecting device...
[timestamp] [threadID] facility level [function call]
[ 0.005259] [00003d82] libusbx: debug [libusb_get_device_list]
[ 0.005308] [00003d82] libusbx: debug [discovered_devs_append] need to increase capacity
[ 0.005325] [00003d82] libusbx: debug [libusb_get_device_descriptor]
[ 0.005334] [00003d82] libusbx: debug [libusb_get_device_descriptor]
[ 0.005345] [00003d82] libusbx: debug [libusb_open] open 2.9
[ 0.005385] [00003d82] libusbx: debug [usbi_add_pollfd] add fd 11 events 4
[ 0.005411] [00003d82] libusbx: debug [libusb_get_device_descriptor]
[ 0.005420] [00003d82] libusbx: debug [libusb_get_config_descriptor] index 0
Claiming interface...
[ 0.005449] [00003d82] libusbx: debug [libusb_claim_interface] interface 1
Setting up interface...
[ 0.005488] [00003d82] libusbx: debug [libusb_set_interface_alt_setting] interface 1 altsetting 0
Initialising protocol...
[ 0.005747] [00003d82] libusbx: debug [add_to_flying_list] arm timerfd for timeout in 1000ms (first in line)
[ 0.005794] [00003d82] libusbx: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 4
[ 0.005852] [00003d82] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.005888] [00003d82] libusbx: debug [handle_events] poll() 4 fds with timeout in 60000ms
[ 0.005928] [00003d82] libusbx: debug [handle_events] poll() returned 1
[ 0.005963] [00003d82] libusbx: debug [reap_for_handle] urb type=3 status=0 transferred=4
[ 0.005995] [00003d82] libusbx: debug [handle_bulk_completion] handling completion status 0 of bulk urb 1/1
[ 0.006027] [00003d82] libusbx: debug [handle_bulk_completion] last URB in transfer --> complete!
[ 0.006056] [00003d82] libusbx: debug [disarm_timerfd]
[ 0.006089] [00003d82] libusbx: debug [usbi_handle_transfer_completion] transfer 0x1831e48 has callback 0x7ff9989fa7f0
[ 0.006121] [00003d82] libusbx: debug [sync_transfer_cb] actual_length=4
[ 0.006165] [00003d82] libusbx: debug [add_to_flying_list] arm timerfd for timeout in 1000ms (first in line)
[ 0.006202] [00003d82] libusbx: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 7
[ 0.006246] [00003d82] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 0.006278] [00003d82] libusbx: debug [handle_events] poll() 4 fds with timeout in 60000ms
[ 1.006244] [00003d82] libusbx: debug [handle_events] poll() returned 1
[ 1.006337] [00003d82] libusbx: debug [handle_events] timerfd triggered
[ 1.006380] [00003d82] libusbx: debug [libusb_cancel_transfer]
[ 1.006671] [00003d82] libusbx: debug [disarm_timerfd]
[ 1.006733] [00003d82] libusbx: debug [libusb_handle_events_timeout_completed] doing our own event handling
[ 1.006767] [00003d82] libusbx: debug [handle_events] poll() 4 fds with timeout in 60000ms
[ 1.006807] [00003d82] libusbx: debug [handle_events] poll() returned 1
[ 1.006847] [00003d82] libusbx: debug [reap_for_handle] urb type=3 status=-2 transferred=0
[ 1.006880] [00003d82] libusbx: debug [handle_bulk_completion] handling completion status -2 of bulk urb 1/1
[ 1.006911] [00003d82] libusbx: debug [handle_bulk_completion] abnormal reap: urb status -2
[ 1.006942] [00003d82] libusbx: debug [handle_bulk_completion] abnormal reap: last URB handled, reporting
[ 1.006973] [00003d82] libusbx: debug [usbi_handle_transfer_cancellation] detected timeout cancellation
[ 1.007004] [00003d82] libusbx: debug [disarm_timerfd]
[ 1.007035] [00003d82] libusbx: debug [usbi_handle_transfer_completion] transfer 0x1831e48 has callback 0x7ff9989fa7f0
[ 1.007066] [00003d82] libusbx: debug [sync_transfer_cb] actual_length=0
ERROR: Protocol initialisation failed!
Releasing device interface...
[ 1.007210] [00003d82] libusbx: debug [libusb_release_interface] interface 1
[ 1.007299] [00003d82] libusbx: debug [libusb_close]
[ 1.007347] [00003d82] libusbx: debug [usbi_remove_pollfd] remove fd 11
[ 1.007453] [00003d82] libusbx: debug [libusb_exit]
[ 1.007488] [00003d82] libusbx: debug [libusb_exit] destroying default context

Duplicate of #413? I just added some help there.


[METAL] Fail to compile singlepose-lightning-tflite-int8 TFlite of Movenet to .vmfb file.

What happened?
I'm trying to compile singlepose-lightning-tflite-int8 tensorflow lite file. These are the commands I ran:
iree-import-tflite model.tflite -o model.mlir # Success.
iree-compile --iree-input-type=tosa --iree-hal-target-backends=vulkan-spirv model.mlir -o model.vmfb # Failure.

There is no output during the import (running iree-import-tflite). Errors pop up when compile it. Here is the output of the command, error.log. Very unfortunate that the output is too big to inline them.
Steps to reproduce your issue
As explained above.
What component(s) does this issue relate to?
Compiler
Version information
Here is the print of tree-compile --version:
IREE (https://iree.dev):
  IREE compiler version 20240721.961 @ b0512e2e6c00583f20b6f3b78c1ca52327ed745a
  LLVM version 19.0.0git
  Optimized build

Additional context
You might find this very similar to this issue. But this time I'm going back to my MacBook and compile this. After further inspection, I found out it is a different error compare to the aforementioned issue. This time it is about vector.broadcast instead of spirv.VectorShuffle.
<unknown>:0: error: loc(callsite("center_net_mobile_net_v2fpn_feature_extractor/model_1/tf.__operators__.add/AddV2" at "main")): failed to legalize operation 'vector.broadcast'

<unknown>:0: note: loc(callsite("center_net_mobile_net_v2fpn_feature_extractor/model_1/tf.__operators__.add/AddV2" at "main")): see current operation: %162 = "vector.broadcast"(%161) : (index) -> vector<4xindex>

Seems like we forgot to use the converted result type in the vector to spirv pattern for broadcast: https://github.com/llvm/llvm-project/blob/c91e85278cb87a35924d86463d3c0a379c64e9d1/mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp#L147-L148


Possible to change visual order or z-index?

I bumped into visbug again today and really enjoyed playing around with "Position" tool in particular. It's so cool that we can drag things around in the browser! 😄
The problem is that when multiple elements on the page are positioned and overlap each other, then they follow the DOM order, making it hard to layer them correctly. ☹
Design tools all have a way of changing the visual order ("Bring forward" / "Bring to top") so it would be nice if Visbug could have something similar. Not sure what the UI would look like, since visbug doesn't make use of a custom right-click menu. Maybe could be a separate tool with its own keyboard navigation?
One potential issue is when stacking contexts are involved, which might require recursively finding the parent node and applying z-index on that until it "works". But I think a user should be able to do that manually if the keyboard shortcut feels ergonomic enough.
Also, maybe some of the work already done for the /zindex inspector tool might come in handy?

def know the problem space, the visbug demo site can repro it really easily.

Design tools all have a way of changing the visual order ("Bring forward" / "Bring to top") so it would be nice if Visbug could have something similar.

we could totally add a few hotkeys (just like the ones in design tools) to bump z-index up/down/max/negative:

add a combo like ${metaKey}+shift+] here to bump to the top
another combo like ${metaKey}+] bumps z-index up by 1

should be a pretty easy to add! just writing and reading an inline style with some increment/decrement logic. alt+del clears any inline styles too, so if you want to restore things a user can use that.
this would be a cool addition. the question is then, which design tool shortcut do we adopt? is there a "most common" one?


calendar parameter is missing in example project

Please, update Example project for version 6.0.0 🙏
For example, there's new parameter calendar in  ConfigurationParameters initializer

The example project is up-to-date with version 6.0.1
That calendar parameter was supposed to be deleted in version 6.0.0, but i forgot to delete it when i released it. I'll be releasing the 6.0.1 patch to fix this over the weekend.

thx!👍

Ok, I just had a user who wanted to make a persian calendar. Therefore I will keep this value in the new version.
I will change it to an identifier however. So, i'll close this issue now.


Add support for unpacked TBN

Normals, tangents and bitangents need to be supplied as an orientation (quaternion) to renderables. @tpsiaki has requested the ability to pass them unpacked. We need to figure out:

Should it be a single attribute (2 vec4)?
Should it be 2 attributes?
Should we just do the conversion in Filament and keep the orientations in the shaders?

@kpeeters Is populateTangentQuaternions available through the Java/Kotlin interface?

It is not yet exposed, should be easy to do though.  I'll look into it.


Not able to override the H1 font size

Have you read the Contributing Guidelines on issues?

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

Prerequisites

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

Description
The H1 font size is too large for mobile devices. Is there a way to override it?
I tried overriding the below variable in custom.css
--ifm-h1-font-size: 2rem;
But this doesn't override it.
Reproducible demo
No response
Steps to reproduce
Generic Behaviour. Not able to override the H1 font size
Expected behavior
Overriding the below property in custom.css should set H1 font-size to 2rem.
--ifm-h1-font-size: 2rem;
Actual behavior
I tried overriding the below variable in custom.css
--ifm-h1-font-size: 2rem;
But this doesn't override it.
Your environment

Public source code:
Public site URL:
Docusaurus version used:
Environment name and version (e.g. Chrome 89, Node.js 16.4):
Operating system and version (e.g. Ubuntu 20.04.2 LTS):

Self-service

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

This h1 css variable is not really useful because it is overridden locally by the docs and blog custom CSS
I'll make sure this kind of title customization is easier in the future
If you want to customize this heading now, there's no other choice than using a custom CSS selector or swizzling, and this CSS var won't work.

I think the recommended practice is to use h1 { font-size: 1rem !important; } anyways, it always works and it looks more robust


Buffered blocks on syncing

In order to save redundant fetches we should buffer the blobs

As we wait until the end to start indexing blobs, every block takes around 150ms to fetch and the connection times out. Next time discovery is called, we still don't have any blocks indexed so we start downloading them again, timing out. This did not happen before as we were indexing blocks as we downloaded them, so consecutive calls reduced the amount of wants and eventually it succeeded. We should index blobks in parallel as we download


broken URL in README

https://fivethirtyeight.blogs.nytimes.com/fivethirtyeights-2012-forecast/ is invalid and was captured by CI in #90 pull request

Thanks for opening!


Inlines Change Permission

Hi,
Very helpful package.I have a issue here. I enabled view permission for my custom user model. This model is also connected to profile model via one to one relation. Now if i assign a user view permission of custom user model and change permission of profile model, my admin still shows the profile inline as readonly.
Is this something that can be taken care of in this great package?

Hi @geekashu,
Thanks for reporting the issue.
The package originally designed to have this behavior. The inline models inherited the permission from the parent. For that reason, if the parent model had view permission all the inline models respected that permission.
But right now, this behavior changed. The package respects each model permission.
I will push a new version 0.3


New release to Hackage?

Any chance of getting a new release to Hackage, with the IPv6 support?

What IPv6 support are you referring to?

Sorry, I should have said, the new IPv6 implementation. (I’d forgotten that it existed before I contributed 0742cd48f5a49a0e8718f6eb559c70d5192ac799)

It's already on hackage, no? http://hackage.haskell.org/package/ip-1.5.0/docs/Net-Types.html#t:IPv6

Sorry, it appears you're correct!


platforms/aix.yml makes assumptions it should not be making, e.g., that everything is in /usr/bin

Just ran the playbook on an as generic (vanilla) system as possible.
Delta from fresh install:

/var/ssl/cacerts.pem
python3.6 installed
git installed (to clone the infrastructure site)
wget and curl installed (to fetch the above - and below)
ansible-2.10 installed

Running the aix.yml playbook gives:
(py36) root@p9-aix1-ojdk06:[/root/openjdk-infrastructure/ansible]ansible-playbook -i "localhost," -C --skip-tags adoptopenjdk,jenkins playbooks/aix.yml
/opt/lib/python3.6/site-packages/cryptography/hazmat/bindings/openssl/binding.py:177: CryptographyDeprecationWarning: OpenSSL version 1.0.2 is no longer supported by the OpenSSL project, please upgrade. The next version of cryptography will drop support for it.
  utils.CryptographyDeprecationWarning,
[DEPRECATION WARNING]: DEFAULT_SQUASH_ACTIONS option, Loop squashing is deprecated and this configuration will no longer be used , use a list directly with the module argument instead. This
feature will be removed in version 2.11. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

PLAY [all] **************************************************************************************************************************************************************************************

TASK [Load AdoptOpenJDKs variable file] *********************************************************************************************************************************************************
ok: [localhost]

TASK [Check if bash is installed] ***************************************************************************************************************************************************************
[WARNING]: No python interpreters found for host localhost (tried ['/usr/bin/python', 'python3.7', 'python3.6', 'python3.5', 'python2.7', 'python2.6', '/usr/libexec/platform-python',
'/usr/bin/python3', 'python'])
fatal: [localhost]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "module_stderr": "Shared connection to localhost closed.\r\n", "module_stdout": "/bin/sh: /usr/bin/python:  not found\r\n", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 127}
...ignoring

TASK [install bash] *****************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": ["Could not detect which major revision of yum is in use, which is required to determine module backend.", "You should manually specify use_backend to tell the module whether to use the yum (yum3) or dnf (yum4) backend})"]}

PLAY RECAP **************************************************************************************************************************************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=1

Issues:

as I do not know ansible (yet) - what is causing the depreciation warning re Loop Squashing. If this is part of aix.yml, I'll need help understanding where/what to change.
OpenSSL - have to figure out where that is coming from - perhaps the Python build and the OpenSSL library it calls. In any case, not, imho, and aixyml issue
No python interpreters - needs improved checking - rather than looking at file-system should (also) look at the installed software database(s). Assuming it is installed in /usr/bin is wrong. It may have been there in the past - but it will not be there in the future.
yum: this is a separate discussion - why even bother. The OSS packages needed by nodejs are not random - they can all be downloaded individually and installed by either rpm and/or installp. afaik yum4 (dnf) is not available for AIX.
bash check: that bash is wanted is not an issue - should not depend on yum to install it - imho.

OK. I have done some massageing of the test system - such as add a symbolic link python3.6 in /usr/bin. (Where it points is not relevant atm - only that this block fails:
a) both bash and python are installed
b) I tried modifying the PATH
c) after adding symbolic link /usr/bin/python3.6 ==> /some/where/else/python3.6 -- I get the following message(s)

TASK [Load AdoptOpenJDKs variable file] *********************************************************************************************************************************************************
ok: [localhost]

TASK [Check if bash is installed] ***************************************************************************************************************************************************************
skipping: [localhost]

TASK [install bash] *****************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "The conditional check 'does_bash_exist.rc != 0' failed. The error was: error while evaluating conditional (does_bash_exist.rc != 0): 'dict object' has no attribute 'rc'\n\nThe error appears to be in '/root/openjdk-infrastructure/ansible/playbooks/aix.yml': line 28, column 11, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n          ignore_errors: yes\n        - name: install bash\n          ^ here\n"}

PLAY RECAP **************************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=1    skipped=1    rescued=0    ignored=0

OK. So, no comments yet.
My humble opinion:
The aix.yml should be a sort of process management flow.
Step 1: verify that licensed requirements are installed - including - especially! things such as XLC and other items that come from IBM AIX BOS (aka, the DVD's).
Step 2: if/when needed - verify that known issues have been addressed.
IMHO: key in these first two steps is that no changes are made - other than perhaps copying a script for execution as is currently done for the "filesystems" config script. ** speaking of ** the part of the file systems script that checks on the hdisk minimum size would be moved to step 2 (above). The disk, better volume group size is, or it is not sufficient.
The purpose: these are all elements that are, or should be, the responsibility, of an "AIX admin" aka system owner. Perhaps 'node.js and/or AdoptOpenJDK' have been 'owners', but to be truely supporting as an OSS project open to others you should protect yourself and not be installing things requiring a license AND - initially verifying a system is "ready to go" for the project (nodejs/AdoptOpenJDK).
In following steps - the strategy I am considering now is to write scripts that get executed as a 'task' - again, taking the filesystems approach as a template:

      ################################
      # AIX filesystem configuration #
      ################################

        - name: Download AIX filesystem configuration script
          get_url:
            url: https://raw.githubusercontent.com/AdoptOpenJDK/openjdk-infrastructure/master/ansible/playbooks/scripts/AIX_filesystem_config.sh
            dest: /tmp/AIX_filesystem_config.sh
            mode: 0775
            validate_certs: no
          tags: filesystem

        - name: Execute AIX filesystem configuration script
          command: /tmp/AIX_filesystem_config.sh
          tags: filesystem

        - name: Remove AIX filesystem configuration script
          file:
            state: absent
            path: /tmp/AIX_filesystem_config.sh
          tags: filesystem

I suspect, as I go through more of aix.yml, that this is already the approach.

_FYI: The need for a ramdisk has been resolved (by me). The issue is when lots (10's and 100's of thousands of temporary files are created) the lag introduced by the journal logging creates a lag that cannot be parallelized. Taking OSU as an example - as it uses vscsi only - the top speed for jfs(2) logging seems to be between 8 and 10Mbs.
The 'ramdisk' is not faster than a regular filesystem - once jfs(2) logging is switched off. So the actual solution is to ensure that the project work directory is not being "JFS2" logged, e.g., /home is mounted with attribute log=NULL)._
Comments welcome!! actually, needed!!

Question: are these being installed to support 'yum', or are they actually needed by node.js/AdoptOpenJDK.
If the answer is yes - yum needs these (as it does have some - imho - extraordinary pre-requisites (and yum.sh also has pre-requisites) -- I have a second question:
which of these OSS packages are actually needed - explicitly - by node.js/AdoptOpenJDK?
        - name: Install yum package support
          yum: name={{ item }} state=present update_cache=yes
          with_items:
            - autoconf
            - bc
            - bison
            - coreutils
            - cpio
            - cups-devel
            - cups-libs
            - expect
            - flex
            - freetype2-devel
            - fontconfig-devel
            - gawk
            - git
            - grep
            - libXrender-devel
            - libffi-devel
            - make
            - m4
            - pcre
            - pkg-config
            - popt
            - sed
            - sudo
            - tar
            - tcl
            - tk
            - unzip
            - wget
            - xz-libs
            - zip
            - zsh
          tags: yum

re: syslog

      #########################
      # Configure system logs #
      #########################
        - name: Ensure /etc/syslog.conf entries are present
          blockinfile:
            backup: yes
            dest: /etc/syslog.conf
            block: |
              *.debug;*.emerg;*.alert;*.crit;*.warning /var/log/messages rotate size 1000k files 4
              syslog.debug /var/log/syslog rotate size 1000k files 4
              *.err;kern.debug;daemon.notice;mail.crit /var/adm/messages rotate size 1000k files 4
          tags: syslog

        - name: Ensure log files exist
          file:
            path: "{{ item }}"
            state: touch
            mode: 0644
          with_items:
            - /var/log/syslog
            - /var/adm/messages
            - /var/log/messages
          changed_when: False
          tags: syslog

At customers I advised I never saw syslog entries in /var/adm. Nothing 'wrong', just unusual at AIX customers I have advised.
rather than a file /var/log/syslog - that is often a directory with files for the different streams, e.g., /var/log/syslog/mail.log and /var/log/syslog/auth.log. Further, /var/log/syslog is often a separate filesystem to prevent it blocking /var (in particular, /var/tmp).

Questions: are these names chosen because that is what GNU-Linix uses? Are there project scripts that scan these filenames?

So, now finished reading through aix.yml, and imho, it is in need of 'major' restructuring.
Will start reading #1391 , #710 , #1104 and perhaps others - to determine if they are all related to this issue - and determine an approach to getting them all resolved (aka closed).

You bring up many issues. While that is great, it's a lot of work to unpack for me. Maybe there's a way to make things more focused.

Step 1: verify that licensed requirements are installed - including - especially! things such as XLC and other items that come from IBM AIX BOS (aka, the DVD's). edit: check for latest/minimal OpenSSL also belongs here. Not installing it - verifying it.

Ansible is a system management/configuration tool. As such, it's within Ansible's scope to install or re-configure things. The question is where you draw the line. For the sake of reproducibility, I try to move as many things into the domain of Ansible as possible. On Windows, autounattend.xml installs a minimal system with a known user account and activates WinRM. The rest is done by Ansible. On Debian/Ubuntu, d-i/subiquity install a minimal system including OpenSSH before Ansible takes over. In the same vein, I would be Ansible's responsibility to install XLC if that's possible with a download. As soon as you have to juggle DVDs, that's something that the admin has to do and should ideally happen before Ansible runs.

which of these OSS packages are actually needed - explicitly - by node.js/AdoptOpenJDK?

Requirements for building OpenJDK are listed on https://openjdk.java.net/groups/build/doc/building.html. OpenJ9 needs some additional things. The list above looks accurate.
Why do you mention node.js?

In following steps - the strategy I am considering now is to write scripts that get executed as a 'task' - again, taking the filesystems approach as a template:

Using scripts is the last resort when using Ansible. If possible, everything should happen in Ansible. If you use scripts (ksh, ...) you forego all advantages of Ansible.

You bring up many issues. While that is great, it's a lot of work to unpack for me. Maybe there's a way to make things more focused.
Not quite sure what you mean by unpack - See #1583 as an example of what I am willing to work on, and how.

Step 1: verify that licensed requirements are installed - including - especially! things such as XLC and other items that come from IBM AIX BOS (aka, the DVD's). edit: check for latest/minimal OpenSSL also belongs here. Not installing it - verifying it.

Ansible is a system management/configuration tool. As such, it's within Ansible's scope to install or re-configure things. The question is where you draw the line. For the sake of reproducibility, I try to move as many things into the domain of Ansible as possible. On Windows, autounattend.xml installs a minimal system with a known user account and activates WinRM. The rest is done by Ansible. On Debian/Ubuntu, d-i/subiquity install a minimal system including OpenSSH before Ansible takes over. In the same vein, it would be Ansible's responsibility to install XLC if that's possible with a download. As soon as you have to juggle DVDs, that's something that the admin has to do and should ideally happen before Ansible runs.

which of these OSS packages are actually needed - explicitly - by node.js/AdoptOpenJDK?

Requirements for building OpenJDK are listed on https://openjdk.java.net/groups/build/doc/building.html. OpenJ9 needs some additional things. The list above looks accurate.
OK. I'll look there - part of the learning curve - which is steep.
Why do you mention node.js?
Because Ash Cripps is involved in both node.js and openjdk - my mistake for combining them. And, because I am the volunteer admin for AIX at OSU - where I am currently trying to prep new systems for both node.js and OJDK.

In following steps - the strategy I am considering now is to write scripts that get executed as a 'task' - again, taking the filesystems approach as a template:

Using scripts is the last resort when using Ansible. If possible, everything should happen in Ansible. If you use scripts (ksh, ...) you forego all advantages of Ansible.

Well, I do not know ansible well enough to know what I forego. I did package ansible-2.10 using py36 and wheels - so ansible can be something local on the system. From the looks of things - the assumption has been than ansible is not available on AIX - and maybe that is why there is a dependency, if not preference, for using scripts on AIX.
Note: learning curve applies. I am likely to make many assumptions that are incorrect - so ASSuME - aka ASS + u + (especially) ME. :)

It's odd to install Ansible on the target system. You only do that if you have no other choice (for example provisioning Linux machines on Windows because Ansible does not run on Windows). Ansible is usually present on the sysadmin's machine (or some jump host). You run Ansible locally on that system. Ansible then connects over SSH (or WinRM) to the target system and performs its work there.
To get an idea what Ansible can do for you:
https://www.jeffgeerling.com/blog/2020/ansible-101-jeff-geerling-youtube-streaming-series
https://www.ansiblefordevops.com/
I found the book very approachable when I started learning Ansible.

OK. But I need ansible (locally) to test. And, again, for testing - I can install it on the NIM system I have for installation and test how that behaves with targets. Might even make provisioning new lpars (and wpars) easier - separate from any projects.
Probably in your references (thx!) above - but I will need to work out how the Ansible communicates (i.e., executes commands) on the target. Something such as how the hosts line works (all versus a specified system).
So, along those lines #1583 becomes, imho, more relevant as far as managing the Ansible process goes and issues such as this one are more content related.

FYI: I bought the book @aahlenst recommended, and have installed ansible on another system - so I can reinstall the test server and use ansible for final setup (outside of scope here, will be a side project).
Comment: although added to October 2020 milestone - I cannot guarantee I have it ready "on time". But I'll do my best.

The "October 2020" mileston is to indicate that it is being worked on during that timeframe and not a guarantee that we'll hold you to that it will be completed in there :-)

Ref installing ansible on a remote system from the target, if you think the section at https://github.com/AdoptOpenJDK/openjdk-infrastructure/blob/master/FAQ.md#running-the-ansible-scripts-remotely-on-another-machine can be improved feel free to submit a PR :-)

Let me get a bit more personal experience - and then I'll write.

You bring up many issues. While that is great, it's a lot of work to unpack for me. Maybe there's a way to make things more focused.

I know more, eg, Ansible is agentless, where/why warning messages come from.

Step 1: verify that licensed requirements are installed - including - especially! things such as XLC and other items that come from IBM AIX BOS (aka, the DVD's). edit: check for latest/minimal OpenSSL also belongs here. Not installing it - verifying it.

Ansible is a system management/configuration tool. As such, it's within Ansible's scope to install or re-configure things. The question is where you draw the line. For the sake of reproducibility, I try to move as many things into the domain of Ansible as possible. On Windows, autounattend.xml installs a minimal system with a known user account and activates WinRM. The rest is done by Ansible. On Debian/Ubuntu, d-i/subiquity install a minimal system including OpenSSH before Ansible takes over. In the same vein, it would be Ansible's responsibility to install XLC if that's possible with a download. As soon as you have to juggle DVDs, that's something that the admin has to do and should ideally happen before Ansible runs.

If the environment is prepared, so that file copy is prepared, then that can work. My comment then, is that the playbook assumes this, and that the location is xxx.
This can be enhanced using one of group|host_vars, depending on how licensed resources are made available, or pre-installed.

which of these OSS packages are actually needed - explicitly - by node.js/AdoptOpenJDK?

Requirements for building OpenJDK are listed on https://openjdk.java.net/groups/build/doc/building.html. OpenJ9 needs some additional things. The list above looks accurate.
Why do you mention node.js?

In following steps - the strategy I am considering now is to write scripts that get executed as a 'task' - again, taking the filesystems approach as a template:

Using scripts is the last resort when using Ansible. If possible, everything should happen in Ansible. If you use scripts (ksh, ...) you forego all advantages of Ansible.

I am waiting for review and merge of #1633 before i start work on rewriting the current script as ansible tasks.

As this was originally about the flat playbook aix.yml - I am closing this as no longer relevant. We are working from a new playbook structure and issues need to be addressed in those files.


Add Config#configured?

Stop capturing all values on read (capture mutable values only in this case) and use the internal _values hash to determine whether a value has been configured.
This is useful at least for dry-system, which has had to implement its own version of this method, so is likely also useful for others, too.
The reason I'm making this change now is because this dry-system implementation depended on the internal structures of the Config object, which were changed in #138, thereby breaking dry-system. It's better we make this feature part of dry-configurable's public API at this point.
This change does impose a slight performance cost at config value read time, in that default values may need to be re-run through a setting's constructor (if defined), but I expect this would be minimal in ordinary use. If this turns out to be problematic in practice, we could later cache these read-but-not-assigned values into a separate internal hash, so I'm confident to go ahead with this change. I've chosen not to do any additional optimisations for now in order to keep the implementation code simpler.

Thanks @solnic!
I'll go and merge this now, with a view to doing a new 0.x.0 minor release of dry-configurable on Friday or over the weekend, clearing the way for a new dry-system release and then a hanami-controller one to follow.

That is to say: still definitely open to feedback on this over the next few days if anyone has any :)

Does this mean the shim we have for dry-configurable in dry-container should be updated too? 🤔

Does this mean the shim we have for dry-configurable in dry-container should be updated too? 🤔

@flash-gordon good question! Honestly, that feels like a fools errand to me.
It feels reasonable for our shim to maintain just the very basic behavior for reading and writing config. Chasing dry-configurable continually as it evolves (and I have no doubt it still has some evolving to do) feels like a waste of effort (and at some point, we'd end up maintaining two nearly-full parallel implementations).

Yeah the line has to be drawn somewhere, and it feels like what we have now is the line already


Move template and styles out of esri4-map.component.ts

Had to move them to be inline because of errors when referencing these paths.

 Issue #1: Move template and styles out of esri4-map.component.ts

It is recommended to keep templates and styles inline in component libraries in the library spec published by Google at https://docs.google.com/document/d/1CZC2rcpxffTDfRDs6p1cfbmKNLA6x5O-NtkJglDaBVs/preview.


Add option to Mark Articles Read On Scroll

Link #271

Please add option to remove \ hide article by swipe action


Exception when using images from URL

In my app such exception thrown:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNull _isResizable]: unrecognized selector sent to instance 0x254e068'

the code where I'm using the lib is as follows:
NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:item.thumbnail]];
UIImage *img = [YLGIFImage imageWithData:imageData];
cell.itemThumb.image = img;

@liyong03  @voronianski I meet the same question ，i can show some gif image but not all image ，the X-code will show me     reason: '-[NSNull _isResizable]: unrecognized selector sent to instance ，would  u like tell me  the reason。

@CarolLee1994 you need to set your image view to YLImageView.
Regards


[LB] Update http host header override documentation for load balancer

Updating load balancing documentation to address correct behavior of host header override for Origin Rule and Load Balancing

Yes exactly this is behavior that was reported by customer and we have tested it to be true. So we just need to update the documentation. This can be merged, thank you!


Show entire target description on target profile and evidence pages

The new target ETL pipeline and API response has a field — functionDescriptions — that the platform-app uses to show the target description.
Currently, we use the first element of the array but that only provides the first paragraph of the description provided by UniProt.
For example, the IL4 profile page (main branch) shows the following description:

However, the IL4 API query (dev) returns an additional paragraph that is not visible in the web interface.
Can we please use all elements of the array to build the description? And can each element be its own paragraph?

Please note that this change will need to be applied to both the target profile and evidence pages as the target description is used on both pages.
Below is a list of other targets that have descriptions with multiple paragraphs:

APP (ENSG00000142192)
EGFR (ENSG00000146648)

Ticket closed as work completed and merged into main


fix typo

Fix the typo in Readme.md

 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.

Thanks!

Hello Sayan, this might not be relevant to this issue. However, I am looking forward to contributing to Skytable and its clients. Can you point to any issue with less entry barrier and high-level design with testing mechanism?


Support GPS coordinates in demo fleet adapter

This PR provides GPS support for Campus world with the demo fleet adapter.
ros2 launch rmf_demos_gz campus.launch.xml

Previously the fleet_socketio_bridge subscribes to /fleet_states for robot positions, converts them to latlon then broadcasts the coordinates on /gps topic via socketio. RobotClientAPI receives these latlon coordinates and converts them back to SVY21 for the fleet adapter.
Problem is /fleet_states is published by the adapter itself. Also in the demo fleet adapter, the fleet_manager should be the one receiving robot positions and sending them to the adapter.
The updated fleet_socketio_bridge subscribes to /robot_state directly from slotcar and broadcasts the latlon coordinates the same way. The fleet_manager receives these coordinates instead and does the necessary conversion to SVY21 before passing them to RobotClientAPI over REST.

Also remove all the [ros2-15] <IP_ADDRESS> - - [22/Jun/2022 14:17:16] "GET /socket.io/?transport=polling&EIO=4&sid=2TXrOR5uVe0WKOBjAAAA&t=1655878633.2397122 HTTP/1.1" 200 - printouts flooding the terminal. Or move them to debug log stream.


Refactor docker runner

I don't see an improvement here

I don't see an improvement here

Closing as we don't see a need to take this PR.

Closing as we don't see a need to take this PR.


Visible Entities

Coverage remained the same at 0.0% when pulling d22a5dedcf435cc18b39a5ba0e5678e2ce0638db on feature/visible-entities into d4f68f6b9fa5fb11f9cbddb646594fb08795d2db on develop.

Coverage remained the same at 0.0% when pulling d22a5dedcf435cc18b39a5ba0e5678e2ce0638db on feature/visible-entities into d4f68f6b9fa5fb11f9cbddb646594fb08795d2db on develop.


Added prefix match for consistent hash

Changes consistenthash's get() function from O(log n) to O(1), with a memory overhead of 6*n (where n is the number of virtual nodes).
On an AWS t3.2xlarge dedicated instance, this reduces the consistenthash benchmark times by 56% (8 nodes) to 72% (512 nodes). Data available at https://docs.google.com/spreadsheets/d/1K_kmk0_Lqk6iaSDUytjkT8RNGPTptBwBEWO8q4uAn3w/edit?usp=sharing

This is a breaking API change for anybody using this package. Also, this parameter isn't documented.  Maybe make a new NewXxx func instead taking the new parameter and make the existing New default to 6 or whatever?

Done.  I didn't know we had external consumers of the package.

document these fields now that they're non-obvious?

Done, and gladly.  Let me know if the documentation is too verbose or unclear.

@bradfitz : ping

I'm not seeing any changes. Did you forget to push?

Oh, my.  That's embarrassing.  I got back to your comments in the hour after you made them, then forgot to push them up.

Oh, my.  That doesn't inspire confidence in someone's changes, does it?  I had run go test at the root of the project, assuming that it would run for the transitive projects.
Fixed the issues requested (in all instances).  All of the tests pass now.

@bradfitz Requested changes made.  Would love to see this change included so I can drop my forked repo.


W: invalid resource directory name: /home/app/res navigation

Information

Apktool Version (apktool -version) -2.4.0
Operating System (Mac, Linux, Windows) -Linux
APK From? (Playstore, ROM, Other) -APK4Fun.com

Stacktrace/Logcat
I: Using Apktool 2.4.0
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether sources has changed...
I: Smaling smali_classes2 folder into classes2.dex...
I: Checking whether resources has changed...
I: Building resources...
W: invalid resource directory name<EMAIL_ADDRESS>navigation
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [/tmp/brut_util_Jar_2579970741782324855.tmp, p, --forced-package-id, 127, --min-sdk-version, 14, --target-sdk-version, 28, --version-code, 614, --version-name, 4.6.5.Prime, --no-version-vectors, -F, /tmp/APKTOOL6433846982661292999.tmp, -0, arsc, -0, log, -0, assets/web/css/all_2019_08_14_06_06_52.css.wl, -0, ogg, -0, mp3, -0, arsc, -I, framework/1.apk, -S<EMAIL_ADDRESS>-M<EMAIL_ADDRESS>

Steps to Reproduce

apktool d cn.xender-4.6.5.Prime.apk
apktool b cn.xender-4.6.5.Prime

Frameworks
If this APK is from an OEM ROM (Samsung, HTC, LG). Please attach framework files
(.apks that live in /system/framework or /system/priv-app)
APK
If this APK can be freely shared, please upload/attach a link to it.
Questions to ask before submission

Have you tried apktool d, apktool b without changing anything? Yes.
If you are trying to install a modified apk, did you resign it?
Are you using the latest apktool version? Yes.

Looks like a space in there and that isn't valid.

I have the same problem.
what is the solution?

I have the same problem.
what is the solution?

you can see #1811 and #2219 .


Various fixes to support Edge with Jaws 2021

Codecov Report

Merging #1842 (aa49a72) into master (83c1a5f) will decrease coverage by 0.04%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1842      +/-   ##
==========================================
- Coverage   80.57%   80.53%   -0.05%
==========================================
  Files         601      601
  Lines       33793    33802       +9
==========================================
- Hits        27230    27222       -8
- Misses       6563     6580      +17

Impacted Files
Coverage Δ

src/aria/utils/Accessibility.js
92.59% <100.00%> (+0.28%)
:arrow_up:

...aria/widgets/controllers/DropDownListController.js
88.46% <100.00%> (+0.30%)
:arrow_up:

src/aria/widgets/errorlist/ErrorList.js
58.53% <100.00%> (+2.12%)
:arrow_up:

src/aria/widgets/errorlist/ErrorListController.js
91.22% <100.00%> (+0.66%)
:arrow_up:

src/aria/jsunit/Assert.js
82.87% <0.00%> (-4.63%)
:arrow_down:

src/aria/jsunit/Test.js
40.00% <0.00%> (-3.64%)
:arrow_down:

src/aria/jsunit/TestCase.js
84.00% <0.00%> (-2.00%)
:arrow_down:

src/aria/widgets/form/list/ListController.js
91.02% <0.00%> (-0.25%)
: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 83c1a5f...aa49a72. Read the comment docs.

@fbasso Thank you for your review


First pass at adding a language mode for elixir

I am not an elixir expert but I think this covers the basics. I wasn't able to find an elixir example in community forks so I put this together on my own.
When this gets merged I will be on the lookout for feedback to improve it incrementally in subsequent changes.

Addresses #1512

Related: https://github.com/cursorless-dev/cursorless/pull/1844


Add ChunkedVec to control reallocations of vectors

@sebastiencs cool, I will go over it after the meeting


Enforce explicit dtypes throughout all DataFrame-based classes

Right now, both TrecRun and TrecQrel have whatever datatypes pandas automatically infers for each column.
https://github.com/joaopalotti/trectools/blob/5c1d56e9cf955f45b5a1780ee6a82744d31e7a79/trectools/trec_run.py#L43
This leads to inconsistencies across different experiments based on the doc_id and query names used: some get inferred as int64 (for example MSMARCO-Passage), some as str (for example ClueWeb12). While this is not a problem when working in the "intended" file-based way of loading and evaluating runs/qrels, it incurs some frustration when accessing the TrecRun.run_data and TrecQrel.qrels_data fields directly in in-memory experiments (related issue: https://github.com/joaopalotti/trectools/issues/13).
Here, the experiment code has to be customized to the inferred pandas-dtype for each collection. For example, when an in-memory run is to be evaluated with qrels loaded from disk, one has to make sure that the custom run.run_data matches the dtypes of the qrels, which may change based on the collection used. In my case, I assumed id fields to be string-based and ran into a lot of merge-on-different-dtypes errors.
Therefore, I would argue towards enforcing a consistent dtype (str) when loading runs/qrels from disk for the doc_id and query columns. This would not affect the file-based workflow in any way but greatly improve the memory-based experience and usability by providing a consistent type mapping for all collections.

Hi @lgienapp, thanks for your message. I must say that I started planning to have as much flexibility as possible for the whole framework. At some stage, I even wanted to have flexibility in the column names (i.e., you could change from docid to document_name if you wanted). But flexibility comes with lots of parsing errors that are frequently hard to identify.
I liked your suggestion of enforcing str type to both docid and query.
Would you mind creating a PR for that, please? Really appreciated your help!


Revert "[BACKLOG-22188] Decouple constant step from Kettle engine"

Reverts pentaho/pentaho-kettle#6789 based on discussion on decoupling steps.

@pentaho/r2d2

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -f 'pom.xml' -pl 'ui,engine,plugins/core/impl,plugins/core/ui' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'ui,engine,plugins/core/impl,plugins/core/ui' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  engine/src/it/java/org/pentaho/di/trans/steps/constant/ConstantIT.java
  engine/src/it/resources/constants-test.ktr
  engine/src/main/java/org/pentaho/di/trans/steps/constant/Constant.java
  engine/src/main/java/org/pentaho/di/trans/steps/constant/ConstantData.java
  engine/src/main/java/org/pentaho/di/trans/steps/constant/ConstantMeta.java
  engine/src/main/resources/kettle-steps.xml
  engine/src/main/resources/org/pentaho/di/trans/step/messages/messages_de_DE.properties
  engine/src/main/resources/org/pentaho/di/trans/step/messages/messages_en_US.properties
  engine/src/main/resources/org/pentaho/di/trans/step/messages/messages_es_AR.properties
  engine/src/main/resources/org/pentaho/di/trans/step/messages/messages_es_ES.properties
  engine/src/main/resources/org/pentaho/di/trans/step/messages/messages_fr_FR.properties
  engine/src/main/resources/org/pentaho/di/trans/step/messages/messages_ja_JP.properties
  engine/src/main/resources/org/pentaho/di/trans/step/messages/messages_zh_CN.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_de_DE.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_en_US.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_es_AR.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_es_ES.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_fr_FR.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_it_IT.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_ja_JP.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_ko_KR.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_nl_NL.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_pt_BR.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_pt_PT.properties
  engine/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_zh_CN.properties
  engine/src/test/java/org/pentaho/di/trans/steps/constant/ConstantMetaTest.java
  engine/src/test/java/org/pentaho/di/trans/steps/constant/ConstantTest.java
  plugins/core/impl/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_es_ES.properties
  plugins/core/impl/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_nl_NL.properties
  plugins/core/impl/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_pt_BR.properties
  plugins/core/impl/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_pt_PT.properties
  plugins/core/impl/src/main/resources/org/pentaho/di/trans/steps/constant/messages/messages_zh_CN.properties
  plugins/core/ui/src/main/resources/org/pentaho/di/ui/trans/steps/constant/messages/messages_de_DE.properties
  plugins/core/ui/src/main/resources/org/pentaho/di/ui/trans/steps/constant/messages/messages_en_US.properties
  plugins/core/ui/src/main/resources/org/pentaho/di/ui/trans/steps/constant/messages/messages_es_AR.properties
  plugins/core/ui/src/main/resources/org/pentaho/di/ui/trans/steps/constant/messages/messages_fr_FR.properties
  plugins/core/ui/src/main/resources/org/pentaho/di/ui/trans/steps/constant/messages/messages_it_IT.properties
  plugins/core/ui/src/main/resources/org/pentaho/di/ui/trans/steps/constant/messages/messages_ja_JP.properties
  plugins/core/ui/src/main/resources/org/pentaho/di/ui/trans/steps/constant/messages/messages_ko_KR.properties
  plugins/core/ui/src/main/resources/org/pentaho/di/ui/trans/steps/constant/messages/messages_pt_PT.properties
  ui/src/main/java/org/pentaho/di/ui/trans/steps/constant/ConstantDialog.java
  ui/src/main/resources/ui/images/CST.png
  ui/src/main/resources/ui/images/CST.svg

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.job.entries.ftpsget.JobEntryFTPSGet

Branch Change: -0.6% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

:new: org.pentaho.di.trans.steps.constant.Constant

Branch Coverage: 7.5% :exclamation:
Complexity Coverage: 9.5% :exclamation:
Instruction Coverage: 9.3% :exclamation:
Line Coverage: 12.1% :exclamation:
Method Coverage: 60% :exclamation:

:new: org.pentaho.di.trans.steps.constant.ConstantData

Coverage: 0% :exclamation:

:new: org.pentaho.di.trans.steps.constant.ConstantMeta

Branch Coverage: 41.2% :exclamation:
Complexity Coverage: 63.5% :exclamation:
Instruction Coverage: 72.6% :exclamation:
Line Coverage: 71.3% :exclamation:

org.pentaho.di.trans.steps.dbproc.DBProcMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -2.1% :small_red_triangle_down:
Complexity Change: -2.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -1.1% :small_red_triangle_down:
Complexity Change: -1.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.sort.SortRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.sortedmerge.SortedMergeMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.webservices.WebServiceMeta

Branch Change: -1.7% :small_red_triangle_down:
Complexity Change: -1.2% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.googleanalytics.GaInputStepMeta

Branch Change: -1.9% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.gpload.GPLoadMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.salesforceupdate.SalesforceUpdateMeta

Instruction Change: -0.2% :small_red_triangle_down:

:new: org.pentaho.di.ui.trans.steps.constant.ConstantDialog

Coverage: 0% :exclamation:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.

License header violations

:heavy_exclamation_mark: Copyright year is not the current year on engine/src/it/java/org/pentaho/di/trans/steps/constant/ConstantIT.java. Found 2018. Was expecting 2019

:heavy_exclamation_mark: Copyright year is not the current year on engine/src/main/java/org/pentaho/di/trans/steps/constant/Constant.java. Found 2018. Was expecting 2019

:heavy_exclamation_mark: Copyright year is not the current year on engine/src/main/java/org/pentaho/di/trans/steps/constant/ConstantData.java. Found 2018. Was expecting 2019

:heavy_exclamation_mark: Copyright year is not the current year on engine/src/main/java/org/pentaho/di/trans/steps/constant/ConstantMeta.java. Found 2018. Was expecting 2019

:heavy_exclamation_mark: Copyright year is not the current year on engine/src/test/java/org/pentaho/di/trans/steps/constant/ConstantMetaTest.java. Found 2018. Was expecting 2019

:heavy_exclamation_mark: Copyright year is not the current year on engine/src/test/java/org/pentaho/di/trans/steps/constant/ConstantTest.java. Found 2018. Was expecting 2019

:heavy_exclamation_mark: Copyright year is not the current year on ui/src/main/java/org/pentaho/di/ui/trans/steps/constant/ConstantDialog.java. Found 2017. Was expecting 2019


feat: support host formatting

This PR adds support of host formatting. I'm not familiar with low-level WebAssembly operations, so I'm not sure whether the string sending/receiving is correct or not.

 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.


Fixes EVP AEAD decryption failures for CCM, GCM, OCB, and SIV - OpenSSL - 3.2

This PR is a backport of a recent PR against master, and PR against openssl-3.3, aimed at fixing decryption issues for GCM, CCM, OCB...etc. by first encrypting the data, and then decrypting the ciphertext. This backport is intended for OpenSSL-3.2. This backport hasn't been tested against versions older than 3.2 as of yet, but I'll test that and report back here.
With these proposed changes, -evp aes-128-ccm -decrypt, ``-evp aes-128-gcm -decrypt` will execute successfully. Other modes such as SIV, GCM-SIV and OCB have also been tested.
Fixes #24686 #24250

This pull request is ready to merge

Merged to the 3.2 branch. Thank you for your contribution.


SQS: How to SendMessage without access key ID & secret access key?

I currently have a message queue that allows anyone to send a message to it, regardless if they have an AWS account or not. However, I cannot send a message to this queue using node-awssum unless I provide the access key ID & secret access key. I've tested that it works without supplying those values by manually creating an http client, but I'd rather use your library. How can I achieve this? Here's my code:
var awssum = require('awssum');
var amazon = awssum.load('amazon/amazon');
var Sqs = awssum.load('amazon/sqs').Sqs;

try {
    var sqs = new Sqs({
        'awsAccountId' : 'xxxxxxxxxxx',
        'region' : amazon.US_EAST_1
    });

    var optionsMyQueue = {
        QueueName : 'xxxxxxx',
        MessageBody : 'HelloWorld',
    };

    sqs.SendMessage(optionsMyQueue, function(err, data) {
        console.log('Sending a message to a queue');
        if(err) console.log('err: ' + err);
        if(data) console.log('data: ' + JSON.stringify(data));
    });
} catch(ex) {
    console.log('Error: ' + ex);
}

hey Michael,
Could you help me out and let me know how are you able to access the SQS queue without any credentials ? The way i see it i am using boto.sqs.connect_to_region() which requires the credentials to be passed .
Regards

AwsSum is now deprecated in favour of the offical aws-sdk from Amazon. Thanks for opening this originally.


Icons break with a simple reproducible example

The issue is the max amount of icons on the menu is set depending on how many options the menu had on its first render, if options are added dynamically later they would be missing icons.
GIF of the unexpected behavior
pipes: dict[str, list[str]] = {}
pipes["pipe1"] = ["node1"]
pipes["pipe2"] = ["node1", "node2"]
pipes["pipe3"] = ["node1", "node2", "node3"]

with st.sidebar:
    st.header("Pipes")
    pipe = option_menu(
        None,
        list(pipes.keys()),
        icons=["bezier2" for _ in pipes.keys()],
        default_index=0,
        key="pipe",
    )

    st.header("Nodes")
    selected_node = option_menu(
        None,
        pipes[pipe],
        icons=["caret-right" for _ in pipes[pipe]],
        default_index=0,
        key="node",
    )

If default_index=1 then it'll show icons successfully for the first 2 options, since on first render the Nodes menu would have 2 icons, but the last icon on the third option will be missing since it requires 3 icons - that's more than the original render.

Thanks.
It is fixed and I opened a PR.
I hope it will be approved and merged soon :)


enable SO_KEEPALIVE and SO_REUSEADDR on sockets

This PR will enable TCP keepalive probes to detect and close dead peer connections - see issue #170.
The debug messages are optional but my personal preference is to keep records of socket connections in syslog.
The SO_REUSEADDR prevents a systemd failure status when doing a restart.  TCP has a 90 sec timeout before the same address can be reused to ensure packets that are in flight have settled.  So this avoids having to wait before bringing the service back up.

I have no problems with this. It is in my local git. Not sure when I'll get time to complete the other needed changes.


Investigate Helm Operator

In Lokomotive we use Helm charts to deploy the Kubernetes control plane and Lokomotive Components.
In https://github.com/kinvolk/lokomotive/issues/1366 we wanted to do a PoC to install Lokomotive Components from a Lokomotive Operator so users (and applications like Headlamp or some Update Operator in the cluster) can trigger component updates by creating Custom Resources and the Lokomotive Operator will deal with applying the updates.
There are projects like the Flux Helm Operator (now Helm Controller) that seem to do similar things to that.
The goal of this issue is trying and writing a small report about the applicability of those Flux operators to this problem.

Here is a set of configs that allows us to use Flux (helm-operator) to install Lokomotive component and manage their lifecycle. Here are instructions on using that setup: https://github.com/surajssd/flux-lokomotive.
I would like to demo this and we can brainstorm on various ways to integrate it into Lokomotive.

I did a demo on this and there is a tacit acceptance on using Helm-controller and source-controller components of flux to manage the component lifecycle. I am moving towards doing a PoC with lokoctl in this issue: https://github.com/kinvolk/lokomotive/issues/1528.

Since the spike was done and demo was shown we can close this issue in the upcoming sprint review meeting.

Great work! Closing.


Running all setup.py flags and tracking results

Setup Flag Tracking
Summary
This issue exists to track the results of running each setup.py flag that we think ought to work. The flags are:

[ ] -g0: Import the first (0 based index) GeoLevel from the configuration file
[ ] -gX: Import the Xth* (0 based index) GeoLevel from the configuration file.
[ ] -nX: Renest the geometry and data values from the Xth* (0 based index) GeoLevel.
[ ] -G: Configure a running Geoserver with the loaded spatial data. (requires a running geoserver)
[ ] -a: Import adjacency data
-V: Create database views for the spatial layers in Geoserver.
-t: Create the template plans that are configured. This step may happen any time after the nesting step.
-s: Collect all the static files used by the web application into a location served by apache for performance.
-l: Create and compile a message file for each language defined.

Absence of a checkbox indicates that a flag's run should succeed, pending merge of #473. All flags with a checkbox (TODOs, basically) will have an explanation below
Notes
General
Language amibitions
Somewhere, django is getting the impression that it should be building translation files for a truly ambitious list of languages. Here's the list django thinks it should aim for:
[(u'af', u'Afrikaans'), (u'ar', u'Arabic'), (u'ast', u'Asturian'), (u'az', u'Azerbaijani'), (u'bg', u'Bulgarian'), (u'be', u'Belarusian'), (u'bn', u'Bengali'), (u'br', u'Breton'), (u'bs', u'Bosnian'), (u'ca', u'Catalan'), (u'cs', u'Czech'), (u'cy', u'Welsh'), (u'da', u'Danish'), (u'de', u'German'), (u'dsb', u'Lower Sorbian'), (u'el', u'Greek'), (u'en', u'English'), (u'en-au', u'Australian English'), (u'en-gb', u'British English'), (u'eo', u'Esperanto'), (u'es', u'Spanish'), (u'es-ar', u'Argentinian Spanish'), (u'es-co', u'Colombian Spanish'), (u'es-mx', u'Mexican Spanish'), (u'es-ni', u'Nicaraguan Spanish'), (u'es-ve', u'Venezuelan Spanish'), (u'et', u'Estonian'), (u'eu', u'Basque'), (u'fa', u'Persian'), (u'fi', u'Finnish'), (u'fr', u'French'), (u'fy', u'Frisian'), (u'ga', u'Irish'), (u'gd', u'Scottish Gaelic'), (u'gl', u'Galician'), (u'he', u'Hebrew'), (u'hi', u'Hindi'), (u'hr', u'Croatian'), (u'hsb', u'Upper Sorbian'), (u'hu', u'Hungarian'), (u'ia', u'Interlingua'), (u'id', u'Indonesian'), (u'io', u'Ido'), (u'is', u'Icelandic'), (u'it', u'Italian'), (u'ja', u'Japanese'), (u'ka', u'Georgian'), (u'kk', u'Kazakh'), (u'km', u'Khmer'), (u'kn', u'Kannada'), (u'ko', u'Korean'), (u'lb', u'Luxembourgish'), (u'lt', u'Lithuanian'), (u'lv', u'Latvian'), (u'mk', u'Macedonian'), (u'ml', u'Malayalam'), (u'mn', u'Mongolian'), (u'mr', u'Marathi'), (u'my', u'Burmese'), (u'nb', u'Norwegian Bokm\xe5l'), (u'ne', u'Nepali'), (u'nl', u'Dutch'), (u'nn', u'Norwegian Nynorsk'), (u'os', u'Ossetic'), (u'pa', u'Punjabi'), (u'pl', u'Polish'), (u'pt', u'Portuguese'), (u'pt-br', u'Brazilian Portuguese'), (u'ro', u'Romanian'), (u'ru', u'Russian'), (u'sk', u'Slovak'), (u'sl', u'Slovenian'), (u'sq', u'Albanian'), (u'sr', u'Serbian'), (u'sr-latn', u'Serbian Latin'), (u'sv', u'Swedish'), (u'sw', u'Swahili'), (u'ta', u'Tamil'), (u'te', u'Telugu'), (u'th', u'Thai'), (u'tr', u'Turkish'), (u'tt', u'Tatar'), (u'udm', u'Udmurt'), (u'uk', u'Ukrainian'), (u'ur', u'Urdu'), (u'vi', u'Vietnamese'), (u'zh-hans', u'Simplified Chinese'), (u'zh-hant', u'Traditional Chinese')]

Meanwhile, the list we aimed for previously was ['es', 'en', 'fr', 'ja']. That's a pretty big difference! I created an ENABLED_LANGUAGES setting and told django to chill out.
-gX (load geolevel X)

[ ] should warn the user if they ask for a geolevel that isn't present in the source data
[ ] looks for a bunch of attributes that don't appear to be in the sample data (at least, it did this on 10/19, but doesn't seem to be doing it on 10/20? very odd)
[ ] is extremely slow for loading all three geolevels from the config. This could be improved pretty easily. Inserts should be batched to avoid making a database roundtrip for each of several thousand geounits. I'm getting about 5 geounits / second, and there are at least 9,000 of them. Captured as #471

-nX (nest geolevel X)

[ ] uses old geos interface and tries to do a unionagg, which is no longer supported

-G (geoserver setup)

[ ] should fail louder -- appears to succeed but doesn't actually do anything

-a (adjacencies)

[ ] blocked by absence of sample data -- the example config refers to a processed_15tiemposecciones.txt, but I have no idea where that is or what process might produce a file in an appropriate format

-s (staticfiles)

[ ] uninstalled compressor during setup of dev environment, and now this needs it, so it needs to come back

-l (languages)

[ ] unterminated string warnings in bg1251 coming from jqGrid -- these are annoying but might not hurt anything

If you didn't do this, can you default to the previous implemented list of
languages?
Btw, given updates to the program since we created ja and fr, I'm uncertain
if the software will now fully support translation of these languages. es
has been more recently updated for a previous Mexico deployment.
============
Dr. Michael P. McDonald
Associate Professor, University of Florida
352-273-2371
www.electproject.org
@ElectProject
On Fri, Oct 20, 2017 at 1:34 PM, James Santucci<EMAIL_ADDRESS>wrote:

Setup Flag Tracking Summary
This issue exists to track the results of running each setup.py flag that
we think ought to work. The flags are:

-g0: Import the first (0 based index) GeoLevel from the
configuration file
-gX: Import the Xth* (0 based index) GeoLevel from the configuration
file.
-nX: Renest the geometry and data values from the Xth* (0 based
index) GeoLevel.
-G: Configure a running Geoserver with the loaded spatial data.
(requires a running geoserver)
-a: Import adjacency data
-V: Create database views for the spatial layers in Geoserver.
-t: Create the template plans that are configured. This step may
happen any time after the nesting step.
-s: Collect all the static files used by the web application into a
location served by apache for performance.
-l: Create and compile a message file for each language defined.

Absence of a checkbox indicates that a flag's run should succeed, pending
merge of a PR that will exist in a few minutes. All flags with a checkbox
(TODOs, basically) will have an explanation below
Notes General Language amibitions
Somewhere, django is getting the impression that it should be building
translation files for a truly ambitious list of languages. Here's the list
django thinks it should aim for:
[(u'af', u'Afrikaans'), (u'ar', u'Arabic'), (u'ast', u'Asturian'), (u'az', u'Azerbaijani'), (u'bg', u'Bulgarian'), (u'be', u'Belarusian'), (u'bn', u'Bengali'), (u'br', u'Breton'), (u'bs', u'Bosnian'), (u'ca', u'Catalan'), (u'cs', u'Czech'), (u'cy', u'Welsh'), (u'da', u'Danish'), (u'de', u'German'), (u'dsb', u'Lower Sorbian'), (u'el', u'Greek'), (u'en', u'English'), (u'en-au', u'Australian English'), (u'en-gb', u'British English'), (u'eo', u'Esperanto'), (u'es', u'Spanish'), (u'es-ar', u'Argentinian Spanish'), (u'es-co', u'Colombian Spanish'), (u'es-mx', u'Mexican Spanish'), (u'es-ni', u'Nicaraguan Spanish'), (u'es-ve', u'Venezuelan Spanish'), (u'et', u'Estonian'), (u'eu', u'Basque'), (u'fa', u'Persian'), (u'fi', u'Finnish'), (u'fr', u'French'), (u'fy', u'Frisian'), (u'ga', u'Irish'), (u'gd', u'Scottish Gaelic'), (u'gl', u'Galician'), (u'he', u'Hebrew'), (u'hi', u'Hindi'), (u'hr', u'Croatian'), (u'hsb', u'Upper Sorbian'), (u'hu', u'Hungarian'), (u'ia', u'Interlingua'), (u'id', u'Indonesian'), (u'io', u'Ido'), (u'is', u'Icelandic'), (u'it', u'Italian'), (u'ja', u'Japanese'), (u'ka', u'Georgian'), (u'kk', u'Kazakh'), (u'km', u'Khmer'), (u'kn', u'Kannada'), (u'ko', u'Korean'), (u'lb', u'Luxembourgish'), (u'lt', u'Lithuanian'), (u'lv', u'Latvian'), (u'mk', u'Macedonian'), (u'ml', u'Malayalam'), (u'mn', u'Mongolian'), (u'mr', u'Marathi'), (u'my', u'Burmese'), (u'nb', u'Norwegian Bokm\xe5l'), (u'ne', u'Nepali'), (u'nl', u'Dutch'), (u'nn', u'Norwegian Nynorsk'), (u'os', u'Ossetic'), (u'pa', u'Punjabi'), (u'pl', u'Polish'), (u'pt', u'Portuguese'), (u'pt-br', u'Brazilian Portuguese'), (u'ro', u'Romanian'), (u'ru', u'Russian'), (u'sk', u'Slovak'), (u'sl', u'Slovenian'), (u'sq', u'Albanian'), (u'sr', u'Serbian'), (u'sr-latn', u'Serbian Latin'), (u'sv', u'Swedish'), (u'sw', u'Swahili'), (u'ta', u'Tamil'), (u'te', u'Telugu'), (u'th', u'Thai'), (u'tr', u'Turkish'), (u'tt', u'Tatar'), (u'udm', u'Udmurt'), (u'uk', u'Ukrainian'), (u'ur', u'Urdu'), (u'vi', u'Vietnamese'), (u'zh-hans', u'Simplified Chinese'), (u'zh-hant', u'Traditional Chinese')]
Meanwhile, the list we aimed for previously was ['es', 'en', 'fr', 'ja'].
That's a pretty big difference! I created an ENABLED_LANGUAGES setting
and told django to chill out.
-gX (load geolevel X)

should warn the user if they ask for a geolevel that isn't present
in the source data
looks for a bunch of attributes that don't appear to be in the
sample data (at least, it did this on 10/19, but doesn't seem to be doing
it on 10/20? very odd)
is extremely slow for loading all three geolevels from the config.
This could be improved pretty easily. Inserts should be batched to avoid
making a database roundtrip for each of several thousand geounits. I'm
getting about 5 geounits / second, and there are at least 9,000 of them.
Captured as #471
https://github.com/PublicMapping/DistrictBuilder/issues/471

-nX (nest geolevel X)

uses old geos interface and tries to do a unionagg, which is no
longer supported

-G (geoserver setup)

should fail louder -- appears to succeed but doesn't actually do
anything

-a (adjacencies)

blocked by absence of sample data -- the example config refers to a
processed_15tiemposecciones.txt, but I have no idea where that is or
what process might produce a file in an appropriate format

-s (staticfiles)

uninstalled compressor during setup of dev environment, and now this
needs it, so it needs to come back

-l (languages)

unterminated string warnings in bg1251 coming from jqGrid -- these
are annoying but might not hurt anything

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/PublicMapping/DistrictBuilder/issues/472, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABBMSVSjDHJFII-w8mpFZps_ArivPVupks5suNmygaJpZM4QA_Q6
.

Thanks for letting us know about updated Spanish translations. The ENABLED_LANGUAGES flag I created is set to ['es', 'en', 'fr', 'ja'] for now, so those four will be supported. We're not yet working on filling in the specific translation strings.
The application is in a state of flux right now as we try to get it updated.


Cifar10-100 Federated Split do not match original datasets

Hi!
I tried using the CIfar split released in the repo from this paper, but the image_id does not match the index from the original dataset downloaded from the Cifar website.
@hang-qi do you know how to recover the images from the original dataset using your split?

您好，我是刘玉，我已收到您的邮件！谢谢！

@marcociccone Thanks for surfacing this issue! I have got a fix, will push an update to the affected CIFAR files soon.


firebase-tools: 13.9.0 -> 13.10.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/firebase/firebase-tools/releases.
meta.description for firebase-tools is: Manage, and deploy your Firebase project from the command line
meta.homepage for firebase-tools is: https://github.com/firebase/firebase-tools
meta.changelog for firebase-tools is: https://github.com/firebase/firebase-tools/blob/v13.10.0/CHANGELOG.md
Updates performed

NPM version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 13.10.0 with grep in /nix/store/0h25yhqqkya584b0dyp2sr8rry7a7yb2-firebase-tools-13.10.0
found 13.10.0 in filename of file in /nix/store/0h25yhqqkya584b0dyp2sr8rry7a7yb2-firebase-tools-13.10.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

firebase-tools

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0h25yhqqkya584b0dyp2sr8rry7a7yb2-firebase-tools-13.10.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A firebase-tools https://github.com/r-ryantm/nixpkgs/archive/b566502ac8ee4deae830f29c51a7c6c5531e82a6.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/b566502ac8ee4deae830f29c51a7c6c5531e82a6#firebase-tools

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0h25yhqqkya584b0dyp2sr8rry7a7yb2-firebase-tools-13.10.0
ls -la /nix/store/0h25yhqqkya584b0dyp2sr8rry7a7yb2-firebase-tools-13.10.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

firebase-tools

Maintainer pings

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

1 package built:

firebase-tools


Apply TA Strategy is Slow over 7 Seconds.

    jays_ta = [
            {"prefix":"stochrsi","kind": "stochrsi"} #,{"prefix":"stochrsi","kind": "stochrsi"}
    ]
        start_time = time.time()
        my_strategy = ta.Strategy(name="jay's strategy", ta=jays_ta.copy())
        dframe.ta.strategy(my_strategy)
        print("--- %s seconds ---" % (time.time() - start_time))

It is print out over 7 seconds
Dataframe is only 25 row.
I do repeat my ticker so over 750 tickers x 7 second = 5.250 seconds = 87 Minute..
Please help, how to speed up ?
Thank You,

C:\Temp>pip show pandas-ta
Name: pandas-ta
Version: 0.2.67b0
Summary: An easy to use Python 3 Pandas Extension with 130+ Technical Analysis Indicators. Can be called from a Pandas DataFrame or standalone like TA-Lib. Correlation tested with TA-Lib.
Home-page: https://github.com/twopirllc/pandas-ta
Author: Kevin Johnson
Author-email<EMAIL_ADDRESS>License: The MIT License (MIT)
Location: c:\users\philip\appdata\local\programs\python\python37-32\lib\site-packages
Requires: pandas
Required-by:
Mr Twopirllc,
I try on different device which have ubuntu and run inside docke
and ir run fastest
--- 0.08880496025085449 seconds ---
/usr/local/lib/python3.9/site-packages/pandas/core/frame.py:4441: SettingWithCopyWarning:                               A value is trying to be set on a copy of a slice from a DataFrame

@phicha20224,
Ok.
But still Upgrade to the Latest Version (0.2.75b):
$ pip install -U git+https://github.com/twopirllc/pandas-ta

This is still beta software and still ironing out bugs and extending with new features.
I also recommend doing:
import pandas as pd
import pandas_ta as ta
import time

jays_ta = [
    {"kind": "stochrsi"},
]
start_time = time.time()

dframe = # ohlcv data
my_strategy = ta.Strategy(name="jay's strategy", ta=jays_ta)
#dframe.ta.cores = 0  # You might need to set this to zero to get a speed boost
dframe.ta.strategy(my_strategy, verbose=True)
print(f"--- {time.time() - start_time} seconds ---")

Anyhow. Is there a speed issue still?
Thanks,
KJ

D:>pip show pandas_ta
Name: pandas-ta
Version: 0.2.75b0
Summary: An easy to use Python 3 Pandas Extension with 130+ Technical Analysis Indicators. Can be called from a Pandas DataFrame or standalone like TA-Lib. Correlation tested with TA-Lib.
Home-page: https://github.com/twopirllc/pandas-ta
Author: Kevin Johnson
Author-email<EMAIL_ADDRESS>License: The MIT License (MIT)
Location: c:\users\philip\appdata\local\programs\python\python37-32\lib\site-packages
Requires: pandas
Required-by:
[+] Strategy: jay's strategy
[i] Indicator arguments: {'append': True}
[i] Multiprocessing 4 indicators with 7 chunks and 8/8 cpus.
********************** it slow here *********************
[i] Total indicators: 4
[i] Columns added: 10
[i] Last Run: Saturday May 1, 2021, NYSE: 8:20:16, Local: 12:20:16 SE Asia Standard Time, Day 121/365 (33.00%)
--- 4.706642150878906 seconds ---
put this
dframe.ta.cores = 0  # You might need to set this to zero to get a speed boost
and its fastest. Thank You..
[+] Strategy: jay's strategy
[i] Indicator arguments: {'append': True}
[i] No mulitproccessing (cores = 0).
[i] Progress: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 4/4 [00:00<00:00, 109.05it/s]
[i] Total indicators: 4
[i] Columns added: 10
[i] Last Run: Saturday May 1, 2021, NYSE: 8:21:55, Local: 12:21:55 SE Asia Standard Time, Day 121/365 (33.00%)
--- 0.043682098388671875 seconds ---

@phicha20224,
You need this
dframe.ta.cores = 0  # You might need to set this to zero to get a speed boost

because you have a few indicators (4) and it takes longer to start up multiprocessing for just a small number of indicators.
KJ

I run on another, notebook which only have 2 core/4thread lower than this pc which 4 core/8thread, but it faster..
Thank You.
I just read the docs,  latest version have so many upgrade. its cool.


node-hid issues

I am having trouble with installing node-hid v0.5.7. Is it possible to just change some code to allow for the use of later versions?

I just tried doing what i had mentioned. In the package.json file, all i had to do was edit these lines of code from:
"dependencies": {   "node-hid": "^0.5.0" }, "devDependencies": {   "eslint": "^1.10.0" }
to:
"dependencies": {   "node-hid": "^1.0.0" }, "devDependencies": {   "eslint": "^6.0.0" }


Replacing target groups fails

If the a ALB target group needs to be replaced (e.g. aws_alb_target_group.public because the container_port changed), this fails with:
Error deleting Target Group: ResourceInUse: Target group 'arn:aws:elasticloadbalancing:eu-west-1:12345678:targetgroup/my-service/1541e04161e7f3ef' is currently in use by a listener or a rule

see https://github.com/telia-oss/terraform-aws-ecs-fargate/blob/0f3cbc67c057625f1354f28f6ad4efc3763a8978/main.tf#L208 for a possible solution

retest this with latest release