Uncaught ReferenceError: useState is not defined

I get TypeError useState not defined if I remove setState from my component.
Ex: let's say I want to use the widget only to upload picture but not set any state on success. or if i want to use it on an RSC, it can't be done at the moment.

codepen with issue: https://codepen.io/kirandash/pen/WNaVqXY?editors=0011

Your CodePen's code (attached below) references useState but does not import it, which is why you're receiving useState is not defined in your CodePen.
If you add it at the top, then the error will go away.
If you're experiencing a different error, please let me know, but as it stands with your CodePen, I can't see any erroneous behavior or bugs: I would expect that error to happen.
const { useEffect } = React

// ---------------------------
// Configure react-uploader...
// ---------------------------

// import { Uploader } from "uploader"
const uploader = Uploader({ apiKey: "free" });
const uploaderOptions = {
  multi: true,

  // Comment out this line & use 'onUpdate' instead of
  // 'onComplete' to have the dropzone close after upload.
  showFinishButton: true,

  styles: {
    colors: {
      primary: "#377dff"
    }
  }
}

// --------------------
// Create a dropzone...
// --------------------

const MyDropzone = ({setFiles}) =>
  <UploadDropzone uploader={uploader}
                  options={uploaderOptions}
                  onUpdate={files =>
                    console.log(`Files: ${files
                           .map(x => x.fileUrl)
                           .join("\n")}`)
                  }
                  onComplete={() => {}}
                  width="600px"
                  height="375px" />

// -----------------------------
// Display the uploaded files...
// -----------------------------

const MyUploadedFiles = ({files}) => files.map(file => {
  // Tip: save 'filePath' to your DB (not 'fileUrl').
  const filePath = file.filePath
  // "raw" for un-transformed file.
  const fileUrl  = uploader.url(filePath, "thumbnail")
  return (

      {fileUrl}

  );
})

// ----------------------
// Run the application...
// ----------------------

const MyApp = () => {
  const [files, setFiles] = useState([])
  return (
    <>
      {files.length
         ? <MyUploadedFiles files={files} />
         : <MyDropzone setFiles={setFiles} />
      }

        Powered by Upload.io

    </>
  );
}

ReactDOM.render(
  <MyApp />,
  document.getElementById('root')
);

Yeah, I think I missed that
Thanks for your time.


ZEVA - Error message received on credit application submission (BCeID)

Describe the Bug
A user (Jaguar Land Rover) reported repeatedly seeing an error message when they submitted a credit application to government, after it had been returned to the supplier by government. The credit application was successful received by government.
Expected Behaviour
The BCeID user should not see an error message when they submit a credit application that has been returned by government.
Actual Behaviour
The BCeID user sees an error message when they submit a credit application that has been returned by government. This was last seen on submission of CA-423 in production.
Implications
The error suggests to the user that the credit application has failed, but this is not the case.
Steps To Reproduce
Steps to reproduce the behaviour:
User/Role:

Go to Credit applications (BceID user)
Create and submit a credit application to government
Government return credit app to supplier
Supplier updates credit app and re-submits to gov
See error message

Notes
-since it is actually submitting/updating the database, the error could be on the frontend and related to a redirect after submitting?

Saw this ticket; wanting to add more context that Alex, mentioned this is most likely a session issue.  Unless this happens with any and all submissions under the same circumstance it's probably not a redirect issue.  Since the submission is still being processed by our backend successfully, the culprit is most likely the silent token renewal.

Issue to be closed - will revisit if this is reported again.


Endpoint performance and memory pressure optimization

This is a bit of a controversial change from the view point of the API, yet makes a lot of sense from the view point of performance and memory utilization for very large clusters.
The issue here is that the hostname of an Endpoint is modelled as a protobuf string type. This type carries with it the overhead of encoding to or decoding from UTF-8 every time a message is sent or received (and the field accessed).
From the view point of the algorithms in place, there's no added value in having the endpoint host data be encoded as byte array or utf-8 encoded string. It is just data, what matters is that the ordering of the endpoints can be established. Having a string only matters at the interfaces: when configuring a hostname, when sending a message to one and when printing log statements (most of which at DEBUG/TRACE level).
Yet at the moment, when adding a new endpoint to the membership ring(s), the following code runs:
  public java.lang.String getHostname() {
    java.lang.Object ref = hostname_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs =
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      hostname_ = s;
      return s;
    }
  }

For freshly received messages containing Endpoints, this means running toStringUtf8(), which when there are many is quite expensive in terms of CPU and memory usage.
This PR does the following:

use bytes rather than string to encode the hostname in protobuf
adjust all interfaces - the Cluster APIs are actually (almost) not affected since they use the HostAndPort construct
use the existing underlying / existing byte array when computing the hashcode of an Endpoint in Utils.AddressComparator
getting rid of the mapping between Map<String, Metadata> and Map<Endpoint, Metadata> by representing the map as two lists in protobuf (keys and values)

On local tests with 1000 concurrent nodes joining, there's a 10% improvement in memory allocation and a 20% improvement in CPU usage of the stack starting at the TreeSet.add method (39% vs 58%).
Memory allocation before:

Memory allocation after:

CPU before:

CPU after:

This is a pretty good patch. Thanks @manuelbernhardt (and apologies for taking so long for reviewing). I particularly appreciate the conversions being only at the interface boundaries, but not within the core data structures itself.
One question though: do these improvements hold for more recent versions of protobuf? The protobuf/grpc versions that we use are about two years old.

Hi @lalithsuresh, I haven’t tested with more recent versions of protobuf / its code generator but there are a few reasons that I think it still would be the same in the latest version:

when I saw this behavior I found this thread on the topic from 2009. So I think this was possibly an issue already then and has been optimized since
there has to be an inherent cost related to turning an array of bytes into a proper UTF-8 encoded string). The issue manifests in this setting because there are many strings involved - even if there was a better deciding algorithm available, at scale it would still end up costing performance
I actually saw this before in latency sensitive applications - protobuf fields encoded as byte array where a string seemed more fitting. Now I get why this is :-)

@manuelbernhardt thanks! Glancing quickly at [1], I don't think much has changed in how strings are handled. I'll accept this PR.
[1] https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/compiler/java/java_string_field.cc

@manuelbernhardt by the way, may I ask what tool you're using to produce those graphs? :)

@lalithsuresh thanks for merging this! I'm using async-profiler for profiling - it's also integrated with IntelliJ since a few releases

