warzone2100: fix build

Motivation for this change
I'm not sure how the build broke1 or how it worked before, but
the problem is zip is being used in place of p7zip, which obviously
fail as the flags have different meanings.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change (just this one)
[x] Tested execution of all binary files
[ ] Added a release notes entry if the change is major or breaking
[x] Fits CONTRIBUTING.md.

This is where the failure happen:
[73/377] Generating base.wzbrary 3rdparty/discord-rpc/src/libdiscord-rpc.a/serialization.cpp.o.o
FAILED: data/base.wz
cd /build/warzone2100/build/data && /nix/store/zzqzl5lm59mc04fd8f1wbwl7nmxvv1bb-cmake-3.19.7/bin/cmake -E chdir /build/warzone2100/data/base /nix/store/zzqzl5lm59mc04fd8f1wbwl7nmxvv1bb-cmake-3.19.7/bin/cmake -E env LC_ALL=C LC_COLLATE=C /nix/store/r1x76znnx7zj9162l98k93ncmrxaax5n-zip-3.0/bin/zip a -tzip -mtc=off -mx=0 "-xr!.git*" /build/warzone2100/build/data/base.wz palette.txt audio campaigns components effects features gamedesc.lev ruleset.json images messages misc fonts script sequenceaudio shaders stats structs texpages tileset wrf && /nix/store/zzqzl5lm59mc04fd8f1wbwl7nmxvv1bb-cmake-3.19.7/bin/cmake -E chdir /build/warzone2100/build/data/base /nix/store/r1x76znnx7zj9162l98k93ncmrxaax5n-zip-3.0/bin/zip a -tzip -mtc=off -mx=0 "-xr!.git*" /build/warzone2100/build/data/base.wz shaders

zip error: Invalid command arguments (invalid date entered for -t option - use mmddyyyy or yyyy-mm-dd)

Definitely weird. They do mention both tools in their build instructions... do you think we should keep zip too?

Even weirder, the ubuntu instructions say:
sudo apt-get -y install [...] zip [...]

But the fedora ones say
sudo dnf -y install [...] p7zip [...]

I'm not sure: with this change the builds succeeds and the games seem to run ok.

Okay, actually this may be the reason why it suddenly started failing. Maybe their build system was detecting nixos as ubuntu, then something in nixos changed that made it detect it as fedora. In this case I think it's better to keep both, maybe with a comment

From this file it seems they are looking for p7zip or falling back to zip, if the former is not found. Maybe our zip (which may be wrapped?) tricked the build system into thinking it was p7zip but later fails.


How can I use RequireAuthorization

Description
I need to use jwt to verify requests from other systems, but I haven't seen how to add RequireAuthorization on the MiniAPI
for example
app.MapGet("/weatherforecast", () =>{}).RequireAuthorization()
.NET version
8.0
MASA Framework version
1.0

Service Add [Authorize]


Detects INSERT, UPDATE and DELETE records but not updating inserted records

Hi, let me just start with that this library is just amazing in what it can do, definitely complements well with SignalR in delivering a full-blast realtime experience.
Just a quick question though, I am trying to an update a record in my table and the OnChange is not detecting it. I know I am missing something as it seems to me that it works perfectly well. Can you give me an idea how to begin troubleshooting this issue?
Thanks a lot!

Yes, but i need to see your CODE otherwise i cannot help you

Which part would you like to check? As there are many components in my code but to give you a summary, I followed the pattern of the MVC + jQuery example (StockTicker) - it is as almost as similar to that implementation.
I kind of figured out what's happening. It works for some time (after deploying to the production server) and then it just stops working for some reason while time goes on. I'm running it on ASP.net v 4.7.2 on an IIS Server in Windows Server 2016.
Below is a sample of the code, from the realtime notifier that links itself to the realtime notifications hub.
        public NotificationsRealtimeNotifier()
        {

            var mapper = new ModelToTableMapper<Notification>();
            mapper.AddMapping(n => n.createdByUserId, "user_id");
            mapper.AddMapping(n => n.toNotifyUserId, "user_notify_id");
            mapper.AddMapping(n => n.description, "text");
            mapper.AddMapping(n => n.isSeen, "is_seen");

            _tableDependency = new SqlTableDependency<Notification>(_connectionString,
                "GLS_notification", "dbo",
                mapper);

            _tableDependency.OnChanged += SqlTableDependency_Changed;
            _tableDependency.OnStatusChanged += SqlTableDependency_OnStatusChanged;
            _tableDependency.OnError += SqlTableDependency_OnError;
            _tableDependency.Start();
        }

        public static IEnumerable<Notification> GetNewNotification(string userIdConnected, int userIdWithNewNotification)
        {
            // Determine if the current user is the one being notified
            if (userIdConnected == userIdWithNewNotification.ToString())
            {
                var notifications = new List<Notification>();

                using (var sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings
                        ["goodLawConnectionString1"].ConnectionString))
                {
                    sqlConnection.Open();
                    using (var sqlCommand = sqlConnection.CreateCommand())
                    {
                        sqlCommand.CommandText = $"SELECT TOP(7) * FROM GLS_notification WHERE user_notify_id='{userIdConnected}' AND insert_date >= {DateTime.Today.ToString("yyyy-MM-dd")} ORDER BY insert_date DESC";

                        using (var sqlDataReader = sqlCommand.ExecuteReader())
                        {
                            while (sqlDataReader.Read())
                            {
                                var id = sqlDataReader.GetInt32(sqlDataReader.GetOrdinal("id"));
                                var title = sqlDataReader.GetString(sqlDataReader.GetOrdinal("text"));
                                var URL = sqlDataReader.GetString(sqlDataReader.GetOrdinal("notification_url"));

                                //var type = sqlDataReader.GetInt32(sqlDataReader.GetOrdinal("notification_type")))

                                var typeId = sqlDataReader.GetInt32(sqlDataReader.GetOrdinal("notification_type"));
                                var description = _dbNotificationTypes.FetchNotificationTypeName(typeId);
                                var createdByUserId = sqlDataReader.GetInt32(sqlDataReader.GetOrdinal("user_id"));
                                var createdByUserInitials = _userHelper.GetUserEmployeeInitials(createdByUserId);
                                var isSeen = sqlDataReader.GetBoolean(sqlDataReader.GetOrdinal("is_seen"));
                                var insertDate = sqlDataReader.GetDateTime(sqlDataReader.GetOrdinal("insert_date"));

                                var notification = new Notification()
                                {
                                    id = id,
                                    title = title,
                                    typeId = typeId,
                                    description = $"{insertDate.ToString(GAUKConstants.GAUKDateFormat)} - {description}",
                                    URL = URL,
                                    createdByUserInitials = createdByUserInitials,
                                    isSeen = isSeen,
                                };

                                if (typeId == 1)
                                {
                                    notification.isFinished = sqlDataReader.GetBoolean(sqlDataReader.GetOrdinal("is_finished"));
                                }

                                notifications.Add(notification);
                            }
                        }
                    }
                }

                return notifications;
            }

            else
            {
                return null;
            }
        }

        void SqlTableDependency_OnStatusChanged(object sender, StatusChangedEventArgs e)
        {
            Console.WriteLine(e);
        }

        void SqlTableDependency_OnError(object sender, ErrorEventArgs e)
        {
            throw e.Error;
        }

        void SqlTableDependency_Changed(object sender, RecordChangedEventArgs<Notification> e)
        {
            if (e.ChangeType != ChangeType.None)
            {
                RealtimeNotificationsHub.GetLatestNotifications(e.Entity.toNotifyUserId);
            }
        }

Ok. If it stop working after a while, it is because the connection is disposed, because of IIS connections pool. Can you try to set Pooling=false in your connection string?

Sorry for the late reply, celebrated Christmas hahahah. I implemented this fix. Let me see if it will run for the whole day. Just to let you know, here are some of the other things I have done as well:
1.) Increased WatchDog timeout (to 12 hours)
2.) Changed the ThreadSafetyMode to Publication Only (instead of Execution and Publication)
I'mma test it for a couple of days, will let you know the feedback! Thank you very much!

I'm closing the issue! I found the mistake and it wasn't with your creation. It was how I implemented my SignalR connections! I'm so sorry for the trouble!

@johnmikel : if the error is something that can happens also to someone else, can you write how to fix it. In this way, if some other developer has same problem, he can find how to resolve it. Thanks

Let me see... but I just followed to the instruction everything that had been stated in the docs and in the examples provided, the only difference that I did was I added Pooling=false to the connection string and even myself, I really don't know what it does. I need to read more about what it actually does...


RenderDoc v1.7 can not open some DDS files

Description
Trying to open some formats results in this error:

Formats that do not work:

R16_UNORM
R8_UNORM
R8G8_UNORM
B4G4R4A4_UNORM

Probably there's more. Would be nice if RenderDoc supported all DXGI formats.
Steps to reproduce
Generate some DDS file using for example texconv  tool.
Environment

RenderDoc version: 1.7
Operating System: Windows 10
Graphics API: N/A

Looks like DirectXTex emits some formats with legacy DDS headers without the DXGI_FORMAT enum present. I've added code to handle that case rather than only simple RGBA8.


Cleaning up hard-coded HTTP verbs.

I've updated all http-verbs to refer to consts that are defined in
golang's src/net/http/method.go
This effort was scoped to files in /storage/

Hi @marstr, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Martin Strobel). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;


Update unit_tests.yml

currently this pipe will be triggered twice, during PR and right after the merge.
Since in branch protection rules we do not allow pushes to main, this will save CI/CD time, considering that it takes ~30min

Thanks @beliaev-maksim for doing it. I postponed it couple of times.


three images as a group

In your code, it is a set of three images as a group, right?
But there are four nodes in your paper, they represent four pictures as a group, right?
So where is the gap between the three pictures and the four pictures.
Thank you for answering me and look forward to your reply

Please follow the paper for reproduction. The ablation study in the paper also shows the performance comparison for different number of images in a group.


feat: add json string validation action

This PR defines a JSON action to validate strings to be valid json strings (not objects).
Recently an Issue was created to document a valibot schema to validate objects to be json compliant. In that PR @fabian-hiller mentioned a validation action to ensure strings are valid JSON. This PR aims to add that action to valibot.
I'm a bit torn if this action should be called json or jsonString. I lean towards just calling it json, which is why I went with that.
Relevant comment: https://github.com/fabian-hiller/valibot/issues/933#issuecomment-2489934225
There is another open PR that adds documentation for the valibot schema to validate objects for json compliance here: https://github.com/fabian-hiller/valibot/pull/936

Thank you Hendrik! I will review this PR after our v1 RC or stable v1 is out.


Add to Stackage?

