Connector error: Cannot read properties of undefined (reading 'split')"

Current Behavior
When creating new Connector for IP Royal Provider I get error: "Cannot read properties of undefined (reading 'split')"

Expected Behavior
Before it worked for 2 weeks perfectly. But 2 days ago I decided to turn off proxy to test the flow without it. After that this error started to occur.
Steps to Reproduce

docker compose up command
Go to Marketplaced and choose IP Royal static IP -> Create -> Enter token -> Create.
Go to Connectors and choose credential created on step 2 > all defaults > Create.
See the error as on the screenshot above.

Failure Logs
TypeError: Cannot read properties of undefined (reading 'split')
    at cw (/app/scrapoxy.js:2:514099)
    at Array.map (<anonymous>)
    at iproyal_server_service_ConnectorIproyalService.getProxies (/app/scrapoxy.js:2:514766)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async RefreshConnectorsService.task (/app/scrapoxy.js:2:380026)
    at async RefreshConnectorsService.execute (/app/scrapoxy.js:2:378624)
    at async Timeout._onTimeout (/app/node_modules/@nestjs/schedule/dist/schedule.explorer.js:96:17)
[Nest] 1  - 10/11/2024, 3:49:22 AM   ERROR [RefreshConnectorsService] TypeError: Cannot read properties of undefined (reading 'split')

Scrapoxy Version
latest for docker-compose
Custom Version

[X] No
[ ] Yes

Deployment

[X] Docker
[X] Docker Compose
[ ] Kubernetes
[ ] NPM
[ ] Other (Specify in Additional Information)

Operating System

[X] Linux
[ ] Windows
[ ] macOS
[ ] Other (Specify in Additional Information)

Storage

[X] File (default)
[ ] MongoDB & RabbitMQ
[ ] Other (Specify in Additional Information)

Additional Information
No response

Forgot to mentioned - the same error for the local docker compose container

Additional logs from the docker container:
2024-10-10 19:55:47 [Nest] 1  - 10/10/2024, 11:55:47 AM     LOG [NestFactory] Starting Nest application...
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] AppStartModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ProbeprovidersModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] StorageprovidersModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] AuthprovidersModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorprovidersModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportprovidersModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TasksModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderMasterClientModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderRefreshClientModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderRefreshClientModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderRefreshClientModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderRefreshClientModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderRefreshClientModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] DiscoveryModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderCaCertificateModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorBrightdataModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorFreeproxiesModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorHypeproxyModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorIproyalResidentialModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorIproyalServerModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorLiveproxiesModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorNetnutModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorNimblewayModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorNinjasproxyModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorProxyCheapResidentialModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorProxyCheapServerModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorProxySellerResidentialModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorProxySellerServerModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorProxidizeModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorProxyrackModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorRayobyteModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorSmartproxyModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorXProxyModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorZyteModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ProbeModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] EventsModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] AuthLocalModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportDatacenterModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportBrightdataModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportProxyModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportIproyalResidentialModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportNetnutModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportNimblewayModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportProxyCheapResidentialModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportHardwareModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportProxyrackModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportSmartproxyModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] TransportZyteModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorAwsModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorAzureModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorDigitaloceanModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorGcpModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ConnectorOvhModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ServeStaticModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] RefreshSourcesModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] RefreshTasksModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] RefreshConnectorsModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] RefreshFreeproxiesModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] RefreshMetricsModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] RefreshProxiesModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] MasterModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] ScheduleModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderEventsModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] StorageFileModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderScraperModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderMasterModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderRefreshModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderUsersModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [InstanceLoader] CommanderFrontendModule dependencies initialized
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [WebSocketsController] CommanderEventsGateway subscribed to the "register" message
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [WebSocketsController] CommanderEventsGateway subscribed to the "unregister" message
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RoutesResolver] CommanderCaCertificateController {/api/certificate/ca}:
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/certificate/ca, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RoutesResolver] CommanderFrontendController {/api/frontend}:
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/metrics, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/token, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId, PUT} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId, DELETE} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/users, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/users, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/users/:userId, DELETE} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/status, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/default, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/token, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/credentials, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/credentials/names, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/credentials/:credentialId, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/credentials, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/credentials/callback, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/credentials/:credentialId, PUT} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/credentials/:credentialId, DELETE} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/credentials/:credentialId/query, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/connectors, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/names, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/sync, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/update, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId, PUT} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId, DELETE} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/scale, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/activate, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/install, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/uninstall, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/install/validate, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/certificate, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/proxies/remove, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/sourcesfreeproxies, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/freeproxies/create, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/freeproxies/remove, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/sources, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/connectors/:connectorId/sources/remove, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/tasks, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/tasks/:taskId, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/tasks/:taskId, DELETE} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/frontend/projects/:projectId/tasks/:taskId/cancel, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RoutesResolver] CommanderMasterController {/api/master}:
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/master/projects, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/master/projects/:projectId/scaleup, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/master/projects/:projectId/proxy, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RoutesResolver] CommanderRefreshController {/api/refresh}:
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/projects/metrics, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/projects/:projectId/connectors/:connectorId/error, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/connectors/refresh, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/projects/:projectId/connectors/:connectorId/proxies, PUT} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/projects/:projectId/connectors/:connectorId/proxies, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/proxies, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/proxies/metrics, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/proxies, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/projects/:projectId/connectors/:connectorId/freeproxies/selected, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/projects/:projectId/connectors/:connectorId/freeproxies/new, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/freeproxies, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/projects/:projectId/connectors/:connectorId/freeproxies, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/freeproxies, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/sources, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/sources, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/projects/:projectId/tasks/:taskId, PUT} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/projects/:projectId/tasks/:taskId/lock, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/refresh/tasks, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RoutesResolver] CommanderScraperController {/api/scraper}:
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/scraper/project, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/scraper/project/status, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/scraper/project/connectors, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/scraper/project/proxies/remove, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/scraper/project/connectors/:connectorId/freeproxies, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/scraper/project/connectors/:connectorId/freeproxies, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/scraper/project/connectors/:connectorId/freeproxies/remove, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/scraper/project/connectors/:connectorId/sources, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/scraper/project/connectors/:connectorId/sources, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/scraper/project/connectors/:connectorId/sources/remove, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RoutesResolver] CommanderUsersController {/api/users}:
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/users/auths, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/users/auths/:type, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/users/auths/:type, POST} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/users/me, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/users/me, PUT} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/users/me/renew, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [RouterExplorer] Mapped {/api/users/me/logout, GET} route
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [ProbeService] Probe is listening at port 8887
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [MasterService] Master is listening at port 8888
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [NestApplication] Nest application successfully started
2024-10-10 19:55:48 [Nest] 1  - 10/10/2024, 11:55:48 AM     LOG [StartCommand] Commander is listening at port 8890
2024-10-10 19:55:49 [Nest] 1  - 10/10/2024, 11:55:49 AM   ERROR [RefreshConnectorsService] TypeError: Cannot read properties of undefined (reading 'split')
2024-10-10 19:55:49 TypeError: Cannot read properties of undefined (reading 'split')
2024-10-10 19:55:49     at aw (/app/scrapoxy.js:2:513683)
2024-10-10 19:55:49     at Array.map (<anonymous>)
2024-10-10 19:55:49     at iproyal_server_service_ConnectorIproyalService.getProxies (/app/scrapoxy.js:2:514350)
2024-10-10 19:55:49     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2024-10-10 19:55:49     at async RefreshConnectorsService.task (/app/scrapoxy.js:2:379610)
2024-10-10 19:55:49     at async RefreshConnectorsService.execute (/app/scrapoxy.js:2:378208)
2024-10-10 19:55:49     at async Timeout._onTimeout (/app/node_modules/@nestjs/schedule/dist/schedule.explorer.js:96:17)
2024-10-10 19:55:59 [Nest] 1  - 10/10/2024, 11:55:59 AM   ERROR [RefreshConnectorsService] TypeError: Cannot read properties of undefined (reading 'split')
2024-10-10 19:55:59 TypeError: Cannot read properties of undefined (reading 'split')
2024-10-10 19:55:59     at aw (/app/scrapoxy.js:2:513683)
2024-10-10 19:55:59     at Array.map (<anonymous>)
2024-10-10 19:55:59     at iproyal_server_service_ConnectorIproyalService.getProxies (/app/scrapoxy.js:2:514350)
2024-10-10 19:55:59     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2024-10-10 19:55:59     at async RefreshConnectorsService.task (/app/scrapoxy.js:2:379610)
2024-10-10 19:55:59     at async RefreshConnectorsService.execute (/app/scrapoxy.js:2:378208)
2024-10-10 19:55:59     at async Timeout._onTimeout (/app/node_modules/@nestjs/schedule/dist/schedule.explorer.js:96:17)
2024-10-10 19:56:09 [Nest] 1  - 10/10/2024, 11:56:09 AM   ERROR [RefreshConnectorsService] TypeError: Cannot read properties of undefined (reading 'split')