@manuelbernhardt Oops. Looks like the build is failing.
Compiling 72 source files to /Users/lsuresh/code/rapid-git/rapid/target/classes
/Users/lsuresh/code/rapid-git/rapid/src/main/java/com/vrg/rapid/MembershipService.java:119: error: incompatible types: ISettings cannot be converted to Settings
        this(myAddr, cutDetection, membershipView, sharedResources, settings, messagingClient,
                                                                    ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
1 error

Is the Settings/ISettings change required for this patch?


Adding a CPP file

I am adding a program of Copy constructor in CPP

Go ahead! @Ishant281o, and the next time you want to add a C++ file, you can simply create a Pull Request and mention #19 in its description.

@lovishprabhakar02  I see you have already instructed @Ishant281o regarding the correct way to contribute. So either of you can close this issue.

Closing this issue and @Ishant281o you can proceed as i explained earlier


Clarify what "no runtime" actually means

Well first is to figure out a compact way to describe what the polyfill and helpers are, then to compare that against what runtime means in Traceur's case.
I also want to get rid of the "optional runtime" language, it doesn't accurately reflect what it is and sounds contradictory.

Don't think that phrase is used anymore so closing


 I had put in 2 pending cases and 2 previous orders, both of which would have triggered the attachment to be created (in case that helps diagnose).

Full error text attached as text file but is too long to include here.
error.txt

Update: I tested again using only very basic and essential answers and got the same error.


using .babelrc appears to blow away jest configuration

Hello!
I might be misinterpreting the documentation so I thought I'd post here. I'm interested in using the babel plugin https://github.com/speedskater/babel-plugin-rewire to be able to test my private functions.
I have added a .babelrc with the following content:
{
    "plugins": ["rewire"]
}

Although the plugin does take affect, it appears that any settings config-overrides under the jest key no longer take affect.
For example, I am now receiving errors that my import syntax (e.g. import foo from './foo') is no longer working. Additionally, I am not able to import my installed modules (e.g. import thunk from 'redux-thunk')
Is there a way to add a babel plugin to the jest configuration without blowing away all the settings in config-overrides?

@dawnmist Sorry for the delay - I've created an example repository show casing the error.
reproduction steps are in the README.md. This is pretty much a clean CRA install with the addition of rewired and one babel plugin.
https://github.com/dmk255/react-rewired-jest-issue

It seems that regardless of whether or not "babel" configuration is present, react-app-rewired/scripts/utils/babelTransform.js is never being required despite successful path replacement in config.transform object

@dmk255 Sorry it has taken a little while to get to have a look at this. It seems to be something particular to babel-plugin-rewire, since if I replace the plugin with another babel plugin (e.g. "dynamic-import-node"), the application compiles without issue. I figured since the babel-plugin-rewire wasn't actually being used in the example test repository it was safe to test defining different plugins to see if all plugins would trigger the issue, or just the babel-plugin-rewire one. As soon as I add that plugin back into the definition, compiling breaks again.
I'm still looking into whether I can find out why that particular plugin is breaking the babel compile, but I don't think the issue is actually related to react-app-rewired as such.

@dmk255 Ok, this is odd. With the babel-plugin-rewire active, all the non-es6 imports seem to be require the import * as Name from 'zzz' instead of import Name from 'zzz' syntax. This includes the React, ReactDOM and svg logo, but not your App component.
i.e. Changing the beginning of App.js to:
import * as React from 'react';
import * as logo from './logo.svg';
import './App.css';

class App extends React.Component {

and changing the beginning of App.test.js to:
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import App from './App';

allows it to compile properly with the babel-plugin-rewire plugin active.
At this point, I'd suggest asking the people who maintain babel-plugin-rewire whether they can assist with finding out why the normal imports are not working properly when the rewire plugin is active. Feel free to point them to this issue as a starting point, and you should be able to reuse the example repository you provided here as an example for them to look at. I did take a brief look at their readme documentation, but their examples for the plugin's use with React didn't actually show how React needed to be imported so I couldn't confirm whether the above changes were supposed to be required for babel-plugin-rewire to work or not.

Thanks @dawnmist
Just for clarification if someone from babel-plugin-rewire is looking here.  This repo originally used https://github.com/jhnns/rewire hence the name but it no longer does.
Rewiring rewires 🙃.

Closing this as it doesn't appear to be a direct issue of this repo.


(nucleus): shadow manager stops syncing on upgrade from 2.9.6 to 2.11.1

Describe the bug
When upgrading from nucleus 2.9.6 to 2.11.1 every device i've tried so far stopped syncing shadows with the cloud.  A manual restart of greengrass is required to bring back the sync.
To Reproduce
Upgrade device from 2.9.6 to 2.11.1 (also requires updating shadow manager from 2.3.1 to 2.3.3)
Expected behavior
Syncing resumes.
Actual behavior
No syncing, or errors.
Environment

OS: Ubuntu 22.04
JDK version: OpenJDK Runtime Environment (build 17.0.8+7-Ubuntu-122.04)
Nucleus version: 2.11.1

Additional context
You can see in the logs that when the device is finished updating the connection gets interrupted, the syncing stops and never resumes.
The sync operations only involve the local shadow version and never mention 'cloud-version' subsequently.
Relevant log lines:
2023-08-03T10:11:38.797Z [INFO] (Thread-4) com.aws.greengrass.deployment.IotJobsHelper: Job status update was accepted. {Status=SUCCEEDED, ThingName=home-XXXXXXXXXXXX, JobId=60c75523-5e00-4c1c-ac1f-1c004bc17ba3}
2023-08-03T10:11:38.873Z [WARN] (Thread-8) com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Connection interrupted. {clientId=home-XXXXXXXXXXXX#2, error=Mqtt5 client connection interrupted by user request.}
2023-08-03T10:11:38.874Z [INFO] (pool-2-thread-29) com.aws.greengrass.status.FleetStatusService: fss-status-update-published. Status update published to FSS. {trigger=THING_GROUP_DEPLOYMENT, serviceName=FleetStatusService, currentState=RUNNING}
2023-08-03T10:11:38.875Z [INFO] (Thread-8) com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy: sync. Stop syncing. {}
2023-08-03T10:11:38.876Z [INFO] (Thread-8) com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy: sync. Cancel 1 sync thread(s). {}
2023-08-03T10:11:38.876Z [INFO] (Thread-8) com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy: sync. Waiting for in-flight sync requests to finish. {}
2023-08-03T10:11:38.876Z [INFO] (pool-2-thread-29) com.aws.greengrass.deployment.DeploymentDirectoryManager: Persist link to last deployment. {link=/greengrass/v2/deployments/previous-success}
2023-08-03T10:11:38.877Z [INFO] (pool-2-thread-29) com.aws.greengrass.deployment.DeploymentDirectoryManager: Clean up link to earlier deployment. {link=/greengrass/v2/deployments/previous-success}
2023-08-03T10:11:38.998Z [INFO] (Thread-7) com.aws.greengrass.shadowmanager.ipc.UpdateThingShadowRequestHandler: Successfully updated shadow. {service-name=co.mgh.ShadowPortal, thing name=home-XXXXXXXXXXXX, shadow name=Lighting, local-version=62}
2023-08-03T10:11:39.017Z [INFO] (Thread-7) com.aws.greengrass.shadowmanager.ipc.UpdateThingShadowRequestHandler: Successfully updated shadow. {service-name=co.mgh.ShadowPortal, thing name=home-XXXXXXXXXXXX, shadow name=Shading, local-version=94}
2023-08-03T10:11:39.015Z [INFO] (pool-2-thread-43) com.aws.greengrass.shadowmanager.ShadowManagerDAOImpl: Updating sync info. {thing name=home-XXXXXXXXXXXX, shadow name=Lighting, cloud-version=1577, local-version=61}
2023-08-03T10:11:39.032Z [INFO] (Thread-8) com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy: sync. Finished waiting for sync requests to finish. {}
2023-08-03T10:11:39.039Z [WARN] (pool-2-thread-43) com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy: sync. Interrupted while waiting for sync requests. {}
2023-08-03T10:11:39.041Z [INFO] (pool-2-thread-43) com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy: sync. Finished processing sync requests. {}
2023-08-03T10:11:39.070Z [INFO] (Thread-7) com.aws.greengrass.shadowmanager.ipc.UpdateThingShadowRequestHandler: Successfully updated shadow. {service-name=co.mgh.ShadowPortal, thing name=home-XXXXXXXXXXXX, shadow name=Energy, local-version=69551}
2023-08-03T10:11:39.083Z [INFO] (Thread-7) com.aws.greengrass.shadowmanager.ipc.UpdateThingShadowRequestHandler: Successfully updated shadow. {service-name=co.mgh.ShadowPortal, thing name=home-XXXXXXXXXXXX, shadow name=Shading, local-version=95}
2023-08-03T10:11:39.097Z [INFO] (Thread-7) com.aws.greengrass.shadowmanager.ipc.UpdateThingShadowRequestHandler: Successfully updated shadow. {service-name=co.mgh.ShadowPortal, thing name=home-XXXXXXXXXXXX, shadow name=Climate, local-version=293258}

this is similar to the intermittent issue I saw on greengrass losing internet connectivity:
https://github.com/aws-greengrass/aws-greengrass-shadow-manager/issues/164

with debug enabled in greengrass:
2023-08-03T09:09:27.761Z [DEBUG] (pool-2-thread-47) com.aws.greengrass.mqttclient.MqttClient: Getting new MQTT connection. {clientId=home-XXXXXXXXXXXX#2}
2023-08-03T09:09:27.761Z [DEBUG] (pool-2-thread-34) software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory: socket.getSupportedProtocols(): [TLSv1.3, TLSv1.2, TLSv1.1, TLSv1, SSLv3, SSLv2Hello], socket.getEnabledProtocols(): [TLSv1.3, TLSv1.2].
{}
2023-08-03T09:09:27.765Z [DEBUG] (Thread-8) com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Attempting to connect to AWS IoT Core. {clientId=home-XXXXXXXXXXXX#2}
2023-08-03T09:09:27.775Z [DEBUG] (pool-2-thread-34) software.amazon.awssdk.http.apache.internal.net.SdkSslSocket: created: logs.eu-west-2.amazonaws.com/<IP_ADDRESS>:443.
{}
2023-08-03T09:09:27.822Z [DEBUG] (pool-2-thread-34) software.amazon.awssdk.requestId: Received successful response: 200, Request ID: 4cc704f3-925c-4a15-bc80-f326e6b420f1, Extended Request ID: not available.
{}
2023-08-03T09:09:27.822Z [DEBUG] (pool-2-thread-34) software.amazon.awssdk.request: Received successful response: 200, Request ID: 4cc704f3-925c-4a15-bc80-f326e6b420f1, Extended Request ID: not available.
{}
2023-08-03T09:09:27.877Z [INFO] (Thread-8) com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Successfully connected to AWS IoT Core. {clientId=home-XXXXXXXXXXXX#2, sessionPresent=false}
2023-08-03T09:09:27.877Z [DEBUG] (Thread-8) com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Subscribing to topic. {clientId=home-XXXXXXXXXXXX#2, qos=AT_LEAST_ONCE, topic=$aws/things/home-XXXXXXXXXXXX/jobs/6b087888-6826-448c-8191-5ea0436a3796/namespace-aws-gg-deployment/update/rejected}
2023-08-03T09:09:27.913Z [DEBUG] (Thread-8) com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Successfully subscribed to topic. {clientId=home-XXXXXXXXXXXX#2, qos=AT_LEAST_ONCE, topic=$aws/things/home-XXXXXXXXXXXX/jobs/6b087888-6826-448c-8191-5ea0436a3796/namespace-aws-gg-deployment/update/rejected}
2023-08-03T09:09:27.932Z [INFO] (Thread-4) com.aws.greengrass.deployment.IotJobsHelper: Job status update was accepted. {Status=SUCCEEDED, ThingName=home-XXXXXXXXXXXX, JobId=6b087888-6826-448c-8191-5ea0436a3796}
2023-08-03T09:09:27.946Z [DEBUG] (pool-2-thread-47) com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Unsubscribing from topic. {clientId=home-XXXXXXXXXXXX, topic=$aws/things/home-XXXXXXXXXXXX/jobs/6b087888-6826-448c-8191-5ea0436a3796/namespace-aws-gg-deployment/update/accepted}
2023-08-03T09:09:27.970Z [DEBUG] (pool-2-thread-47) com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Unsubscribing from topic. {clientId=home-XXXXXXXXXXXX#2, topic=$aws/things/home-XXXXXXXXXXXX/jobs/6b087888-6826-448c-8191-5ea0436a3796/namespace-aws-gg-deployment/update/rejected}
2023-08-03T09:09:27.985Z [DEBUG] (pool-2-thread-47) com.aws.greengrass.status.FleetStatusService: Updating Fleet Status service for deployment. {serviceName=FleetStatusService, currentState=RUNNING, deployment details={ConfigurationArn=arn:aws:greengrass:eu-west-2:163040377999:configuration:thinggroup/testHomesTopLevel:509, DeploymentId=6b087888-6826-448c-8191-5ea0436a3796, DeploymentRootPackages=[co.mgh.ConfigurationManager, co.mgh.DomesticRulesEngine, com.docker.postgres, aws.greengrass.LogManager, co.mgh.CoreMetricsForwarder, co.mgh.SubscriptionService, aws.greengrass.clientdevices.IPDetector, co.mgh.ShadowPortal, aws.greengrass.SecureTunneling, aws.greengrass.ShadowManager, com.docker.RabbitMQ-Management, co.mgh.OnPremApiService, aws.greengrass.Cloudwatch, aws.greengrass.Nucleus, aws.greengrass.telemetry.NucleusEmitter, co.mgh.DeviceController], DeploymentStatus=SUCCEEDED, DeploymentStatusDetails={detailed-deployment-status=SUCCESSFUL}, DeploymentType=IOT_JOBS, GreengrassDeploymentId=4e35af1e-8ddc-4f41-84e6-4f16af2f8564}}
2023-08-03T09:09:27.997Z [DEBUG] (pool-2-thread-47) com.aws.greengrass.util.MqttChunkedPayloadPublisher: MQTT publish succeeded. {topic=$aws/things/home-XXXXXXXXXXXX/greengrassv2/health/json}
2023-08-03T09:09:27.998Z [DEBUG] (pool-2-thread-14) com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Disconnecting from AWS IoT Core. {clientId=home-XXXXXXXXXXXX#2}
2023-08-03T09:09:28.018Z [INFO] (pool-2-thread-47) com.aws.greengrass.status.FleetStatusService: fss-status-update-published. Status update published to FSS. {trigger=THING_GROUP_DEPLOYMENT, serviceName=FleetStatusService, currentState=RUNNING}
2023-08-03T09:09:28.018Z [DEBUG] (pool-2-thread-47) com.aws.greengrass.lifecyclemanager.KernelAlternatives: Cleaning up previous kernel launch directory. {oldDir=/greengrass/v2/alts/bbc1f45d-568b-4af4-84b4-a2a43c20dde7}
2023-08-03T09:09:28.019Z [WARN] (Thread-8) com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Connection interrupted. {clientId=home-XXXXXXXXXXXX#2, error=Mqtt5 client connection interrupted by user request.}
2023-08-03T09:09:28.019Z [INFO] (pool-2-thread-47) com.aws.greengrass.deployment.DeploymentDirectoryManager: Persist link to last deployment. {link=/greengrass/v2/deployments/previous-success}
2023-08-03T09:09:28.019Z [INFO] (pool-2-thread-47) com.aws.greengrass.deployment.DeploymentDirectoryManager: Clean up link to earlier deployment. {link=/greengrass/v2/deployments/previous-success}

its like shadowmanager is using connection #2 and something pulls that out from under it, but shadowmanager never bothers to reconnect?

Hello,
The logs you provided show logs from Nucleus version 2.11, which means that Greengrass has restarted at least once (upgrading from 2.9.6 to 2.11.1 requires a Nucleus restart). The logs do not show enough information to understand what the issue is.
Please provide full logs, debug level would be great as well, showing the full time period from deployment start to shadow stopping, and then some time afterward to show that shadow does not start up again.

ok have attached the log from before.  the deploy of 2.11 finishes at 09:09.
as you should see, the logs show we're updating regularly
"2023-08-03T08:55:00.155Z [DEBUG] (pool-2-thread-27884) com.aws.greengrass.shadowmanager.sync.model.CloudUpdateSyncRequest: Updating cloud shadow document. {thing name=home-XXXXX, shadow name=AirQuality, cloud-version=1310876, local-version=4059826}"
the last CloudUpdateSyncRequest happens at 09:04:
"2023-08-03T09:04:00.049Z [DEBUG] (pool-2-thread-27884) com.aws.greengrass.shadowmanager.sync.model.CloudUpdateSyncRequest: Updating cloud shadow document. {thing name=home-XXXXX, shadow name=AirQuality, cloud-version=1310893, local-version=4059844}"
the update
1510.csv.gz
job completes at:
"2023-08-03T09:09:27.728Z [INFO] (pool-2-thread-47) com.aws.greengrass.deployment.IotJobsHelper: Updating status of persisted deployment. {Status=SUCCEEDED, StatusDetails={detailed-deployment-status=SUCCESSFUL}, ThingName=home-XXXXX, JobId=6b087888-6826-448c-8191-5ea0436a3796}"
we see the sync stop:
"2023-08-03T09:09:28.019Z [WARN] (Thread-8) com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Connection interrupted. {clientId=home-XXXXX#2, error=Mqtt5 client connection interrupted by user request.}"
2023-08-03T09:09:28.019Z [INFO] (pool-2-thread-47) com.aws.greengrass.deployment.DeploymentDirectoryManager: Persist link to last deployment. {link=/greengrass/v2/deployments/previous-success}
2023-08-03T09:09:28.019Z [INFO] (pool-2-thread-47) com.aws.greengrass.deployment.DeploymentDirectoryManager: Clean up link to earlier deployment. {link=/greengrass/v2/deployments/previous-success}
2023-08-03T09:09:28.061Z [INFO] (Thread-8) com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy: sync. Stop syncing. {}
2023-08-03T09:09:28.061Z [INFO] (Thread-8) com.aws.greengrass.shadowmanager.sync.strategy.BaseSyncStrategy: sync. Cancel 1 sync thread(s). {}
there after we're only updating the local shadow and nothing is being synced.
"2023-08-03T09:10:34.456Z [INFO] (Thread-7) com.aws.greengrass.shadowmanager.ipc.UpdateThingShadowRequestHandler: Successfully updated shadow. {service-name=co.mgh.ShadowPortal, thing name=home-XXXXX, shadow name=AirQuality, local-version=4059849}"

From the logs you shared, this is how the IoT Core connectivity is working for the client with id: clientId=home-XXXXX#2
2023-08-03T09:04:25.306Z xxxx Connecting to AWS IoT Core. {clientId=home-XXXXX#2}
2023-08-03T09:04:25.424Z xxxx Successfully disconnected from AWS IoT Core. {clientId=home-XXXXX#2}
2023-08-03T09:04:36.275Z xxxx Connecting to AWS IoT Core. {clientId=home-XXXXX#2}
 ....
"2023-08-03T09:04:36.364Z xxxx Updating cloud shadow document. {thing name=home-XXXXX, shadow name=AirQuality}"
....
2023-08-03T09:04:36.414Z xxxx Successfully connected to AWS IoT Core {clientId=home-XXXXX#2, sessionPresent=false}

2023-08-03T09:05:24.244Z xxxx Disconnecting from AWS IoT Core. {clientId=home-XXXXX#2}
2023-08-03T09:09:27.877Z xxxx Successfully connected to AWS IoT Core {clientId=home-XXXXX#2, sessionPresent=false}
2023-08-03T09:09:27.998Z xxxx Disconnecting from AWS IoT Core. {clientId=home-XXXXX#2}
The client home-XXXXX#2  never reconnected after it was disconnected at 2023-08-03T09:09:27.998Z. So this behavior of shadow manager is expected where cloud shadow syncs don't work when the device is offline.

But the device was never offline. Manually restarting the greengrass service resulted in shadows syncing with cloud again.  I've tried this with 3 devices, all devices had internet connectivity the whole time.

Yes, we're still investigating the root cause for why this is happening. That note was just for the context. Thank you for your patience.

Thank you for your report. It appears that this is a bug in the Nucleus MQTT 5 client (which was introduced in 2.10) which is happening when you have more than 50 MQTT subscriptions (which spawns a second client) and then drop below 50 subscriptions (which closes the now unnecessary second client).
We have a fix for this in #1511.
The workarounds would be to remain on Nucleus version before 2.10 or configure syncing additional shadows such that there are consistently more than 50 subscriptions. You could also configure Nucleus 2.11 to use MQTT 3 client which would also avoid the problem.
We're working on fully validating the fix and then releasing it as soon as we're able.

thanks guys!

We are releasing the fix over the next 24 hours. Stay tuned!

Resolved with Nucleus 2.11.2 please let us know if that's working for you.


Different PROPFIND calls return different remoteId for the same file in Shares space

Describe the bug
I have an oCIS account with a folder (/test) shared with me, so that it appears in my Shares space.
When I perform a PROPFIND to the root folder (/) of the Shares space, the remoteId of the /test folder following the response, is:
<oc:id>
a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668!e908ab2e-2b75-49ee-9e75-9b3351131315:4c510ada-c86b-4815-8820-42cdf82c3d51:cde3f261-336c-4c8d-b5ad-0983c370737d
</oc:id>

When I perform a PROPFIND to the /test folder, the remoteId of the /test folder following the response, is:
<oc:id>
e908ab2e-2b75-49ee-9e75-9b3351131315$4c510ada-c86b-4815-8820-42cdf82c3d51!5ff70081-7096-4111-9570- d32077426178
</oc:id>

Two different IDs for the same folder!
Steps to reproduce

PROPFIND request to the root folder in Shares space
PROPFIND request to the child folder of the root folder in Shares space
Compare the IDs in the response

PROPFIND to the root folder (need to replace XXXX by a valid token):
curl -k -H 'Authorization: Bearer XXXX' -H 'Host: https://ocis.ocis-traefik.latest.owncloud.works' https://ocis.ocis-traefik.latest.owncloud.works/f/a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668 -X PROPFIND

PROPFIND to the/test folder (need to replace XXXX by a valid token):
curl -k -H 'Authorization: Bearer XXXX' -H 'Host: https://ocis.ocis-traefik.latest.owncloud.works' https://ocis.ocis-traefik.latest.owncloud.works/f/a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668/test -X PROPFIND

Expected behavior
Same ID for the same folder in both PROPFIND responses to keep consistency.
Actual behavior
Different ID for the same folder depending on the PROPFIND performed.
Setup
I'm using ocis-traefik.latest, redirected from https://ocis.owncloud.works:
ownCloud Web UI 8.0.0-rc.3
Infinite Scale 5.1.0-prealpha+0d5437a00 Community

AFAICT this is might be caused by the server returnig multiple entries with the same href in random order when a file has been received in with multiple shares.

No. This is unrelated.
The PROPFIND on the sharejail root returns the ids of the shared items inside the sharejail:  <sharejailstorageid>$<sharejailspaceid>!<shareid>
The PROPFIND on of the items inside the sharejail returns the resourceIDs of the shared item.
Whether this is a bug. Or this is done on purpose I don't know yet.

any new here? i've tested with latest stuff
ownCloud Web UI 9.0.0-alpha.1
Infinite Scale 5.1.0-prealpha+8e096ac58 Community

id of a folder in the root of shares jail:
a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668!15539cb1-e2cf-46f1-913e-989d93fcbf20:f6a14e29-826d-45dd-b574-195866854df2:a71da556-c089-408e-9761-3bc8e9491df4

id of the same folder but browsing inside (PROPFIND to its content)
15539cb1-e2cf-46f1-913e-989d93fcbf20$f6a14e29-826d-45dd-b574-195866854df2!161e7288-19cf-4284-bc66-e9ee010911ec

well, it seems to be closer to the expected behaviour above but it's not the same yet.
This problem is blocking https://github.com/owncloud/android/pull/4302


Duplicate Dart VM Services with number when running flutter attach on iOS

Steps to Reproduce

Run flutter app through Xcode
Run flutter attach in terminal, wait for it to finish
Quit the flutter attach by pressing q
Run flutter attach again

It should throw an error like this (may not be exactly the same depending on what branch you're on):
There are multiple Dart VM Services available.
Rerun this command with one of the following passed in as the app-id and device-vmservice-port:

  flutter attach --app-id "com.example.my_app" --device-vmservice-port xxxxx
  flutter attach --app-id "com.example.my_app (2)" --device-vmservice-port xxxxx

I believe the issue is that when flutter attach is exited, the Dart Developer Service it creates continues to run until the app is killed (for example, by stopping in Xcode).
Notes:
Here's a good place to start (where the creation of the DDD is started):
https://github.com/flutter/flutter/blob/59d80dc8766865ac0fe57478b562e34e1933d02c/packages/flutter_tools/lib/src/resident_runner.dart#L296-L303
Logs

Logs
[!] Flutter (Channel master, 3.7.0-30.0.pre.8, on macOS 13.2 22D49 darwin-arm64, locale en)
    • Flutter version 3.7.0-30.0.pre.8 on channel master at xxx
    ! Upstream repository xxx is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to xxx to dismiss this error.
    • Framework revision 530c3f2d13 (9 hours ago), 2023-01-30 10:19:14 +0000
    • Engine revision a7bb0e4108
    • Dart version 3.0.0 (build 3.0.0-179.0.dev)
    • DevTools version 2.20.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 33.0.0)
    • Android SDK at xxx
    • Platform android-33, build-tools 33.0.0
    • ANDROID_SDK_ROOT = xxx
    • Java binary at: /Applications/Android Studio.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.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14C18
    • 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.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)

[✓] 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)
   xxx

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

Reproducible on master (ab88f4a5c7), and without using Xcode. Steps:

Have an iOS Simulator running (I used an iPhone 14 Pro Max).
Create a new flutter app using your terminal: flutter create attach_test && cd attach_test
flutter run (select the iOS simulator at the device prompt if needed)
Press d to detach (q can also work if the app fails to close on the Simulator)
flutter attach to try to re-attach
You should see the "multiple Dart VM services available" error message:

error message
There are multiple Dart VM Services available.
Rerun this command with one of the following passed in as the app-id and device-vmservice-port:

  flutter attach --app-id "com.example.testAttach" --device-vmservice-port 64972
  flutter attach --app-id "com.example.testAttach (2)" --device-vmservice-port 64968

(Optional) Repeatedly attach (with the right --app-id and --device-vmservice-port) and detach to spawn as many VM services as you would like.

(If you run want to repro this multiple times, make sure to close the app running on the device/emulator between repros).
Doing the same steps but with an Android emulator does not result in this error message. flutter attach appears to work without needing to specify the correct --app-id and --device-vmservice-port.
Adding some print statements, I confirmed that--upon detaching or exiting--we are calling shutdown on the Device's DartDevelopmentService, and _ddsInstance is non-null:
https://github.com/flutter/flutter/blob/ecd7518df5ecf36e8e1d52aefe3ea28db71054d9/packages/flutter_tools/lib/src/base/dds.dart#L110
I am not sure why the DDS instance seems to persist on the device despite this. Unfortunately, I don't know much about DDS, so I can't provide any more insight right now.

Reproducible on master (ab88f4a) and without interacting with Xcode directly. Steps:

Have an iOS Simulator running (I used an iPhone 14 Pro Max).
Create a new flutter app using your terminal: flutter create attach_test && cd attach_test
flutter run (select the iOS simulator at the device prompt if needed)
Press d to detach (q can also work if the app fails to close on the Simulator)
flutter attach to try to re-attach
You should see the "multiple Dart VM services available" error message:

error message
7. (Optional) Repeatedly attach (finding the correct --app-id and --device-vmservice-port through trail-and-error) and detach to spawn as many VM services as you would like.
(If you run want to repro this multiple times, make sure to close the app running on the device/emulator between repros).
Doing the same steps but with an Android emulator does not result in this error message. flutter attach appears to work without needing to specify the correct --app-id and --device-vmservice-port.
Adding some print statements, I confirmed that--upon detaching or exiting--we are calling shutdown on the Device's DartDevelopmentService, and _ddsInstance is non-null:
https://github.com/flutter/flutter/blob/ecd7518df5ecf36e8e1d52aefe3ea28db71054d9/packages/flutter_tools/lib/src/base/dds.dart#L110
I am not sure why the DDS VM service persists (or appears to persist) on the device despite this. Unfortunately, I don't know much about DDS, so I can't provide any more insight right now.
(edit: grammar and formatting)

@bkonyi do you know if we're holding this wrong or if there's a bug in DDS?

A connected DDS instance shouldn't be keeping a VM alive, and if you're seeing multiple VM service instances on device it means that there's multiple Flutter engines still alive advertising their VM service connection details. DDS is run from flutter_tools, so assuming it's exited from previous runs, DDS has also exited.

I have the same issue, when I launch the project for iOS from Android Studio and then trying to connect using Android Studio debugger:
Waiting for a connection from Flutter on iPhone 14 Pro...
There are multiple Dart VM Services available.
Rerun this command with one of the following passed in as the app-id and device-vmservice-port:

  flutter attach --app-id "my.app.id" --device-vmservice-port 53933
  flutter attach --app-id "my.app.id (2)" --device-vmservice-port 54573

Sometimes after a few tries and connecting the dev-tools (in web interface) I'm able to connect a debugger from Android Studio.

Facing this issue. How to reset the state so I can do another attach? Thank you.

+1, runing 2 flutter engine cause this.

This issue is missing a priority label.

+1 on this


After Receiving characteristcs and services the device show BLE Error (Device  xxxxxxxxxxx is not connected)  in IOS

Prerequisites
After Receiving characteristcs and services the device show BLE Error (Device  xxxxxxxxxxx is not connected)
when calling ( blemanager.readCharacteristics ,bleManager.monitorCharacteristicForDevice.) it shows BLE ERROR: Device is not connected is IOS Device

Have you been able to resolve this yet? Also, what version of React Native are you using? I am experiencing the same problem on 0.70.6

I can't recreate this bug. Could you attach a code snippet that shows how you connect to the device and how you read the characteristics?


gui: Avoid unwrapping when fetching images

On bad connections, one timeout can cause the whole app to crash

thanks for the style fix :)


A big update for the blacklist

I added all the links from my project and hope that I could improve the software.

https://github.com/ZeroDot1/CoinBlockerLists

Thank you!
Blacklist has been updated


[Plugin] Wrong model generated with inline fragment

The generated model for a query with inline fragment misses some fields
Using Apollo Runtime v2.4.1
We have a schema that comprise page that contains generic collections containing generic items.
In a query like:
page(id: "homepage") {
  collections {
    items {
      title
      ... on ParticualItem {
        description
      }
    }
    ... on ParticularCollection {
      items {
        ... on ParticularItem {
          image
        }
      }
    }
  }
}

we correctly obtain fields for ParticularItem: title, description an image  when inside ParticularCollection, title and description otherwise, running the query on Playground
The same query on Android usign Apollo client lose the field image in ParticularItem insideParticularCollection.
The generated model for ParticularItem do not contains the field image
We rely on this kind of optimized query to reduce downloaded data, as our model are quite large, with fields to be used only on specific hierarchy.
Thanks!

Thanks for the quick response!
In the query generated models there are more than one asParticularItem*, but none of them contains the field image.
I've tested your workaround, but the new fragment definition is not included in the sended query, so the server raise a 400 error: unknown fragment "itemImage". Of course the fragmente definition is present on the .graphql file.

Thanks, I can reproduce the issue, I'll dig more. In the meantime, the below seems to work and produce items with image fields.
query GetPage {
  page(id: "homepage") {
    collections {
      items {
        title
        ... on ParticularItem {
          description
        }
      }
      ...particularCollectionFragment
    }
  }
}

fragment particularCollectionFragment on ParticularCollection {
  items {
    ... on ParticularItem {
      image
    }
  }
}

Thanks for the workaround!


Add Thomas Nemer as maintainer for role-strategy plugin

Description
I'm creating this PR to be able to publish release of the role-strategy plugin, which I would like to maintain. I do not have github permissions yet, but I have a PR on the plugin's repo waiting to be merged :
https://github.com/jenkinsci/role-strategy-plugin/pull/154

https://github.com/jenkinsci/role-strategy-plugin
@oleg-nenashev
Submitter checklist for adding or changing permissions

Always

[x] Add link to plugin/component Git repository in description above

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] Make sure to @mention the users being added so their GitHub account names are known if they require GitHub merge access (see below).
[x] All newly added users have logged in to Artifactory at least once

Reviewer checklist (not for requesters!)

[ ] Check this if newly added person also needs to be given merge permission to the GitHub repo (please @ the people/person with their GitHub username in this issue as well). If needed, it can be done using an IRC Bot command
[ ] Check that the $pluginId Developers team has Admin permissions while granting the access.
[ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
[ ] If security contacts are changed (this includes add/remove), ping the security officer (currently @Wadeck) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it

I will grant the permissions today

done and github done


Escaping cell values starting with =

Setting a value starting with '=' using cell.value setter is treated as a 'formulaValue' valueType.
Escaping it by myself by adding a single apostrophe is enforcing it to being treated as a 'stringValue' but than the outcome is a double single-apostrophe in the google sheet cell, since the 'stringValue' valueType is auto escaped (seems like google sheets API does it, which is good).
I tried to re-set the valueType to 'cell.userEnteredFormat.numberFormat = { type: 'TEXT' }', right after setting the new value which starts with '=', so it will be auto escaped too. The problem is that '_getUpdateRequest' function is using 'this._draftData.valueType' for the request.
A workaround I'm currently using to overcome this issue, just in case it helps someone:
cell.value = textValue
cell._draftData.valueType = 'stringValue' // re-setting valueType

What do you think desired behaviour would be - ie how do you want to set the cell value.
Probable by escaping with a single apostrophe like the UI on google sheets - ex: cell.value = "'= not a formula"
In this case I just need to make sure to treat it as a stringValue but remove the apostrophe before sending it?

Makes sense, it's closer to how google sheets act and aligned with the auto detection rules the module already follows when updating cell values. Moreover, this is the escaping I used when added new rows using worksheet.addRows function.
Worth mentioning about worksheet.addRows function, that values with '+' prefix must be escaped too when using it, but there is no need to escape this prefix when using a cell update since it's already being detected as a string value. This behavior leads to some inconsistency by using different escape method for each case (insert / update), from a code point of view.
I must admit I still wonder about the other option of keeping the auto detection as it is and allowing the flexibility of re-setting the valueType.
Both equally makes sense to me.

Any updates here?

@Baraksi @jakubriegel - the lastest version has some typed setters/getters, so you can explicitly say cell.stringValue = '=LooksLikeAFormula' and it will escape it properly. Please try it out and let me know if it all makes sense!
The rows-based api will still behave like you typed it into a cell in the UI, as that's what the values apis do...


Fold padding_value away if a tensor.pack op does not have incomplete tile

Found the case in IR dump and bug reports. We want the folder, which folds padding_value away if possible. It can be applied when we have enough static information. E.g, 500000 is divisible by 16 and 1200 is divisible by 1. In this context, we don't need padding_value.
module {
  func.func @main_dispatch_1297() {
    %c0 = arith.constant 0 : index
    %c12480 = arith.constant 12480 : index
    %cst = arith.constant 0.000000e+00 : f32
    %0 = hal.interface.binding.subspan set(0) binding(0) type(storage_buffer) alignment(64) offset(%c0) flags(ReadOnly) : !flow.dispatch.tensor<readonly:tensor<1200x500000xf32>>
    %1 = hal.interface.binding.subspan set(0) binding(1) type(storage_buffer) alignment(64) offset(%c12480) : !flow.dispatch.tensor<writeonly:tensor<31250x1200x16x1xf32>>
    %2 = flow.dispatch.tensor.load %0, offsets = [0, 0], sizes = [1200, 500000], strides = [1, 1] : !flow.dispatch.tensor<readonly:tensor<1200x500000xf32>> -> tensor<1200x500000xf32>
    %3 = tensor.empty() : tensor<31250x1200x16x1xf32>
    %pack = tensor.pack %2 padding_value(%cst : f32) outer_dims_perm = [1, 0] inner_dims_pos = [1, 0] inner_tiles = [16, 1] into %3 : tensor<1200x500000xf32> -> tensor<31250x1200x16x1xf32>
    flow.dispatch.tensor.store %pack, %1, offsets = [0, 0, 0, 0], sizes = [31250, 1200, 16, 1], strides = [1, 1, 1, 1] : tensor<31250x1200x16x1xf32> -> !flow.dispatch.tensor<writeonly:tensor<31250x1200x16x1xf32>>
    return
  }
}

Here is a doc about MLIR folders: https://mlir.llvm.org/docs/Canonicalization/#canonicalizing-with-the-fold-method
I think what can be done in the folder is that we can use getPaddingValueMutable() method and clear the range, which allows us in-place update. So it can be canonicalized with a fold method. If it is not feasible, we can add canonicalization patterns.

would help readability for sure! we also have stream.alignment on dynamic dimensions we could use to support folding it away via dataflow analysis (but probably separate logic unless the integer range analysis upstream lets us seed it with known alignments)

@Shukla-Gaurav can you take a look at this when you are available? Thank you!


Enhancement - Build 8bit mono FIT's file

Hi, and THANK you for providing this!
My use case is minimizing the amount of data transferred to a client from a remote indiserver.
On the scope is a PI Zero 2 W running indiserver and indi_pylibcamera and scope control.
Remote client is over wifi fetching images for the purpose of plate solving.
I am using a Pi CamV3 and configuring for RGB.
This mode builds out a FIT's file of shape(X,Y,3)
With even a simple setting of 2304x1296 RGB and RGB Format of 576x324 (/4) give an xfer size of 567360b with headers.
Converting to mono uint8 192960b with headers, 1/3 xfer size.
Attached is a diff of CameraControl.py with my changes to accomplish this.
It is ONLY valid for Pi cameras returning a BGR888.
The as here is to extend to other Pi cameras and also add an INDI Switch to enable generating the mono frame.
Thanks!
Gene
DiffMonoCameraControl.py.txt

Hi Gene, many thanks for this great enhancement. I will implement it in the next release. But I think I will try to make it more general (also for raw Bayer images). Furthermore I will optimize speed by using numpy vector functions. Please give me some time to implement.
Regards,
Ronald

Hi Ronald,
Super!
The code 'diff' was a knock together, the 'float's killed the perf.
A quicker loop
    iq = 0
    iq1 = 0
    for i in array:
      iq = 0
      for j in i:
           sums1=int(j[0]+j[1]+j[2])
           sums1=int(sums1/3)
           if iq > 0:
               tarr1 = np.append(tarr1,[[np.uint8(sums1)],],axis=1)
           else:
               tarr1=np.array([[sums1],],dtype=np.uint8)
           iq = iq + 1
      if iq1 > 0:
          tarr2=np.append(tarr2,tarr1,axis=0)
      else:
          tarr2=np.array(tarr1,dtype=np.uint8)
      iq1 = iq1 + 1

BTW I did a pass using np.sum on the J0/1/2 and it was slower than the direct method above.
Also, checking performance versus network xfer time
1) on a fast wifi link sending over the RGB was way faster versus converting to mono
2) On the pi zero 2w, even when framing to say 536 to 384 it went into swap which killed perf, I played with various forced garbage collections which put perf even lower
3) Running on PI3B 7 to 8 seconds after first frame
2024-11-13T21:17:59: Driver indi_pylibcamera: indi_pylibcamera.indidevice-INFO- got exposed frame
2024-11-13T21:18:07: Driver indi_pylibcamera: indi_pylibcamera.indidevice-INFO- preparing frame as BLOB: 192960 bytes
2024-11-13T21:18:07: Driver indi_pylibcamera: indi_pylibcamera.indidevice-INFO- sending BLOB
4) On a PI5 1 second
2024-11-13T21:10:36: Driver indi_pylibcamera: indi_pylibcamera.indidevice-INFO- got exposed frame
2024-11-13T21:10:37: Driver indi_pylibcamera: indi_pylibcamera.indidevice-INFO- preparing frame as BLOB: 192960 bytes
2024-11-13T21:10:37: Driver indi_pylibcamera: indi_pylibcamera.indidevice-INFO- sending BLOB
So all in all, on a bad or marginal wifi link with a pi3 may pick up some total perf, on a pi zero variant it is a bust :-)
Gene

I found 2 possible ways to get gray scale images fom the Image Signal Processor directely (https://github.com/raspberrypi/picamera2/issues/698): capturing YUV and taking Y channel only or capturing RGB with saturation=0. Compared to a Python conversion, both have the advantage of less memory and faster speed.

I implemented monochrome captures and (hopefully correct) binning calculation in branch monochrome_and_pixelsize_in_processed. I still need to document the new format in the README.md. Furthermore I want to optimize memory usage and computing time (to make it faster on a Pi Zero) before making a release. I will do this in the next days.

Monochrome captures will be implemented in next release.

Question, not a py guy but can't some memory usage be decreased by not transposing at the start  (if doing mono)?
array = array.transpose([2, 0, 1]) # line 647
and then pulling the Y
array = array[?, ?:, ?:]  # line 665 as necessary?
Thank you again!
Gene

I checked this with a memory profiler which shows me also temporary memory allocations: this line does not significantly use memory. The code looks like there is a short time where array and the transposed array are existing in parallel in memory. The profiler has not shown this. I think I remember that transpose only sets a flag in the numpy array telling that the indexes have to be exchanged when later accessing the data. This does not reorder the data itself in memory. It is really a clever implementation!
The most memory gets consumed when the

array gets converted to FITS format,
when the FITS gets base64 encoded and
when a XML string with the base64 encoded FITS gets constructed for sending over network.

Unfortunately  do not see a way to make it better.
Regards,
Ronald

Hi Ronald,
Sorry for the tardy response!
Again, thank you for all of this!
I do agree there seems to be some numpy magic going on.
In my local copy I tweaked it all ways and did not see any difference in memory usage or performance.
Gene


TouchEvent support

Should I leave the DOM.HTML.Event.EventTypes usage out of this PR maybe?

No idea about the build failure, works fine locally.

Thanks!


Should Quicklink be a requirement?

https://github.com/bluehorndigital/drupal-testing-workshop/blob/0c586277dbedbdf128ee276ccb71938ff702a9f0/composer.json#L22

Yes, it's used as an example. This will be a project that I use for various testing workshops through Bluehorn Digital. My goal is to have a wide array of tests.
And testing drupal/quicklink is faster than --tag core

Excellent!  I thought it was only for core.  Closing this issue.

It's going to start for just Drupal core, but I figure folks are going to want to write tests for their contrib as well. And Quicklink is the one time I've written a Nightwatch test in contrib


Add framework for writing lang_proto_library

It would be very helpful to have a "framework" for writing lang_proto_library- or lang_grpc_library-rules.
Design goals:

Reduce complexity of such rules. Right now, they have to have a lot of domain knowledge about proto_library.
Reduce code duplication.
Powerful enough for Starlark implementations of {cc,java}_proto_library (See https://github.com/Yannic/rules_proto/issues/5 for a framework that doesn't fulfill this).
Stable API.
High test coverage.

I already have an idea how this framework could look like, but I hadn't had time to create a design doc for it. In the meantime, leave a comment if you feel like anything is missing.

The generator API in the design doc required that all binding generators are protoc-plugins.
The main reasons for this decision were:

proto_lang_toolchain alone is insufficient for some languages. E.g., for C++, there are additional flags that influence the name of generated files (i.e. foo.proto -> foo.pb.h or foo.proto.h). To make it easier for users to use alternative generators, everything should be configurable by one toolchain (per language). Desicion: Replace proto_lang_toolchain with <lang>_proto_toolchain, and provide a "default implementation" that languages can use if they don't need extra info (i.e. one could write something like closure_proto_toolchain = proto_common.create_default_lang_proto_toolchain()).
Authors of <lang>_proto_library should not assume that their generator is built into protoc. Most languages have alternatives to the "official" generators. Ideally, this should be completely transparent for <lang>_proto_library (of course, <lang>_proto_toolchain needs to be aware of this).

We should investigate whether there are alternatives to this drastical step.
ProtoGenerator = provider(
    fields = {
        "display_name": "Optional. The name that's used in the progress message (e.g. C++).",
        "language": "String. As in `--<language>_out` (only for generators built into protoc).",
        "plugin": "Executable. The generator plugin. Required iff `language` is not set.",
        "options": "Optional. Sequence of strings.".
        "extra_inputs": "Optional. depset() of extra inputs for protoc (e.g. configuration files).",
    },
)

def _generate(
        actions,
        proto_toolchain,
        generator,
        descriptor_sets,
        protos,
        output_root,
        outputs = [],
        extra_inputs = []):
    """Generates source files for `.proto` files.

    Args:
      actions: Required. Instance of `ctx.actions`.
      proto_toolchain: Required. Toolchain, defined by `proto_toolchain`.
      generator: Required. Instance of `ProtoGenerator`.
      descriptor_sets: # Required: A set of `FileDescriptorSet` files.
      protos: Required. Sequence of strings `[<import_path>, …]` of protos to
              generate, e.g. coming from `proto_common.protos_to_generate()`.
      output_root: Required. File or string. Output root for the generator.
      outputs: Sequence of output files. Required iff `output_root` is a string.
      extra_inputs: Optional. Optional. depset() of extra inputs for protoc
                    (e.g. configuration files).

    Returns:
      Nothing
    """
    pass

I'm not sure I understand how this would work.
Is ProtoGenerator the provider that a lang_proto_toolchain would return? Or just a helper for implementing lang_proto_toolchain based on protoc?
Also what is _generate? It's private, is it intended to be a field on a provider similar to the compile field on go_proto_compiler? Is this intended to be called by lang_proto_library? How are you supposed to calculate the output_root?

I don't think non-protoc based generators typically accept FileDescriptorSet as input. If you wan to transparently support both, don't you need to pass both the FileDescriptorSets and the .proto files for dependencies?

Yes, ProtoGenerator would be returned by lang_proto_toolchain.
_generate (exported as proto_common.generate) is a helper function for lang_proto_library rules that encapsulates calling protoc so lang_proto_library rules don‘t have to worry about all that we may use a generator that is built into protoc, but our users may also want to use a custom protoc plugin to generate e.g. C++, which at least some existing rules currently do not care about. The value of output_root depends on the generator. For C++, it‘s ProtoInfo.proto_source_root, for JS (closure), I think it can be current directory (.), for Java, it‘s a .jar file, for PHP, I think it has to be a tree artifact (aka directory) because the name of the files depend on options defined in the .proto file.
You are right, for now, this only works for protoc-based generators. Non-protoc based generators may name command-line flags differently, at which point it gets way to complicated (what if there are non-protoc based generators that actually support FileDescriptorSets, but expect them to be passed as —fds=file1.bin —fds=file2.bin?). I believe that protoc based plugins are the blessed and common way to write generators. If you want to go with something else, I’m sorry, you‘re on your own. You‘ll still be able to write lang_proto_library rules without the proposed API. Technically, this doesn‘t even restrict the choice of language to write the generator in. protoc plugins communicate through stdin and stdout, and the protocol protoc and the pluging use is well specified.

Oh, I misread "built into protoc" above. I thought you meant that foo_proto_library shouldn't assume that foo_proto_toolchain uses protoc. But you're saying that cc_proto_library shouldn't assume that it's using the cc generator compiled into protoc. Sounds good.

(just talking to myself here)
It seems like protoc has the nice --<gen>_opt options I wanted to use in the alternative design proposed in https://github.com/bazelbuild/rules_proto/issues/6#issuecomment-544994145 only for plugins and not for built-in generators :(. I guess that's an argument for the "built-in-generator-less" API design from the original design doc. Will need to confirm this with the Protobuf team though (and it may be an option to modify protoc to allow --<gen>_opt for all generators).

I just ran into this issue. I've been working on something similar to what you proposed above, and it was working for custom languages. But I just tried to use it for generating js and discovered that there's no --js_opt flag.

Coincidently, I was also trying it with --js_opt🤣.
Looking at the code, I see that some generators (e.g. C++) already allow --cpp_opt,
while some others don't (e.g. JS). Submitted https://github.com/protocolbuffers/protobuf/pull/6999 to make the remaining generators match what plugins can do, so discard my last comment.

I believe proto_common in Bazel is addressing this.


Ignore some attributes when generating API listing

@heaths

Here’s a couple of attributes we could probably hide in the generated API:
•	System.Runtime.CompilerServices.CompilerGeneratedAttribute
•	System.ComponentModel.EditorBrowsableAttribute
At least, those are the only ones I see besides StructLayoutAttribute in Key Vault.

Resolved by https://github.com/Azure/azure-sdk-for-net/pull/10515


Native desktop notifications

Hello, I just found out about this awesome project. I tried running it on OSX, and I tried the idle plugin, and based on source code I found out that you are using TrayIcon to send notifications, what seems to not work under OSX.
What about sending the native notifications? I was using plugin for maven called maven-notifier that was sending notifications on build success/failure and it was correctly sending native notifications on Windows, Linux and OS X, and it is using this nice library for sending the native notifications. If I would have enough free time I guess I can create pull request by myself to implement this, but I cannot promise anything, and I am not sure if this feature is wanted, but it would be definitely cool to have.

I think native notifications would be great. I just googled it some and it looks like notifications on OSX pop up a dialog box? Which is definitely not what is intended. Feel free to submit a PR using better notifications.


Sidebar closes automatically

Short description of what this resolves:
Sidebar (Left Drawer) closes automatically when project is changed or deleted.
Fixes: #9

@naushad-madakiya in that case, I suggest it would be better if a new issue is created for future work because it will be forgotten later or other contributors will never know about them.

@manparvesh improvement is not related to this ticket but the end goal is to have a better architecture and organize code instead of overload the activity.


Package all associated tools into one single docker image

When we tried the workflow in our HPC, it encountered multiple errors. One is "Error connecting to https://quay.io". Is it possible to package all necessary tools used in the workflow in a standalone docker? This might be much easier to set up for users. We're planning to buy the Revio so we hope the analyses will be seamless.
Thanks for considering this feature.

Thanks for the suggestion.
By keeping these images separate, we can more easily update individual components without having to change the code for every task.  Also, some tools have incompatible dependencies, so building them into separate containers makes them easier to deploy.
I think it's likely that the problem you're seeing is caused by the inability of your HPC compute nodes to access the internet.  Consolidating into a single image would not solve this issue.  There are at least a few solutions:

You can set up a private docker container repo within your HPC network, store copies of the containers that you will need for this workflow, and provide the url for this internal repo as humanwgs.container_registry in your inputs.json files.
If you use miniwdl with singularity (for example, with the miniwdl-slurm plugin), images are downloaded and cached as .sif files on the head node (where the job was launched) and fetched from this cache when they are used.  Since login nodes are typically connected to the internet, this might work for you.
If you use Cromwell, there's a tool called singularity-permanent-cache that caches images as .sif files.  You can use singularity-permanent-cache to download the containers from a node that can access the internet, then adjust cromwell.conf to use singularity-permanent-cache to lookup the file path for the containers.

If you're looking for help with any of this, please email<EMAIL_ADDRESS>

When we tried the workflow in our HPC, it encountered multiple errors. One is "Error connecting to https://quay.io". Is it possible to package all necessary tools used in the workflow in a standalone docker? This might be much easier to set up for users. We're planning to buy the Revio so we hope the analyses will be seamless.
Thanks for considering this feature.

Hi！Nice to meet you!
I am currently trying to run this process on our own HPC. Is it convenient to leave a contact information for communication and exchange?

Thanks for the suggestion.
By keeping these images separate, we can more easily update individual components without having to change the code for every task. Also, some tools have incompatible dependencies, so building them into separate containers makes them easier to deploy.
I think it's likely that the problem you're seeing is caused by the inability of your HPC compute nodes to access the internet. Consolidating into a single image would not solve this issue. There are at least a few solutions:

You can set up a private docker container repo within your HPC network, store copies of the containers that you will need for this workflow, and provide the url for this internal repo as humanwgs.container_registry in your inputs.json files.
If you use miniwdl with singularity (for example, with the miniwdl-slurm plugin), images are downloaded and cached as .sif files on the head node (where the job was launched) and fetched from this cache when they are used.  Since login nodes are typically connected to the internet, this might work for you.
If you use Cromwell, there's a tool called singularity-permanent-cache that caches images as .sif files.  You can use singularity-permanent-cache to download the containers from a node that can access the internet, then adjust cromwell.conf to use singularity-permanent-cache to lookup the file path for the containers.

If you're looking for help with any of this, please email<EMAIL_ADDRESS>
Thank you, will try.

When we tried the workflow in our HPC, it encountered multiple errors. One is "Error connecting to https://quay.io". Is it possible to package all necessary tools used in the workflow in a standalone docker? This might be much easier to set up for users. We're planning to buy the Revio so we hope the analyses will be seamless.
Thanks for considering this feature.

Hi！Nice to meet you! I am currently trying to run this process on our own HPC. Is it convenient to leave a contact information for communication and exchange?

Sure. My email is<EMAIL_ADDRESS>

Thanks Billy Rowell for nice suggestion , I was running miniwdl with singularity from HPC and got those message "error": "DockerException","message": "Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))", it seems that miniwdl did not connect with singularity .any suggestion ?

Hi @zhiyu2023.
These questions veer away from specific issues with this workflow and more towards issues with running a WDL workflow in your compute environment.  Please reach out to<EMAIL_ADDRESS>and provide the entire miniwdl.log, miniwdl.cfg, and inputs.json file for context.


Etcd being shutting down after scheduling unit with fleetctl

Evey time I schedule a unit with fleetctl, the etcd2 on the target machine stop himself:
The relevant journal is:
Nov 15 19:58:34 ip-10-0-0-228 systemd[1]: Starting etcd2...
-- Subject: Unit etcd2.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit etcd2.service has begun starting up.
Nov 15 19:58:34 ip-10-0-0-228 etcd2[2419]: 2015/11/15 19:58:34 etcdmain: etcd Version: 2.1.2
Nov 15 19:58:34 ip-10-0-0-228 etcd2[2419]: 2015/11/15 19:58:34 etcdmain: Git SHA: ff8d1ec
Nov 15 19:58:34 ip-10-0-0-228 etcd2[2419]: 2015/11/15 19:58:34 etcdmain: Go Version: go1.4.2
Nov 15 19:58:34 ip-10-0-0-228 etcd2[2419]: 2015/11/15 19:58:34 etcdmain: Go OS/Arch: linux/amd64
Nov 15 19:58:34 ip-10-0-0-228 etcd2[2419]: 2015/11/15 19:58:34 etcdmain: setting maximum number of CPUs to 1, total number of available CPUs is 8
Nov 15 19:58:34 ip-10-0-0-228 etcd2[2419]: 2015/11/15 19:58:34 etcdmain: the server is already initialized as proxy before, starting as etcd proxy...
Nov 15 19:58:34 ip-10-0-0-228 etcd2[2419]: 2015/11/15 19:58:34 etcdmain: discovery token ignored since the proxy has already been initialized. Valid cluster file found at .
Nov 15 19:58:34 ip-10-0-0-228 etcd2[2419]: 2015/11/15 19:58:34 etcdmain: proxy: using peer urls [http://<IP_ADDRESS>:2380 http://<IP_ADDRESS>:2380 http://<IP_ADDRESS>:2380] from
Nov 15 19:58:34 ip-10-0-0-228 etcd2[2419]: 2015/11/15 19:58:34 etcdmain: proxy: listening for client requests on <IP_ADDRESS>:2379
Nov 15 19:58:53 ip-10-0-0-228 systemd[1]: Stopping etcd2...
-- Subject: Unit etcd2.service has begun shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit etcd2.service has begun shutting down.
Nov 15 19:58:53 ip-10-0-0-228 systemd[1]: Stopped etcd2.
-- Subject: Unit etcd2.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit etcd2.service has finished shutting down.

It is a proxy etcd2.

I am dumb!!! The unit was declaring Requires=etcd.service.


Incorrect display in the shopping basket if custom products are not recognised

Used Shopware Version: <IP_ADDRESS>
Description:
If I assign a custom product template to an item but do not recognise it and only want to buy the main product, it is still displayed as a custom product in the shopping basket
Environment:
<IP_ADDRESS>
v2.6.3
Steps to reproduce:
Create custom product but without mandatory option.
Do not recognise custom products in the frontend and only place the main product in the shopping basket.
Expected result:
The main product is placed in the shopping basket without any reference etc. to custom products
Actual result:
In the shopping basket, the product displays something about custom products, which is misleading.

[public] Automated response: This issue is linked to the internal issue https://shopware.atlassian.net/browse/CUS-696.
[created from CUS-696, comment 484907]

[public] Hello,
Within our company roadmap and work capacity, we try to address each bug or improvement request but admit that not each one will be resolved. To continue our culture of honesty and openness, we are closing this issue to focus on our roadmap on behalf of all Shopware users.
If you feel like this issue is still impacting you, please create a new issue and let us know. Thank you again for your valuable feedback.
[created from CUS-696, comment 519446]


Move linear algebra APIs to an extension

This PR

builds on gh-165 whereby only a small subset of linear algebra APIs are present in the top-level namespace and the rest are specified in a dedicated linalg sub-namespace as an extension to the array API standard.

Notes

How extensions should be authored and consumed remains to be decided. This PR should lay the groundwork for further specification.

Did we decide to mirror the functions in the top-level namespace?

Did we decide to mirror the functions in the top-level namespace?

I believe that was indeed the preferred option. Discussion at https://github.com/data-apis/array-api/pull/149#pullrequestreview-621441318 followed by a discussion in the May 6th call where people seemed happy with @kgryte's proposal as implemented in this PR.
For others, it may help to capture how the PR in its current state is rendered. The API specification for the main namespace has these functions:

Extensions is a separate section:

And that section has all linear algebra functions in it (including the 5 in the main namespace, which are aliased).


Youtube onSeek func not working

Be sure to search for your issue before opening a new one.
Current Behavior

nothing is happening on onSeek func
Expected Behavior

make something happen on onSeek func to get the real time and seeked time
Steps to Reproduce

Should be like this
onSeek={ (e) => {
// it should log something
console.log("seek func", e)
}}

Environment

URL attempting to play:  youtube
Browser: edge, chrome
Operating system: windows
jsFiddle example: https://jsfiddle.net/sv5x3ug1

Other Information

Using Reactjs

Your example is not working for me -- cannot reproduce

@gatesyp  it seems that this func was removed by youtube only but on other player it works fine. The ways I did was created my own seekbar and just calling the seekTo() every time the user seeks on the video

Also just noticed this is a duplicate of https://github.com/CookPete/react-player/issues/356 in which it was pointed out that this wasn't possible to achieve.

This has been closed as "completed" but from what I see this issue persist in<EMAIL_ADDRESS>What's your stance on adding this ?
I know the YT player API does not have an "onSeek" event but there's been attempts by the react-player community to polyfill this (event a PR on this), and I think it would be a welcomed addition to the library, pushing forward the goal of harmonizing the various video providers API via react-player.

The only solution for me was to create a custom progress bar and do the onseek manually.


storage: Refactor disaggregated read flow

What problem does this PR solve?
Issue Number: ref https://github.com/pingcap/tiflash/issues/6827
Problem Summary:
What is changed and how it works?

[x] Merge first: https://github.com/tikv/client-c/pull/142

Re-worked the workflow of disaggregated read. The new workflow is mainly based on multiple MPMCQueues flowing to each other (a.k.a. ThreadedWorker, see below), instead of a shared task map + conditional_variables.
ThreadedWorker: concurrently takes tasks from a SrcQueue, works with it, and pushes the result to the ResultQueue. The src task and the result does not need to be the same type.

ThreadedWorker can be chainned:

ThreadedWorker populates FINISH state to the result channel only when the source channel is finished and all tasks are processed. ThreadedWorker itself never produce FINISH state to the result channel:

ThreadedWorker populates CANCEL state (when there are errors) to both result channel and source channel, so that chainned ThreadedWorkers can be all cancelled:

New Read flow: After EstablishDisaggTask, all segment tasks need to work through these steps in order to be "Ready for read":

Try to fetch related pages, keep a CacheGuard.
Build a InputStream (in this step, S3 files will be downloaded).

Currently there are only two steps. It is easy if we want to add another step, for example, prepare delta index.
Check List
Tests

[x] Unit test
[ ] Integration test
[x] Manual test (add detailed scripts or steps below)

After testing, I discover that this PR still cannot resolves the issue of disaggregated read may freeze when cache capacity is low (e.g. 32MB). The possible reason is: when MPP tasks are distributed to multiple TiFlash nodes, each MPP task may stuck due to waiting available space. These stuck tasks cannot proceed, because available space is already occupied by ReadSegmentTasks in the queue. Additionally, these ReadSegmentsTasks cannot be scheduled, because active MPP readings are not yet finished.
Considering that this dead-lock seems to be hard to resolve, We may need some re-work (simplification) for the local page cache. For example, throwing errors seems to be better than simply deadlocking...

[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/run-integration-test

/run-all-tests

/run-all-tests

/run-integration-test

/rebuild

/merge

I've manual tested that this PR can resolve https://github.com/pingcap/tiflash/issues/7576

If EstablishDisaggTask request fail on one store, (mocked by DBGInvoke enable_fail_point(force_remote_read_for_batch_cop_once)), the compute node will wait for request returned from all write nodes. After that it will rebuild the task and send next EstablishDisaggTask to all write nodes
If FetchPages request fail(mocked by DBGInvoke enable_fail_point(exception_when_fetch_disagg_pages)), it can return the error message to tidb instead of a incorrect result


Error in Visualize_video.py when using result/SINet/SINet.pth

Hello @HYOJINPARK ,
when i try to use the result/SINet/SINet.pth with ./etc/Visualize_video.py i get the following Error:
RuntimeError: Error(s) in loading state_dict for SINet:
	size mismatch for encoder.classifier.conv.weight: copying a param of torch.Size([1, 144, 1, 1]) from checkpoint, where the shape is torch.Size([2, 144, 1, 1]) in current model.
	size mismatch for bn_3.weight: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for bn_3.bias: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for bn_3.running_mean: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for bn_3.running_var: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for level2_C.conv.weight: copying a param of torch.Size([1, 48, 1, 1]) from checkpoint, where the shape is torch.Size([2, 48, 1, 1]) in current model.
	size mismatch for level2_C.bn.weight: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for level2_C.bn.bias: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for level2_C.bn.running_mean: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for level2_C.bn.running_var: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for level2_C.act.weight: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for bn_2.weight: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for bn_2.bias: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for bn_2.running_mean: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for bn_2.running_var: copying a param of torch.Size([1]) from checkpoint, where the shape is torch.Size([2]) in current model.
	size mismatch for classifier.1.weight: copying a param of torch.Size([1, 1, 3, 3]) from checkpoint, where the shape is torch.Size([2, 2, 3, 3]) in current model.

With self trained models i don't get this error. How can i fix this?
Your response would be highly appreciated. Thank you!

same issue

@cyf518 Hi, did you solve the problem?

@qiutzh
i change net = Dnc_SINet(classes=1, p=2, q=8, chnn=1) to net = Dnc_SINet(classes=2, p=2, q=8, chnn=1)

@qiutzh
i change net = Dnc_SINet(classes=1, p=2, q=8, chnn=1) to net = Dnc_SINet(classes=2, p=2, q=8, chnn=1)
RuntimeError: weight tensor should be defined either for all or no classes at /pytorch/aten/src/THCUNN/generic/SpatialClassNLLCriterion.cu:27
when I changed this,another problem accurs. do you know how to solve this ?

It looks like at least of these, maybe both, is incorrect:

the "chnn" integer in your .json (ex setting/SINet.json or whichever you're using when loading your model)
or the "resume" checkpoint in your .json (ex result/training_session/checkpoint.pth.tar)

For whatever reason, your code is trying to combine a SINet.pth model with a checkpoint model, but it can't because SINet.pth expects 2 channels and your checkpoint provides configurations for only 1 channel.
Hope this helps! Share a snipped of the code you're running for more help.


bug: respect set peers number

Problem
Due to this.connectedPeers being used directly -
Solution
Stop using it and cap amount of peers by passed config.
Notes

Part of https://github.com/waku-org/pm/issues/143

Red herring. It is respected in the latest master but was not at https://lab.waku.org/dogfooding with<EMAIL_ADDRESS>


Write function to do image-label compositing

Currently, we create composite images with the real RGB image and colormapped label image in save_renders_pytorch3d here. I would be good to make this a function and make it slightly more robust. Then it could be used in the show_segmentation_labels function. This would also partially address #72.
I need this in the next few days, so I'll probably do it myself unless anyone is really excited about it.

Closed by #106 with the addition of create_composite


Resolve Issue #244 stray additional Properties inside references array

Resolve Issue #244 and remove additionalProperties inside references array schema.

The PR #250 covers this issue as well.


Update | Supports Module activity on Dashboard

Description
Updates useParsedTxs hook to handle MODULE_TRANSACTION types.

Notes

Issue / Notion doc (if applicable)
Closes #783

Testing

Screenshots (if applicable)

switch to draft until I can circle back and update the useTranslation hook with libraries


area type table needs updating

The area-type-table published at http://cfconventions.org/Data/cf-standard-names/docs/area-type-table.html is out of date.

I think it likely this has now been updated and this issue can be closed. No?


BT Keyboard Focus On Android Version

Current BT keyboard operation combats with new onscreen keyboard option.  When typing with BT keyboard, app doesn't auto focus for it.  It seems to recognize arrow keys, but any character keys are ignored.  Requires activating screen keyboard for BT keyboard to get proper focus.  However, focus is not retained when switching between console or editing screens.
Expected style of operation:  character keys recognized from where they came from, changing focus immediately to that keyboard (i.e. touch screen with BT connected brings up software keyboard, pushing button or connecting BT changes focus to BT keyboard from software keyboard.

I've finally bought BT keyboard, will try to fix :)

I have keyboard issues on Android as well - I can type fine when first starting the app, load any demo cart or create a new, edit code etc. After I've run a cart once, only the keyboard arrow keys and return work, as well as both soft and physical back-button. meaning I can eg. press up-arrow and return to run again. But not enter any text.
This is on Android 6.0.1, tested using physical BT keyboard, built-in soft keyboard, Swype, and Hacker's Keyboard.

Rotating into portrait and tapping blank space restores functionality for all inputs after any state change of the console, such as going into/out of code editor, going into/out of game, etc.  Tapping on blank space at this point resets input.
Hope this helps maintain some sanity while the software is developed.

I removed SDL_StopTextInput() at all here 78f0222
so, text input will be disabled only if you hide screen keyboard manually
could please someone test it? tic80_keyboard_fix.zip
thanks

tic80_keyboard_fix.zip
done

I tested and it fixes all the keyboard problems i had. Is there any chance for your fix to be included in the latest pro release?

This problem is still present on chromebooks today. Verified with the Android TIC80 version 0.80.1330 installed from the play store.
After starting only the arrow keys, enter, z, x keys work. My sense is that this error comes from the wrong assumption that its running on a phone. Another indication is that it shows the touch screen overlays when running a game.
However, if you put TIC80 into windowed mode and put it into a vertical window size like a phone, you can see a little softkeyboard icon at the bottom. If you click that the keyboard will work fine until the TIC80 screen looses focus.

The man problem I don't know what to do when app loses focus, I show the keyboard icon in the case with the screen keyboard, a user can tap it and keyboard will be shown.
The question is what to do on systems without screen keyboard?


gateway 支持bbr 限流

gateway 支持bbr 限流

Codecov Report

Merging #132 (c26c923) into main (91e98d7) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #132   +/-   ##
=======================================
  Coverage   37.62%   37.62%
=======================================
  Files          12       12
  Lines         832      832
=======================================
  Hits          313      313
  Misses        476      476
  Partials       43       43

Continue to review full report at Codecov.

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