Sorry for ignoring this issue for years. I've not known the workflow of adding a package to Stackage at the time, thought "I'll learn later," then forgot. Sorry again!
I finally read the how-to and am willing to add it to Stackage, but I can't do it right now. It'll be around Friday.

Wait, there already is? I think it's already done anyway.
https://www.stackage.org/nightly-2023-04-05/package/trie-simple-<IP_ADDRESS>


code run

f = open("twinkle.txt")
t = f.read()
if "twinkle" in t:
print("present")
else:
print("not present")
f.close()
why it is not running properly in vs code, running flawlessly in pycharm
please give me reply asap otherwise i have to shift to pycharm

This seems more like misconfiguration on the vs code part/ not running the file correctly.
What are your steps on running this file on vs code?

/extPython

It looks like this is caused by the Python extension. Please file the issue to the Python extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


Finish renaming to installer binaries

What does this PR do?

move initial datadog-installer to its own dir: not in /opt/datadog to avoid interacting with other projects, not in /opt/datadog-packages as all files there are managed by the installer
finish renaming all bin paths to installer

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge

/merge


chore: ignore zed project directory

I hereby agree to the terms of the GreptimeDB CLA.
Refer to a related PR or issue link (optional)
What's changed and what's your intention?
Adds Zed project settings directory to .gitignore.
Checklist

[ ] I have written the necessary rustdoc comments.
[ ] I have added the necessary unit tests and integration tests.
[ ] This PR requires documentation updates.

You can use global exclude file for all your local projects: https://git-scm.com/docs/gitignore#_configuration

You can use global exclude file for all your local projects: https://git-scm.com/docs/gitignore#_configuration

Well, I found that we have gitignore patterns for VSCode and JetBrains 😢
# JetBrains IDE config directory
.idea/
*.iml

# VSCode IDE config directory
.vscode/


Update to adopt fabric-gateway model

Fabric-rfcs describes the Fabric Gateway Feature and we can build based on the source code
It will be officially supported in HLF v2.4.

cc @KivenChen

Support for gateway would be much appreciated :)

@jeriox yes, I am wondering to write a project proposal for adding python support for fabric-gateway, are you interested in co-supervising/mentoring the project?

@dexhunter unfortunately not, I just need it for my thesis and don't have the capacity to help out here

@jeriox No problem. I think I will first update python sdk to support fabric 2.4 and then check with others to see if we can add python support for fabric-proto. By the way, just wondering what's your use case for the python sdk?

@jeriox No problem. I think I will first update python sdk to support fabric 2.4 and then check with others to see if we can add python support for fabric-proto.

were you able to make any progress so far?

By the way, just wondering what's your use case for the python sdk?

I have a lot of existing code dealing with the data that I store in hyperledger fabric that is only available in python. I wanted to save myself the effort of migrating the code to another language or passing the processed data around before actually storing it


[Bug]: require.resolve.paths cannot reach global path in the scope of jest

Version
v29.1.2, the newest
Steps to reproduce
Minimal reproduction: https://github.com/lvqq/jest-require-resolve-paths
Steps:

npm install
npm test

Expected behavior
require.resolve.paths is consistent in jest and in node
Actual behavior
In node, require.resolve.paths('npm') returns:
[
  'D:\\RD\\project\\jest-require-resolve-paths\\node_modules',
  'D:\\RD\\project\\node_modules',
  'D:\\RD\\node_modules',
  'D:\\node_modules',
  'C:\\Users\\chlorine\\.node_modules',
  'C:\\Users\\chlorine\\.node_libraries',
  'D:\\RD\\nodejs\\lib\\node'
]

In the scope of jest, require.resolve.paths('npm') returns:
[
  'D:\\RD\\project\\jest-require-resolve-paths\\node_modules',
  'D:\\RD\\project\\node_modules',
  'D:\\RD\\node_modules',
  'D:\\node_modules'
]

The global paths are missing.
Additional context
No response
Environment
System:
    OS: Windows 10 10.0.19044
    CPU: (16) x64 Intel(R) Core(TM) i7-10700K CPU @ 3.80GHz
  Binaries:
    Node: 16.17.0 - D:\RD\nodejs\node.EXE
    Yarn: 1.22.10 - D:\RD\nodejs\node_global\node_modules\yarn\bin\yarn.CMD    npm: 8.15.0 - D:\RD\nodejs\npm.CMD
  npmPackages:
    jest: ^29.1.2 => 29.1.2

Mark

Confirmed. We fall back to resolving using require.resolve if our custom resolver does not find anything, so we should probably also append the real require.resolve.paths() from outside the Jest runtime to the require.resolve.paths() that we return to code in the runtime. PR welcome!

Thanks! I'd like to work on implementing it

Cool! In case this helps your get started: require and require.resolve and require.resolve.paths are implemented by jest-runtime, which then does some calls to jest-resolve which knows things like how to look up in the directory tree to look for node_modules etc.


Type Error in Conversion From Saved Model to TFLite model

When I tried to convert a custom saved model (faster rcnn with custom data) to TFLite model I am receiving the following error. What is the possible reason and solution?
ConverterError: :0: error: loc(callsite(callsite(fused["Mul:", "MultiLevelMatMulCropAndResize/MultiLevelRoIAlign/mul_17@__inference_call_func_16203"] at fused["StatefulPartitionedCall:", "StatefulPartitionedCall@__inference_signature_wrapper_19429"]) at fused["StatefulPartitionedCall:", "StatefulPartitionedCall"])): 'tfl.reshape' op operand #1 must be tensor of 32-bit signless integer values, but got 'tensor<6xi64>'
:0: note: loc(fused["StatefulPartitionedCall:", "StatefulPartitionedCall"]): called from
Model original is trained with TF2 object detection API
Source code / logs
import tensorflow as tf
saved_model_path = "/home/exx/TensorFlow/train/models/faster-rcnn-clr/exported-models/saved_model"
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_path) # path to the SavedModel directory
tflite_model = converter.convert()
with open('model_R1.tflite', 'wb') as f:
f.write(tflite_model)

The possible reason for this error is : op operand must be tensor of 32-bit signless integer values, but got 'tensor<6xi64>'
It would be nice to see the code for the tensor inputs upstream before saving the model to replicate the error.
Can you try specifying your input to a 32-bit signless integer. See if that works.
ex:
tf.Tensor([2 4], shape=(2,), dtype=int32)

I used "TensorFlow/models/research/object_detection/exporter_main_v2.py" to create a saved model. It has the following argument for the input:
--input_type image_tensor
Can be one of the:
[image_tensor, encoded_image_string_tensor, '
'tf_example, float_image_tensor
So I modified the function in exporter.py as
def _image_tensor_input_placeholder(input_shape=None):
"""Returns input placeholder and a 4-D uint8 image tensor."""
if input_shape is None:
input_shape = (None, None, None, 3)
input_tensor = tf.placeholder(
dtype=tf.int32, shape=input_shape, name='image_tensor')
return input_tensor, input_tensor
I  am still having the same error.

I was looking at the tfhub.dev link: https://tfhub.dev/tensorflow/faster_rcnn/resnet152_v1_640x640/1
I'm curious if you applied batching at training?
The notes on the link above state:
`Inputs
A three-channel image of variable size - the model does NOT support batching. The input tensor is a tf.uint8 tensor with shape [1, height, width, 3] with values in [0, 255].`
maybe try tf.uint8.

Yes, I used batching.  The batch size is 2 since I have 2 GPU. I don't think that is an issue, but is there sth wrong with that?
tf.uint8 was already default value. I changed it to tf.int32.

Hey I would change the script back to the original values uint8 and try running it on one gpu without batching, Im sorry to confuse you I hope someone else can help.

Hi @yakupakkaya ! Sorry for the late response. Could you please provide a Colab gist with the above stack trace and model ? Thank you!

Here is the Colab link, https://colab.research.google.com/drive/19JiB0sriIO7uhtyDbrbXRJXW7_P4EXhN?usp=sharing
and the link for model, https://drive.google.com/drive/folders/1IQ3T83J_TYVoWuLVlvFUJP_WdKy-bXnV?usp=sharing
Thanks

Hey I got your model to work on my local machine:
The code is below, please try it out, I am using tf version 2.8 nightly:
import tensorflow as tf
path_to_downloaded_file = "YOURFILELOCATION/Downloads/tf_saved_model-20220517T011545Z-001/tf_saved_model/"
loaded = tf.saved_model.load(path_to_downloaded_file)
print(list(loaded.signatures.keys()))  # ["serving_default"]
infer = loaded.signatures["serving_default"]
print(infer.structured_outputs)
# Convert the saved model using TFLiteConverter SAVED_MODEL_PATH=path_to_downloaded_file converter = tf.lite.TFLiteConverter.from_saved_model(SAVED_MODEL_PATH) converter.target_spec.supported_ops = [     tf.lite.OpsSet.TFLITE_BUILTINS,  # enable TensorFlow Lite ops. ----->I think you missed this step (1)     tf.lite.OpsSet.SELECT_TF_OPS  # enable TensorFlow ops. ---->I think you missed this (2) ]
tflite_model = converter.convert()
# Print the signatures from the converted model
interpreter = tf.lite.Interpreter(model_content=tflite_model)
signatures = interpreter.get_signature_list()
print(signatures)
``
``
``

@yakupakkaya !  Could you try instruction here in this thread with export_tflite_ssd_graph with 2.9 version. You can also check our TFLite model maker thread on custom object detection .  Issues has been observed on default TFlite converter with pretrained object detection models . Thank you!

@mohantym  export_tflite_ssd_graph.py does not work for faster_rcnn. How can I convert  my custom model? Do you have any alternative solution?

I have a fix for the issue. Will be pushed soon.
Sorry for the trouble.
Thanks


What's the valid approach to create android/content/Context?

Sorry if this is out of the scope of this repo. But I saw there's an example about JNI which also has some context usage, so I would like to see if this might be related.
I tried to create a android/content/Context object, but both new_object and new_object_unchecked failed with same message.
It there another way or the actual correct way to create a class object?
Here's how I used new_object:
    let class = env.find_class("android/content/Context").unwrap();
    let context = env.new_object(class, "()V", &[]).unwrap();

Here's how I used new_object_unchecked:
    let class = env.find_class("android/content/Context").unwrap();
    let method = env.get_method_id(class, "<init>", "()V").unwrap();
    let context = env.new_object_unchecked(class, method, &[]).unwrap();

And here's the same error I got:
A/com.example.w: java_vm_ext.cc:579] JNI DETECTED ERROR IN APPLICATION: can't make objects of type android.content.Context: 0x70e2aaf0
    java_vm_ext.cc:579]     in call to NewObjectA

Why do you keep closing issues? There isn't really a good solution yet.
Activity is a subclass of Context. If your code is being called from kotlin you need to pass the activity to your rust code, if you're using cargo-apk you can get it from ndk-glue for now.


