Does it support YOLO5 and YOLO8 ?

// ignore_for_file: avoid_print, depend_on_referenced_packages, unnecessary_null_comparison
import 'dart:math';
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:image/image.dart' as image_lib;
import 'package:tflite_flutter/tflite_flutter.dart';
import 'package:tflite_flutter_helper/tflite_flutter_helper.dart';
import '/core/ml/realtime_object_detection_classifier/recognition.dart';
import 'stats.dart';
/// Classifier
class Classifier {
/// Instance of Interpreter
late Interpreter _interpreter;
/// Labels file loaded as list
late List _labels;
static const String modelFileName = "detect.tflite";
static const String labelFileName = "labelmap.txt";
/// Input size of image (height = width = 300)
static const int inputSize = 300;
/// Result score threshold
static const double threshold = 0.5;
/// [ImageProcessor] used to pre-process the image
ImageProcessor? imageProcessor;
/// Padding the image to transform into square
late int padSize;
/// Shapes of output tensors
late List<List> _outputShapes;
/// Types of output tensors
late List _outputTypes;
/// Number of results to show
static const int numResult = 10;
Classifier({
Interpreter? interpreter,
List? labels,
}) {
loadModel(interpreter: interpreter);
loadLabels(labels: labels);
}
/// Loads interpreter from asset
void loadModel({Interpreter? interpreter}) async {
try {
_interpreter = interpreter ??
await Interpreter.fromAsset(
modelFileName,
options: InterpreterOptions()..threads = 4,
);
  var outputTensors = _interpreter.getOutputTensors();
  _outputShapes = [];
  _outputTypes = [];
  for (var tensor in outputTensors) {
    _outputShapes.add(tensor.shape);
    _outputTypes.add(tensor.type);
  }
} catch (e) {
  print("Error while creating interpreter: $e");
}

}
/// Loads labels from assets
void loadLabels({List? labels}) async {
try {
_labels =
labels ?? await FileUtil.loadLabels("assets/$labelFileName");
} catch (e) {
print("Error while loading labels: $e");
}
}
/// Pre-process the image
TensorImage getProcessedImage(TensorImage inputImage) {
padSize = max(inputImage.height, inputImage.width);
imageProcessor ??= ImageProcessorBuilder()
.add(ResizeWithCropOrPadOp(padSize, padSize))
.add(ResizeOp(inputSize, inputSize, ResizeMethod.BILINEAR))
.build();
inputImage = imageProcessor!.process(inputImage);
return inputImage;
}
/// Runs object detection on the input image
Map<String, dynamic>? predict(image_lib.Image image) {
var predictStartTime = DateTime.now().millisecondsSinceEpoch;
if (_interpreter == null) {
  print("Interpreter not initialized");
  return null;
}

var preProcessStart = DateTime.now().millisecondsSinceEpoch;

// Create TensorImage from image
TensorImage inputImage = TensorImage.fromImage(image);

// Pre-process TensorImage
inputImage = getProcessedImage(inputImage);

var preProcessElapsedTime =
    DateTime.now().millisecondsSinceEpoch - preProcessStart;

// TensorBuffers for output tensors
TensorBuffer outputLocations = TensorBufferFloat(_outputShapes[0]);
TensorBuffer outputClasses = TensorBufferFloat(_outputShapes[1]);
TensorBuffer outputScores = TensorBufferFloat(_outputShapes[2]);
TensorBuffer numLocations = TensorBufferFloat(_outputShapes[3]);

// Inputs object for runForMultipleInputs
// Use [TensorImage.buffer] or [TensorBuffer.buffer] to pass by reference
List<Object> inputs = [inputImage.buffer];

// Outputs map
Map<int, Object> outputs = {
  0: outputLocations.buffer,
  1: outputClasses.buffer,
  2: outputScores.buffer,
  3: numLocations.buffer,
};

var inferenceTimeStart = DateTime.now().millisecondsSinceEpoch;

// run inference
_interpreter.runForMultipleInputs(inputs, outputs);

var inferenceTimeElapsed =
    DateTime.now().millisecondsSinceEpoch - inferenceTimeStart;

// Maximum number of results to show
int resultsCount = min(numResult, numLocations.getIntValue(0));

// Using labelOffset = 1 as ??? at index 0
int labelOffset = 1;

// Using bounding box utils for easy conversion of tensorbuffer to List<Rect>
List<Rect> locations = BoundingBoxUtils.convert(
  tensor: outputLocations,
  valueIndex: [1, 0, 3, 2],
  boundingBoxAxis: 2,
  boundingBoxType: BoundingBoxType.BOUNDARIES,
  coordinateType: CoordinateType.RATIO,
  height: inputSize,
  width: inputSize,
);

List<Recognition> recognitions = [];

for (int i = 0; i < resultsCount; i++) {
  // Prediction score
  var score = outputScores.getDoubleValue(i);

  // Label string
  var labelIndex = outputClasses.getIntValue(i) + labelOffset;
  var label = _labels.elementAt(labelIndex);

  if (score > threshold) {
    // inverse of rect
    // [locations] corresponds to the image size 300 X 300
    // inverseTransformRect transforms it our [inputImage]
    Rect transformedRect = imageProcessor!.inverseTransformRect(
        locations[i], image.height, image.width);

    recognitions.add(
      Recognition(i, label, score, transformedRect),
    );
  }
}

var predictElapsedTime =
    DateTime.now().millisecondsSinceEpoch - predictStartTime;

return {
  "recognitions": recognitions,
  "stats": Stats(
      totalPredictTime: predictElapsedTime,
      inferenceTime: inferenceTimeElapsed,
      preProcessingTime: preProcessElapsedTime)
};

}
/// Gets the interpreter instance
Interpreter get interpreter => _interpreter;
/// Gets the loaded labels
List get labels => _labels;
}
when change modelFileName return error range index 0:1
@jaeyounkim
@densa

I have not understood your example, but here is a working repo with yolov8 https://github.com/codscino/yolo_tflite

thanks ,  but the example not real time object detection ?
i need code working real time object detection
@codscino

I was working on the same thing, but I did not find any time this week. Here are the suggestions to make it work https://github.com/tensorflow/flutter-tflite/pull/107#issuecomment-1658844538 . Please share if you manage to make it working

@maheralzoubi97  Please describe your question better, as from the code example, taken from  live_object_detection_ssd_, not really gives an understanding of your question.
Also, please read Readme.md file, where it is mentioned that models are downloaded from the remote storage.
In case of YOLO - that might not work, but I am not an ML specialist to help you here.

The remote download it is not a problem. I think just putting the tflite model in assets/models folder is ok

I was working on the same thing, but I did not find any time this week. Here are the suggestions to make it work #107 (comment) . Please share if you manage to make it working

Let's work together on implementing live object detection, if you find time. I'm up for it!

I was working on the same thing, but I did not find any time this week. Here are the suggestions to make it work #107 (comment) . Please share if you manage to make it working

Let's work together on implementing live object detection, if you find time. I'm up for it!

Hi, that is a good idea, unfortunately I am very busy till the 10th of September. Then I will have some free time to work on this.

Here are the suggestions to make it work #107 (comment) .

To complete the answer you mentioned I would like to add the following. YOLO returns all the candidate bounding boxes (shape of the output: 1, 84, 8400). This means that as an output we get 8400 bounding boxes. But we then need to filter them out with non maxima suppression. This means that in order to get some useful box we need to write a dart implementation of the NMS algorithm

@ferraridamiano thanks for the feedback. This seems longer than what I expected. Are you working on this as well?

@codscino I'm interested but I'm not working on it yet. I think that it would not be that hard to do

Ok thanks for the feedback. When I will start working on it on September I will let you know

I am also working on using yolov5 in a Flutter application, as @ferraridamiano mentions it is necessary to have the NMS, but I just found a Chinese forum where a person tries to implement yolov5 with a different apporach:
forum: https://qiita.com/syu-kwsk/items/e3126f55895444aa408b
repo: https://github.com/syu-kwsk/flutter_yolov5_app
I'm looking at a way to implement it using the latest version of flutter-tflite

I am also working on using yolov5 in a Flutter application, as @ferraridamiano mentions it is necessary to have the NMS, but I just found a Chinese forum where a person tries to implement yolov5 with a different apporach:
forum: https://qiita.com/syu-kwsk/items/e3126f55895444aa408b repo: https://github.com/syu-kwsk/flutter_yolov5_app
I'm looking at a way to implement it using the latest version of flutter-tflite

Were you able to make YOLOv5 model work in Flutter app using this repo ? Will try running my model using this repo. Thanks!

I successfully implemented a simple NMS algorithm in dart. I still have to optimize it because it's not that fast, but it works. I will release everything as open source as soon as I'm satisfied with it (maybe alongside a dart package for NMS). I'm happy that someone is working on it with different approches.
A side note: I noticed that the inference time (without NMS) of yolov8n (fp16) is really slow (~1600 ms on Snapdragon 730), while the official ultralytics app is like 10x faster. Are you experiencing similar behaviour?

I am also working on using yolov5 in a Flutter application, as @ferraridamiano mentions it is necessary to have the NMS, but I just found a Chinese forum where a person tries to implement yolov5 with a different apporach:
forum: https://qiita.com/syu-kwsk/items/e3126f55895444aa408b repo: https://github.com/syu-kwsk/flutter_yolov5_app
I'm looking at a way to implement it using the latest version of flutter-tflite

Were you able to make YOLOv5 model work in Flutter app using this repo ? Will try running my model using this repo. Thanks!

I decided not use the code from the forum because he uses the package tflite_flutter_helper which it is right now discontinued, and I would like to use the new development that is not released. But you can try to implement it. Meanwhile I'm using the pytorch_flutter library to experiment with real time object detection using yolov5.

I successfully implemented a simple NMS algorithm in dart. I still have to optimize it because it's not that fast, but it works. I will release everything as open source as soon as I'm satisfied with it (maybe alongside a dart package for NMS). I'm happy that someone is working on it with different approches.
A side note: I noticed that the inference time (without NMS) of yolov8n (fp16) is really slow (~1600 ms on Snapdragon 730), while the official ultralytics app is like 10x faster. Are you experiencing similar behaviour?