Maybe IP Royal updated their API?

Hello,
IPRoyal has updated their API signature, and I've made the necessary adjustments to Scrapoxy to accommodate this change. The updated version 4.16.1 is now compatible and should work seamlessly with the new API.


fix(react): remove FocusScope from Menu

lgtm.  What was the cause of the bug?  I see from react-aria's website that FocusScope is used to manage focus for a components descendants.  Isn't this the right use case for FocusScope?

Yup, it's the right case indeed, but seems that new version of react-aria already handle with this inside useMenu()


CLOUDSTACK-9166:Build failed in Jenkins: cloudstack-rat-master #7038

With my last PR#1196, I missed to place the license disclaimer into CitrixHelperTest.java. Updated the file with the disclaimer.

argh, thanks @SudharmaJain LGTM

@DaanHoogland Could you please explain why you merged this?
We have a policy stating 2 (TWO) persons will have to review a PR. One code review and one running tests. At all times.
How trivial it is doesn't matter.
I therefore want it to be reverted.

+1 for reverting it. And I don't even care if the RAT is broken after the rever.
I have been to hell... not funny! Do not want to go back.
For a such good reason, as stated in this PR, a simply ping someone would make it get the 2 LGTM and the merge would be fine.
Cheers,
Wilder

@Wilderrodrigues, @borisroman I agree with you that we cannot merge PRs without two(2) LGTMs and integration tests to check if nothing was broken. @DaanHoogland should have not merged this PR without the second LGTM. However, before he had merged it, I reviewed the PR but have not given LGTM because normally these simple PRs a lot of folks appear to give LGTM, my bad for that. Additionally, I got lost when I checked the right way to include the Apache license, I notice in same classes we use /** * * **/ blocks, in others we use //, while thinking about it something else called my attention and I forgot to give the LGTM.
Before, throwing some stones, I would first check why PR #1196 was merged without the Apache license. I noticed LGTMs there; maybe they were giving without proper review? So, here comes a question, should we revert this one that fixes a build that was broken by #1196, or should we revert the #1196 and fix it before merging it again? Or we can let it go and learn the lesson that should not be repeated.

@rafaelweingartner
It's not about throwing stones, it's about the process.
Simply put: 2 LGTM, and depending on the PR at least 1 with integration tests executed. In this case, integration tests were not needed. It is a very simple PR which could have been reviewed very quickly and none of this would have happened. The whole storm behind it is that we have to keep the process and avoid that something like that happens with more complex code - as it happened just after 4.6.0.
Let's save some typing and time and not start a discussion about the obvious.
Cheers,
Wilder

@SudharmaJain Could you please open a new PR so it can be merged with reviews.

Don't go here. this is about licensing. We have a duty do do this with
extreme prejudice.
On Mon, Dec 14, 2015 at 5:00 PM, borisroman<EMAIL_ADDRESS>wrote:

@SudharmaJain https://github.com/SudharmaJain Could you please open a
new PR so it can be merged with reviews.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/cloudstack/pull/1243#issuecomment-164475560.

--
Daan

I truly believe we need a meeting to discuss this. I understand the hole licensing thing, but having a PR open to review is already a prove that the issue is being dealt with.
It's your call... I'm out of this.


Python errors module 'string' has no attribute 'join' when doing TernRename

I am using windows 10 and vim 8.0 64bit.
Here is the screenshot:

I am totally sure it is something related to difference between python 2 and python3.
Actually, no errors within python 2.
But in case of python3, "".join(lines)  should be the correct way.

Python 2.7 seems to also support "".join. Does attached patch help for you?

Python 2.7 seems to also support "".join. Does attached patch help for you?

Yes. The patch solves the problem. Effectively, Python 2.7 also supports "".join.


Detect EOL from file when not found in first chunk

Currently, the README says "Parser will attempt retrieve it from first chunk of CSV data." This works if the first chunk is bigger than the header row. But if not, line endings are not detected. It would be much nicer if instead of looking at only the first chunk, we look at all chunks until we hit a line ending and then use that as the eol.
An additional improvement here is that if the first chunk ends in-between the "\r" and "\n" in a file with "\r\n" line endings, getEol will detect "\r" as eol without checking that the following character might be "\n". This PR takes care of that, as well.

Thanks for this.


Break up and reorganise ci.yml

The main ./github/workflows/ci.yml is looking a bit large and unwieldy. Main tasks:

[ ] Break out the VCPKG routine into its own file, and import it where necessary in the main steps
[ ] Move release binary generation into the existing release.yml workflow
[ ] Remove unnecessary hash generation from release.yml

@tsmbland Are you interested in tackling this? Since you will have done the same thing with Gridlington?

Much appreciated! Let me know if you need any more info. :+1:

https://github.com/imperialCHEPI/healthgps/pull/236#issuecomment-2196988557


Docker build hangs with uv sync

Docker build hangs with this configuration.
It's working outside of docker.
uv version: uv 0.3.1 (be17d132a 2024-08-21)
Tested on both Linux Ubuntu and Windows.
Probably related to network calls.

FROM python:3.11-slim
ENV RUST_LOG=TRACE
RUN pip install uv

COPY ./pyproject.toml ./uv.lock ./
RUN uv venv
RUN uv sync

pyproject.toml :
[project]
name = "test"
version = "0.1.0"
description = ""
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
  "fastapi>=0.112.1",
  "pyjwt[crypto]>=2.9.0",
  "polars>=1.5.0",
  "pyarrow>=17.0.0",
  "numpy>=2.1.0",
  "pydantic>=2.8.2",
  "pydantic-settings>=2.4.0",
  "uvicorn[standard]>=0.30.6",
  "arq>=0.26.0",
  "psycopg[binary]>=3.2.1",
  "fastjsonschema>=2.20.0",
  "structlog>=24.4.0",
  "httpx>=0.27.0",
  "xarray>=2024.7.0",
  "aiocache[redis]>=0.12.2",
  "alembic>=1.13.2",
  "orjson>=3.10.7",
]

Log:
build.log

Hi! Is this a duplicate of #6443?

Yeah seems t be related.
Using just pyproject.toml + uv.lock does not seem to work.
When I add my src folder with hatchling

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src"]

It works, still failing with default setuptools

Unfortunately this is a setuptools bug — and I think we need to default to that to match the specification. Maybe there's something we can do to help avoid hanging here though...

Alright I'm closing thanks for pointing the related issue :)


IDE freezes during binding generation from NBC file

Use the natjgen Gradle task with the NBC file as a parameter to generate in the background.

Does this fix the IDE freaze on app launch when debugging that we have?
What version is it in?


Clefs auto-refresh the page unexpectedly

The check for the clefs being the first element on the system is not working as intended, as clefs just all refresh the page.

Fixed in 3854177