CAMEL-21094 - Merge multiple PDF files

Description
Merge multiple PDF files in camel-pdf

Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[x] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.

[x] I have run mvn clean install -DskipTests locally from root folder and I have committed all auto-generated changes.

It seems this PR has other code changes together, not sure if you would be able to do a PR with out code changes for the camel-pdf component and updates in catalog etc. If not we would need to do some manual merges and resolve conflicts etc.

Hi @alexandredavi, thanks for your contribution. As Claus said, you might need to remove the the unrelated changes and, possibly, rebase the code. If you need a reference, we have this on the contributing guide.

@orpiske removed the unrelated changes

You need to add more files to this PR
modified:   catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/pdf.json
modified:   components/camel-pdf/src/generated/resources/META-INF/org/apache/camel/component/pdf/pdf.json
modified:   components/camel-pdf/src/main/java/org/apache/camel/component/pdf/PdfHeaderConstants.java
modified:   components/camel-pdf/src/main/java/org/apache/camel/component/pdf/PdfProducer.java
modified:   components/camel-pdf/src/test/java/org/apache/camel/component/pdf/PdfMergeTest.java
modified:   dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/StaticEndpointBuilders.java
modified:   dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/PdfEndpointBuilderFactory.java


How to extract standalone tflite model from hand_landmarker.task file?

How to extract standalone tflite model from hand_landmarker.task file? if I just want to use palm detection model not hand landmark model.

Hello @HeloWong
You can simply treat the task files as a bundle and hence, unzip them using a GUI or CLI. So on Mac, double clicking shoudl work. On windows, you can right click and extract.
On Mac terminal/linux terminal, you can use the command unzip hand_landmarker.task.
However, MediaPipe tasks API will not work with only TFLite files. '.task' bundles are required for them. If you only need hand detection, you can use legacy solution in your applications if you choose. The libraries, documentation, and source code for all the MediapPipe Legacy Solutions will continue to be available in our GitHub repository and through library distribution services, such as Maven and NPM. But we have ended the support for the issues from legacy solution and will only be providing support for Tasks API now.

Thanks! I have unzip it and got model I want ✔

Thanks! I have unzip it and got model I want ✔

Hello! I followed these steps and got two tflite models : hand_detector.tflite and hand_landmarks_detector.tflite. Hand _detector has two output ndarrays with shape (1, 2016, 1) and (1, 2016, 18). How to decode them?


ADS: Update Bottom Sheets styles in Browser

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #2587

PR #2653   👈
PR #2649
PR #2648
PR #2642
PR #2636
PR #2594
PR #2610
PR #2609
PR #2606
PR #2590
PR #2629
PR #2588

This comment was auto-generated by Graphite.


Update alpine image to 3.7

Please update the Postgres alpine images to Alpine 3.7.
Right now they are based on Alpine 3.5
From
FROM alpine:3.5

to
FROM alpine:3.7

Duplicate #400.

So, no plan to upgrade underlying Alpine version for 9.5.x, or 9.6.x?


Change attest import path

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.04 :tada:

Comparison is base (4e9953c) 77.54% compared to head (3916e4b) 77.58%.

:exclamation: Current head 3916e4b differs from pull request most recent head a0dbb2e. Consider uploading reports for the commit a0dbb2e to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #265      +/-   ##
==========================================
+ Coverage   77.54%   77.58%   +0.04%
==========================================
  Files          36       36
  Lines        3331     3337       +6
==========================================
+ Hits         2583     2589       +6
  Misses        623      623
  Partials      125      125

Impacted Files
Coverage Δ

log/log.go
78.40% <100.00%> (+1.08%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add a new tag for tutorial integration tests

It would be good to add a new tutorial tag in the integration tests, to make it a convention to add a test for each new tutorial, and easily find them. Once the tag is added, we should update the relevant integration tests and also update the contribution guidelines.

Once the tag is added, we should update the relevant integration tests
Do you mean updating the test definition of tutorial tests to add this new tag? And not updating the test content (expected results).


replace qt emit/slots/signals keywords with Q_EMIT/etc

Qt #DEFINES emit, slots and signals as empty strings

slots/signals are used by moc to automatically generate the appropriate code
emit does nothing, is there as "documentation" for the programmer

This causes issues with recent oneapi::tbb which has an emit function that gets defined away

https://forum.qt.io/topic/122225/trying-to-use-c-17-parallel-algorithms-with-qt/5

hacky temporary fix in cpp file that includes tbb:
#undef emit

proper solution:

replace emit with Q_EMIT, etc throughout codebase
disable these qt defines with -DQT_NO_KEYWORDS
see https://github.com/KDE/clazy/blob/master/docs/checks/README-qt-keywords.md

Although the "proper solution' might also affect QCustomPlot, so maybe just undefining emit in the couple of cpp files that include tbb is actually the better fix?

QCustomPlot does support using Q_EMIT etc (at least in the sense that you can patch it yourself by grepping for emit etc and this is tested): https://www.qcustomplot.com/documentation/specialqtflags.html
So we could make these changes (we already patch it anyway for qt6.3 compatibility) & define QT_NO_KEYWORDS
However for now we just do this in the few places we include a tbb header:
#ifdef emit
#undef emit
#include <tbb headers>
#define emit // restore the Qt empty definition of "emit"
#else
#include <tbb headers>
#endif


No master clock (MCLK) GPIO for hfp_hf example (IDFGH-13125)

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.

General issue report
I'm trying to run the hfp_hf example on a ESP32-DevKitC and a PMOD I2S2 codec. The codec requires a master clock (MCLK) input but the example does not assign the master clock to any pin and does not provide a way of doing so.

Hi, Sorry for replying so late. Which audio data path are you using (PCM or HCI)?

Hi @esp-qing . I am now running into this same issue, after giving up on my software approach for the microphone, my hardware module requires a MCLK to work. This is for the PCM data path.

For a bit more context, the master clock (MCLK, PCM_MCLK) is a multiple of the bit clock (BCLK). In HFP_HF we can only specify:

DOUT
DIN
CLK (BLCK)
FSYNC (WS)

The Master Clock is missing. For the frequency that HFP_HF is using by default (8khz FSYNC, 256khz CLK) a 2Mhz MCLK can be used. By supplying an external 2Mhz clock signal to my device (PCM5102) I could get it to work. Regular I2S examples (https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/i2s.html) allow the MCLK to be mapped to a GPIO. Would be very nice if this could be made to work with HFP_HF too.

I just realized that as a very hacky workaround, the second i2s slot can be used to generate just the clock signal. In my very limited experience the clocks don't have to be perfectly. I will give this a go.

Hi, @jtwaleson sorry, I just saw your comment.
The IIS configuration of esp-idf is not effective for the PCM of HFP. The PCM of HFP is equivalent to an independent IIS channel implemented separately. And there is no MCLK.
But I have tried using PCM5100 with hfp_hf via PCM, it works well.  Maybe there is not much difference between PCM5100 and PCM5102.  MCLK is not used. Only two clock (LCK and BCK) connecte to esp32. Note that XSMT and FMT need to be set to high.

Hi @esp-qing , sorry I made a mistake in my message, indeed PCM5102 worked fine, but my mic input ADC (based on WM8782) needed the MCLK. I think I needed a bit more sleep when I was typing ;)
FYI the completed project is here: https://blog.waleson.com/2024/10/bakelite-to-future-1950s-rotary-phone.html , thanks a lot for your help!

@jtwaleson Wow, this is such an interesting and meaningful project! I also learned a lot from the production process in your blog. Thank you for sharing!


Add mysql2 adapter

Summary
This PR addresses https://github.com/open-telemetry/opentelemetry-ruby/issues/243 and adds a Mysql2 adapter.
The instrumentation is largely a port from dd-trace-rb, found here, with a few modifications to account for opentelemetry span conventions.
Notes / Open Questions

For the actual adapter, I think things are pretty straightforward, but as this is my first adapter, any feedback is appreciated. Please let me know if I've missed any conventions specific to otel, I tried to follow the conventions of the other adapters.
It's worth pointing out that, as this is the first instrumentation collecting SQL queries, there's potentially going to be PII that get's extracted here. Either obfuscating at the adapter level, or, making clear how to obfuscate at the collector level (Perhaps documenting where to add in the regex, or provide a sample regex to use), should be considered from a user experience perspective.

I do have some more open ended questions on the test suite though:

The tests are relatively straightforward but rely on a containerised environment that also has a dependancy on a separate container running a basic mysql image to test against.
This is a new convention in the test suite, as every other integration has been able to rely on full featured mocking libraries like webmock or fakeredis.
This also required an additional container for testing the adapter added in the docker-compose.yml, as well as a minor modification to the base app's Dockerfile to add support for mysql.
To run the tests for mysql2

# To run tests:
# 1. Build the opentelemetry/opentelemetry-ruby image
# - docker-compose build
# 2. Bundle install
# - docker-compose run ex-adapter-mysql2-test bundle install
# 3. Run test suite
# - docker-compose run ex-adapter-mysql2-test bundle exec rake test

I tried to modify the circeci config as well but have almost surely botched it, so I assume the CI will probably fail, as ~I wasn't able to test circleci version 2.1 locally, and got a bit bogged down trying to test with a comparable 2.0 format.~ (Update: Yes, i totally botched it, but after upgrading my circleci-cli  version, I can at least test v2.1 configs now. reverted the circleci config changes, so the CI test suite is currently not testing the above referenced tests)

Overall, switching over to using containers for integrations to test against vs writing mocks may not be worth the pain here, but think has some benefits as well (as mocking out some more obtuse instrumentations could become difficult and time consuming). Happy to move back to mocks here if that's preferred, just let me know

Overall, switching over to using containers for integrations to test against vs writing mocks may not be worth the pain here, but think has some benefits as well (as mocking out some more obtuse instrumentations could become difficult and time consuming). Happy to move back to mocks here if that's preferred, just let me know

I am 👍 👍 👍  for use of containers for integration tests rather than mocking.

To Update re: testing. I've added to the circleci config a rake-test-appraisal-container-ints command for running integration tests that require a mysql instance, added that command + relevant images/env vars to the ruby 2.5 and 2.6 jobs/executors...It's running fine/tests(including mysql2) are passing in CI but perhaps there's a cleaner way to approach it.


Post request timeout with node8

With version 8 of node, post request to login or make new users stay hanging and timeout. I could not find how to fix it but revert to node6.

We're running into this too, anything?

with node 10.13 the same problem


docs(material/list): switch examples and demo to MDC

Switches the list live examples and demo to use MDC. Also updates the docs to reflect the latest API.

@devversion @mmalerba I've addressed the feedback. I also removed the section about dense lists since we don't have an equivalent attribute now and I'm guessing that it'll be handled using the density Sass API.