Thanks a lot. I do not know, I have asked on their discord but currently they have just a paid mobile sdk for yolo. I think they are using flutter in their app because I have seen a flutter dev job listing in their career page. This gives hope but I have not the experience to achieve such performances.

I have not understood your example, but here is a working repo with yolov8 https://github.com/codscino/yolo_tflite

I'm new to ML. How do I get the output detections from the interpreter with your example?

I have not understood your example, but here is a working repo with yolov8 https://github.com/codscino/yolo_tflite

I'm new to ML. How do I get the output detections from the interpreter with your example?

I don't know sorry, it is a very basic example

I am also working on using yolov5 in a Flutter application, as @ferraridamiano mentions it is necessary to have the NMS, but I just found a Chinese forum where a person tries to implement yolov5 with a different apporach:

forum: https://qiita.com/syu-kwsk/items/e3126f55895444aa408b repo: https://github.com/syu-kwsk/flutter_yolov5_app

I'm looking at a way to implement it using the latest version of flutter-tflite

Were you able to make YOLOv5 model work in Flutter app using this repo ? Will try running my model using this repo. Thanks!

I decided not use the code from the forum because he uses the package tflite_flutter_helper which it is right now discontinued, and I would like to use the new development that is not released. But you can try to implement it. Meanwhile I'm using the pytorch_flutter library to experiment with real time object detection using yolov5.

What is your inference time with yolov8n with the PyTorch package?

I'm using a fine tune yolov5s model in a custom dataset, and this is how I meassure the inference in flutter:
stopwatch.start();
List<ResultObjectDetection?> objDetect =
await _objectModel.getImagePredictionList(bytes.first,
minimumScore: 0.3, IOUThershold: 0.4);
stopwatch.stop();
setState(() {
_timeInference = stopwatch.elapsedMilliseconds;
});
stopwatch.reset();
So, with a redmi note 9, it works slow with ~1200 ms under stream images. I'm not really sure if I'm doing something wrong.

I am also working on using yolov5 in a Flutter application, as @ferraridamiano mentions it is necessary to have the NMS, but I just found a Chinese forum where a person tries to implement yolov5 with a different apporach:

forum: https://qiita.com/syu-kwsk/items/e3126f55895444aa408b repo: https://github.com/syu-kwsk/flutter_yolov5_app

I'm looking at a way to implement it using the latest version of flutter-tflite

Were you able to make YOLOv5 model work in Flutter app using this repo ? Will try running my model using this repo. Thanks!

I decided not use the code from the forum because he uses the package tflite_flutter_helper which it is right now discontinued, and I would like to use the new development that is not released. But you can try to implement it. Meanwhile I'm using the pytorch_flutter library to experiment with real time object detection using yolov5.

What is your inference time with yolov8n with the PyTorch package?

I'm using a fine tune yolov5s model in a custom dataset, and this is how I meassure the inference in flutter: stopwatch.start(); List<ResultObjectDetection?> objDetect = await _objectModel.getImagePredictionList(bytes.first, minimumScore: 0.3, IOUThershold: 0.4); stopwatch.stop(); setState(() { _timeInference = stopwatch.elapsedMilliseconds; }); stopwatch.reset(); So, with a redmi note 9, it runs low with ~1200 ms under stream images. I'm not really sure if I'm doing something wrong.

i am working in deploying yolo on flutter too , but i think if you dont use platform channel nms algorithm is must have , im new to this too and right now im think of using pytorch on flutter than tflite .
if u have any progress pls share it with me , thanks

Hi, any updates on this?
I am trying to implement nms in dart natively. I don't actually need the precise areas just an indication whether an object is present on the image or not.

Here I am. I just published my work as opensource here: https://github.com/ferraridamiano/yolo_flutter
I really wanted to improve it but I do not have enough time to put on this. The project contains a simple (and not optimized) version of the NMS algorithm. Feel free to open PRs to improve the project

Here I am. I just published my work as opensource here: https://github.com/ferraridamiano/yolo_flutter
I really wanted to improve it but I do not have enough time to put on this. The project contains a simple (and not optimized) version of the NMS algorithm. Feel free to open PRs to improve the project

Awesome work! Did you export your yolo weights to tflite?

I don't want to include weights on the GitHub repo. But I wrote instructions on the README of the project that explains how to do it


RecursionError during call to T2CharString.decompile()

In the attached test font subr_test_font_infinite_recursion.otf the T2CharString for glyph F calls a global subroutine that in turn calls itself.
When I try to decompile the T2CharString for this glyph using the decompile() method, I get:
Traceback (most recent call last):
  File "/Users/cchapman/bin/decompile_cff_charstrings.py", line 13, in <module>
    t2_char_string.decompile()
  File "/usr/local/lib/python3.7/site-packages/fontTools/misc/psCharStrings.py", line 966, in decompile
    decompiler.execute(self)
  File "/usr/local/lib/python3.7/site-packages/fontTools/misc/psCharStrings.py", line 300, in execute
    rv = handler(index)
  File "/usr/local/lib/python3.7/site-packages/fontTools/misc/psCharStrings.py", line 343, in op_callgsubr
    self.execute(subr)

  ... I've removed a couple thousand more lines of the same for the sake of brevity ...

  File "/usr/local/lib/python3.7/site-packages/fontTools/misc/psCharStrings.py", line 300, in execute
    rv = handler(index)
  File "/usr/local/lib/python3.7/site-packages/fontTools/misc/psCharStrings.py", line 343, in op_callgsubr
    self.execute(subr)
  File "/usr/local/lib/python3.7/site-packages/fontTools/misc/psCharStrings.py", line 292, in execute
    token, isOperator, index = charString.getToken(index)
  File "/usr/local/lib/python3.7/site-packages/fontTools/misc/psCharStrings.py", line 1040, in getToken
    if index >= len(self.bytecode):
RecursionError: maximum recursion depth exceeded while calling a Python object

Here's some example code to reproduce the problem:
import sys
from fontTools.ttLib import TTFont

font_path = sys.argv[1]
tt_font = TTFont(font_path)
cff = tt_font['CFF '].cff
for top_dict in cff.topDictIndex:
    char_strings = top_dict.CharStrings
    char_list = char_strings.keys()
    for key in char_list:
        print('glyph: %s' % key)
        t2_char_string = char_strings[key]
        t2_char_string.decompile()
        print(t2_char_string.program)

Just to be clear: yes, this is a deliberately bad test font with infinite recursion, but I'm reporting this because I was expecting decompile() to simply decompile the charstring. I wasn't expecting it to execute the subroutines called by that charstring.
subr_test_font_infinite_recursion.otf.zip

This is a CFF2 font I created with the same idea of glyphs B - E having call depths 9-12, and glyph F calling a gsubr that calls itself:
var_subr_test_font_infinite_recursion.otf.zip
...it also results in RecursionError when trying to decompile the charstring for the F.

Due to how hintmask works it's not reliably possible to decompile without going into the subroutines, so I'm not sure I see a clean solution to this.
On the other hand, perhaps we can improve the error message, like we did for #1545 in #1546.

@justvanrossum Oh, right, that makes sense. I'm sorry that I didn't think about the need for the stem hints counts from any subroutines called to know how many data bytes follow a hintmask when I wrote this up.
I was working on a call depth checker for Font Bakery when I ran into this, and I just did this in my code:
            try:
                t2_char_string.decompile()
            except RecursionError:
                yield FAIL, "Recursion error while " \
                            "decompiling glyph '{}'.".format(key)
                failed = True
                continue

...and was enough to meet my needs.
I personally don't need the error message to be any more detailed, and I now understand why the decompile method is going into the subroutines, so if you want to close this issue, that would be fine with me.


Option to run vpnserver in foreground (for use with e.g. docker)

Please make it possible to have vpnserver NOT fork, and just run in foreground.
Docker is a container service that has one instance of a program running. If the program that was started (vpnserver start) exits, the docker instance exits, and a such the vpn server stops.
Keeping vpnserver in the foreground would make use in things like docker much more feasible. It would also make it easier to monitor with systems such as supervisord.
Thank you

Nop. SoftEther write the logs by default to the logs folder.
What if you start SoftEther WITHOUT execsvc
Then in the next line you run cat -f <PATH TO LOG FILES>
Would this solve your docker problem?


feature: apply multiple plans to account plan

@Himasnhu-AT would you like to review my PR as well?

Looks good to me 👍

in short, I'm working to create a many-to-many relation between accounts and plans.
so you can add multiple plans to the same account, and the state should be a sort of merge between all plans' fields.
it might also need some extra methods because the user will need to submit the account and later on - its associated plans that will affect the account plan state.

i'm closing this PR.
I have a truly marvelous demonstration of this proposition that this PR comment is too narrow to contain.


Example that illustrates modular typeDef and resolvers file organization

This example illustrates how one could organize typeDef and resolver files in any manner and merge them using merge-graphql-schemas.
Closes #136
Closes #214

@marktani In my haste, I submitted this PR on master. Would you prefer I submit it as a feature branch?

Compiling a project with tsc using this approach fails to include the .graphql files, which causes a run-time error Specified query type "Query" not found in document. I was wondering what your approach might look like to ensure the .graphql files are included in the output directory so they're available to fileLoader.
Based on the response in okgrow/merge-graphql-schemas#119, it seems like building for production using .graphql files hasn't been explored yet or it may be an exercise left for the library consumer to figure out.
/cc @cfnelson

@corydeppen Sorry for not noticing your comment here earlier. Just wanted to thank you for cc'ing me 🙌 ! It's been quite helpful in giving me more context and clarifying some of my own confusion with issues/questions some users have raised on merge-graphql-schemas.
The fileLoader could definitely be improved further as there are a few issues around it depending on your server env/build process etc. currently it is up to the end user to ensure the .graphql files are available to you in your production bundle. I suspect this might be a common pitfall for some users who have builds that use tree-shaking and are not including the .graphql files.
Always love to see/hear how people are consuming the merge-graphql-schemas library. So please feel free to open an issue and let us know your use cases/pain-points and how we could potentially improve the pkg. Always looking for more contributors as well!