Fixed epmty description issue (#76)

Fixes #76

What does this PR do?

Prevents app from crashing when an empty event is clicked.
Displays No description for empty description events

Thanks for your contribution @gautamjuyal!


Empty map is cloned as nil via proto.Clone.

Empty map is cloned as nil via proto.Clone. nil and empty map are different in Go.

Actually, no, they are equivalent as far as protocol buffers are concerned, like how repeated fields don't distinguish between nil and empty slices.


revert #2630 + suggested refactor

Running grunt build_android after a successful grunt build_android invariably fails, apparently due to #2630. This reverts that change, and also renames the related tasks to use the term "clean" as suggested in #2630. With this change it is again possible to run grunt build_android twice in a row successfully.

This change is

Thanks for fixing and sorry I missed this, was sure I had tested it :-/
Part of my problem with those rules was that they use shell commands to perform what could be done by grunt-clean - but this is fine to unblock us.
:+1:

Ah ok, thanks @trevj, will keep in mind for a future improvement! Merging this now...


channel page can be improve ?

i think we have some styling to the channel page.  and i request you to assign me this issue . i will happy to wok with you

@codewithnadeem14502 Please elaborate what will you like to add.

like we can changes simple subscribers to background color to like with some border radius, here is just an example see this

so can you assign me this.

okay, @codewithnadeem14502 start working on this issue.

thank you so much for assign me sir, soon i will update you

sir please have a look on my PR .
final look of our site

Any update sir

i have successfully and raise a PR please have  a  look

Thank u


Detect song metadata

We want to keep the collection of songs nice and tidy. This is where song metadata comes in handy.
The use case is rather simple. People will link their song they want to add to the common group chat playlist. This link can be from any platform (Apple Music, Youtube, Spotify, Tidal...). We need to find a way to get a song's metadata, regardless of origin.
We need to find a service or create a common logic that forwards any link towards Spotify's API service to fetch the metadata.
Any new suggestions are welcome! Post your findings here 😄

Well I've already built the base bot and as of now using the OpenGraph protocol I can only get details much like Telegram does, as shown below. This does not require the use of any external service API but we can only get basic info.


ExpectedObject.ShouldMatch does not support parallel tests

In tests that run in paralllel ExpectedObject.ShouldMatch throws different exceptions as mutiple threads write to IWriter stored in static WriterContext.Stack field that is not thread safe.
Most probably WriterContext.Stack can be marked with ThreadStatic attrbite to solve the problem but async tests will still not be supported. AsyncLocal (.net 4.6+) may be used to solve the problem.
Do you consider parallel test support implementation?

I'll get it taken care of.

Fixed in version 2.3.0


Fix: handle dataType nullability in UnsupportedTypeException class

This PR handles the NullPointerException which was through when dataType was passed as null.

@tushard702 Can you mention the associated work item in the PR description?

created a new PR #109 with signed commits.


omitempty Value for ethsigner.Transaction

https://ethereum.org/en/developers/docs/apis/json-rpc/#eth_sendtransaction with value being an optional field, this will prevent it from being serialized and passed through in JSONRPC requests when set to nil.

Codecov Report

Merging #20 (865a728) into main (1370254) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #20   +/-   ##
=======================================
  Coverage   99.42%   99.42%
=======================================
  Files          32       32
  Lines        2417     2417
=======================================
  Hits         2403     2403
  Misses          8        8
  Partials        6        6

Impacted Files
Coverage Δ

pkg/ethsigner/transaction.go
91.30% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Dialog's click outside not working across custom element boundary

Description
The "clicking outside" detection not working when using a Dialog inside a custom element (Web Components).
[@zag-js/dismissable] node is `null` or `undefined`

Link to Reproduction (or Detailed Explanation)
https://stackblitz.com/~/github.com/aryzing/repro-click-outside
Steps to Reproduce

Create a custom element that uses Dialog
Click outside the dialog

Ark UI Version
"@ark-ui/solid": "2.2.0"
Framework

[ ] React
[X] Solid
[ ] Vue

Browser
No response
Additional Information
No response

@aryzing
Thanks for taking your time to report this issue. If you want to work with a different envirionment (Iframe, Shadow DOM, Electron etc) you have to configure the environment.
Please follow the docs: https://ark-ui.com/docs/components/environment

Thanks @cschroeter for pointing out the Environment docs, very useful. It seems though that Environment.Root doesn't exist in @ark-ui/solid. Is the example or the types outdated?

Thanks @cschroeter for pointing out the Environment docs, very useful. It seems though that Environment.Root doesn't exist in @ark-ui/solid. Is the example or the types outdated?

It was changed in 2.0.0. thanks for pointing out the missing docs!


[SMALLFIX] Fix a failed test

LGTM

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12788/
Test PASSed.

Merged build finished. Test PASSed.


Log into Spotify Account

Base User Story #2:
As a user, I would like to be able to create and login to an account that saves my previously generated Spotify wraps.
Acceptance criteria:

Able to create and log into an account associated with your Spotify info
Able to log out of your account
Account information is persistent (exists after exiting the website)
Provide a screen where past Spotify wraps (the entire wrap, not just a summary) can be accessed, viewed, and deleted
Provide a screen where you can delete your account

you can now create and login into an account associated with your spotify info and that information will persist even after exiting the website for 1 hour. past one hour, code will auto refresh token so user won't notice any change


As a single administrator of a small NPOs, I can edit pairings of a volunteer and elderly

We will no longer implement edit pair since pair consists of only 2 fields. It would be faster to simply delete the old pair and add a new one.


Update documentation's "Prints" comments after #47502

See:

#47502

To make it brief, print(a) # Prints {value} is a very common way in the class reference to represent a result. What follows it needs to be precisely what is printed in the console. This is not always the case, but it's a pretty consistent rule.
For transparency, my own notes on these kinds of comments is as follows:

# Prints {value}: After a print call. (or similar).
Suitable for beginner topics, where you want the user to see the result upon copying and pasting the code sample. {value} should be formatted exactly how it would be printed to the console. No periods, no quotes.

However, since #47502, whole floating-point numbers are always converted and printed with the trailing .0, making many of these comments inaccurate.
Although this is technically an error, this PR is worth debating about, as it actually makes readability worse in a vast majority of cases.
Either these comments are mostly fine as they are, we make a special exception just for Vectors, or we go ahead and always favour pure accuracy to not confuse the user.

I think your original notes are still correct. If you're bothering to add a comment with the expected output, it should match the actual output.
I'm also not sure this decreases readability. In some other contexts (like shaders), adding the explicit .0 to whole number floats is favored, because it makes it clear you're working with a float-based type rather than an int-based type. In this case, I could take it or leave it, but it's not clearly a decrease in readability.

I have to say it somewhat impacts readability when multiple Vector types are involved (see the PR itself). This readability issue is somewhat similar to what this user brought up.
Keep in mind there can be a lot of numbers, dots, and commas packed within these codeblocks, oftentimes in the same line. Also, these numbers within comments have no syntax highlighting.
Note that one solution could also be to rework the examples to mitigate this issue, outright.

Of the examples in your last comment, only the polygon example seems unreadable to me, since it's a long line. In the other examples, a single vector print on each line seems fine. But then again I've been mostly working with shader examples where floats always use .0 for clarity.
In general, I think accuracy should be prioritized, since these comments are presumably used to check your work when you copy-paste an example. Some readability loss is acceptable for that, IMO.
I don't feel all that strongly about this, though. Making an exception for vectors, or just overall not caring about matching the exact output, is also a reasonable choice.

Addressed the above review across the board.

Thanks!


 References to this should not continue looking outside their immediate container to narrow.
Introduced by #11458, which allows narrowing of captured variables inside methods of class expressions. That meant this also attempted to narrow outside its container, which meant that references to this were cached as if they were references to a single variable named "this", even though they came from different class expressions.
Fixes #14860

@sheetalkamat @mhegazy can you take a look?


Missing/incorrect ability images

Continuation of https://github.com/odota/core/issues/807

[x] Invoker lvl25 (no ability icon, shows up as ability_id)
[ ] doom infernal blade http://cdn.dota2.com/apps/dota2/images/abilities/doom_bringer_infernal_blade_md.png
[x] riki tricks of the trade
[x] faceless void backtrack
[x] death prophet witchcraft
[ ] beastmaster ability 5580 (boar)

Invoker lvl25 (no ability icon, shows up as ability_id)

Was fixed here https://github.com/odota/ui/blob/master/src/components/Match/matchColumns.jsx#L189
Invoker's lvl25 ability_id = invoker_attribute_bonus while others ability_id = attribute_bonus

Do you have an invoker lvl25 match to confirm?

Actually, for now we don't even display stat upgrades so i guess the point is moot.

@howardchung http://beta.opendota.com/matches/2730850157

Can I work on this?
I also noticed that Necronomicon ability icons are missing.
Link: https://www.opendota.com/matches/3346652500/combat
Image: http://prntscr.com/g2yq0j

Sure, feel free to add those images.

How should I approach this problem? Should I do it as we did it in https://github.com/odota/ui/pull/1097 issue?

Yes, that should work.

I think all of these are fixed

Yep, I have add the listed missing icons. If any more such issues arrive, I will be happy to fix them.


Remove "Q-encoding"

csv-import imports csv files into containers (lists, maps, sets) of structs. The field names of the struct generally correspond to the column names of the csv. But since Noms struct fields can only have names composed of the chars [a-zA-Z1-9_-], we escape characters outside this.
For example, if you have a csv with the column name foo bar, we will create a struct with the field fooQ20bar.
We call this escaping scheme "q-encoding", and it turns out to have been a bad idea. Since it is very common to have CSV files with spaces and other special chars, this results in structs that are pretty unreadable.
We should remove this feature from csv importer (and the underlying q-encode code, if that's the only place it is used), and instead:

Trim whitespace from ends of input column name
Split on whitespace
Force the resulting word to camelCase

See #1787, which this bug supersedes for background.

also, as long as you're in here, can you add code to trim space from the column names during import?

Cool cool make sense to me

Should this change also be applied to json serialization ?

Oh I forgot the JSON and XML importers used this. Let's leave those using q-encoding for now.

I believe they are all calling noms/go/types/struct.go:EscapeStructField. This same function exists in the JS code, noms/js/noms/src/struct.js:escapeStructField. JS and Go still need to keep matching - so while you are not doing the JSON piece for now, please do think about the JS portion. (Or, I believe @aboodman suggested elsewhere about possibly dropping the JS version of csv-import - that would help too.)

@mike good point!

Let's drop the js version of csv import.
On Wed, Aug 24, 2016 at 10:24 AM, zcstarr<EMAIL_ADDRESS>wrote:

@mike https://github.com/mike good point!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/attic-labs/noms/issues/2411#issuecomment-242144208,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAE6BAX5b5trCuUsGGSI-cxXuSOdDmzsks5qjH5YgaJpZM4JrKh7
.

I just came across another location we are doing something with struct field names. These should probably all be in one place.  I feel like I am piling on here, but please also consider looking at type.go IsValidStructFieldName and the functions below it to see if they can be removed or re-used as you work on the Q-encoding.

good find I'll try and consolidate the logic, while I'm in there 👍

I think we can close this issue sound good ?


e(132) spi_flash: detected size(4096k) smaller than the size in the binary image header(8192k). probe failed. assert failed: do_core_init startup.c:326 (flash_ret == esp_ok) (IDFGH-10525)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
Don't know
Operating System used.
Windows
How did you build your project?
Other (please specify in More Information)
If you are using Windows, please specify command line type.
None
What is the expected behavior?
I am using esp32 wroom32 with esp32 DEVKITV1 board
On Arduino IDE.
The board should give desired output on serial monitor when program is uploaded
What is the actual behavior?
e(132) spi_flash: detected size(4096k) smaller than the size in the binary image header(8192k). probe failed. assert failed: do_core_init startup.c:326 (flash_ret == esp_ok)
This appears constantly on serial monitor
Steps to reproduce.
I just connected it to PC USB port and started serial monitor and there was this error e(132)
Build or installation Logs.
No response
More Information.
No response

Hi @ace0101010,
From the information you have provided, it looks like you are letting your Arduino IDE to build 8M image, while the board you are using has the flash capacity of 4M only. Could you please double check, whether the board you have selected in Tools > Board menu matches your DEVKITV1 ?


Opt-in to Flutter deep linking does not disable listening to deep links via plugins

In the Migrating from plugin-based deep linking section of the Deep Linking docs, it implies adding FlutterDeepLinkingEnabled to Info.plist or flutter_deeplinking_enabled to AndroidManifest.xml, respectively will disable deep linking using plugins. However, when I actually try it out, the plugin still can listen to incoming deeplinks.
Not sure if the behavior is correct and the docs is incorrect or vice versa, but wanted to report it as it seemed inconsistent.
Steps to Reproduce

Create a blank Flutter app
Configure deep links on according to the steps on official Flutter Deep linking manual here
Add app_links: 3.4.1 to pubspec.yaml
Add app links code in the appfinal _appLinks = AppLinks();

final uri = await _appLinks.getInitialAppLink();

_linkSubscription = _appLinks.uriLinkStream.listen((uri) {
    print(uri);
});
final uri = await _appLinks.getLatestAppLink();

Open the app via the deep link and observe that app links was able to pick up the deep links as well.

Expected results:
App links does not react to the deep link.
Actual results:
Flutter's native Deep link and app link both reacts to the deep link.

 Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/tylershukert/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13F100
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] VS Code (version 1.73.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] VS Code (version 1.74.3)
    • VS Code at /Applications/Visual Studio Code 4.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (3 available)
    • iPhone 13 Pro Max (mobile) • EE8C7BBC-5C01-46B7-984E-6F5AF58D3800 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-15-5 (simulator)
    • macOS (desktop)            • macos                                • darwin-arm64   • macOS 12.4 21F79 darwin-arm64 (Rosetta)
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

@dshukertjr Thanks for your report. I'm also confused about this flag (FlutterDeepLinkingEnabled/flutter_deeplinking_enabled) since the app is still opening when turning it on or off.
Below is my test for this on Android (To make the sample code clearer, I added a scheme (reproduce_issues) for testing Deep Links)

Use the main Dart code and app_links plugin as OP.
Declare AndroidManifest.xml with app link and deep link as below:

<!-- Deep Links -->
<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <!-- Accepts URIs that begin with YOUR_SCHEME://YOUR_HOST -->
    <data
        android:scheme="reproduce_issues"
        android:host="flutterbooksample.com" />
</intent-filter>

<!-- App Links -->
<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="http" android:host="flutterbooksample.com" />
    <data android:scheme="https" />
</intent-filter>

Try setting flutter_deeplinking_enabled to true and false for each test time.

<meta-data android:name="flutter_deeplinking_enabled" android:value="false" />

Complete AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test_deeplink_119938">
   <application
        android:label="test_deeplink_119938"
        android:name="${applicationName}"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">
            <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
            <meta-data
              android:name="io.flutter.embedding.android.NormalTheme"
              android:resource="@style/NormalTheme"
              />
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>

            <!-- Deep Links -->
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <!-- Accepts URIs that begin with YOUR_SCHEME://YOUR_HOST -->
                <data
                    android:scheme="reproduce_issues"
                    android:host="flutterbooksample.com" />
            </intent-filter>

            <!-- App Links -->
            <intent-filter android:autoVerify="true">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="http" android:host="flutterbooksample.com" />
                <data android:scheme="https" />
            </intent-filter>

        </activity>
        <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />

       <!-- Deep linking -->
       <meta-data android:name="flutter_deeplinking_enabled" android:value="false" />

   </application>
</manifest>

Test with adb CLI:

adb shell am start -a android.intent.action.VIEW \
    -c android.intent.category.BROWSABLE \
    -d "http://flutterbooksample.com/book/1" \
    com.example.test_deeplink_119938

adb shell am start -a android.intent.action.VIEW \
    -c android.intent.category.BROWSABLE \
    -d "reproduce_issues://flutterbooksample.com/book/1" \
    com.example.test_deeplink_119938

App is open all the time even setting flutter_deeplinking_enabled to false and run adb to start Deep Links.

Labeling the issue for further insights.

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.7.1, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.7.1 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7048ed95a5 (11 hours ago), 2023-02-01 09:07:31 -0800
    • Engine revision 800594f1f4
    • Dart version 2.19.1
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio Dolphin 2021.3.1.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio Dolphin 2021.3.1.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.74.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (4 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D                         • android-arm64  • Android 11 (API 30)
    • iPhone (mobile)  • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.7.2 19H218
    • macOS (desktop)  • macos                                    • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome                                   • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.8.0-4.0.pre.25, on macOS 13.0.1 22A400 darwin-x64, locale en-VN)
    • Flutter version 3.8.0-4.0.pre.25 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b8f5394a5c (19 hours ago), 2023-02-04 23:06:19 -0800
    • Engine revision 2a104cdfcd
    • Dart version 3.0.0 (build 3.0.0-204.0.dev)
    • DevTools version 2.21.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Users/huynq/Library/Java/JavaVirtualMachines/corretto-1.8.0_302/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment Corretto-8.302.08.1 (build 1.8.0_302-b08)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14B47b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (version 2022.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.75.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.58.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 13 (API 33)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 13.0.1 22A400 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 109.0.5414.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

It looks like that Info.plist key prevents the Flutter engine pushing the route from the app delegate:
https://github.com/flutter/engine/blob/a339093f6593e4e155451019af06f333d8f3e325/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate.mm#L175-L178
https://github.com/flutter/engine/blob/a339093f6593e4e155451019af06f333d8f3e325/shell/platform/darwin/ios/framework/Source/FlutterAppDelegate.mm#L138-L143
But first it lets the registered plugins try to open the link, without checking the Info.plist key:
https://github.com/flutter/engine/blob/a339093f6593e4e155451019af06f333d8f3e325/shell/platform/darwin/ios/framework/Source/FlutterPluginAppLifeCycleDelegate.mm#L327-L328
https://github.com/flutter/engine/pull/22356
https://github.com/flutter/engine/pull/27874
Based on https://github.com/flutter/flutter/issues/69786 it seems like this was on purpose, and the key was to favor the plugins that handle deep linking, preventing two routes from being pushed.

However, this become a breaking change for apps that handles deeplink by writing their own plugin.

I know this happened awhile ago, but @chunhtai @gaaclarke @johnpryan do you remember?  If so it seems like the documentation needs to be updated to make this clearer?

There was no specific decision on whether setting the flag should turn off plugin based deeplinks at the time AFAIK.
I don't think we should disable it though. Besides being a breaking change, someone may want to use the deeplink intent for something other than navigating the app, for example, logging or something else. They will still be able to write a plugin even if the flag is set.
I think we should update the documentation for sure

Right now the documentation says:

If you have written a plugin to handle deep links, as described in Deep Links and Flutter applications (a free article on Medium), it will continue to work until you opt-in to this behavior by adding FlutterDeepLinkingEnabled to Info.plist or flutter_deeplinking_enabled to AndroidManifest.xml, respectively.

So, o you opt-in we don't provide any guarantees that it will continue to work. Essentially we don't define the behavior for plugins when you add this flag. To me, the documentation is clear but I'm happy to add a sentence to call out that plugin code may or may not work when you turn on this flag.

Just one clarification question. Would enabling FlutterDeepLinkingEnabled/flutter_deeplinking_enabled flag disable plugin-based deep links?
@chunhtai is saying we should not disable it, and @johnpryan is saying it may work or it may not work, but Flutter does not guarantee if it will work with the flags enabled. Those two statements seems very different.
Personally, I would love if there was a guarantee that the plug-in based deep linking would work with the flag enabled for the reasons @chunhtai has listed here

I still feel like there is a lot of ambiguity here. From playing around a bit, as far as I can tell, this flag is just a noop and doesn't currently control anything?

cc @hangyujin who is working on switching the flag default


Change critical formatted string to fstring

Since we have moved to python3, I think we'd mostly like to use fstring. Seems like fstring is slightly faster than .format. I don't think we need to change those .format or %s in those exceptions, so I only changed those critical usages.

Looks good! But should we use single quote ' instead of double quote " in the future? Since you can put " " inside ' ' but not the other way around.

Looks good! But should we use single quote ' instead of double quote " in the future? Since you can put " " inside ' ' but not the other way around.

I think you can put double quote inside single quote, it's just that you cannot put the same quote inside itself.
>>> print('"12"')
"12"
>>> print("'12'")
'12'
>>>

Looks good! But should we use single quote ' instead of double quote " in the future? Since you can put " " inside ' ' but not the other way around.

I think you can put double quote inside single quote, it's just that you cannot put the same quote inside itself.
>>> print('"12"')
"12"
>>> print("'12'")
'12'
>>>

oh yeah I think you are right. they are the same.

@yo96 I realized I didn't clean up the whole folder. You may have to review a LOT of files. also @ptpan you should also take a look since I cleaned up all those RTLIR and translation passes and just want to fill you in about what I did.


[Feature] Add firebase authorization to the login and signup page

Description
Hey @rohansx I want to add firebase authorization to the login and signup page. Please assign me this issue. Thank you!
Screenshots
No response
Checklist

[X] I have checked the existing issues
[X] I have read the [Contributing Guidelines]
[X] I have read the discussion tab thoroughly and got the project idea
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

not needed... added next auth kindly check it!


3.11.1.mergeback

🚀 Pull Request
Description

Consult Iris pull request check list

Add any of the below labels to trigger actions on this PR:

https://github.com/SciTools/iris/labels/benchmark_this

OK I think some of this is probably a mistake.
Virtually all the commits here seem to have been cherry-picked from
Taking the commits in order ...

commit
found on branch v3.11.x
equivalent commit already on main ?
?? required in mergeback ??

date_microseconds FUTURE flag (https://github.com/SciTools/iris/pull/6260) https://github.com/SciTools/iris/pull/6273/commits/7f973366a96b19238ee730a37b056fa1a5dea414
yes
https://github.com/SciTools/iris/commit/df4c52b632c69fb0702b651b57aff05d9f9c1a0e
NO already on main : should not be included in mergeback

Pin dask <2024.9 (https://github.com/SciTools/iris/pull/6255) https://github.com/SciTools/iris/pull/6273/commits/00e79c5f2e1ec2510fa743a821114e4cb4eaf906
yes
https://github.com/SciTools/iris/commit/d135ebb900f52aeddc7b9b48a5b12c1fba0a624b
NO already on main : should not be included in mergeback

fixed merge commits https://github.com/SciTools/iris/pull/6273/commits/c79d901d2cb0b13f9557acb1f866ebc0e442b4d8
no
-
NO part of resolving this specific merge attempt : not relevant

Remove freepik.com link due to linkcheck breakage (https://github.com/SciTools/iris/pull/6261) https://github.com/SciTools/iris/pull/6273/commits/dbcacb147ffb729830677a59070694879885c715
yes
https://github.com/SciTools/iris/commit/bd1ae15cb302ede19e7c2fceb4467e9d37d482df
NO already on main : should not be included in mergeback

removed use of shared utils https://github.com/SciTools/iris/pull/6273/commits/606bb2e757734396c37fad913001139a90e46499
yes
no
YES this change is wanted on main

Fix broken link. (https://github.com/SciTools/iris/pull/6246) https://github.com/SciTools/iris/pull/6273/commits/752dfb8da9768ae4b9538a7c2f9539b22d57ba0f
yes
https://github.com/SciTools/iris/commit/621a513a21e32a9d57323a95eb032c5dc8bfc88f
NO already on main : should not be included in mergeback

Merge pull request #6270 from ESadek-MO/v3.11.PATCH https://github.com/SciTools/iris/pull/6273/commits/c4640c3869ac6f79406d989153007059742590d1
yes
-
NO merge commit to 3.11, doesn't itself represent anything

fixed merge conflicts https://github.com/SciTools/iris/pull/6273/commits/ec0bf6bf7b0117e1ed4138b3405ba61176a87503
yes
-
NO only relevant to resolving this merge

edited whatsnew https://github.com/SciTools/iris/pull/6273/commits/b3ecce1b5ddc67b0aaf0da5ed96e5d0fc323a7f1
yes
no
YES changes wanted on main

SO IN SHORT ...
I think all you really need is to pick the changes you made in this branch alone ==

"removed use of shared utils"
"edited whatsnew".

I think if you look at past merge-backs, such as https://github.com/SciTools/iris/pull/6104 https://github.com/SciTools/iris/pull/5921 https://github.com/SciTools/iris/pull/5794 that is consistent : there is very little on them.
One question is, what was the relationship between the commits in those mergebacks and the equivalents on the version .x branhces ?
E.G. in the v3.10.x mergeback, https://github.com/SciTools/iris/pull/6104/commits/10e7f46d3f7e65833fa2490d088f6f29e49b88ee is a whatsnew-update commit.  On the 3.10.x branch itself, this is the commit https://github.com/SciTools/iris/commit/ac3c91409cbed35595ff66917b2a50202c1bd707.
So I think that means it's perfectly OK to use cherry-pick to select wanted commits :
No need for the history to contain the "original" signed commits, as long as the changes are all pretty trivial, as tends to be the case.


ci: Update dependabot (or switch to renovate) and have them open draft PRs

Describe what should be investigated or refactored
Related to #410.
When the dependency tool of our choice updates our repo, we would like to have the PRs they open be made as a draft so that we can approve, un-draft, and merge at our convenience and at a time that makes sense given our limited runner pool.

Related to #696


Cannot locate type definitions

After installing from npm (pptxgenjs v2.5.0), one should be able to import thus:
import PptxGenJS from 'pptxgenjs';

However, this gives the following error:
Could not find a declaration file for module 'pptxgenjs'. '.../node_modules/pptxgenjs/dist/pptxgen.min.js' implicitly has an 'any' type.
  Try `npm install @types/pptxgenjs` if it exists or add a new declaration (.d.ts) file containing `declare module 'pptxgenjs';`

Instead, in order to successfully import it:
import PptxGenJS from 'pptxgenjs/dist/pptxgen';

That's because the package.json should have a typings key pointing to the types definition file. I have created a PR for that. https://github.com/gitbrent/PptxGenJS/pull/558

Thanks @thitemple !


Surfaces mode material window / assinging issue

When brush is selected in hierarchy in surface mode, any attempt of assigning material via small "o" button (one that opens material selection window) will result in brush deselection if any brush in scene view is between button and window.
Re-selection of brush in hierarchy automatically hides material assign window, which makes material assigning really frustrating.
Steps to reproduce:

Create any model with brush inside;
Select brush via hierarchy;
Go to "Surfaces" mode;
Click on the "Select Material" button;
Move cursor across any brush in scene while"Select Material" window is openning (w/o holding mouse button);

Expected result - selection stays on the brush;
Actual result - surface of the brush auto-selects when "Select Material" window shows up, resetting previous selection.
Note that this only happens during Select Material window loading. If I don't move mouse while it's loading, it doesn't deselect brush as intended.
RealtimeCSG v.1.516, Unity 2017.3.0f3

I tried reproducing it, but I didn't see anyhing weird happening .. maybe I'm not understanding this
It would really help if you recorded the behaviour you see and send it to me so I can see what you're seeing
(you could use gifcam http://blog.bahraniapps.com/gifcam/ for example)

Here's an example.
You can see that sometimes brush just deselects itself when switching from "Object" to "Surface" mode.
It also selects background brushes when moving cursor while "Select Material" window is loading.
Sometimes it simply deselects the brush, if there isn't any brushes in the background.

Interesting .. I'm not seeing that in 1.517 (version I'm working on) .. maybe I fixed this somehow? I'll see if I can reproduce it in 1.516. In the meantime, can you try if this also happens when you first dock the helper window (by clicking on the x) and then try to change the material?
Also, you can change the material by dragging the material on brush, either in the scene or in the inspector, or on the material in the surface window.

Yeah, I'm unable to reproduce it, if it's a docked version of a window.

Also, you can change the material by dragging the material on brush, either in the scene or in the inspector, or on the material in the surface window.

That's what I've been doing before, but I've never tried using docked version instead, since UI is a little bit less convienient.

What about the docked version of the surface window is less convienient? Is there something I can improve there?

I guess there's too much empty space.
Mode selection buttons are too small and they're visually merging with other elements. Using bigger size and filling whole row for the button might be a better solution. (Since there's plenty of space)
Material selection could be separated from the label and moved to the next line, that would allow to decrease required space of the window.
Tooltip window appears too fast, some delay would be great.
Also, some visible separators between would be great (inbetween sections instead of empty spaces or with it), especially in "Generate" mode.
But all the above is just my thoughts and subjective opinion.

Ok, thanks for the feedback :)

I added ticket #266 for the last thing you mentioned.
I'm not able to reproduce the first problem you mentioned, let me know if this is still an issue for you

Hi.
I've got a repro for this issue.
Here's a gif. Had to shrink it a little but I think it shows what's happening.

Select a surface
Open the Material Selector and quickly move the mouse over another face
The other face gets selected after the material window is done initialising.

I'm on Unity 2018.4.x (bless you guys for LTS verions).
And the latest RCSG from the asset store.
Also:
The work around with docking the window still works.

I've been fumbling about with the debugger a little and here's what I found.
Maybe it helps a bit.
The issue is: There's a mouseUp event being fired with the surface editor in scene-view mode.
That causes the selection to update in EditMode.Surface.HandleEvents:1407
This event is not fired when:

The editor is in a floating window or docked

So here is my theory...
When in scene-view-mode, the editor is handled by the SceneViewEventHandler.
Opening the Material Editor has a delay to it. It will block the thread that is processing the events,
while it's loading.

During that time the event queue will halt.
You move the mouse out of the editor rectangle.
The next MouseUp event is registered to be happening in the scene viewport, event though the mouse was downed in the editor window.

That causes the selection to update.
It thinks it was a normal click and has to update its selection.

@damagefilter theory is correct I think. I am getting this behavior on 2019.4.8f1, does not happen in the docked/floating view.

Hmm, ok, I guess I don't have a large enough material collection to have a delay for that window to open ... which makes it hard for me to fix

I "fixed" it by throwing better hardware at it.
When I reported the issue, I was working on a laptop.
This has an i7 alright (and a GTX 1070) and I never used it on battery only but I suspect that, due to it being hardware in a laptop,
it was weak enough to cause the material window to load slower, causing a longer lock.
Maybe this also is connected to the drive the project was on.
Mine was on an SSD but my current one is much faster. So I can imagine if you had it on a HDD it would work towards producing the initially described behaviour.
Conversely, I think this can be reproduced on either mobile or somewhat older hardware.

I think I might have a fix, but I can't verify it. I'll finish things up later today, after work


ipfs-cluster: 1.0.1 -> 1.0.2

Description of changes
https://github.com/ipfs/ipfs-cluster/releases/tag/v1.0.2
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

[nix-shell:~/.cache/nixpkgs-review/pr-181382]$ 2022-07-19T17:18:03.624Z	INFO	service	ipfs-cluster-service/daemon.go:49	Initializing. For verbose output run with "-l debug". Please wait...
2022-07-19T17:18:03.626Z	INFO	badger	badger@v1.6.2/logger.go:46	All 0 tables opened in 0s

2022-07-19T17:18:03.760Z	INFO	badger	badger@v1.6.2/logger.go:46	Replaying file id: 0 at offset: 0

2022-07-19T17:18:03.760Z	INFO	badger	badger@v1.6.2/logger.go:46	Replay took: 1.416µs

2022-07-19T17:18:03.760Z	INFO	service	ipfs-cluster-service/daemon.go:267	Datastore backend: badger
2022-07-19T17:18:03.767Z	INFO	cluster	ipfs-cluster/cluster.go:137	IPFS Cluster v1.0.2 listening on:
        /ip4/<IP_ADDRESS>/tcp/9096/p2p/12D3KooWR9MhpEbn3GyzS1tS5cujgH4hqyDvsD5PPt6WATdJWKRy
        /ip4/<IP_ADDRESS>/tcp/9096/p2p/12D3KooWR9MhpEbn3GyzS1tS5cujgH4hqyDvsD5PPt6WATdJWKRy

2022-07-19T17:18:03.769Z	INFO	pinsvcapi	common/api.go:460	PINSVCAPI (HTTP): /ip4/<IP_ADDRESS>/tcp/9097
2022-07-19T17:18:03.769Z	INFO	restapi	common/api.go:460	RESTAPI (HTTP): /ip4/<IP_ADDRESS>/tcp/9094
2022-07-19T17:18:03.769Z	INFO	ipfsproxy	ipfsproxy/ipfsproxy.go:323	IPFS Proxy: /ip4/<IP_ADDRESS>/tcp/9095 -> /ip4/<IP_ADDRESS>/tcp/5001
2022-07-19T17:18:03.770Z	INFO	crdt	go-ds-crdt@v0.3.6/set.go:122	Tombstones have bloomed: 0 tombs. Took: 63.254µs
2022-07-19T17:18:03.770Z	INFO	crdt	go-ds-crdt@v0.3.6/crdt.go:296	crdt Datastore created. Number of heads: 0. Current max-height: 0. Dirty: false
2022-07-19T17:18:03.770Z	INFO	crdt	crdt/consensus.go:318	'trust all' mode enabled. Any peer in the cluster can modify the pinset.
2022-07-19T17:18:03.770Z	INFO	crdt	go-ds-crdt@v0.3.6/crdt.go:505	store is marked clean. No need to repair
2022-07-19T17:18:03.770Z	INFO	cluster	ipfs-cluster/cluster.go:733	Cluster Peers (without including ourselves):
2022-07-19T17:18:03.770Z	INFO	cluster	ipfs-cluster/cluster.go:735	    - No other peers
2022-07-19T17:18:03.770Z	INFO	cluster	ipfs-cluster/cluster.go:748	** IPFS Cluster is READY **
2022-07-19T17:18:03.771Z	ERROR	ipfshttp	ipfshttp/ipfshttp.go:640	error posting to IPFS:Post "http://<IP_ADDRESS>:5001/api/v0/id": dial tcp <IP_ADDRESS>:5001: connect: connection refused
2022-07-19T17:18:03.771Z	ERROR	ipfshttp	ipfshttp/ipfshttp.go:640	error posting to IPFS:Post "http://<IP_ADDRESS>:5001/api/v0/repo/stat?size-only=true": dial tcp <IP_ADDRESS>:5001: connect: connection refused
2022-07-19T17:18:03.771Z	ERROR	ipfshttp	ipfshttp/ipfshttp.go:817	Post "http://<IP_ADDRESS>:5001/api/v0/repo/stat?size-only=true": dial tcp <IP_ADDRESS>:5001: connect: connection refused
2022-07-19T17:18:03.771Z	ERROR	diskinfo	disk/disk.go:124	Post "http://<IP_ADDRESS>:5001/api/v0/repo/stat?size-only=true": dial tcp <IP_ADDRESS>:5001: connect: connection refused
2022-07-19T17:18:03.771Z	ERROR	ipfshttp	ipfshttp/ipfshttp.go:640	error posting to IPFS:Post "http://<IP_ADDRESS>:5001/api/v0/pin/ls?stream=true&type=recursive": dial tcp <IP_ADDRESS>:5001: connect: connection refused
2022-07-19T17:18:03.771Z	ERROR	ipfshttp	ipfshttp/ipfshttp.go:550	error querying pinset: %sPost "http://<IP_ADDRESS>:5001/api/v0/pin/ls?stream=true&type=recursive": dial tcp <IP_ADDRESS>:5001: connect: connection refused
2022-07-19T17:18:03.771Z	ERROR	pintracker	stateless/stateless.go:667	Post "http://<IP_ADDRESS>:5001/api/v0/pin/ls?stream=true&type=recursive": dial tcp <IP_ADDRESS>:5001: connect: connection refused

[nix-shell:~/.cache/nixpkgs-review/pr-181382]$ ./results/ipfs-cluster/bin/ipfs-cluster-ctl id
2022-07-19T17:18:16.324Z	ERROR	ipfshttp	ipfshttp/ipfshttp.go:640	error posting to IPFS:Post "http://<IP_ADDRESS>:5001/api/v0/id": dial tcp <IP_ADDRESS>:5001: connect: connection refused
2022-07-19T17:18:16.324Z	INFO	restapilog	common/api.go:117	<IP_ADDRESS> - - [19/Jul/2022:17:18:16 +0000] "GET /id HTTP/1.1" 200 591

12D3KooWR9MhpEbn3GyzS1tS5cujgH4hqyDvsD5PPt6WATdJWKRy | applePrincess | Sees 0 other peers
  > Addresses:
    - /ip4/<IP_ADDRESS>/tcp/9096/p2p/12D3KooWR9MhpEbn3GyzS1tS5cujgH4hqyDvsD5PPt6WATdJWKRy
    - /ip4/<IP_ADDRESS>/tcp/9096/p2p/12D3KooWR9MhpEbn3GyzS1tS5cujgH4hqyDvsD5PPt6WATdJWKRy
  > IPFS ERROR: Post "http://<IP_ADDRESS>:5001/api/v0/id": dial tcp <IP_ADDRESS>:5001: connect: connection refused

[nix-shell:~/.cache/nixpkgs-review/pr-181382]$ 2022-07-19T17:18:18.770Z	ERROR	ipfshttp	ipfshttp/ipfshttp.go:640	error posting to IPFS:Post "http://<IP_ADDRESS>:5001/api/v0/id": dial tcp <IP_ADDRESS>:5001: connect: connection refused
2022-07-19T17:18:18.772Z	ERROR	ipfshttp	ipfshttp/ipfshttp.go:640	error posting to IPFS:Post "http://<IP_ADDRESS>:5001/api/v0/repo/stat?size-only=true": dial tcp <IP_ADDRESS>:5001: connect: connection refused
2022-07-19T17:18:18.772Z	ERROR	ipfshttp	ipfshttp/ipfshttp.go:817	Post "http://<IP_ADDRESS>:5001/api/v0/repo/stat?size-only=true": dial tcp <IP_ADDRESS>:5001: connect: connection refused
2022-07-19T17:18:18.772Z	ERROR	diskinfo	disk/disk.go:124	Post "http://<IP_ADDRESS>:5001/api/v0/repo/stat?size-only=true": dial tcp <IP_ADDRESS>:5001: connect: connection refused
fg
./results/ipfs-cluster/bin/ipfs-cluster-service daemon
^C2022-07-19T17:18:23.550Z	INFO	cluster	ipfs-cluster/cluster.go:779	shutting down Cluster
2022-07-19T17:18:23.550Z	INFO	restapi	common/api.go:501	stopping Cluster API
2022-07-19T17:18:23.550Z	INFO	pinsvcapi	common/api.go:501	stopping Cluster API
2022-07-19T17:18:23.550Z	INFO	ipfsproxy	ipfsproxy/ipfsproxy.go:289	stopping IPFS Proxy
2022-07-19T17:18:23.550Z	INFO	crdt	crdt/consensus.go:348	stopping Consensus component
2022-07-19T17:18:23.550Z	INFO	monitor	pubsubmon/pubsubmon.go:192	stopping Monitor
2022-07-19T17:18:23.550Z	INFO	ipfshttp	ipfshttp/ipfshttp.go:252	stopping IPFS Connector
2022-07-19T17:18:23.550Z	INFO	pintracker	stateless/stateless.go:270	stopping StatelessPinTracker

[nix-shell:~/.cache/nixpkgs-review/pr-181382]$ ./results/ipfs-cluster/bin/ipfs-cluster-ctl --help
NAME:
   ipfs-cluster-ctl - CLI for IPFS Cluster

USAGE:
   ipfs-cluster-ctl [global options] command [command options] [arguments...]

VERSION:
   1.0.2

DESCRIPTION:

ipfs-cluster-ctl is a tool to manage IPFS Cluster nodes.

Use "ipfs-cluster-ctl help" to list all available commands and
"ipfs-cluster-ctl help <command>" to get usage information for a
specific one.

ipfs-cluster-ctl uses the IPFS Cluster API to perform requests and
display responses in a user-readable format. The location of the IPFS
Cluster server is assumed to be /ip4/<IP_ADDRESS>/tcp/9094, but can be configured
with the --host option. If several multiaddresses are specified
(comma-separated), requests will be sent to the first one and fail-over
over to the others. This also works for dns-based addresses which resolve
to multiple values.

To use the secure libp2p-http API endpoint, use "--host" with
the full cluster libp2p listener address, including the "/p2p/<peerID>"
part, or a /dnsaddr that resolves to it. Provide the cluster secret with
--secret as needed.

For feedback, bug reports or any additional information, visit
https://github.com/ipfs-cluster/ipfs-cluster.

COMMANDS:
   id       Retrieve peer information
   peers    List and manage IPFS Cluster peers
   add      Add a file or directory to ipfs and pin it in the cluster
   pin      Pin and unpin and list items in IPFS Cluster
   status   Retrieve the status of tracked items
   recover  Recover tracked items in error state
   version  Retrieve cluster version
   health   Cluster monitoring information
   ipfs     Manage IPFS daemon
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --host value, -l value         API endpoint multiaddresses (comma-separated) (default: "/ip4/<IP_ADDRESS>/tcp/9094")
   --secret value                 cluster secret (32 byte pnet-key) as needed. Only when using the LibP2P endpoint
   --https, -s                    use https to connect to the API
   --no-check-certificate         do not verify server TLS certificate. only valid with --https flag
   --encoding value, --enc value  output format encoding [text, json] (default: "text")
   --timeout value, -t value      number of seconds to wait before timing out a request (default: 0)
   --debug, -d                    set debug log level
   --basic-auth value             <username>[:<password>] specify BasicAuth credentials for server that
requires authorization. implies --https, which you can disable with --force-http [$CLUSTER_CREDENTIALS]
   --force-http, -f  force HTTP. only valid when using BasicAuth
   --help, -h        show help
   --version, -v     print the version

change looks good to me.

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

1 package built:

ipfs-cluster

Looks good for x86_64-linux , however tests failed on x86_64-darwin ran by ofborg. Could you re-check ?

Weird, I just checked out this branch, executed nix-build -A ipfs-cluster and the tests ran perfectly fine on my x86_64-darwin machine.
Perhaps the test is flakey? What else could cause this?

I don't have darwin so I cannot help here.
Check by running nixpkgs-review pr 181382 because that is effectively what is doing by ofborg. So you can inspect further.

During the tests, the macOS firewall asks three times if I wish to allow incoming connections. If I click the button to allow it or I just ignore the dialog box and do nothing, then the tests pass but if I click the button to deny incoming connections, the test fails with the same error message as OfBorg.

Here is my translation of the text in the dialog box:

Do you want the program "common.test" to accept incoming network connections?
Clicking on "Do not allow" may limit the behaviour of the program. This setting can be changed in the system preferences "Security" under "Firewall".

If I deactivate the macOS firewall, the tests also pass.
There is also an option to block all incoming connections, which also causes the test to pass for some reason.
So in summary, I suspect that this may have something to do with the macOS firewall but I'm not sure what the difference between my machine and OfBorg is.

Yeah... really weired. Looking hydra job log for ipfs-cluster 1.0.1 this looks awfully similar to what is failing here. except the hydra one passes the test.

I think those errors in the log are expected. Compare it to the project's official CI run: https://github.com/ipfs-cluster/ipfs-cluster/runs/7218915278?check_suite_focus=true.
I think the error in this PR is something different. Should I just rebase the commit so the test runs again? Maybe it's just a flaky test. If so, I can report it upstream.

I don't want to compare upstream test result because they only run on ubuntu that will likely differ from what we see here on darwin.
And that is why I was comparing with older version of hydra job which ran on darwin.
Yeah agree to rebase this, if tests failing on ofborg but you can make sure that test still passes on your local machine then I can accept this.

@ofborg build ipfs-cluster ipfs-cluster.passthru.tests


Fix ESLint errors

Updating to ESLint 1.6.0 and eslint-airbnb-config 0.1.0 and executing npm run lint gives 169 errors. Some of it are variable names that are too short,  but some others should probably be fixed.

I think too short vars are ok and we just need to override that rule to 0

Fixed by #215


Blob State Storage Instructions are incorrect for Node bots

Issues with this document initially reported in https://github.com/microsoft/botbuilder-js/issues/4411.
The instructions for installing and configuring blob storage for Node.js bots is out of date. The current instructions mostly reference the botbuilder-azure package. However, the blob storage class in this package has been deprecated and the functionality moved to a new class in the botbuilder-azure-blobs package.
In the section Installing Blob Storage Packages:

While the example command instructs users to (correctly) install botbuilder-azure-blobs, the rest of the text in this section references the botbuilder-azure package. These references should be changed to specify botbuilder-azure-blobs.

In the section Blob Storage Implementation:

There are more references to botbuilder-azure that need to be changed to botbuilder-azure-blobs.
The code to reference the blobs class in the code is currently written as:

const { BlobStorage } = require("botbuilder-azure");

In order to reference the new blobs class, it should be changed to:
const { BlobsStorage } = require("botbuilder-azure-blobs");

Note: The old class name BlobStorage has been changed to BlobsStorage, where the word "Blob" has been pluralized. This is easy to miss and will cause errors claiming an inability to create the object. All references to the old class name must be updated to the new class name.

The code to create a new blob storage object is currently written as:

const myStorage = new BlobStorage({
    containerName: process.env.BlobContainerName,
    storageAccountOrConnectionString: process.env.BlobConnectionString
});

In order to correctly create the new object, it should be written as follows:
const myStorage = new BlobsStorage(
    process.env.BlobConnectionString,
    process.env.BlobContainerName
);

Notes:

The {} brackets are now gone. The constructor in the old class took an object containing the connection string and container name as a parameter. The new class only accepts each as a distinct string parameter.
The order of the parameters matters now, and has been changed accordingly. The connection string must be first, and the container name second.

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

ID: 7538ed7a-5bb8-abc0-23e7-5b118e2fd47f
Version Independent ID: f6181862-6527-6698-afcd-4f6d240123da
Content: Write directly to storage - Bot Service
Content Source: articles/v4sdk/bot-builder-howto-v4-storage.md
Service: bot-service
GitHub Login: @JonathanFingold
Microsoft Alias: iawilt

Fix merged.


Question: How doe this improve on your older design?

I've been using your previous design successfully since 2021.  I'd love to hear how this differs.  I really like unit I'm using but have considered a change for three reasons:

Filament seems to break when sitting for more than a week.  This might be unavoidable due to the way the filament is positioned as it flows through the buffer.

Occasionally I struggle to get the filament to exit the unit as it gets caught on the M10, and I have to twist it quite a bit to get it to flow smoothly through the opening.

I'd like to try to better seal the box, as I've found that I get much better prints when my filament is dry, and while I'm starting from a sealed/dry RepBox, the current solution is out in the open.  I guess I can go with the sealed walls as a start.

Thanks!

hey, nice to know the previous design was working for you. i'll address your issues and talk about general improvements.

that's a factor of the PTFE tubes, filament gets brittle in the tubes. i've seen this discussed enough to consider it "generally known" although google might reveal reasons. the "standard version" of this new design uses 3mm ID, 6mm OD tubing; I'm curious to see if this helps with that problem, but i haven't been using it long enough to know yet.
this design uses no connectors on the buffer, or alternative bottom brackets use "pass through connectors". In either of these cases, the path of the filament through the connector (and even through the part) is lined, which eliminates the catching you describe (and also greatly reduces overall friction. this was a design goal for this project
There's already an issue  opened for a sealed version; this will mostly require some redesign of the bottom part but it should be pretty easy, but it will be a while before I get to it. But thanks for weighing in, I definitely am interested in what folks are looking for, and this seems to be a common request.

Other improvements:

the path of the filament now exits the buffer at a 45 degree angle. installing such that there's a straight path to your filament and a straight path to the MMU has cut friction more that 4x from the design you're using (in fact my first model did that so effectively that it pushed the filament right around the wheel and back into my repbox)
the "bracket" no longer has those awful printed screws, it just snaps into place. this makes me happy every time I assemble one.
you could achieve this without printing a whole new buffer, but the PTFE stepdown adapter design makes the path from the buffer to the printer more easily user serviced. this makes loading filament way easier.
the 6mm OD tubing is significantly more durable than 4mm tubing. it makes it a little "stiffer" when changing filament, but should mean better performance and durability over time.
the new design is much easier to tinker with than the old one, which should allow for more variants in the future (such as a drybox config or different entry / exit angles, etc.
there are 3 different "locking mechanisms" for the new design -- they simply "snap" into place with a click lock point, which has worked well enough for me without further locking. but there's also a per-bracket sliding pin (as before) or a pin that slides in from the side. if the click lock holds up over time then this will make changing filament easier.
the top and bottom of the buffer now can mount to the wall, which will allow for 2 connection points on the same stud.

generally if you have something in place that's working for you, you may want to hang on for a bit and see what comes down the pike as folks raise issues or feature requests and I address them ¯_(ツ)_/¯
I will say that if you have spare cycles on your printer and you're willing to burn through the filament to test this model, I would greatly appreciate your perspective as someone who used the previous version. However, I would still probably recommend that you wait for solid walls and a sealed bottom before testing. That's also likely to give me some time to address some other minor concerns. I'll be populating issues after Printopia weekend which should give you an idea of what's coming.