Make vehicle commands optionally block

I can see in the 'get vehicle data' handling you've got the ability to block in there for the response.
Could we possibly make it so the vehicle commands code can also optionally block too for the command to be executed? (possibly including if it was successful or not?)
POST .../charge_start?blocking=true
Use case is in my HA automation, I'd like to:

Set charging amps
Start car charging
Get vehicle data confirming the current charging amps and that charging is started

After 1, I can add in a validation step to see that we did indeed set charging amps successfully
After 2, I can add in a validation step to see that we did indeed start charging
Before 3, I can then confidently run the 'get vehicle data' step knowing we've blocked and the above command have run

Another scenario here maybe could be to tell if the car is asleep maybe? Just trying to think through the scenarios where I want to occasionally poll the car if it's awake (eg charging). There's other ways I can tell if the cars charging (via the wall charger).
Let me try out a few things when the cars asleep, I wonder if over the bluetooth connection we can tell the cars there, just asleep, vs, the car isn't there 🤔

I have a similar situation where confirmation of the completion of the command would be helpful.  With my previous direct usage of the tesla-control ble library, I would get a failure response condition through "context deadline exceeded" or "read/write on closed pipe" through stderr, which I could respond to with an immediate retry.
If I could confirm that the command was successfully completed (vs fire and forget), that would help with my state determination.
@michael-robbins In terms of knowing if the car is awake, without waking it, there is a command available in the tesla-control ble library.
tesla-control -ble <...> body-controller-state
 {
 	"closureStatuses": {
 		"frontDriverDoor": "CLOSURESTATE_CLOSED",
 		"frontPassengerDoor": "CLOSURESTATE_CLOSED",
 		"rearDriverDoor": "CLOSURESTATE_CLOSED",
 		"rearPassengerDoor": "CLOSURESTATE_CLOSED",
 		"rearTrunk": "CLOSURESTATE_CLOSED",
 		"frontTrunk": "CLOSURESTATE_CLOSED",
 		"chargePort": "CLOSURESTATE_OPEN",				Open means a cable is attached!		Only available when car is AWAKE. Need to wake before this is reliability read
 		"tonneau": "CLOSURESTATE_CLOSED"
 	},
 	"vehicleLockState": "VEHICLELOCKSTATE_UNLOCKED",
 	"vehicleSleepStatus": "VEHICLE_SLEEP_STATUS_AWAKE",		Available when car is asleep. Can directly read if car is awake
 	"userPresence": "VEHICLE_USER_PRESENCE_NOT_PRESENT"
 }

vehicleSleepStatus, has these states:
 VEHICLE_SLEEP_STATUS_UNKNOWN
 VEHICLE_SLEEP_STATUS_AWAKE
 VEHICLE_SLEEP_STATUS_ASLEEP

I will add the Body Controller State via seperate API-Call /api/1/vehicles/{vin}/body_controller_state.
You can test this and the "Wait Option" on dev. (No Docker Build yet) If you want to wait until a command es executed and get a feedback you can add wait=true. Example: http://localhost:8080/api/1/vehicles/VIN/command/set_charge_limit?wait=true.

body_controller_state would be amazing!
And wait=true is awesome!
Do you have a way to accept donations or anything? This stuff is epic!!

@wimaha with the wait=true code in dev atm, wouldn't https://github.com/wimaha/TeslaBleHttpProxy/blob/dev/main.go#L145 mean the commands are run twice if wait=true? Should that section be in an else statement?

@michael-robbins: There is es return above, so no it is not executed twice. :-)

Just published version 2.0.0 with the features integrated! :-)
Please note, that I wrapped the response in the response struct to be consistent with the command api.


astuff_sensor_msgs: 3.2.0-1 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository astuff_sensor_msgs to 3.2.0-1:

upstream repository: https://github.com/astuff/astuff_sensor_msgs.git
release repository: https://github.com/astuff/astuff_sensor_msgs-release.git
distro file: noetic/distribution.yaml
bloom version: 0.10.1
previous version for package: 3.1.0-1