Fix golint issues in maya/types/profiles/v1/profiles.go

File: maya/types/profiles/v1/profiles.go
Line 17: warning: package comment should be of the form "Package v1 ..." (golint)
Line 49: warning: exported const ReplicaCountPPK should have comment (or a comment on this block) or be unexported (golint)
Line 92: warning: exported const SpreadReplicaPPV should have comment (or a comment on this block) or be unexported (golint)

Resources:
-> Contributors guide: https://github.com/openebs/openebs/blob/master/CONTRIBUTING.md
Complexity: Easy

@ashishranjan738  please assign this issue to me.

I think something that describes the constant will help

Not a valid one anymore.. hence closing


Add general contribution guidelines

I noticed that there are no contribution guidelines given in the Readme.md file. For a newcomer to an open source community, it's difficult to contribute to open source without following the steps.
So, I would like to add contribution guidelines with proper commands and steps to this repo, which will be helpful for beginners.
Thanks and Regards
Ishika Punchariya

Done!!!


k8sClient get resources across all namespaces. WIP (#601)

Work in progress. Updating Applications using this branch works for me, when the RBAC permissions are configured. (#601)
However, there are several considerations;

Clearly the original code intents to call these functions per namespace (this is clear from the tests)
The tests have not been fixed (yet)
There could be performance issues by listing/filtering all Applications across namespaces (on the other hand, traditionally all Applications were in the same namespace)
Alternatively an array variable could be introduced, listing namespaces to be monitored instead. These could be looped through
Alternatively (again), a configuration variable could be introduced, to switch from single namespace to all namespaces (explicitly for the k8sClient).
Since the argocd api mechanism does not have this distinction, it might make sense to keep the design similar.

Maybe you can consider reusing the sourceNamespace settings from ArgoCD
and they recently supported regex in the value. https://github.com/argoproj/argo-cd/pull/19017/files

Great! Maybe you can consider reusing the sourceNamespace settings from ArgoCD and they recently supported regex in the value. https://github.com/argoproj/argo-cd/pull/19017/files

It does make sense to wanting to align the functionality to ArgoCD itself. AIU is effectively following that featureset, as we're seeing here with the 'app in any namespace' feature.
Code-wise, it would be better to share specific modules (e.g. regex.go), instead of duplicating them manually.
If we go for this approach, a fair amount of change is needed;

Get namespaces and filter these using a regex (also include RBAC for ns)
Get Applications in these namespaces (and keep that relation)
Modify existing Application update/patch functions to use these App + namespace combinations

@ishitasequeira I'm good with that. I'm just trying to bring information from Argo here.

@wd, It's a good callout for sure and something which can be looked into as a next step forward for the feature.
@jortkoopmans, let me know if you need any help in fixing the unit tests.

Thank you for the feedback and guidance @wd @ishitasequeira .
I have reviewed the fix with the scope to get AIU to work across namespaces (according to guidance).
It turned out that some of the functions strictly require a namespace to be provided, I have modified several functions to deal with this correctly (and introduce some helper functions). Specifically:

GetApplication needs a namespace for the Application, I think it's defined here: argo-cd
UpdateSpec can only work when it can match the UpdateSpec with a unique Application. Note that the UpdateSpec does not have to include the namespace.

For my use case, I only need AIU to monitor the Applications (ListApplications) across namespaces, since I use it exclusively to overwrite the sha256 image hashes (and not Get or Update the Application spec). This is probably why it worked for me previously (?).
Subsequently I refactored and extended some of the tests. But feel free to amend or change this. Lastly, while testing I noticed that retrying on conflict is perpetual, I implemented maxRetries and exponential backoff to resolve that.

I see that we have related efforts between this PR and https://github.com/argoproj-labs/argocd-image-updater/pull/831 , based on different solution directions. Just noting it here so it can be taken into account.

Sorry for my late response, but thank you @ishitasequeira and @chengfang for pushing this forward.
While I did read the provided comments, I should have probably just posted a response here as I hit a snag during testing of my own version on this branch, which left me a bit baffled.
Now my use case is perhaps a bit exotic, but what I'm seeing is that this version is seemingly setting the parameter, but in reality it doesn't get persisted. Strangely enough, the incomplete version at this commit, which fails the tests, does work for me (and logging is exactly the same).
It could be that I need to modify some of the ignore rules for argo-cd itself to avoid fights between them, but previously it worked.
Outlining my configuration just for clarity:

Using app-in-app pattern with the leaf apps having a helm chart
Using a tag parameter on the helm chart
Wanting to override that tag parameter with a sha256 tag in digest mode
My images are on AWS ECR (but it shouldn't matter)

Logs of 2 (redacted) update cycles (this goes on indefinitely):
time="2024-10-14T19:09:36Z" level=info msg="argocd-image-updater v99.9.9+02eee1d starting [loglevel:INFO, interval:2m0s, healthport:8080]"
time="2024-10-14T19:09:36Z" level=warning msg="commit message template at /app/config/commit.template does not exist, using default"
time="2024-10-14T19:09:36Z" level=info msg="Loaded 1 registry configurations from /app/config/registries.conf"
time="2024-10-14T19:09:36Z" level=info msg="ArgoCD configuration: [apiKind=kubernetes, server=argocd-server.argo-cd, auth_token=false, insecure=false, grpc_web=false, plaintext=false]"
time="2024-10-14T19:09:36Z" level=info msg="Starting health probe server TCP port=8080"
time="2024-10-14T19:09:36Z" level=info msg="Starting metrics server on TCP port=8081"
time="2024-10-14T19:09:36Z" level=info msg="Warming up image cache"
time="2024-10-14T19:09:37Z" level=info msg=/scripts/ecr.sh dir= execID=15aa1
time="2024-10-14T19:10:47Z" level=info msg="Finished cache warm-up, pre-loaded 78 meta data entries from 2 registries"
time="2024-10-14T19:10:47Z" level=info msg="Starting image update cycle, considering 92 annotated application(s) for update"
time="2024-10-14T19:10:56Z" level=info msg="Processing results: applications=92 images_considered=92 images_skipped=0 images_updated=0 errors=0"
time="2024-10-14T19:12:57Z" level=info msg="Starting image update cycle, considering 92 annotated application(s) for update"
time="2024-10-14T19:13:00Z" level=info msg="Setting new image to<PHONE_NUMBER>12.dkr.ecr.us-east-1.amazonaws.com/ecrrepo/my-app-image:int@sha256:89c99fabd5b8cd1210c64e67e65bad6c1666b362a409958b199acb43c6db8c62" alias=my-argo-application application=my-argo-application image_name=ecrrepo/my-app-image image_tag=dummy registry=123456780912.dkr.ecr.us-east-1.amazonaws.com
time="2024-10-14T19:13:00Z" level=info msg="Successfully updated image '123456780912.dkr.ecr.us-east-1.amazonaws.com/ecrrepo/my-app-image:int@dummy' to '123456780912.dkr.ecr.us-east-1.amazonaws.com/ecrrepo/my-app-image:int@sha256:89c99fabd5b8cd1210c64e67e65bad6c1666b362a409958b199acb43c6db8c62', but pending spec update (dry run=false)" alias=my-argo-application application=my-argo-application image_name=ecrrepo/my-app-image image_tag=dummy registry=123456780912.dkr.ecr.us-east-1.amazonaws.com
time="2024-10-14T19:13:00Z" level=info msg="Committing 1 parameter update(s) for application my-argo-application" application=my-argo-application
time="2024-10-14T19:13:00Z" level=info msg="Successfully updated the live application spec" application=my-argo-application
time="2024-10-14T19:13:05Z" level=info msg="Processing results: applications=92 images_considered=92 images_skipped=0 images_updated=1 errors=0"
time="2024-10-14T19:15:06Z" level=info msg="Starting image update cycle, considering 92 annotated application(s) for update"
time="2024-10-14T19:15:07Z" level=info msg="Setting new image to<PHONE_NUMBER>12.dkr.ecr.us-east-1.amazonaws.com/ecrrepo/my-app-image:int@sha256:89c99fabd5b8cd1210c64e67e65bad6c1666b362a409958b199acb43c6db8c62" alias=my-argo-application application=my-argo-application image_name=ecrrepo/my-app-image image_tag=dummy registry=123456780912.dkr.ecr.us-east-1.amazonaws.com
time="2024-10-14T19:15:07Z" level=info msg="Successfully updated image '123456780912.dkr.ecr.us-east-1.amazonaws.com/ecrrepo/my-app-image:int@dummy' to '123456780912.dkr.ecr.us-east-1.amazonaws.com/ecrrepo/my-app-image:int@sha256:89c99fabd5b8cd1210c64e67e65bad6c1666b362a409958b199acb43c6db8c62', but pending spec update (dry run=false)" alias=my-argo-application application=my-argo-application image_name=ecrrepo/my-app-image image_tag=dummy registry=123456780912.dkr.ecr.us-east-1.amazonaws.com
time="2024-10-14T19:15:07Z" level=info msg="Committing 1 parameter update(s) for application my-argo-application" application=my-argo-application
time="2024-10-14T19:15:08Z" level=info msg="Successfully updated the live application spec" application=my-argo-application
time="2024-10-14T19:15:14Z" level=info msg="Processing results: applications=92 images_considered=92 images_skipped=0 images_updated=1 errors=0"

The tree(/parent) App has these settings:
syncPolicy:
  automated:
    prune: true
    selfHeal: true
  syncOptions:
    - RespectIgnoreDifferences=true
ignoreDifferences:
  - group: argoproj.io
    kind: Application
    jqPathExpressions:
      - >-
        .spec.source.helm.parameters[] | select(.name |
        contains(".image.tag",".image.repository"))

The leaf app with the helm chart in it has:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  annotations:
    argocd-image-updater.argoproj.io/image-list: >-
      my-argo-application=123456789012.dkr.ecr.us-east-1.amazonaws.com/ecrrepo/my-app-image:int
    argocd-image-updater.argoproj.io/my-argo-application.helm.image-name: mychart.image.repository
    argocd-image-updater.argoproj.io/my-argo-application.helm.image-tag: mychart.image.tag
    argocd-image-updater.argoproj.io/my-argo-application.update-strategy: digest
spec:
  destination:
    namespace: mynamespace
    server: 'https://kubernetes.default.svc'
  project: myproject
  source:
    helm:
      parameters:
        - forceString: true
          name: mychart.image.tag
          value: >-
            int
        - forceString: true
          name: mychart.image.repository
          value: >-
<PHONE_NUMBER>12.dkr.ecr.us-east-1.amazonaws.com/ecrrepo/my-app-image

Unfortunately the same happens when using the now merged code on master (which includes some refactoring, nice work!), for my particular use case.
I will try to add some debugging and investigate what argo-cd is doing to see whether they are indeed getting into a fight (where previously they were not!).
Meanwhile, if you have any ideas or pointers, I'm looking forward to those! :sweat_smile:


Add Support for Wait For Element Step

Currently Wait For Element Steps from Chromes .json are not generated in the cypress test file.
This PR adds the basic functionality by generating .should('be.visible') including a timeout for the selector.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Any news on this?
@Who-Code first of all, thanks for adding it!. Then maybe you can clean your commits, because this project use yarn and there are already a yarn.lock file, that's means you can remove your package-lock.json, next you can remove console.log at line     console.dir(step); 🙏🏽

@Who-Code Thanks for the contribution. I'll see if someone has time to look at this next sprint.


Various fixes

RT Camera and Screen fixes
Fixed tick quota exceeded error immediately after E2 recreation
Optimized Hologram Emitter
Fixed EGP:egpClear() not resetting EGP:egpDrawTopLeft(1)

Does this close any issues?

Should egpClear reset egpDrawTopLeft? I thought it just cleared all the object, not the state. Either way, this change will break some things probably.

Fixed tick quota exceeded error immediately after E2 recreation

this commit here https://github.com/wiremod/wire/commit/67310ee2c17e1e4722ed8ddb12b13861f832034c should already fix this issue. if it's still an issue, I'd like to know how to reproduce it so I can take a look

@stepa2 you have two stale PRs with changes requested


Parameter Inconsistency fix

This branch converts all global network Variables to ResourceVariable class https://github.com/tensorflow/tensorflow/issues/6360#issuecomment-271741913 by setting use_resource=True for global variable_scope to fix the parameter inconsistency issue mentioned in https://github.com/tensorflow/tensorflow/issues/6360#issuecomment-271486091 .
It also puts opt = tf.train.AdamOptimizer(1e-4) inside of a scope with use_resource=True to (hopefully) prevent updates based on inconsistent Adam momentum and variance accumulator parameters mentioned in https://github.com/openai/universe-starter-agent/issues/67#issuecomment-287343303 .
These changes still needs to A/B tested to see if there's a noticeable positive performance difference. If so, TensorFlow dependency in Readme should be changed to version 1.0 so that future users don't succumb to parameter inconsistency issues.

One needs to use the most recent nightly binary of TF to expose the use_resource parameter.

Curious to see if this makes a difference. From my reading of https://github.com/tensorflow/tensorflow/issues/6360#issuecomment-271741913, it may remove any single variable containing partially updated value. However, the set of Adam parameters as a whole may still be partially updated, since there's no group-level locking

I ran this and it only lets one worker thread run, although the one worker thread it runs is slightly more stable than manually running a single worker thread without the use_resource = True changes.

What do you mean "more stable", you mean the cost graph has less variance?

Average entropy was .1 higher and avg reward rises more slowly but more steadily.

I don't understand why resource locking would make any difference with a single worker.

I started trying this. There are two things that need to be changed. 1. It is necessary to pass ps_ops=["Variable", "VariableV2", "VarHandleOp"] to the tf.train.replica_device_setter() since by default it only places Variable, and VariableV2 ops on the ps jobs, and so this code doesn't share any parameters, see:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/training/device_setter.py#L201
I don't know why VarHandleOp stands for ResourceVariable but it seems to be the case. 2. I haven't dug into it yet but there seems to be a change in TF 1.0 and the code as it is places the Adam ops on the worker. Wrapping the apply_gradients op in a tf.device("/job:ps/task:0/cpu:0")  context solves this (at least if there's only one ps server). Also the variable scope here https://github.com/ethancaballero/universe-starter-agent/blob/master/a3c.py#L249 is not needed (all the assign ops are created in the apply_gradients call).
These changes solve the problem of only one worker running.
I haven't checked for changes in performance when using use_resource=True yet however I wonder if there is any reason to believe that the functionality described in https://github.com/tensorflow/tensorflow/issues/6360#issuecomment-271741913 has already been implemented? The TODO here suggest it is still work in progress:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/resource_variable_ops.py#L395
Also I second yaroslavvb's comment that even if it was implemented, one still needs a lock on the whole parameter update.

@jhumplik ah, you have better reading comprehension than me, it's not ResourceVariable, but rather a sister class to resource variable that will have those semantics, which is not yet implemented


docs: fix wording problem in colab installation docs

Overview: What does this pull request change?

Fixes #1913

Fixes wording problem in colab installation docs.

Further Information and Comments

Hi @Darylgolden, how does this look?
Let me know if this needs any changes.
Thanks

Reviewer Checklist

[x] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[ ] If applicable: newly added functions and classes are tested

@Darylgolden I have made the change you requested. Please take a look at it and let me know if this needs any changes.
Thanks


Updating Wiki for autocorrected cops

I was looking around at what cops still need autocorrection and it looks like the Wiki for tracking this (here) is out of date. I'm more than happy to update it, just wanted to check in first because I'm new to this project. There doesn't seem to be a way to make a wiki pull request where it would be reviewed first, and I didn't want to change things without review. Would updating it be helpful?

Sure.
On Friday, January 2, 2015, Matt McNaughton<EMAIL_ADDRESS>wrote:

I was looking around at what cops still need autocorrection and it looks
like the Wiki for tracking this (here
https://github.com/bbatsov/rubocop/wiki/Automatic-Corrections) is out
of date. I'm more than happy to update it, just wanted to check in first
because I'm new to this project and there doesn't seem to be a way to make
a wiki pull request where it would be reviewed first. Would updating it be
helpful?
—
Reply to this email directly or view it on GitHub
https://github.com/bbatsov/rubocop/issues/1548.

Sweet! Done!


Add keep parameter to dump to copy invalid UTF-8 bytes as-is

Add an enumerator keep to error_handler_t to allow to keep the input as-is in case of UTF-8 errors.
Fixes #4552

coverage: 99.634%. remained the same
when pulling 4d67e127aab67724ead790fbaeaeb0f53b896141 on issue4552-ignore
into 094bd2651bd16510b3b2d59cfda002beb24922eb on develop.

It looks good to me. I thought you would do json_string === s_kept, but you took it's substring at position 1 instead, I guess dump gives you an extra character in the beginning or something?

Yes, dump adds quotes.


missing productPricing.getCompetitiveSummary from 2022-05-01 version

https://developer-docs.amazon.com/sp-api/docs/product-pricing-api-v2022-05-01-reference#getcompetitivesummary
looks like this function is missing from the API internally here.
also while just reviewing this whole new api section, i tried making a call to getFeaturedOfferExpectedPriceBatch and that just returns "Unauthorized" ..  good lord, the documentation for this api version is a mess.

I'm also got "Unauthorized" issue

to wit, i was complaining about Amazon's documentation, clearly they aren't capable of providing enough information to be able to use many of the functions, and have absolutely no idea what some of them would even be used for.

@ericblade Added in version 1.0.1

Thank you so much! <3


Decrease runtime of lint job

#2670 introduced pydocstyle and darglint packages. The darglint package specifically increases the runtime of our lint job by a few minutes. While we were okay with this addition, I suspect that there's a way to cut down on this time. Some suggestions are:

Find a way to only lint the changed files. @freddyaboulton mentioned that scikit-learn has a way to do so via bash script that might be worth exploring: https://github.com/alteryx/evalml/pull/2670#issuecomment-918578759
Explore github pre-commit hooks, and only call the lint job on files modified (that are not test files, and .py files).

Thanks for filing! Please use the "spike" label instead of "[SPIKE]" title prefix


text-generation-inference docker builds are not reproducible due to missing Cargo.lock causing builds to fail on previous versions

System Info
system: inf2.48xlarge instance
OS: Amazon Linux 2023

build was done with v0.0.23 but mainline has same issue

Who can help?
@dacorvo
Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[ ] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction (minimal, reproducible, runnable)
To reproduce:
git clone https://github.com/huggingface/optimum-neuron --branch=v0.0.23
cd optimum-neuron
make neuronx-tgi

Error message:
error: package `bitstream-io v2.5.0` cannot be built because it requires rustc 1.79 or newer, while the currently active rustc version is 1.75.0
Either upgrade to rustc 1.79 or newer, or use
cargo update<EMAIL_ADDRESS>--precise ver
where `ver` is the latest version of `bitstream-io` supporting rustc 1.75.0
thread 'main' panicked at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-chef-0.1.62/src/recipe.rs:204:27:
Exited with status code: 101
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Expected behavior
I expect the build to succeed.
Cargo.lock has bitstream-io v2.2.0 but it's not being used so invalid dependencies are being collected.
Build goes through when Cargo.lock is added as in TGI repo
https://github.com/huggingface/text-generation-inference/blob/8094ecfc9ef22c838fa7d49db4af8301539619e3/Dockerfile#L8

@dacorvo
Sorry didn't tag you properly before.

Heelo,
Any update about this ?

This was fixed as part of #696


Refactored DebounceInput as external component, added clear input functionality with keyboard navigation support

Refactored DebounceInput to maintain internal state for responsive typing and added clear input functionality with keyboard navigation support.
Please review the updated component for integration.

Thanks, this looks good.

Thanks! I've also fixed an issue where the  were stealing keyboard focus, so pressing 'd', 'i', and 'e' would jump respectively to "Delete All" "Import", "Export".
I've modified it to use  instead of , and going forward I'll be reducing use of MenuItem (too many unwanted side effects).
Thanks again, Search works really well, and love how you refactored into the common component, perfectly getting the spirit of the app.

@joriskalz Thanks, well integrated and looks good. You'll see a smaller graphical change with the matches count. Very good feature. I'm already using it surprisingly a LOT!


Broken links in all the table of contents?

All the Table of Contents links on all the documentation are adding a "#!" to the front of the segments, so the links are not working.
Expected behavior:
On Displaying Data Guide, clicking the "Showing component properties with interpolation" item in Table of Contents should go to https://angular.io/docs/ts/latest/guide/displaying-data.html#interpolation
Actual behavior:
Click that link goes to
https://angular.io/docs/ts/latest/guide/displaying-data.html#!#interpolation
This is the case for ALL links in ALL tables of Content at the top of each guide and advanced documentation chapters.
I tried with different browsers...still not working.

AHHH, someone already submitted this as an issue. Sorry.


Fix/block gas limit exceeded

Description
From time to time i get block gas limit exceeded on the e2e tests right in the migrations. I am pretty sure this is the cause.
It looks a little like this when it happens:

Tested
yarn test
using e2e tests
Issues
Related to: #1639

given up for #2263


[fips][cli][dsa] Sign/verify something with a non-FIPS key should fail in FIPS mode

This was triggered by the tests in #12291 .
# ------------------------------------------------------------------------------
../../util/wrap.pl ../../apps/openssl dgst -sha256 -sign DSA.nonfips.priv.pem -out DSA.nonfips.fail.sig ../../providers/fips.so => 0
    not ok 11 - DSA: Sign something with a non-FIPS key (should fail) # TODO see issues #12xxx
# ------------------------------------------------------------------------------
    #   Failed (TODO) test 'DSA: Sign something with a non-FIPS key (should fail)'
    #   at ../../home/tuveri/repos/ossl_committer/test_cli_fips/test/recipes/20-test_cli_fips.t line 112.
Verified OK
../../util/wrap.pl ../../apps/openssl dgst -sha256 -verify DSA.nonfips.priv.pem -signature DSA.nonfips.sig ../../providers/fips.so => 0
    not ok 12 - DSA: Verify something with a non-FIPS key (should fail) # TODO see issues #12xxx
20-test_cli_fips.t .. ok   -----------------------------------------------------

Ping @slontis

I dont think dgst has even been tested to be using the correct non legacy paths.
I had to update genpkey to get that to work correctly..
Thanks for the info - it might be a while before I get to look at this.

I am not sure the issue is limited to dgst though, I would expect the APIs used by dgst to fail earlier when trying to compute operations that shouldn't work in FIPS.
Assuming the library is operating in FIPS mode:

When the deserializer parses the non-FIPS key, shouldn't it fail to create a key object?
When sign is passed a non-FIPS key object, shouldn't it fail?
When verify is passed a non-FIPS pubkey object, shouldn't it fail? (this is borderline, some use cases may want to be able to verify legacy signatures with a warning, other might want to fail)

If we only "fix" dgst to do extra things in FIPS mode we are sidestepping the problem, and external applications that want to operate in FIPS mode might not rely on openssl failing to do non-FIPS things!

If it is actually using fips mode the answer is yes.. When I get time I will look at it.

Securitychecks have also been added to evp_test that target fips


Reenable messages :update

This is used to stop a streaming response (by sending PATCH /messages/{messageId}).

Matthew—did you follow up on this? Any concerns merging this?

No concerns merging. The bug I'm thinking of has already been fixed in our branch.


Launch zones editor is NOT WORKING

ℹ Computer information

PowerToys version: v0.22.0
PowerToy Utility: FancyZones
Running PowerToys as Admin: Yes
Windows build number: [run "winver"] - Windows 10

📝 Provide detailed reproduction steps (if any)

… Opened PowerToys Setting
… Clicked on FancyZones Tab
… Launched Zones Editor
4... Selected Grid
5..When Holding "Shift" key and dragging the windows it does not any allow me to display into grid.

Note: Every time I select different template and apply it always goes back to by default on "Focus" template
✔ Expected result
_What is the expected result of the above steps? It should've allowed my to hold the "Shift" key and apply drag screens into the grid template.
❌ Actual result

The selected templates other than focus not being Applied even though I did click on "Apply" button.

What is the actual result of the above steps?
📷 Screenshots
Are there any useful screenshots? WinKey+Shift+S and then just paste them directly into the form

I've got the same problem, but only when I enable the Allow zone to span across monitors
Disabling the feature, zones restart to work (but only on primary monitor, as expected)
My system info:

Windows 10 Pro Version 2004 Build 19041.487 (Insider Release Preview)
Power Toys v0.21.1 run as Admin

I have the same problem. Additionally, the checkbox for "Allow zone to span across monitors" always shows as unchecked (even if it actually is checked and the setting is applied). I will echo the previous comment that when that is turned off, the zones start to work again.

Confirmed, the issue seems to be present when spanning multiple monitors. Works fine for a single monitor.

Closing as duplicate of https://github.com/microsoft/PowerToys/issues/6302
If you can repro with the "Allow zone to span across monitors" option off, please reopen.


Error: No async runtime found

Future<void> main() async {
  await Rhttp.init();
  final client = await RhttpCompatibleClient.create(
      settings: const ClientSettings(
      httpVersionPref: HttpVersionPref.http3,
      proxySettings: ProxySettings.noProxy(),
  )); // Exception occurs
}

Flutter Version: 3.24 stable
OS: Windows 10
Rhttp Version: ^0.5.2

Fixed in v0.5.3


feat(frontend): component NetworkLogo

Motivation
We render a few times the logo for a network in the code. So this PR just extracts such component.

[OISY-130]


[bugs] add check for LP: #1906280

This patch implements a check to detect ocurrences of bug 1906280, this
will affect systems running systemd>=237-3ubuntu10.43 and
charm-neutron-openvswitch<21.01
Related-Bug: https://bugs.launchpad.net/charm-ovn-chassis/+bug/1906280

Hi Felipe, I would like to land this asap but its gonna need two small updates; first can you fix the systemd version (see comment) and it also needs a rebase since there are some imports that have changed name. Thanks.

Updated the fixture, rebased, resolved merge conflicts, tox is happy ;-)

Added a fix for this issue, which it's basically make the snap to pull
the dependencies listed in the requirements.txt
On Wed, 2021-06-02 at 02:48 -0700, Edward Hope-Morley wrote:

@dosaboy requested changes on this pull request.
Hey freyes, I am hitting an error when i run a snap contaning this
change:
-Traceback (most recent call last):
File "/snap/hotsos/x1/plugins/openstack/parts/octavia_bugs.py", line
8, in
import git
ModuleNotFoundError: No module named 'git'
We either need to suppress that exception or update the
snapcraft.yaml to install that dep
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

closing for now. will revisit later.


default number of documents

Can there be a default for the number of documents per chunk?

Made 1000 documents as a default value for chunks size


MAINT: move LSAP input validation into lsap_module

What does this implement/fix?

For small cost matrices, input validation in linear_sum_assignment is a significant overhead. Here I have moved the input validation into the optimize._lsap_module.
Other changes:

~I have changed the exceptions from ValueError to TypeError. I think these are more appropriate.~
~I have changed the exception string from expected a matrix (2-D array), got a %r array to cost matrix must be 2D. The PyErr_SetString only accepts const char* input.~
Checking for str input is handled by PyArray_ContiguousFromAny. This raises a TypeError with the message Cannot cast array data from dtype('<U32') to dtype('float64') according to the rule 'safe'.

Additional information

The _lsap.py module only contains the docstring now. Can we move the docstring into the _lsap_module.c file? If so we can remove the _lsap.py file altogether.

Thanks @pmla, merged. Moving the docstring into C next should be fine I think. It does break weird things like third-parties adding attributes onto the function, since it won't have a func.__dict__ but I don't think we care about that.


It doesn't work now

22.2.21, It doesn't work. NEED HELP

修改 hosts 用的服务器关掉了，现在只能用部署好的网页，就是要手动打开，不能扫码了


Add IModuleAssemblyContract.IsEnabled property

We've actually gotten rid of the type in question because of its redundancy and the added complexity it brought to the API


Getting "No 'asset' found" when trying to upload 8MB gif

It seems like either the GIF upload is broken or the file is too large.
I am constantly getting "No 'asset' found" as an error back when trying to upload a GIF file that is about 8MB in size (lots of stuff going on, can't compress it any further without sacrificing quality).
An alternative would be to be able to embed gfycat links.

Limit is 4MB

We will eventually have support for alot of embeds but every service is different so it's a lot of work to get good support for embeds. Also the code that controls embeds and markdown parsing is kinda a mess. I belive @Noojuno is doing some work on updating that code base to work with es6. Once thats done it should be easier for us to add more embedding functionality.

I'm marking this as wontfix, because right now this is by design.
There is some future architecting I plan to do that will bump this limit (i.e. once we support uploading video), but that requires a dedicated encoding server and much more storage space that we currently have.


Finally standalone subscriptions!

Will this ever be available on other tiers? I need standalone subscription and management thru Git, which is only available at more expensive tiers. Please have a tier where both features are available.

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

ID: 896691fb-064a-eaf8-f71f-53200149b48a
Version Independent ID: ff3e18ed-6d13-6fac-7b6c-f78f47b0f754
Content: Subscriptions in Azure API Management
Content Source: articles/api-management/api-management-subscriptions.md
Service: api-management
GitHub Login: @miaojiang
Microsoft Alias: apimpm

Thanks for the question! We are investigating and will update you shortly.

@jordanchang As far as standalone subscriptions are concerned, they are indeed planned to be supported in other tiers as mentioned in the consumption tier announcement (check under the New Features section).
But git management is something I believe won't be feasible to support in Consumption Tier due to the shared nature of the underlying resources.
Also, quite a few of the files in the git repo are related to the developer portal which isn't available in consumption tier due to the same reason.
Nonetheless, please feel free to open a feature request on UserVoice.

Thanks for reply! That is great news and looking forward to standalone subscriptions.

@jordanchang Glad we could help! The doc would be updated accordingly once the feature is available.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Swift brach failing for swift 4.2 , Xcode 10.0

New issue checklist

General information

IGListKit version: 3.3.0 swift branch
iOS version(s): 11+
CocoaPods/Carthage version:
Xcode version: 10
Devices/Simulators affected:
Reproducible in the demo project? (Yes/No):
Related issues:

Debug information
# Please include debug logs using the following lldb command:
po [IGListDebugger dump]

Let's keep this in #1081


Request change: passing the validated results to the route as parameters

Request change: passing the validated results to the route as parameters

I can make this change.
After the data have been validated by the decorator,
Now the developer has to validate them again inside the route.

What if I could pass them after they have clean and validated into the route.
They will be passed from the decorator to the route automatically.
And the user will not have to validate them again in the route.
So the code will look like this:
@app.route("/", methods=["POST"])
@validate(body=BodyModel, query=QueryModel)
def post(requested):
	#Requested is validated
	body = requested.body
	# This is body after validation
	query = requested.query
	# This is query after validation
	name = body["name"]
	nickname = body["nickname"]
	age = query["age"]

This is all what the developer will have to write.
Cleaner code.

If God willed, I can make this change.
I request your permission to make this change
Thank you!

Hi Omar,
I do not quite know what you meant by After the data have been validated by the decorator,
Now the developer has to validate them again inside the route.
There are two ways of how to pass validated parameters into your route function.

when you use validate() decorator arguments then validated parameters are accessible via request variable

using validated function kwargs type hints gives you direct access to these validated parameters.

I thing the latter one is what you are looking for.
Jirka

Hi Omar,
I do not quite know what you meant by After the data have been validated by the decorator,
Now the developer has to validate them again inside the route.
There are two ways of how to pass validated parameters into your route function.

when you use validate() decorator arguments then validated parameters are accessible via request variable

using validated function kwargs type hints gives you direct access to these validated parameters.

I thing the latter one is what you are looking for.
Jirka

Hi Jirka!
That was exactly what I have meant.
If God willed, When I update the README.md, I will make sure that this is very clear.
Because this is what exactly what I came here to this package looking for as a developer.

Hi Jirka!
That was exactly what I have meant.
If God willed, When I update the README.md, I will make sure that this is very clear.
Because this is what exactly what I came here to this package looking for as a developer.


Implement I/O safety traits

This PR implements I/O safety traits on File. I implemented AsFd/AsHandle and Into<OwnedFd/OwnedHandle>, although I wasn't able to implement From<OwnedFd> since that does not come with path information.
See also: sunfishcode/io-lifetimes#38

Thanks! This is released in version 2.8.0


Regexp parse error - [^[]]

Hey @svaarala,
Found another "real world" regexp parse error that is pretty widely expected.
[^[]]

Not [, followed by ].
For more context, I was trying to get the CoffeeScript parser itself running in Duktape. It uses a pretty gnarly regexp to parse regexps themselves.
https://github.com/jashkenas/coffeescript/blob/8e4fb1b9378a08cbeafd3659995de178d4c81588/src/lexer.coffee#L816-L829
Related #74.

Closing out as a "wontfix". It seems like its more likely a configurable regexp backend will be the solution to this.

There are two activities in resolving these issues - one is a replaceable RegExp backend and the other is improving the Duktape built-in regexp engine to support more expressions, so I'll reopen this but unassign it from 1.3.0.

This now works in master so closing:
duk> /[^[]]/.test('x]')
= true
duk> /[^[]]/.test('[]')
= false


Update REACH_RESULT_END, LOAD_MORE, SELECT_SEARCH_RESULT analytics events for additional search views

Problem

REACH_RESULT_END and LOAD_MORE_RESULTS events are currently sent from the additional search views with the correct values for searchType and resultPage, but query is set to blank string "".
The SELECT_SEARCH_RESULT is also sent for additional search views results and has a query property that is currently set to searchTerm:
https://github.com/WordPress/openverse/blob/3e57bfaff03d44b97e73ef5794ef0eda40b33749/frontend/src/types/analytics.ts#L253-L269
Description

We should update the payload to add the search view (similar to what we have in the strategy in the search store: 'default'/'tag'/source'/'creator', and also update the code to set query to the tag for tag pages, source for source pages and source&creator pair for the creator pages.
Alternatives

Additional context

@WordPress/openverse-frontend, what do you think is the best way of recording these events? Currently, the payload for these events is:
{
    /** The media type being searched */
    searchType: SupportedSearchType
    /** The search term */
    query: string
    /** The current page of results the user is on. */
    resultPage: number
  }

For the additional search views, we need to add the tag value for tag pages (the analog of query for search), source value for source pages, and source and creator values for the creator pages.
I think we can update the payload to be:
 {
    searchType: SupportedSearchType
    query: string // `tag`, `source` or `source/creator` for the additional search views
    strategy: "search" | "collection"
    resultPage: number
  }

Is there anything we should add/remove? Also, @dhruvkb, do you think there are drawbacks to adding a new property to an existing event?

do you think there are drawbacks to adding a new property to an existing event?

I don't think there are any drawbacks.

I've asked this before, and I can't remember what the reason for doing this approach was, but the strategy duplicates the page path, doesn't it? Search will always be /search or /search/image|audio and collections /image|audio/collection. As much as we can, we should try to rely on the page path for things like this, if we can, because it's possible to query it in addition to one custom property, whereas it is not possible to query multiple custom properties.
Mostly asking for clarification on why the strategy property is needed separately from the page path, if it is, so that it's documented. Otherwise, I will probably end up asking the same question in a few months time :sweat_smile:. Preferably a comment in the code explains this.

Noting here that Plausible recently added the ability to filter by more than 1 custom property.
I couldn't, however, find a way of filtering by the query parameters. This means that we won't be able to distinguish between the collections. If we do want to do so, we need to add a custom property for it. I think we should add the strategy, but use tag/creator/source instead of a single value of collection. This way, we could compare how often users select results from  and load more results for each kind of page.
This is what I think we should send:
 {
    searchType: SupportedSearchType
    query: string // search term for default search, and the value of `tag`, `source` or `source/creator` for the additional search views
    strategy: "search" | "tag" | "source" | "creator"
    resultPage: number
  }

This way we can see how useful the users find each kind of view. If they often load more pages for one kind of "strategy", that would mean that it is a very useful feature.

Noting here that Plausible recently added the ability to filter by more than 1 custom property.

Oh! That's really exciting and great to know. That eliminates any concern I have.
The expanded strategy sounds good to me, but could we have tag_collection, source_collection, and creator_collection, just so that it's not possible to confuse it with the field-based, non-collection "search" strategy search? https://api.openverse.engineering/v1/images/?creator=hello&source=flickr
It's a separate code branch (sort of) from q based searches, so it would be easy to make the confusion without detailed domain understanding.

I'll get a PR up today, but I wanted to share my own understanding of these properties:

We already have "kind" on the SELECT_SEARCH_RESULT event to distinguish if a result is from a standard search result set, a related result set, or a collection result set. This isn't my favorite name, but this seems to cover the "strategy" requirement.
The remaining information we need is the "sub-type" of the collection (tag,source, or creator) and then the actual value of the collection ("flickr", "dogs", etc.). I do not think we should overload existing fields for those and instead should use two new fields: collectionType and collection.


[SPARK-38136][INFRA][TESTS] Update GitHub Action test image and PyArrow dependency

What changes were proposed in this pull request?
This PR aims to update GitHub Action test docker image to make the test environment up-to-date. For example, use PyArrow 7.0.0 instead of 6.0.0. In addition, Python 3.8's PyArrow installation is also updated together to be consistent.
Please note that this aims to upgrade the test infra instead of Spark itself.
Why are the changes needed?

SW
20211228
20220207

OpenJDK
1.8.0_292
1.8.0_312

numpy
1.21.4
1.22.2

pandas
1.3.4
1.3.5

pyarrow
6.0.0
7.0.0

scipy
1.7.2
1.8.0

Does this PR introduce any user-facing change?
No.
How was this patch tested?

Pass the GitHub Action with new image.
Check the package list in the GitHub Action log. Or check the docker image directly.

Could you review this, @HyukjinKwon ? This is tested here.

https://github.com/dongjoon-hyun/spark/pull/81

Merged to master.

Thank you, @viirya , @HyukjinKwon , @martin-g .
Yes, @viirya , 'numpy>=1.20.0' exists already and I didn't touch that part.


Test tutorial link

System Information (please complete the following information):

Model Builder Version:
Visual Studio Version

Describe the bug

On which step of the process did you run into an issue:
Clear description of the problem:

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

I wanted to check if label would be applied for people with no write access to the repo.

And verified label is not applied when people with no write access to the repo open an issue. 😉


TypeError manager.select is not a function

🐛 Bug Report

Follow the useSelect example at
https://react-spectrum.adobe.com/react-aria/useSelect.html#example

copy paste the code in a codesandbox
choose an option
This type error shows up

TypeError manager.select is not a function
onSelect@https://frsnj.csb.app/node_modules/
react-aria/selection/dist/module.js:313:31
useSelectableItem/itemProps.onPressUp@https://frsnj.csb.app/node_modules/
react-aria/selection/dist/module.js:343:17
triggerPressUp@https://frsnj.csb.app/node_modules/
react-aria/interactions/dist/module.js:147:18
usePress/pressProps</pressProps.onPointerUp@https://frsnj.csb.app/node_modules/
react-aria/interactions/dist/module.js:240:25
callCallback
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:2746:18
invokeGuardedCallbackDev
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:2770:20
invokeGuardedCallback
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:2804:35
invokeGuardedCallbackAndCatchFirstError
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:2807:29
executeDispatch
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:5335:46
processDispatchQueueItemsInOrder
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:5355:26
processDispatchQueue
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:5364:41
dispatchEventsForPlugins
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:5372:27
dispatchEventForPluginEventSystem/<
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:5495:16
batchedEventUpdates$1
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:15071:16
batchedEventUpdates
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:2626:16
dispatchEventForPluginEventSystem
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:5494:26
attemptToDispatchEvent
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:4047:40
dispatchEvent
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:4002:45
unstable_runWithPriority
https://frsnj.csb.app/node_modules/scheduler/cjs/scheduler.development.js:646:12
runWithPriority$1
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:7413:14
discreteUpdates$1
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:15085:18
discreteUpdates
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:2636:16
dispatchDiscreteEvent
https://frsnj.csb.app/node_modules/react-dom/cjs/react-dom.development.js:3983:22

🤔 Expected Behavior

The example should work as documented.
😯 Current Behavior

Example does not work as documented.
💁 Possible Solution

🔦 Context

I want to PoC useSelect to use it for a select box implementation.
💻 Code Sample

https://codesandbox.io/s/competent-keller-frsnj?fontsize=14&hidenavigation=1&theme=dark
🌍 Your Environment

Software
Version(s)

react-spectrum
latest

Browser
Firefox

Operating System
Mac

🧢 Your Company/Team

Me
🕷 Tracking Issue (optional)

@AndyOGo Still doing some digging, but it looks like downgrading the react-aria/select package to 3.2.1 fixes the issue.

Odd, select is missing from the selectionManager's _proto_ so perhaps an older version of react-stately/selection is being pulled in, but react-aria/select should be pulling the latest react-stately/selection

@AndyOGo I downloaded your codesandbox as a zip and built it locally, doesn't exhibit the error that the codesandbox browser app has, works just fine. Checked the yarn.lock and the correct version of react-stately/selection is being pulled in (3.3.0) so I'm guessing this is a codesandbox issue. Could you verify on your side by building the example locally as well? Closing this for now but feel free to reopen if it breaks locally for you as well.

Thank you for your quick feedback @LFDanLu
I can confirm both

downgrading react-aria/select to 3.2.1 works in codesandbox
export codesandbox as a ZIP and running it locally works with 3.2.3


Add a Gitter chat badge to README.md

chef/chef-push now has a Chat Room on Gitter
@manderson26 has just created a chat room. You can visit it here: https://gitter.im/chef/chef-push.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

Closing this as we're not going to be watching that room.


Skip unit tests as appropriate

Skip unit tests as appropriate if functionality not configured (tasks) or loadable (xls-writer)
Issue #513

Codecov Report

Merging #514 (d8c897e) into fix/optional-packages (4a13e2a) will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@                    Coverage Diff                    @@
##           fix/optional-packages     #514      +/-   ##
=========================================================
+ Coverage                  96.40%   96.44%   +0.04%
=========================================================
  Files                         42       42
  Lines                       2171     2196      +25
=========================================================
+ Hits                        2093     2118      +25
  Misses                        78       78

Impacted Files
Coverage Δ

explorer/tests/test_exporters.py
100.00% <100.00%> (ø)

explorer/tests/test_models.py
100.00% <100.00%> (ø)

explorer/tests/test_schema.py
100.00% <100.00%> (ø)

explorer/tests/test_tasks.py
100.00% <100.00%> (ø)

explorer/tests/test_views.py
100.00% <100.00%> (ø)

explorer/utils.py
88.88% <100.00%> (+0.55%)
:arrow_up:

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


Basic examples fail to run OSX: Library not loaded libmklml.dylib

Hi,
I have tried running the basic examples with: cargo run --example basics on MacOSX and here is the error message that I am getting:
dyld: Library not loaded: @rpath/libmklml.dylib
Referenced from: /Users/vegapit/dev/libtorch/lib/libcaffe2.dylib
Reason: image not found
Abort trap: 6
It seems to be looking for a library that is not available. I downloaded the libtorch 1.1.0 zip file at the following link:
libtorch 1.1.0 for MacOSX
Have I misunderstood the installation process?

Hi,
This seems to be a libtorch issue on macos x, e.g. https://github.com/pytorch/pytorch/issues/14165
Not sure what the proper way to fix it is (as I don't have access to a mac), but you may want to download and install mkl, e.g. https://github.com/intel/mkl-dnn/releases and copy  libiomp5.dylib and libmklml.dylib to .../libtorch/lib/.
If that works for you, we can add a small section at the bottom of the readme for people running into this issue.

Hi,
This seems to be a libtorch issue on macos x, e.g. pytorch/pytorch#14165
Not sure what the proper way to fix it is (as I don't have access to a mac), but you may want to download and install mkl, e.g. https://github.com/intel/mkl-dnn/releases and copy libiomp5.dylib and libmklml.dylib to .../libtorch/lib/.
If that works for you, we can add a small section at the bottom of the readme for people running into this issue.

It sounds good to me. I will have a go at installing the "mkl-dnn" lib separately and copy the dylib over. I will keep you updated about the results if it helps.

... download and install mkl by https://github.com/intel/mkl-dnn/releases and copy libiomp5.dylib and libmklml.dylib to .../libtorch/lib/.
this worked for me on osx, we also need to install the libomp by this brew install libomp

Yep, it worked for me too. Easy fix after all.


Artisan Confirm/Ask Skipped

Description
If an artisan command makes use of the confirm() or ask() function then the vessel environment doesn't allow the user to make the confirmation or provide any input. The default option is used or no input in the case of ask().
I've tested this on both MacOSX and Ubuntu Linux distros and the issue is present in both.
I can't seem to find any reference to anyone else having this issue, or any solutions.
OS
My OS is:

[x] MacOS [Mojave]
[x] Linux
[ ] Windows

Docker
The output of docker version:
Client: Docker Engine - Community
 Version:           19.03.2
 API version:       1.40
 Go version:        go1.12.8
 Git commit:        6a30dfca03
 Built:             Thu Aug 29 05:29:17 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.2
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.8
  Git commit:       6a30dfca03
  Built:            Thu Aug 29 05:27:52 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

The output of docker-compose version:
docker-compose version 1.23.1, build b02f1306
docker-py version: 3.5.0
CPython version: 3.6.7
OpenSSL version: OpenSSL 1.1.0f  25 May 2017

Is this when running commands like ./vessel art some:thing ? (what commands are you running exactly?)
I've never had an issue with adding input, so I'm curious about what's going on there.
Try this out and see what happens:
# "log into" the container
./vessel exec app bash

# If you're not in your project dir, cd into /var/www/html
# However you should be in the correct place when logging in
cd /var/www/html

# Try running a command "normally" to see
# if it is interactive or not
php artisan foo:bar
cd /var/www/html

In terms of using docker, this sounds like -it is't being used (allowing prompts into docker to be interactive / assigning a pseudo-tty).
Please let me know:

Exactly what commands you were running for this behavior
What happens when attempting the above!

@fideloper you're spot on; the -it was missing from the vessel config for artisan commands. Not sure when that happened but that's what the problem was.
Thanks for the hint.

You mean like that needs to be fixed, or did you have an older version of vessel?
Note that most commands use docker-compose under the hood, where -it flags are used by default (which docker-compose does, rather than a thing Vessel sets up itself).


[Bug]: The data node decommission has no response.

Contact Details
<EMAIL_ADDRESS>Is there an existing issue for this?

[X] I have searched all the existing issues

Priority
low (Default)
Environment
- CubeFS version:3.4.0

Current Behavior
Using the cli tool to decommission a datanode  did not result in the data partitions on the node being taken offline. After retrying the decommission operation, the node was successfully taken offline.
Expected Behavior
The node can be successfully decommission  without the need for a retry.
Steps To Reproduce
No response

CubeFS Log
No response
Anything else? (Additional Context)
No response

closed by #3563


x/pkgsite: invalid versions for subdirectories

What is the URL of the page with the issue?
https://pkg.go.dev/github.com/gomodule/redigo/redis
What is your user agent?

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36
Screenshot

First go to the URL directly

Second clicks the sub directory link from the main repo, which shows the latest link in red indicating the link from latest gomodules/redigo doesnt link to the latest gomodules/redigo/redis which should be the same.

Versions aren't listed in the sub directory:

What did you do?
Two flows:
Issue 1

Go to the redis main page with no version: https://pkg.go.dev/github.com/gomodule/redigo/redis
See that the version is: v0.0.0-...-e14091d instead of 1.8.8 which is currently the latest.

Issue 2

Go to to the page repo root: https://pkg.go.dev/github.com/gomodule/redigo
Click Directories -> redis link
See the second image above where the "Go to Latest" button is red and shouldn't be

What did you expect to see?
Sub directories in repos use the latest version by default.
What did you see instead?
Sub directories doesn't even list any version
Relevant information
We redigo have an experimental v2.0.0 branch before go modules we're introduced which has been challenging. With the introduction of retract in v1.16 we recently retracted this version in this commit so wondering if this is an edge case which pkgsite isn't dealing with?
Thanks for pabigot for raising this https://github.com/gomodule/redigo/issues/602

Thanks for the quick response @seankhliao :)
To clarify github.com/gomodule/redigo/redis was never a separate module, the blog post seems to deal with the case it was but this is not the case.
As far as I can see all other go tools seem to work as expected. So for example if I use github.com/gomodule/redigo/redis in a package and run go mod tidy it knows that the latest version is v1.8.1 the same for go get
go mod tidy
go: finding module for package github.com/gomodule/redigo/redis
go: found github.com/gomodule/redigo/redis in github.com/gomodule/redigo v1.8.8

go get -v github.com/gomodule/redigo/redis@latest
go: added github.com/gomodule/redigo v1.8.8

Prior to adding the retract to the go.mod this wasn't the case and it would pick up a v2.0.0+incompatible.
So unless I'm missing something, it seems like x/pkgsite is the only part of the ecosystem which doesn't correctly follow the chain and result in the correct versions?

The second issue is working as intended, go modules match to the longest module name.

To clarify when you say second issue do you mean the versions not listing correctly?
If so this isn't how something like testify/require is working and hence shows the versions associate with parent.

The redis submodule certainly existed at some point: https://github.com/gomodule/redigo/blob/e14091dffc1b085ace903ff7c41916e17c2daca3/redis/go.mod
(Clicking "valid go.mod file on the pkgsite sidebar will take you there).
go tooling chooses the correct one because 1. tagged overrides plain commits, and 2. it checks for the existence of a matching package (the redis module at the tagged version is empty).
Users only need to use a single version, so that works for them, but pkgsite needs to work with all versions (past, present, and future), so it can't follow the same logic. If a module exists/existed without being retracted, it will be served.
The only way to fix this is to properly retract the redis module, serving a module without files like the v0.0.0-do-not-use you have now isn't the correct fix.

Thanks for the clarification on why pkgsite is special, makes sense.
The blog article details how to retract a module which has been tagged, but not clear how to do the same for one that has never been tagged.
I thought I understood your statement:

The only way to fix this is to properly retract the redis module, serving a module without files like the v0.0.0-do-not-use you have now isn't the correct fix.

To mean that we would need a redis/go.mod and redisx/go.mod with:
retract v0.0.0-do-not-use // Never used only present to fix pkg.go.dev.

But re-reading I'm not sure this was your intention?

I can't speak to the right way to do this, but I thought that "you can file a request for the pkgsite team to remove your package" from https://pkg.go.dev/about#removing-a-package might be a workable approach?  gomodule/redigo#604 kinda scares me.

you would need:
// redis/go.mod
module github.com/gomodule/redigo/redis

retract [v0.0.0-0, v0.0.1]

and tag it as redis/v0.0.1.

you need to cover any plain commits with the go.mod file
v0.0.0-do-not-use already existed/exists, and you need a version that counts as newer (by semver).

The next commit has to be to remove the file (unless you do it on some other branch and just leave it there).
Removing a module by request will likely impact the module you want to keep as it shares a path.

Thanks again @seankhliao I've prepared a PR that includes the changes you suggested.
Note that no go.sum files present, would appreciate a review to ensure everything looks good?
As @pabigot mentioned I'm not totally comfortable with this as if it doesn't work or creates any unintended impact, I don't know a way to fix as the tag v0.0.1 will exist, which isn't ideal.

The tag only needs to exist long enough for the proxy to index/cache it. If you do it wrong, bump up the version and try again, the retractions at the highest version are the ones take effect.

Is there a way to force the proxy to index/cache it?

For those which might find this issue I managed to trigger the index to cache it by manually visiting:
<EMAIL_ADDRESS><EMAIL_ADDRESS>Thanks @seankhliao for the help in figuring out how to fix.


Fix 26829 after logout unsubscribe keyboardshortcut's documented shortcuts

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/26829
PROPOSAL: https://github.com/Expensify/App/issues/26829#issuecomment-1707351464
Tests

Sign out if you are logged in.
press cmd+j to open the shortcut modal without page reload.
now you see only the associated shortcut list.

Note In native devices like Android and IOS please use a Physical keyboard to open the keyboard shortcut modal.

[x] Verify that no errors appear in the JS console

Offline tests

Sign out if you are logged in.
press cmd+j to open the shortcut modal without page reload.
now you see only the associated shortcut list.

QA Steps

same as above

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/62904657/8f110b8e-9a84-49aa-a5aa-7e1684d70731

Mobile Web - Chrome

https://github.com/Expensify/App/assets/62904657/59307dd9-5ed7-4628-b4cf-68a9a9670672

Mobile Web - Safari

https://github.com/Expensify/App/assets/62904657/3f811fe9-0331-4785-867e-b30e51792aaf

Desktop

https://github.com/Expensify/App/assets/62904657/c645c861-f809-47e4-b24e-21e1e6b8640d

iOS

https://github.com/Expensify/App/assets/62904657/d34271bf-7380-4555-b391-47de1ef29a7c

Android

https://github.com/Expensify/App/assets/62904657/27a2f728-5229-47dd-8979-ac6ef5427f0e

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/jasperhuangg in version: 1.3.75-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.3.75-12 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/jasperhuangg in version: 1.3.76-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.3.76-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


feat: add datasource for robot and project members

This pull request adds 3 new data sources :

harbor_project_member_groups to retrieve the groups part as member of a specific Harbor project
harbor_project_member_users to retrieve the users part as member of a specific Harbor project
harbor_robot_accounts to retrieves the robot accounts, system or project wide

It's my first pull request for this project, let me know if you have comment about it.
Thank you.

hi @jdesnoes ,
thank you !
I'll try to test it asap.
could you please do something about the "robot$" as it can be something else ?

hi @jdesnoes , thank you ! I'll try to test it asap.
could you please do something about the "robot$" as it can be something else ?

Hi @flbla, thank you for your attention and fast answer.
Do you mean I should allow the user to give it as an optional robot_name_prefix parameter?
So that the default value could be robot$ and the user can still overide (according to its configuration) it using this datasource?
That looks ineteresting indeed.

``> > hi @jdesnoes , thank you ! I'll try to test it asap.

could you please do something about the "robot$" as it can be something else ?

Hi @flbla, thank you for your attention and fast answer.
Do you mean I should allow the user to give it as an optional robot_name_prefix parameter? So that the default value could be robot$ and the user can still overide (according to its configuration) it using this datasource? That looks ineteresting indeed.

Or to be more consistent with the resource_robot_account, it would be even better to apply this logic and use short name to compare, right?
if robot.Level == "project" {     shortName = strings.Split(robot.Name, "+")[1] }
Let me know what you think about so that I could update the PR. Thanks

Yes, could you do something like in the resource ?
thank you

Yes, could you do something like in the resource ? thank you

Yep, it's done. I let you check.

I also took advantage to add the harbor_users datasource.

Hi @flbla, could you take a look to this PR? Thanks.


Floating point rounding operations result in unexpected message encoding

Hi there,
We are using the generated C functions to encode floating point data into a CAN message frame.
Our signal has a factor of 0.025 (so the message will contain discrete values of, for example 52.775, 52.800, 52.825.
We have the following lines of code, which is used to encode the value of 52.800:
double battery_data_soc = 52.8;
printf("%.3f\n", battery_data_soc);
battery_data.so_c = example_battery_data_so_c_encode(battery_data_soc);
printf("%d\n", battery_data.so_c);

The output is:
52.800
2111
The 'correct' raw CAN value here would be 2112. The value returned would be decoded as 52.775 (one bit less than expected).
I believe the cause is the floating point operation done in the encode function:
return (uint16_t)(value / 0.025);
When represented as double, 0.025 is slightly greater than 0.025, and 52.8 is slightly less than 52.8.
So the resulting value is just slightly less than 2112 (2111.9999999...), which is truncated (when cast to an integer) to 2111 .
As much as the floating point result is 'correct', from a user perspective this is not useful behaviour.
Is there any way this could be resolved?
Kind regards
Laurence

Header math.h provides function lround() (and friends) which would seem reasonable. Its available in C99 onwards.


lowerLimit for web

Describe the Feature

The lowerLimit feature is only available for IOS and Android.
It does crash in react native web.
Is it difficult/ a big hurdle to implement this in RN web?
I notice that this library is very active and well maintained (thanks!), can I create a PR for this feature?
If so, do you have any tips before I start?
Possible Implementations

Related Issues

https://github.com/callstack/react-native-slider/pull/520


ARROW-12894: [R] Bump R version

Check the release prep script, there's at least one other r_version that needs bumping (in PKGBUILD), maybe more

Thanks, that's what I get for looking only at the R block in that file. Caught another one in the autobrew formula as well.


Splash note variables

What feature do you want to get added on the base engine?
Three variables
noteSplashAlpha
noteSplashOffset ( X and Y )
so you can change the noteSplash alpha and offset like notes in lua using
setPropertyFromGroup('unspawnNotes', i, 'SplashOffset.x',  [number] );
setPropertyFromGroup('unspawnNotes', i, 'SplashOffset.y',  [number] );
setPropertyFromGroup('unspawnNotes', i, 'noteSplashAlpha', 0.8);
To test your sight, and reliability, please select the option of what should NOT be requested.
Stage Editor, 6K+ support, and winning icons.

you could literally do just for i = 0, getProperty('grpNoteSplashes.length')-1 do


Page about MEV and Slippage  Protection

https://0x.org/docs/0x-swap-api/advanced-topics/slippage-protection


AB#2566 about-trigger button (+ begin of chat)

@gulfaraz I'm not sure how to solve this unit test error. If you have time on Thursday, could you help me with it?

this PR should fix the test errors

@gulfaraz thanks!


Support stay for PyData Amsterdam 2023 attendance

Full name
Derek Homeier
Description
Attending PyData in Amsterdam to follow up on the NumFOCUS 2023 summit.
Filing this under travel though I am only requesting supplementary funding for extending my stay; travel to/from Amsterdam and conference registration is already covered by NumFOCUS.
Total request
€ 180.00
Itemized budget
Lodging: € 143.67 (2 nights @ € 72 / night)
Local transportation: € 36.33 for 3 days
Advance needed
no

This is approved by the Finance Committee. Please submit an reimbursement request, including receipts to the Moore budget: https://opencollective.com/astropy/projects/astropy-moore-8435/expenses/new

Expense approved at https://opencollective.com/astropy/projects/astropy-moore-8435/expenses/179682. @dhomeier , if you could please add a brief (short paragraph) description of your activities at this meeting, we can close this issue. Thanks!

Thanks!
I've attended the main sessions as Astropy core team member and supporting NumFOCUS staff who were joining after the Summit. Some notable keynotes to me included facing security vulnerabilities per example of pickle, the scope of ML and a resumé of the preceding NumFOCUS DISC Unconference.