delphi_esr_msgs
* Bag migration rules cleanup (#76 <https://github.com/astuff/astuff_sensor_msgs/issues/76>)
  * delphi_esr_msgs: Consolidate bag migration rules
* Update delphi_esr_msgs (#69 <https://github.com/astuff/astuff_sensor_msgs/issues/69>)
  * Update delphi_esr_msgs to closer match documentation and fix typos
  * Update delphi_esr_msgs CMakeLists.txt
  * Change from EsrTrackMotionPower to EsrTrackMotionPowerTrack
  * Add migration file for changes to delphi_esr_msgs
  * Fix up old migration rules, order was wrong, remove duplication
  * Factor out install directive for migration folder
  * Fix CATKIN_PACKAGE_SHARE_DESTINATION for ROS2
* Contributors: icolwell-as

delphi_mrr_msgs

No changes

delphi_srr_msgs
* Bag migration rules cleanup (#76 <https://github.com/astuff/astuff_sensor_msgs/issues/76>)
  * delphi_srr_msgs: Cleanup and consolidate bag migration rules, add install directive to CMakeLists.txt
* Contributors: icolwell-as

derived_object_msgs

No changes

ibeo_msgs

No changes

kartech_linear_actuator_msgs

No changes

mobileye_560_660_msgs

No changes

neobotix_usboard_msgs

No changes

pacmod_msgs
* Bag migration rules cleanup (#76 <https://github.com/astuff/astuff_sensor_msgs/issues/76>)
  * pacmod_msgs: Consolidate bag migration rules, add install directive to CMakeLists.txt
* Contributors: icolwell-as

Removal of astuff_sensor_msgs meta-package is intentional.

Holding for Noetic sync


React route with route params is doing postback

For some reason a react route I have is doing a postback nomatter what I do. The SSR is working correctly but accessing the route through a link on my app triggers a postback. Any idea how I can investigate what's going on?
This is my route:
    <Route path='/conference/:slug/:id' components={{ body: Conference }} />

Is there something I am doing wrong?
You can see all the code here: https://github.com/bliitzkrieg/Conferency/blob/master/Conferency.Application/ClientApp/routes.tsx

Sorry, I don't know. Since this issue is happening entirely within your client-side React app, I'd suggest this is more of a question to raise with the React or react-router community as it doesn't seem to be specific to this repo in any way that I know of. Hope that's OK!

I figured it out! In case anybody has this issue, the issue was that I was using a href to change routes instead of react-router's  component.


Refactor for relabeling fields

Use FormField objects when possible, instead of passing around
raw Pike pdf objects

be gets font size from DA (PDF spec <IP_ADDRESS>)

group fields by page (needed to match fields to surrounding text)
filter out fields without a page, or with a Template page (PDF spec 12.7.6)
make names longer when reading them (PDF spec <IP_ADDRESS>)
improve auto_fields_all.py, with proper arguments and everything

lets you take all PDF in a folder and either

add fields if there aren't any
add fields if there aren't any and relabel existing fields
scrap existing fields and add fields back with our recognition
do nothing: just copy the PDFs

Current at 9a/ff of all forms, will need to re-run ~200 or so that errored out, and then will make another PR adding the stats generator.
Also, Fix #32, was low hanging fruit.

Finished relabeling all 15k PDFs after about 30 hours. It's definitely slow (around 7 seconds per PDF), but I'm not sure how to make it faster, since a lot of it involves the CV stuff. Overall, it looks like it'll take ~48 hours or more to run the whole pipeline again. We'll see how it goes.


Publish Debug Information is not working

Bug description:
The menu item "Publish debug information" under menu "?" does not actually do anything.
Steps to reproduce:

Click on top menu ?
Click on menu item Publish Debug Information
Click Accept and publish on new dialog that appears
Nothing happens
Also, the links to Privacy policy and Terms of service open to a 404 page

Expected behavior
The software should let you know the result of your action along with a link to the published debug information.
Screenshots

Environment:

Operating System: Windows 10

Ferdi Version: 5.5.0

Server: Using without an account

Debug information:

{"host":{"platform":"win32","release":"10.0.19042","screens":[{"id":2528732444,"bounds":{"x":0,"y":0,"width":1920,"height":1080},"workArea":{"x":0,"y":0,"width":1920,"height":1050},"accelerometerSupport":"unknown","monochrome":false,"colorDepth":24,"colorSpace":"{primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}","depthPerComponent":8,"size":{"width":1920,"height":1080},"workAreaSize":{"width":1920,"height":1050},"scaleFactor":1,"rotation":0,"internal":false,"touchSupport":"unknown"},{"id":2779098405,"bounds":{"x":1920,"y":0,"width":1920,"height":1080},"workArea":{"x":1920,"y":0,"width":1920,"height":1050},"accelerometerSupport":"unknown","monochrome":false,"colorDepth":24,"colorSpace":"{primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}","depthPerComponent":8,"size":{"width":1920,"height":1080},"workAreaSize":{"width":1920,"height":1050},"scaleFactor":1,"rotation":0,"internal":false,"touchSupport":"unknown"}]},"ferdi":{"version":"5.5.0","electron":"8.2.3","installedRecipes":[{"id":"discord","version":"1.1.3"},{"id":"mattermost","version":"1.2.1"},{"id":"messenger","version":"1.1.0"},{"id":"skype","version":"1.3.0"},{"id":"whatsapp","version":"2.0.3"},{}],"devRecipes":[],"services":[{"id":"b92ae7b2-cfc3-49ba-9a30-7c0dab84a803","recipe":"whatsapp","isAttached":true,"isActive":false,"isEnabled":true,"isHibernating":false,"hasCrashed":false,"isDarkModeEnabled":false},{"id":"54fead88-aa21-4330-b5ac-989edda71a33","recipe":"skype","isAttached":true,"isActive":false,"isEnabled":true,"isHibernating":false,"hasCrashed":false,"isDarkModeEnabled":false},{"id":"eac3f5d6-d049-459f-ab71-3b3391d47719","recipe":"mattermost","isAttached":true,"isActive":false,"isEnabled":true,"isHibernating":false,"hasCrashed":false,"isDarkModeEnabled":false},{"id":"fd0e2e17-120e-40eb-812a-3ba05fab593b","recipe":"discord","isAttached":true,"isActive":false,"isEnabled":true,"isHibernating":false,"hasCrashed":false,"isDarkModeEnabled":false},{"id":"9a66d6c3-76c1-4b6a-a518-050332708aff","recipe":"discord","isAttached":true,"isActive":false,"isEnabled":true,"isHibernating":false,"hasCrashed":false,"isDarkModeEnabled":false},{"id":"85d439ae-562e-48ba-9da6-1a97f42251df","recipe":"messenger","isAttached":true,"isActive":true,"isEnabled":true,"isHibernating":false,"hasCrashed":false,"isDarkModeEnabled":false}],"messages":[{"type":"error","info":["error","[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: 'Reaction[Autorun@160]'",{}]},{"type":"error","request":{"result":null,"wasExecuted":true,"method":"getInfo"},"error":{},"response":{},"server":"You are using Ferdi without a server"},{"type":"error","request":{"result":null,"wasExecuted":true,"method":"features"},"error":{},"response":{},"server":"You are using Ferdi without a server"},{"type":"error","request":{"result":null,"wasExecuted":true,"method":"all"},"error":{},"response":{},"server":"You are using Ferdi without a server"}],"workspaces":[],"windowSettings":{"width":1075,"height":912,"x":733,"y":74,"isMaximized":false,"isFullScreen":false,"displayBounds":{"x":0,"y":0,"width":1920,"height":1080}},"settings":{"autoLaunchInBackground":false,"runInBackground":true,"reloadAfterResume":true,"enableSystemTray":true,"startMinimized":false,"minimizeToSystemTray":false,"privateNotifications":false,"showDisabledServices":true,"showMessageBadgeWhenMuted":true,"showDragArea":false,"enableSpellchecking":false,"spellcheckerLanguage":"en-us","darkMode":false,"locale":"en-US","fallbackLocale":"en-US","beta":false,"isAppMuted":false,"enableGPUAcceleration":true,"serviceLimit":5,"server":"You are using Ferdi without a server","predefinedTodoServer":"https://app.franztodos.com","autohideMenuBar":false,"lockingFeatureEnabled":true,"locked":false,"lockedPassword":"******","useTouchIdToUnlock":false,"scheduledDNDEnabled":false,"scheduledDNDStart":"17:00","scheduledDNDEnd":"09:00","hibernate":false,"hibernateOnStartup":true,"hibernationStrategy":300,"inactivityLock":0,"automaticUpdates":true,"showServiceNavigationBar":false,"universalDarkMode":true,"adaptableDarkMode":true,"accentColor":"#7367f0","serviceRibbonWidth":"80","iconSize":"20","sentry":false,"navigationBarBehaviour":"never","customTodoServer":"","todoServer":"isUsingCustomTodoService"},"features":{"isSpellcheckerIncludedInCurrentPlan":true,"needToWaitToProceed":false,"needToWaitToProceedConfig":{"delayOffset":3600000,"wait":10000},"isServiceProxyEnabled":true,"isServiceProxyIncludedInCurrentPlan":true,"isAnnouncementsEnabled":true,"isWorkspaceIncludedInCurrentPlan":true,"isWorkspaceEnabled":true,"isCommunityRecipesIncludedInCurrentPlan":true,"isSpellcheckerPremiumFeature":false,"isServiceProxyPremiumFeature":true,"isWorkspacePremiumFeature":false,"isSettingsWSEnabled":false,"isServiceLimitEnabled":false,"serviceLimitCount":0,"isCommunityRecipesPremiumFeature":false,"isCustomUrlIncludedInCurrentPlan":true,"isMagicBarEnabled":true,"isTeamManagementIncludedInCurrentPlan":true,"isTodosEnabled":true,"isTodosIncludedInCurrentPlan":true,"defaultTrialPlan":"franz-pro-yearly","subscribeURL":"https://getferdi.com","planSelectionURL":"https://getferdi.com","hasInlineCheckout":true,"isPlanSelectionEnabled":false,"isTrialStatusBarEnabled":false,"canSkipTrial":true,"pricingConfig":{"currency":"$","currencyID":"USD","plans":{"personal":{"monthly":{"id":"ferdi-free","price":0,"billed":0},"yearly":{"id":"ferdi-completely-free","price":0,"billed":0}},"pro":{"monthly":{"id":"ferdi-still-free","price":0,"billed":0},"yearly":{"id":"ferdi-forever-free","price":0,"billed":0}}}}},"user":"82c1cf9d-ab58-4da2-b55e-aaa41d2142d8"}}

The https://debug.getferdi.com/ service seems to be down.
@kytwb - can you help with this please?

@vantezzen - do you have any idea of this website - where its hosted, how to check if its up-and-running, etc?

The website should be hosted on our DigitalOcean Server, but I think I don't currently have access to that myself. It should be running the Ferdi Web Debugger (https://github.com/getferdi/debugger) but I think that this might have been turned off during our move from AWS to DigitalOcean

https://debug.getferdi.com/ is back up.

It seems to be misconfigured; generated links show:
TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))

Feature partially restored:


Check for correctly divisible batch size

Description
We should probably throw an informative error if

the training batch size is not divisible by the number of GPUs which are used,
the evaluation batch size is chosen such that the size of the remainder is not divisible by the number of GPUs which are used.

Have we decided what behaviour we want to have for both cases? I think that we have two available options (please also let me know if there are other options).

Raise Exceptions (e.g., TrainBatchNotDivisibleError and EvalBatchNotDivisibleError) for case 1 and 2, respectively. I assume that this should be easier for us (in terms of code change).
Pad the training and evaluation data given the batch size and number of GPUs in use. We can create dummy data so that conditions 1 and 2 are satisfied and assign weights 0 on these data points. Since we already have optional parameter masking, we can utilize the existing APIs.

Please let me know what you think about these two potential solutions. If we settle on one decision, I can do the implementation.

I definitely would prefer your option 2. Like you said, we can use mask_batch to tell submitters to ignore padded examples.

I think you can just use the quick fix I mentioned in #204 for this, since it will only very mildly affect the eval time and metrics on the test split and nothing else.

Sorry, I missed that in the original comment. I agree, for training we should just assert that batch size % N_GPUS == 0 and raise an error if not. Even if a submitter wanted to choose a very specific batch size, they should be able to round it to some factor of N_GPUS (which is 8 in our case). I think we should only pad the remainder batch for evals.

@znado Should we pad to the closest multiple of N_GPUS or to the global_eval_batch_size? For PyTorch it doesn't really matter, but I think for Jax the latter option is better so jitted code doesn't get recompiled?


Modify sensor plugins to avoid use of non-deterministic functionality to access the data

We are experiencing many flaky errors in gz-sim-yarp-plugins tests:

https://github.com/robotology/gz-sim-yarp-plugins/issues/54
https://github.com/robotology/gz-sim-yarp-plugins/issues/31
https://github.com/robotology/gz-sim-yarp-plugins/issues/42
https://github.com/robotology/gz-sim-yarp-plugins/issues/41

To be honest, I did not looked a lot into those back in time when I opened the issue. However, as @xela-95 started working in the repo, I noticed that most sensor plugins are actually using the gz's gz-transport (i.e. ZeroMQ + ProtoBuf) functionality to actually access sensors. To give an example, let's look at the forcetorque plugin.
Before the first step of simulation, a connection via gz-transport is established in the main physics thread of gz-sim by the following snippet of code (from https://github.com/robotology/gz-sim-yarp-plugins/blob/25216f1c90ed524a30b664e7cc327b368eb2d649/plugins/forcetorque/ForceTorque.cc#L139):
        if (!this->ftInitialized && _ecm.ComponentData<components::SensorTopic>(sensor).has_value())
        {
            this->ftInitialized = true;
            auto ftTopicName = _ecm.ComponentData<components::SensorTopic>(sensor).value();
            this->node.Subscribe(ftTopicName, &ForceTorque::ftCb, this);
        }

This will call the ForceTorque::ftCb callback once a message is received, that will actually just do:
    void ftCb(const gz::msgs::Wrench& _msg)
    {
        std::lock_guard<std::mutex> lock(this->ftMsgMutex);
        ftMsg = _msg;
    }

However, this will happen (from what I understand) in a thread different from the main physics thread.
Then, after the update of the physics, the following code again in the main physics thread reads the ft values (that are just ~6 doubles) from the buffer that was populated by ftCb :
        gz::msgs::Wrench ftMsg;
        {
            std::lock_guard<std::mutex> lock(this->ftMsgMutex);
            ftMsg = this->ftMsg;
        }

        std::lock_guard<std::mutex> lock(forceTorqueData.m_mutex);
        forceTorqueData.m_data[0] = (ftMsg.force().x() != 0) ? ftMsg.force().x() : 0;
        forceTorqueData.m_data[1] = (ftMsg.force().y() != 0) ? ftMsg.force().y() : 0;
        forceTorqueData.m_data[2] = (ftMsg.force().z() != 0) ? ftMsg.force().z() : 0;
        forceTorqueData.m_data[3] = (ftMsg.torque().x() != 0) ? ftMsg.torque().x() : 0;
        forceTorqueData.m_data[4] = (ftMsg.torque().y() != 0) ? ftMsg.torque().y() : 0;
        forceTorqueData.m_data[5] = (ftMsg.torque().z() != 0) ? ftMsg.torque().z() : 0;
        forceTorqueData.simTime = _info.simTime.count() / 1e9;

What is the problem here? The main problem for our use cases that after we after we run a given step N of simulation, we do not have any idea if forceTorqueData.m_data actually contains the FT readings of step N, or of some other step N-m . The actual value contained in forceTorqueData.m_data depends on the operating system scheduled, and weather it actually scheduled the thread that is calling ftCb, so in general it is something non deterministic.
This is effectively a regression w.r.t. to gazebo-yarp-plugins (the yarp plugins for Gazebo Classic), so ideally we would like to try to fix this somehow, at least for sensors whose simulations is lightweight (for example forcetorque and imu, for camera and laser the situation may be more complex as the rendering itself could occur in a thread different from the main physics thread.
First of all, we should understand if this is possible at all in Gazebo Harmonic, and if it is not we should explore how to modify Gazebo libraries upstream to permit this.

Interestingly, the non-deterministic reading of sensors described in this issue is actually documented in https://gazebosim.org/api/gazebo/7.0/ardupilot.html , so it would be interesting to understand if it can be avoided.
Other related issues:

Interesting related issues in gz-sim: https://github.com/gazebosim/gz-sim/issues/2268
In gazebo-yarp-plugins, we had a similar issue: we were using a non-deterministic way to control joints, and then we switched to a deterministic way, see https://github.com/robotology/gazebo-yarp-plugins/issues/165 for the issue and https://github.com/robotology/gazebo-yarp-plugins/pull/324 for how we solved the problem.

Indeed, I guess that https://github.com/gazebosim/gz-sim/issues/2268 is a prerequisite for this.

For what regards FT sensors, we could use https://github.com/gazebosim/gz-sensors/pull/449 on the gz-sensors/gz-sim versions that will support it.


add cp.py module

please git pull --rebase upstream 4.1 to pull in the latest pipeline change so we can see the tests pass.


after tryPublishEvent the disruptor.getRingBuffer().remainingCapacity() equals to 0

I added data to Disruptor by calling tryPublishEvent function.
After I wait 40 second and tried to check unprocessedDataCount by following calculation:
long ringBufferUnProcessedCount = disruptor.getBufferSize() - disruptor.getRingBuffer().remainingCapacity()
And sometimes  disruptor.getRingBuffer().remainingCapacity()  equals to 0, even if tryPublishEvent returns true.
This happens very rarely on maven testng executions. Do not you know why it might be? Should I increase data waiting or something?
Thank you.

We need to know a lot more about your setup to be able to help.
Can you share your test code?

Not enough information to help here, and no sign of it arriving.


Add Support for French Language (fr-FR) Translations

Is your feature request related to a problem? Please describe.
Yes, currently, the application does not support the French language, limiting accessibility for French-speaking users
Describe the solution you'd like
We would like to integrate French (fr-FR) as a supported language in the application.
Describe alternatives you've considered
Nothing
Additional context
No response

Thank you for your response and for providing the guide for translation contributions. I appreciate the opportunity to help with the translation efforts and will review the guide to see how I can get involved.


Camfind Image Response api timing issue

Hello Dear,
I have issue with the timing in making image request and image response api,Its taking min 30 sec to get the name of image. I want api response in max 20 seconds,but I failed to get this.I am developing in Android . please suggest me.
I hit service with the compressed image at jpeg level 5 and 640*480 sized.but still it gives "not complete" status for 6 to 7 times and then it carry image name .i really got frustrated.please help me with any specific code of line or give me any reference of library.or suggest me any another right way how to hit service by which we can get image name with minimum time.

I don't think this was a Unirest issue.


Adding this package makes the compilation process slower

Current behavior
I installed the package, found out the compilation process was slower
Expected behavior

Should be faster
Steps to reproduce the issue

I added the plugin to my webpack configuration:
import path from 'path';

import webpack from 'webpack';
import nodeExternals from 'webpack-node-externals';
import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin';
import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';

import { version } from './package.json';

const configuration: webpack.Configuration = {
	context: __dirname,
	mode: 'production',
	target: 'node',
	entry: './src/index.ts',
	// * https://stackoverflow.com/questions/48673408/should-javascript-npm-packages-be-minified
	optimization: {
		minimize: false,
	},
	externals: [
		nodeExternals({
			modulesDir: path.resolve(__dirname, 'node_modules'),
		}),
	],
	module: {
		rules: [
			{
				test: /\.ts$/,
				use: [
					{
						loader: 'ts-loader',
						options: {
							configFile: 'tsconfig.build.json',
						},
					},
				],
				exclude: /node_modules/,
			},
		],
	},
	plugins: [
		new webpack.DefinePlugin({
			__PACKAGE_VERSION__: `'v${version}'`,
		}),
		new ForkTsCheckerWebpackPlugin({
			typescript: { configFile: 'tsconfig.build.json', context: __dirname },
		}),
	],
	resolve: {
		extensions: ['.ts'],
		plugins: [
			new TsconfigPathsPlugin({
				configFile: 'tsconfig.build.json',
				extensions: ['.ts'],
			}),
		],
	},
	output: {
		filename: 'index.js',
		path: path.resolve(__dirname, 'dist'),
	},
};

export default configuration;

Issue reproduction repository

https://github.com/Vinyl-Depository/Inflint/blob/main/webpack.config.ts
Environment

fork-ts-checker-webpack-plugin: 7.2.9
typescript: 4.6.4
eslint: 8.14.0
webpack: 5.72.0
os:  WINDOWS 10 19044.1645

Could you elaborate on which exact command you run to compare how long it takes?
Also, please provide timings, so I can compare this with running this on my computer :)

Could you elaborate on which exact command you run to compare how long it takes? Also, please provide timings, so I can compare this with running this on my computer :)

I run webpack -c webpack.config.ts.
The timings are provided out of the box. Yes, I'll provide my timings later. Thanks

I have the same issue actually, i am not sure if i am doing something wrong or what, but when i add this plugin the compile time for dev is 21+ seconds, and without it is 2+ seconds and less than 5, im new to webpack and TS, please let me know should you need any more information.

@tal-rofe which version of ts-loader do you use? If it's < 9.3.0, you should provide transpileOnly: true option

@piotr-oles i am using babel-loader, and my build became too slow when using this plugin

I wasn't able to reproduce the issue, please create new one if the problem still exists.


Get text of a web page from url (useful for autoPHP)

Forgot to close the issue, it is already done. But thanks !
The PR : https://github.com/theodo-group/LLPhant/pull/39

Thanks @BoweFrankema, we may use it to improve what we did


chore(deps): update module github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper to v1.37.2

This PR contains the following updates:

Package
Type
Update
Change

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.37.0 -> v1.37.2

Release Notes

terraform-ibm-modules/ibmcloud-terratest-wrapper (github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper)
v1.37.2
Compare Source
Bug Fixes

deps: update gomod (#855) (131e322)

v1.37.1
Compare Source
Bug Fixes

deps: update gomod (#854) (a79629e)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

ℹ Artifact update notice
File name: tests/go.mod
In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

10 additional dependencies were updated
The go directive was updated for compatibility reasons

Details:

Package
Change

go
1.21 -> 1.22

github.com/IBM-Cloud/bluemix-go
v0.0.0-20240423071914-9e96525baef4 -> v0.0.0-20240719075425-078fcb3a55be

github.com/IBM-Cloud/power-go-client
v1.6.0 -> v1.7.1

github.com/IBM/go-sdk-core/v5
v5.17.3 -> v5.17.4

github.com/IBM/platform-services-go-sdk
v0.63.1 -> v0.67.0

github.com/IBM/schematics-go-sdk
v0.2.3 -> v0.3.0

github.com/hashicorp/go-retryablehttp
v0.7.5 -> v0.7.7

golang.org/x/crypto
v0.24.0 -> v0.26.0

golang.org/x/sync
v0.7.0 -> v0.8.0

golang.org/x/sys
v0.21.0 -> v0.23.0

golang.org/x/text
v0.16.0 -> v0.17.0

/run pipeline

:tada: This issue has been resolved in version 1.19.2 :tada:
The release is available on:

GitHub release
v1.19.2

Your semantic-release bot :package::rocket:


[DH-710] Adds default sort by created_on desc to contact and investme…

…nt_project lists.
As in the title, list of contacts and investment projects is ordered by created_on desc.

Codecov Report

Merging #493 into develop will increase coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #493      +/-   ##
===========================================
+ Coverage    96.48%   96.48%   +<.01%
===========================================
  Files          115      115
  Lines         3643     3646       +3
  Branches       335      335
===========================================
+ Hits          3515     3518       +3
  Misses          87       87
  Partials        41       41

Impacted Files
Coverage Δ

datahub/search/company/views.py
100% <0%> (ø)
:arrow_up:

datahub/search/investment/views.py
94.59% <0%> (+0.09%)
:arrow_up:

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 8bd8d92...58ae7fd. Read the comment docs.

Why we are not using search for these?

@marcofucci that's something to consider in the future as indeed search is capable of delivering those results. The ticket is only meant to fix acceptance tests.


Disable various interactions before state is initialized, etc

Network/Disconnected rework, Disable various interactions before state is initialized, Wipe state on logout, Add some cell padding and position tooltips in grids, Spinner on login until stateLoaded, Onboarding cleanup

So i'm not sure if this is something we control or not, but the default electron app window size did not show the new icons for me. This is what popped up for me. I sat here looking at this screen wondering what is happening.
When i expanded the window size, i saw the icons. Can we change the default dimensions the electron app GUI opens too?


Mark variables with segment numbers

This PR marks variables with "rounds" or "segments". This will allow us to build randomized circuits made from interactive protocols of the following form:

The prover sends a vector w1
The verifier sends a challenge c
The prover then sends another vector w2.
Then the verifier performs some checks on the vector (w1, w2, c, 1, x) where x is public IO.

When the witness vector is constructed, we want the code to be able to automatically build w1, w2, etc. so they can be committed separately. We could think of witness to be committed in segments or chunks or rounds. So, when allocating a variable, we want to be able to specify the "segment number".
We want to make sure if within a namespace we call some gadget, all variables allocated inside the gadget fall into the same segment as the caller.

@Acentelles in the current PR, the witness isn't committed separately i.e., segment by segment, right?


Filtering option by issue state

(depending on #23)
Adding an option --state to filter by issue state.
$ offline-issues jlord/offline-issues
Wrote data.
Wrote markdown files.
 Please let me know if I misunderstand your options, I'll fix statements above.
md/jlord-offline-issues-3.md:> state: **open** opened by: **** on: ****
md/jlord-offline-issues-4.md:> state: **open** opened by: **** on: ****
md/jlord-offline-issues-8.md:> state: **open** opened by: **** on: ****
md/jlord-offline-issues-9.md:> state: **open** opened by: **** on: ****
$ offline-issues jlord/offline-issues -s all
Wrote data.
Wrote markdown files.


Update DG and PPP

Changes:

Modify sequence diagrams for link and unlink so that image is not as wide
Update PPP

Great job, a few things I think should be updated:

I think for this diagram you should use the reference frame, following DeleteGameCommand and ScheduleFriendCommand's implementation sequence diagrams.

I think for this diagram, after updating the previous one should be wrapped with the sd frame. Use the mainframe **sd**  execute notation.

I think it would be better to get the entire method on a single line if possible for better readability.

Codecov Report

Merging #264 (bea49db) into master (8e87bd6) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #264   +/-   ##
=========================================
  Coverage     75.78%   75.78%
  Complexity      823      823
=========================================
  Files           121      121
  Lines          2288     2288
  Branches        253      253
=========================================
  Hits           1734     1734
  Misses          502      502
  Partials         52       52

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 8e87bd6...bea49db. Read the comment docs.


PREFABS DO NOT CHARGE MESH

Description:
PREFABS DO NOT CHARGE MESH. The mesh it seems to be there but it doesn't charge? Idk, because when I drag the fbx again to the mesh is visible but if I redo the prefab with the newly visible mesh, the prefab doesn't charge the mesh anyway.

Build:
<IP_ADDRESS>

Type:

Steps to reproduce:

Frequency:
Always

IMPORTANT: Meshes from charged prefabs are visible again when you put playmode and stop it.

The same applies when making a cube or plane gameobjects.


Undo/Redo break the script in major ways

Undo/redo doesn't work for a lot of stuff -> mainly line adding/removing

Undo/redo sometimes breaks for line adding/removing, corrupting the script

After thorough testing I have come to the same conclusion. It seems to be fixed now, since I had reworked it before anyways. If theres any updates on this we can reopen this


newly updated crates are not built if there are too many of them

I have recently published a great amount of crates in an automated fashion, and noticed that docs-rs didn't really catch up with them.

An example would be the google-logging2 crate, which exists in version 1.0.1, whereas docs.rs still shows it as version 1.0.0.
A glimpse into the code indicates that docs.rs detects newly updated crates by looking at the .just_updated field of the crates.io summary endpoint (see code), which appears to be a problem if there are many new releases in an interval shorter than the one used to query the endpoint.
As I just now moved all my links to point to docs.rs, it would be great if we could find out what could be done to alleviate the issue :).
Thank you.

I am actually working on a PR to fix this. The idea is to clone the crates index and keep track of the last commit we have seen.
Each time we try to get information about changed crates, we will fetch latest and diff the changes. That way we will never be able to miss anything, as we are then based on the only source of truth.
I will also setup a WIP PR in a moment so you can stay informed on the progress.

Thanks for reporting.
This is similar to #84. Since docs.rs started getting new crate list from crates.io/summary this issue also occurred. docs.rs is checking new crates every 5 minutes and crates.io/summary is only returning last updated 10 crates. If crates.io gets more than 10 uploads in 5 minutes, docs.rs is skipping them.
I will revert this changes and start getting new crates from crates.io-index repository again.
Leaving this commit id for reference: 0dfb64c.

Thanks for elaborating on this!
Does it mean you don't need me to work on this? Actually I would love to get involved, but of course only if there is no code to do this lying around already.

Ah, I see there is code for that already. However, I wouldn't mind giving it a try too. Can you give me an advise on how you would want me to proceed?

Thanks for offering help! I changed old code because it wasn't working properly. You can see the old code from here: queue.rs.
I have been trying to parse DiffLine with Diff::print but this seems really wrong.
Maybe you can figure out how to get new crates properly by using git2 crate and crates.io-index. There must be a better way or approach to do this but I have no idea.

Alright :)! I happen to have been working with git internals quite a bit in the past, and I always wanted to work with it once again from Rust.
I have already seen the previous issues and code and will work on a new implementation, keeping a close eye on leaked file handles.
Shall keep you posted!

Here is the first version of the crates-index-diff crate. It's already providing all the functionality you would need.
Tomorrow I will push it towards 1.0 (refactoring, cleanup, docs), and prepare PR for docs.rs to use it.
Please feel free to comment on it already.

@Byron this seems really promising, thank you very much.
There is only one issue. Docs.rs dependencies (cargo, hyper and iron especially) are using openssl 0.7 and latest git2 crate started using openssl 0.9. Currently we can't use both of them together. We have to use git2 0.5 until hyper starts using openssl 0.9. There is an ongoing PR for hyper: hyperium/hyper#975. But updating iron to 0.4 in docs.rs will require some work.
So basically your crate must depend on git2 0.5 for now, we can update it later when all dependencies supports openssl 0.9.

Version 1.0 of the crate has now been released. It's dependency to git was already adjusted to match the requirements of docs.rs.
Now I am working on a quick CLI to show how it is used, and to have it ready in case you would like to keep the git-related accesses out of process (and also because I want it :)).

Alright, the crates-io-cli is ready, and allows to test manually use the functionality of the crates-index-diff crate.
Next up is a PR to actually use the new functionality in docs.rs.


Fresh install of coreml_stable_diffusion and getting 'numpy' has no attribute 'bool'

I was trying to run:

python -m python_coreml_stable_diffusion.torch2coreml --convert-unet --convert-text-encoder --convert-vae-decoder --convert-safety-checker -o

And it wouldn't work as I got this error:
File "/Users/..../opt/miniconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/numpy/init.py", line 284, in getattr
raise AttributeError("module {!r} has no attribute "
AttributeError: module 'numpy' has no attribute 'bool'
I solved it with the help of https://github.com/ipython/ipyparallel/issues/349#issuecomment-812458750:
problem solved with :
1 - pip uninstall -y numpy
2 - pip uninstall -y setuptools
3 - pip install setuptools or conda install setuptools
4 - pip install bumpy or conda install numpy
Any one will work. Conda/pip

Same issue here but downgrading to numpy 1.23 fixes it. Apparently numpy 1.24 has some issues.
Use pip install "numpy<1.24" in your conda environment

This was fixed via 37ff2a4. If you pull latest changes and run pip install -e . it should install the correct version of numpy.

Thank you!


datasets with lat/lon and loatitude/longitude raise error with get_coord_type

roocs-utils version: v0.2.1

Description
When scanning for the inventory a few datasets have raised an error when we attempt to identify their coordinate types:
https://github.com/roocs/roocs-utils/blob/887377cda314d455373ba92eea724c9b90b1fa2a/roocs_utils/inventory/inventory.py#L33-L52
On closer inspection these datasets have coordinates like the below (c3s-cmip6.ScenarioMIP.BCC.BCC-CSM2-MR.ssp126.r1i1p1f1.SImon.siconc.gn.v20200219)
Coordinates:
  * lat        (lat) float64 -81.5 -80.5 -79.5 -78.5 ... 86.5 87.5 88.5 89.5
  * lon        (lon) float64 0.5 1.5 2.5 3.5 4.5 ... 356.5 357.5 358.5 359.5
    latitude   (lat, lon) float32 dask.array<chunksize=(232, 360), meta=np.ndarray>
    longitude  (lat, lon) float32 dask.array<chunksize=(232, 360), meta=np.ndarray>
    type       |S7 ...

and so when cf-xarray attempts to identify latitude/longitude it finds two coordinates for each and raises the error ValueError: Receive multiple variables for key 'longitude': ['longitude', 'lon']. Expected only one. Please pass a list ['longitude'] instead to get all variables matching 'longitude'.
Both latitudes have the same values but lon is from -280 to 80 and longitude from 0 to 360
So it is the lines
https://github.com/roocs/roocs-utils/blob/887377cda314d455373ba92eea724c9b90b1fa2a/roocs_utils/xarray_utils/xarray_utils.py#L62-L63
and
https://github.com/roocs/roocs-utils/blob/887377cda314d455373ba92eea724c9b90b1fa2a/roocs_utils/xarray_utils/xarray_utils.py#L78-L79
where the issue arises.
It also raises the question of which values we would want to be represented in the inventory as longitude and latitude min/max values. I expect it would be longitude from 0 to 360.
For now I could try commenting those lines out to scan them - but the datasets would still raise issues elsewhere when being processed

@ellesmith88: this does look strange.

It seems like the data is erroneous - I can't understand why the lon values would differ from the longitude values. I also think that this file shouldn't be using a 2D latitude/longitude description when they are actually regular latitude and longitude (i.e repeats of the same numbers).
Does this error appear in other data or only in this dataset? The short-term solution is to put this on an EXCLUDE_LIST of datasets that we are not processing right now.
We should discuss with Ruth and Martin.

At the moment it is looking to be around 25 datasets that are affected - I will update once I have confirmed this.
Steps to follow:

Step 1 is to proceed by excluding those datasets. We can then discuss them with Ruth and Martin to come up an appropriate solution (i.e. fix the data, change our code, or exclude the data).

So, the problem in the code here is probably that lon should not include the units=degrees_east, axis=X and standard_name=longitude.
        double lon(lon) ;
                lon:bounds = "lon_bnds" ;
                lon:units = "degrees_east" ;
                lon:axis = "X" ;
                lon:long_name = "Longitude" ;
                lon:standard_name = "longitude" ;

Interesting catch. The /badc/cmip6/data/CMIP6/ScenarioMIP/BCC/BCC-CSM2-MR/ssp126/r1i1p1f1/SImon/siconc/gn/v20200219/siconc_SImon_BCC-CSM2-MR_ssp126_r1i1p1f1_gn_201501-210012.nc appears to have been written by CMOR, so it may be worth raising a CMOR issue, once we figure out the scope of the problem.
@agstephens : I agree with your interpretation, apart from the interpretation of axis: I think it is correct to have this on the dimension which behaves like and x-coordinate (e.g. as in the example 5.2 in Section 5.2 of the CF Convention).

The same thing exists in 81 out of 517 datasets of the BCC-CSM2-MR model in our archive. The datasets affected are listed in the attached file.
bcc_issue_exists.txt

ECMWF have agreed that we can omit these datasets from the first inventory/release.

@agstephens @ellesmith88 : let's raise this as an issue with CF. It might be an error in the conventions or in the cf-checker.
Is it allowed in the convention? Does it get checked for in the cf-checker?


Add memory import support

This adds support to the public export API and internal implementation for import memory objects. The exception to this is that the AOT compiler and loader are currently hardcoded not to support import memories, so that will need to be fixed in a future change.
Please let me know if there's anything about the approach used here that should be improved or re-done.

The WASM_ENABLE_MULTI_MODULE setting is currently restricted to importing only globals and functions. We prefer to keep it this way unless there are explicit requirements for change.
We're in the process of developing instantiation linking (as opposed to MULTI_MODULE, which is loader linking). This new approach will encompass all four elements: global variables, functions, memory, and tables. Therefore, it seems more appropriate to incorporate "memory import support" into the new linking framework rather than considering it a separate feature.
In this series of PRs, I believe we can complete APIs to obtain import types and export items.

Hi @lum1n0us,
This change is not intended to have any special support for multiple modules, it's intended to add support for import memories in general. Would you mind clarifying what you saw in the change that might not fit with that?
Thanks,
Benbuck

To be clear, I fully agree with you adding support for importing globals, functions, memories, and tables, and linking them at instantiation time. This change is intended to be the first piece of that, with others to come later, please see our previous brief discussion here:
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3786#discussion_r1759637244

Apologies for the confusion. Yes, this pull request is about how to import memory, which is also a part of the linking process. Multi-module is a type of linking technology, referred to as loading linking. This is different from the instantiation linking defined by the Spec., which WAMR has not yet supported. I have opened a new issue to track the implementation of the linking as defined by the Spec

Hi @lum1n0us,
I believe that this PR does implement instantiation linking for memory objects. For example in wasm_export.h, the new WASMImportInst imports member was added to InstantiationArgs. Would you mind explaining please what you see that doesn't meet that criteria, or what I'm misunderstanding?
Thanks,
Benbuck

I believe that this PR does implement instantiation linking for memory objects. For example in wasm_export.h, the new WASMImportInst imports member was added to InstantiationArgs.

You are absolutely right. I am just hoping that we can design the entire instantiation linking process as much as we can, which includes not only memory linking but also other aspects, to ensure it fully aligns with the Spec. definition.
Some of this work has already been completed in your previous pull requests. Thank you, by the way.

Yes we're in full agreement on wanting to fully support the specification for importing all types. I tried to plan for that by building scaffolding in the WASMImportInst structure:
    wasm_import_export_kind_t kind;
    union {
        wasm_memory_inst_t memory_inst;
    } u;

Which should allow us to easily add other types. But if you don't like this approach in general, that's fine, I'm just trying to understand what design choices you think would be better.

I've created an issue to gather ideas about instantiation linking. Please leave your comments and thoughts there.

About WASMImportInst:

Include other types of instances in the union, such as function, global, table, and tag.
The name WASMImportInst might need to be changed. My initial thought is WASMExternal, similar to wasm_c_api.

About WASMImportInst:
~- Include other types of instances in the union, such as function, global, table, and tag.~

The name WASMImportInst might need to be changed. My initial thought is WASMExternal, similar to wasm_c_api.

Using extern seems good but WASMExternal makes me a little confused with wasm-c-api's structures. Since now there are type wasm_memory_inst_t, wasm_function_inst_t, wasm_global_inst_t and wasm_table_inst_t, how about using WASMExternInst or WASMExternInstance? And then typedef WASMExternInst *wasm_extern_inst_t.

Hi  @wenyongh. Yeah, I also wasn't sure the memory wrapper approach would be the best choice, so I'm not surprised to hear you don't love it either. I could try to re-do this PR with a new approach if we want, but I'm not sure if that's worth doing?

Hi @wenyongh. Yeah, I also wasn't sure the memory wrapper approach would be the best choice, so I'm not surprised to hear you don't love it either. I could try to re-do this PR with a new approach if we want, but I'm not sure if that's worth doing?

It is up to you, but I think it helps, at least it is a good reference for the future instantiation linking implementation. And if you want to do it, could you modify WASMImportInst to WASMExternInst or WASMExternInstance?

Plus, IIUC, we don't need WASMMemoryWrapper to package host created WASMMemoryInstance and runtime created WASMMemoryInstance. Both should be same thing.
That's why I also thought we should not have another implementation in wasm_runtime_memory_create(). It should use memory_instantiation() in some way.

@bnason-nf  please take a review of #3845, #3887, #3893. Or just #3893. Let me know your comments.

Close this PR since #3845 and #3887 have been merged.


PICO 4 gets detected as Quest 2 on 1.29.1

The only way to get Pico 4 controllers working with that version of Beat Saber is by setting SteamVR input compatibility mode to Quest 2 controllers. That seemingly changes the name that Unity.XR.InputDevices returns to "Oculus Quest2".
BeatLeader.Core.Managers.ReplayEnhancer.TrackingDeviceEnhancer uses that API in ProcessOpenVRDevices to set the HMD and controller name info.
However ProcessOpenVRSettings that is called later uses another method to obtain the headset type - via SteamVR setting "LastKnown.HMDManufacturer". That method would have detected the HMD correctly, however, it doesn't end up getting used as the ReplayInfo.hmd field is already filled in.
One solution would be to add a special case into ProcessOpenVRSettings for Pico, but I'm not sure it is the best way

Sorry, but 1.29.1 is not supported anymore.


fix: remove blog page and help link

Same contribution has been merged but not updated on zuri_main. , This appears to be a repetition.


Incorrect Operations threshold help link

Actual behavior: In account page -> Summary subsection -> "Operation thresholds" -> question mark help text -> link"Read more..." points to https://www.stellar.org/developers/guides/concepts/accounts.html#sequence-number
Expected behavior: The link should point to https://www.stellar.org/developers/guides/concepts/accounts.html#thresholds

Fixed.
Thanks!


User filters recommendations list

As a User
I want to filter recommendations by keyword, associated action (requires #28), assigned category  (requires #42), status and author
So that I can quickly find the recommendation(s) I am looking for

This issue was moved to dumparkltd/hr-nmrf-client#31


Add support for go_custom_stringer.

This change enables a new enum option:
option (go_custom_stringer) = true;

With this specified the out of the box String() impl is renamed to
_String() which allows adding custom stringer implementations.

Replaces the need for
option (gogoproto.enum_stringer) = false;

opened as a draft as wasn't sure if this is something y'all need/care about.

Thanks! This seems useful.
It’s unfortunate that you can’t have multiple extensions with the same name in a single proto (or Go package). See go_enum_name vs just using go_name everywhere. In that vein, I’d probably rename this to go_enum_stringer and invert it, so false renames the old String method.
Google recommends extensions use a defined message, instead of individual string or bool options. In theory this could look something like this:
import "patch/go/enum.proto";

enum PaintColor {
    option (go.enum.options) = {name: 'Color'};
}

GetExtension returns default val if unpopulated :-/
Will poke at a custom message for it.

I was thinking something like this:
syntax = "proto2";

// clang-format off
package go.enum;
// clang-format on

import "google/protobuf/descriptor.proto";

option go_package = "github.com/alta/protopatch/patch/go/enum";

message Options {
	// name, if specified, renames the generated Go type for this enum.
	optional string name = 1;

	// stringer_name, if specified, renames the generated String() method
	// so a custom String() method can be implemented for the generated type.
	optional bool stringer_name = 10;
}

extend google.protobuf.EnumOptions {
	optional Options options = 7001;
}

Have something working in #3.

#3 is way better


Ability to override scroll restoration without conditionally rendering the ScrollRestoration component

What version of Remix are you using?
1.4.0
Steps to Reproduce
Issue is reproduced here: https://codesandbox.io/s/remix-unwanted-scrolling-ljr1vb

Scroll down to the bottom of the page where there is a button and a link
Click on either the button or the link

Expected Behavior
The button and the link click is reflected in the the search param of the page's URL, and the user can continue to interact with the link or button.
Actual Behavior
The click is reflected in the page's URL but the page scrolls back tot he top, so the user has to scroll back down to continue interacting with the link or button.
This is admittedly a very contrived example, but I recently ran into this in a more realistic situation: while working on a page that has a weekly calendar as a small portion of the page. The user can change weeks by clicking on a next week or previous week button and we wanted to reflect the user's week in a search param. Each time the user changes weeks however, the page scroll back to the top.
This problem is discussed in issue #186 and several people reported being frustrated by it. The discussion resulted in a couple of suggested fixes:

Conditionally rendering the ScrollRestoration component
A small modification to the ScrollRestoration component suggested by @wladiston here which would allow individual links or calls to modify the page location to override/disable the scroll restoration

That issue was closed as it was only tangentially related to the actual bug. So I'd like to revive the discussion about incorporating @wladiston solution into Remix's ScrollRestoration component. There was interest from numerous people and it does seem much more workable than conditionally rendering the component.
I'm not certain whether the proposed solution is the best and clearest. I'll open a PR with it, but I welcome any suggestions about to approach this better.

Interestingly, I encountered the same unwanted scroll behavior, and I'm also building a scheduler(calendar-like, could change weeks and months) too.
Moreover, at the bottom of the page, I rendered 2 levels of nested router where users can see and operate on schedule details. The problem is every time I navigate to the deeper router, the page automatically scrolls to the top, which makes me have to manually scroll to the bottom to continue my operation. To be honest, It's very inconvenient.
My thought is that not only the change of search params shouldn't trigger scrolling to the top, but sometimes navigation too.
I notice this issue had been around for a couple of months, has any progress on this been made?

Hey @seanbruce. I think we're waiting for the new major version of react router which will, as I understand it, expose an API to handle this

@filipemir thanks 😀

I also found this issue very frustrating in a scenario where I control modal visibility via search params. Every time I open the modal, the page scrolls to the top.

In case anyone finds this issue as I did: there is an open PR that has a bit of code helping with scroll restoration issues: https://github.com/remix-run/remix/pull/2812

@filipemir This is implemented in Remix 1.10.0, where you can use the new preventScrollReset attribute on Link: https://reactrouter.com/en/main/components/link#preventscrollreset


question about depthss

https://github.com/mit-han-lab/bevfusion/blob/531bf67dd56192cf1cff7baf2995312efdba1ea9/mmdet3d/models/vtransforms/base.py#L295C1-L298C39
https://github.com/mit-han-lab/bevfusion/blob/531bf67dd56192cf1cff7baf2995312efdba1ea9/mmdet3d/models/vtransforms/base.py#L92C19-L92C22
I would like to know more about the functionality of these two links: what is entered into the variable dist in the first link, and more about the functionality of the function in the second link.

Thank you for your interest in our project. This repository is no longer actively maintained, so we will be closing this issue. Please refer to the amazing implementation at MMDetection3D. Thank you again!


Expose directiveNormalize in the public API

I am creating a number of similar directives for processing SVG attributes, and it would be useful if I could use the existing, internal directiveNormalize function to help with this. Could this be exposed in the public API?

+1

+1

Sorry, found $normalize method with help of http://stackoverflow.com/a/20100606/305830

+1

@Guria that function is enough exposed
Consider this example:
["send-email", "other"].forEach(function(d){
    angular.module("mod").directive(d, function(){ // directive name must be sendEmail
        return {
            templateUrl: "/somepath/%s.html".replace("%s", d); // file name must be send-email
        };
    });
});

How would you do this? I think that having public access to this function is a must.

Is this issue being considered anymore?
I see it's closed, but it seems like a lot of people want directiveNormalize(name), or at least the ability to match a directive to an element, to be a public API.
My use case, and the reason I stumbled upon this issue, is:

Our application has user-level security roles.
They login, we have their roles, and we enable/disable certain functionality based on their access.
I'm creating a directive (requireRole) that will mark certain input, textarea, button, .form-control, etc. as disabled.
My directive has a somewhat simple compile(...) function written as follows:

angular.module(...)
    .directive('requireRole', function() {
        ...,
        priority: 999,
        compile: function(tElement, tAttrs) {
            const selector = 'input, textarea, a, button, select, form, .form-control';
            const relevantElements = tElement[0].querySelectorAll(selector);

            for (let i = 0; i < relevantElements.length; i++) {
                // Assume this does what it says
                disableElement(relevantElements[i]);
            }
        },
        restrict: 'E'
    });

The issue I came across is that ngDisabled - which we have used in several places - conflicts with our disabling process. In other words, our code will disable an element, but the ngDisabled directive will override it sometimes - as it's intended. To solve this issue, I wanted to simply remove all ngDisabled directives in tElement's template during the compilation process. Now came the issue of knowing whether  or not ngDisabled was used in the template.
We mainly use attribute-style directives (so [ng-disabled] in this case). If we wanted to remove it, for example, we would delete that attribute by name:
angular.module(...)
    .directive('requireRole', function() {
        ...,
        priority: 999,
        compile: function(tElement, tAttrs) {
            const selector = 'input, textarea, a, button, select, form, .form-control';
            const relevantElements = tElement[0].querySelectorAll(selector);

            for (let i = 0; i < relevantElements.length; i++) {
                // Remove the ngDisabled directive
                angular.element(relevantElements[i]).removeAttr('ng-disabled');

                // Then disable it
                ...
            }
        },
        restrict: 'E'
    });

But, in the case someone used it in a different manner (say as a class-style directive), the above code would not work.
I ideally would prefer a built in mechanism for adding/removing directives from an element by their normalized names.