Equality bug?

Maybe I miss something, this code looks suspicious.  Shouldn't we test the reverse order of subsetOf, i.e., not only this subsetOf that, but that subsetOf this?

We don't really need to test the other direction because we are also testing this.size == that.size. The conditions this.size == that.size && this subsetOf that plus properties (1), (2) and (3) will imply that subsetOf this as all multiplicities must be equal. That is why we can avoid testing that condition.
(1) If this subsetOf that then for each element e of this this.multiplicity(e) <= that.multiplicity(e)
(3) If this subsetOf that then this does not contain elements that are not in that
(2) The size of a multiset is the sum of multiplicities of it's elements
But, there could still be a bug due to implementation details. @yoriyuki did you have some case where this failed? If so could you post it.

Thank you for explaining.  Now I see it.  We are experiencing a weird behavior of Bag, but we cannot reproduce it in the small example.  Probably it is not the problem of Bag per se, but equality of some objects in the Bag is not well-defined.

If you have a weird behavior the first suspect would be the element equivalence (or equality) that is defined.

Sure.  Thank you for the advice.


dead link in workbox-cli copyLibraries output

> npx workbox-cli copyLibraries third_party/workbox

npx: installed 460 in 15.077s
The Workbox libraries were copied to /Users/connorclark/code/ZeldaClassic/web/third_party/workbox/workbox-v6.5.2
Add a call to workbox.setConfig({modulePathPrefix: '...'}) to your service worker to use these local libraries.
See https://goo.gl/Fo9gPX for further documentation.

https://goo.gl/Fo9gPX is a dead link.

Can do!


•	Also, if the video has a dimension like 2640x1290 (just an example), crop it down to a 16:9 ratio, such as 1080x1920 for vertical videos.

Why should you do this?
•	The issue is that ExoPlayer needs to force the video dimensions, which takes memory/time and can sometimes fail, leading to errors.
•	Additionally, some videos use the wrong encoder for a specific device, causing ExoPlayer to fail. That’s why using h264 with optimized commands to recreate the MP4 file will allow it to run smoothly on ExoPlayer.

Any other hints?
•	Be aware of hardware limitations. Newer devices can handle up to 10 video controllers with the right encoder at once, but older devices will fail due to memory issues.
•	I noticed that when initializing 6 videos, disposing of all, and then immediately within 0-10ms initializing 6-7 more videos, ExoPlayer will fail on some devices because the system takes time to release the memory.

So how can you build an Instagram/TikTok feed?
1.	Encode the video to the correct dimensions (1080x1290 is commonly used).
2.	Encode with h264 and optimized commands. Use a slower preset to get the same quality with reduced file size.
3.	Ensure your video is no larger than 15-20MB if you want to initialize many video controllers.
4.	Use preloading techniques. Preload the first three videos. Once the first video is played, dispose of it immediately and preload the fourth one. This way, you always have three video controllers in memory. As the user scrolls, the next video controllers will be preloaded.
5.	Download the video as a file and use the video player with the file instead of a URL to precache it.
6.	Use a stateful widget to dispose of and initialize the next files in the background.

If you follow these steps, you won’t experience errors, and everything will run smoothly, even on older devices.
Additionally, TikTok/Instagram re-render videos using FFmpeg on the backend to ensure smooth performance, even on older devices.

I investigated this topic and found that the problem is mostly not with the video player or ExoPlayer, but mainly due to the hardware limitations of the specific device.
Each Android device has a built-in GPU (graphic processor) for decoding videos. The most supported decoder for videos is h264. I recommend reading some documentation about these decoders. The issue here is a mix between the hardware of that specific device, the encoding of the video, and its dimensions.
So in summary:
Some videos can be initialized 10 times, while others, which have incorrect encoding or dimensions, will not be able to initialize.
What can you do?

Simply use FFmpeg to encode the video with the most supported encoder/decoder like MPEG4 or h264 (h264 offers better quality).
Also, if the video has a dimension like 2640x1290 (just an example), crop it down to a 16:9 ratio, such as 1080x1920 for vertical videos.
make sure to initialize video controller not at the same time! Always await each initialize!
Don‘t initialize parallel at the same time because this will lead to errors. Await for each controller to initialize and then start playback.

await controller1.initialize(); await controller2.initialize(); and so on..
Why should you do this?

The issue is that ExoPlayer needs to force the video dimensions, which takes memory/time and can sometimes fail, leading to errors.
Additionally, some videos use the wrong encoder for a specific device, causing ExoPlayer to fail. That’s why using h264 with optimized commands to recreate the MP4 file will allow it to run smoothly on ExoPlayer.

Any other hints?

Be aware of hardware limitations. Newer devices can handle up to 10 video controllers with the right encoder at once, but older devices will fail due to memory issues.
I noticed that when initializing 6 videos, disposing of all, and then immediately within 0-10ms initializing 6-7 more videos, ExoPlayer will fail on some devices because the system takes time to release the memory.

So how can you build an Instagram/TikTok feed?

Encode the video to the correct dimensions (1080x1290 is commonly used).
Encode with h264 and optimized commands. Use a slower preset to get the same quality with reduced file size.
Ensure your video is no larger than 15-20MB if you want to initialize many video controllers.
Use preloading techniques. Preload the first three videos. Once the first video is played, dispose of it immediately and preload the fourth one. This way, you always have three video controllers in memory. As the user scrolls, the next video controllers will be preloaded.
Download the video as a file and use the video player with the file instead of a URL to precache it.
Use a stateful widget to dispose of and initialize the next files in the background.

If you follow these steps, you won’t experience errors, and everything will run smoothly, even on older devices.
Additionally, TikTok/Instagram re-render videos using FFmpeg on the backend to ensure smooth performance, even on older devices.

Hello, to solve the problem, I uploaded the files you applied for your solution once and then ran them using them as a controller file. I edited the videos on the client side, but the same error occurs after a few videos on my employer's test device. Is there another solution?

Hi,
Is there any fix for this issue?

I investigated this topic and found that the problem is mostly not with the video player or ExoPlayer, but mainly due to the hardware limitations of the specific device.
Each Android device has a built-in GPU (graphic processor) for decoding videos. The most supported decoder for videos is h264. I recommend reading some documentation about these decoders. The issue here is a mix between the hardware of that specific device, the encoding of the video, and its dimensions.
So in summary:
Some videos can be initialized 10 times, while others, which have incorrect encoding or dimensions, will not be able to initialize.
What can you do?

Simply use FFmpeg to encode the video with the most supported encoder/decoder like MPEG4 or h264 (h264 offers better quality).
Also, if the video has a dimension like 2640x1290 (just an example), crop it down to a 16:9 ratio, such as 1080x1920 for vertical videos.
make sure to initialize video controller not at the same time! Always await each initialize!
Don‘t initialize parallel at the same time because this will lead to errors. Await for each controller to initialize and then start playback.

await controller1.initialize(); await controller2.initialize(); and so on..
Why should you do this?

The issue is that ExoPlayer needs to force the video dimensions, which takes memory/time and can sometimes fail, leading to errors.
Additionally, some videos use the wrong encoder for a specific device, causing ExoPlayer to fail. That’s why using h264 with optimized commands to recreate the MP4 file will allow it to run smoothly on ExoPlayer.

Any other hints?

Be aware of hardware limitations. Newer devices can handle up to 10 video controllers with the right encoder at once, but older devices will fail due to memory issues.
I noticed that when initializing 6 videos, disposing of all, and then immediately within 0-10ms initializing 6-7 more videos, ExoPlayer will fail on some devices because the system takes time to release the memory.

So how can you build an Instagram/TikTok feed?

Encode the video to the correct dimensions (1080x1290 is commonly used).
Encode with h264 and optimized commands. Use a slower preset to get the same quality with reduced file size.
Ensure your video is no larger than 15-20MB if you want to initialize many video controllers.
Use preloading techniques. Preload the first three videos. Once the first video is played, dispose of it immediately and preload the fourth one. This way, you always have three video controllers in memory. As the user scrolls, the next video controllers will be preloaded.
Download the video as a file and use the video player with the file instead of a URL to precache it.
Use a stateful widget to dispose of and initialize the next files in the background.

If you follow these steps, you won’t experience errors, and everything will run smoothly, even on older devices.
Additionally, TikTok/Instagram re-render videos using FFmpeg on the backend to ensure smooth performance, even on older devices.

Hello, to solve the problem, I uploaded the files you applied for your solution once and then ran them using them as a controller file. I edited the videos on the client side, but the same error occurs after a few videos on my employer's test device. Is there another solution?

I investigated this topic and found that the problem is mostly not with the video player or ExoPlayer, but mainly due to the hardware limitations of the specific device.
Each Android device has a built-in GPU (graphic processor) for decoding videos. The most supported decoder for videos is h264. I recommend reading some documentation about these decoders. The issue here is a mix between the hardware of that specific device, the encoding of the video, and its dimensions.
So in summary:
Some videos can be initialized 10 times, while others, which have incorrect encoding or dimensions, will not be able to initialize.
What can you do?

Simply use FFmpeg to encode the video with the most supported encoder/decoder like MPEG4 or h264 (h264 offers better quality).
Also, if the video has a dimension like 2640x1290 (just an example), crop it down to a 16:9 ratio, such as 1080x1920 for vertical videos.
make sure to initialize video controller not at the same time! Always await each initialize!
Don‘t initialize parallel at the same time because this will lead to errors. Await for each controller to initialize and then start playback.

await controller1.initialize(); await controller2.initialize(); and so on..
Why should you do this?

The issue is that ExoPlayer needs to force the video dimensions, which takes memory/time and can sometimes fail, leading to errors.
Additionally, some videos use the wrong encoder for a specific device, causing ExoPlayer to fail. That’s why using h264 with optimized commands to recreate the MP4 file will allow it to run smoothly on ExoPlayer.

Any other hints?

Be aware of hardware limitations. Newer devices can handle up to 10 video controllers with the right encoder at once, but older devices will fail due to memory issues.
I noticed that when initializing 6 videos, disposing of all, and then immediately within 0-10ms initializing 6-7 more videos, ExoPlayer will fail on some devices because the system takes time to release the memory.

So how can you build an Instagram/TikTok feed?

Encode the video to the correct dimensions (1080x1290 is commonly used).
Encode with h264 and optimized commands. Use a slower preset to get the same quality with reduced file size.
Ensure your video is no larger than 15-20MB if you want to initialize many video controllers.
Use preloading techniques. Preload the first three videos. Once the first video is played, dispose of it immediately and preload the fourth one. This way, you always have three video controllers in memory. As the user scrolls, the next video controllers will be preloaded.
Download the video as a file and use the video player with the file instead of a URL to precache it.
Use a stateful widget to dispose of and initialize the next files in the background.

If you follow these steps, you won’t experience errors, and everything will run smoothly, even on older devices.
Additionally, TikTok/Instagram re-render videos using FFmpeg on the backend to ensure smooth performance, even on older devices.

Hello, to solve the problem, I uploaded the files you applied for your solution once and then ran them using them as a controller file. I edited the videos on the client side, but the same error occurs after a few videos on my employer's test device. Is there another solution?

Could you please provide more information?
Please provide Video Informations:
• File Size
• Encoding
• Mp4/Webm/hvec?
Informations about the employer device:

Which Android Version?
Build Version

A code snippet about your implementation/ logic

final videoControllerpr = ref.watch(currentPlayVideoProvider);
VideoPlayerController? videocontroller =
    ref.watch(currentPlayVideoProvider.notifier).getvideo();
return videoControllerpr.when(
  data: (data) {
    return VisibilityDetector(
      key: Key(url.toString() + name),
      onVisibilityChanged: (VisibilityInfo info) {
        debugPrint("${info.visibleFraction} ofmywidgetisvisible");
        if (info.visibleFraction >= 0.5) {
          if (data.startlisten == true) {
            ref
                .read(currentPlayVideoProvider.notifier)
                .changeUrl(url!, id, size, 1);
          }
        } else {
          if (data.id == id) {
            ref.read(currentPlayVideoProvider.notifier).clear();
          }
        }
      },

)
child:   data!.id == id && data.isoverlay! == false
? AspectRatio(
aspectRatio: width / height,
// constraints: BoxConstraints(
//   minHeight: size.height * 0.3,
//   minWidth: size.width,
//   maxHeight:
//       height > size.height ? size.height * 0.5 : height * 0.6,
//   maxWidth: size.width,
                    child: VideoPlayer(videocontroller!),
                  )
                : AspectRatio(
                    aspectRatio: width / height,

                    child: Image.network(
                      thumbnail.toString(),
                      height: height,
                      width: width,
                    ),
                  ),

in  currentPlayVideoProvider file
void changeUrl(
String url, String videoid, String? size, double? audio) async {
if (_controller != null && _controller!.dataSource == url) {
_controller!.setVolume(audio == null ? 0 : 1);
state = AsyncValue.data(state.value!.copyWith(
audio: audio == null ? false : true,
));
} else {
state = AsyncValue.data(state.value!.copyWith(
videoPlayStatus: VideoPlayStatus.loading,
id: videoid,
currenturl: url,
audio: audio == null ? false : true,
size: size));
if (_controller != null) {
await _controller!.pause();
_controller!.removeListener(() {
listen();
});
await _disposeController();
_controller = VideoPlayerController.networkUrl(Uri.parse(url))
..initialize()
..setVolume(audio == null ? 0 : 1)
..play().then((value) {
state = AsyncValue.data(state.value!.copyWith(
videoPlayStatus: VideoPlayStatus.play,
));
});
_controller!.addListener(() {
listen();
});
} else {
_controller = VideoPlayerController.networkUrl(Uri.parse(url))
..initialize()
..setVolume(audio == null ? 0 : 1)
..play().then((value) {
state = AsyncValue.data(state.value!.copyWith(
videoPlayStatus: VideoPlayStatus.play,
));
});
_controller!.addListener(() {
listen();
});
}
}
}
is this trick is ok for insta and facebook feedpage like design


Can't resolve imports when using includeBuild in package with v3.13.0

Extension Name: vscode-gradle
Extension Version: v3.13.0
OS Version: macOS 13.6
VSCode version: v1.83.1
Describe the bug
Java imports of local packages can't be resolved when using the includeBuild feature in a gradle.settings file. This only occurs with vscode-gradle v3.13.0. Going back to v3.13.7 resolves the problems.
To Reproduce
I've created a repository that reproduces the problem here:
https://github.com/jjavery/vscode-gradle-includebuild-bug
Open vscode-gradle-includebuild-bug.code-workspace in VSCode, wait for the Java build, and observe the errors in the PROBLEMS panel.
Expected behavior
Expect to be able to use includeBuild to define a composite build of packages in a VSCode workspace.
Screenshots

Output from "Gradle for Java"
[info] [gradle-server] Server started, listening on 52758
[info] Gradle client connected to server
[info] Java Home<EMAIL_ADDRESS>[info] JVM Args: --add-opens=java.base/java.util=ALL-UNNAMED,--add-opens=java.base/java.lang=ALL-UNNAMED,--add-opens=java.base/java.lang.invoke=ALL-UNNAMED,--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens=java.base/java.nio.charset=ALL-UNNAMED,--add-opens=java.base/java.net=ALL-UNNAMED,--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED,-XX:MaxMetaspaceSize=384m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant
[info] Gradle User Home: ~/.gradle
[info] Gradle Version: 8.3
[info] Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.3/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
CONFIGURE SUCCESSFUL in 4s
[info] Java Home<EMAIL_ADDRESS>[info] JVM Args: --add-opens=java.base/java.util=ALL-UNNAMED,--add-opens=java.base/java.lang=ALL-UNNAMED,--add-opens=java.base/java.lang.invoke=ALL-UNNAMED,--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED,--add-opens=java.base/java.nio.charset=ALL-UNNAMED,--add-opens=java.base/java.net=ALL-UNNAMED,--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED,-XX:MaxMetaspaceSize=384m,-XX:+HeapDumpOnOutOfMemoryError,-Xms256m,-Xmx512m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant
[info] Gradle User Home: ~/.gradle
[info] Gradle Version: 8.3
[info] Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.3/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
CONFIGURE SUCCESSFUL in 651ms
[info] Found 76 tasks
[info] Build file opened: vscode-gradle-includebuild-bug/package-1/build.gradle
[info] Build file opened: vscode-gradle-includebuild-bug/package-1/settings.gradle
[info] Build file opened: vscode-gradle-includebuild-bug/package-1/build.gradle
[info] Build file opened: vscode-gradle-includebuild-bug/package-1/settings.gradle
Does the bug still exist if you disable all other extensions?
Yes, although I didn't try it without Language Support for Java v1.23.0
Additional context
Unsure if relevant but all of my testing has been with a VSCode workspace. Each package is it's own folder in a single workspace.

We experience the same problem. It seems to be a problem with the new buildServer. Disabling it via  "java.gradle.buildServer.enabled": "off" fixes the problem, however disables the new buildServer.

Hi, may I ask on progress / ETA for this issue?
It would be great if we could have includeBuild() working with VSCode and the "new build server" so that projects which – for w/e reason – need to glue several projects into composite build can benefit from the better and seamless IDE experience.
Thank you very much.

No accurate ETA, but we already have a PR at the build server side to support the composite build: https://github.com/microsoft/build-server-for-gradle/pull/122
Should not be too far in the future I think.

It's pretty wild that even if you create a regular java project with additional library modules and confirm it to work, but then take one of those modules and move it outside the project and create a symbolic link to the module instead the imports start to fail in VSCode.
I.e. do someting like this:
mkdir demo && cd demo && gradlew init

Select type of project to generate:
  1: basic
  2: application
  3: library
  4: Gradle plugin
Enter selection (default: basic) [1..4] 2

Select implementation language:
  1: C++
  2: Groovy
  3: Java
  4: Kotlin
  5: Scala
  6: Swift
Enter selection (default: Java) [1..6] 3

Split functionality across multiple subprojects?:
  1: no - only one application project
  2: yes - application and library projects
Enter selection (default: no - only one application project) [1..2] 2

Select build script DSL:
  1: Groovy
  2: Kotlin
Enter selection (default: Groovy) [1..2] 1

Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no]
Project name (default: demo):
Source package (default: demo):

> Task :init
Get more help with your project: https://docs.gradle.org/7.4/samples/sample_building_java_applications_multi_project.html

BUILD SUCCESSFUL in 35s
2 actionable tasks: 2 executed

Confirm in VSCode the imports work fine

Then do this:
mv utilities ../. && ln -s ../utilities .

# and just to verify..
./gradlew test

BUILD SUCCESSFUL in 3s
18 actionable tasks: 14 executed, 4 up-to-date

After you have synchronized the Java classpath configuration the imports aren't working in the editor :cry:

The pre-release 3.14.2024070805 is released which contains the fix for the include build. You can install it and have a try.

I can confirm the preview release is working fine for my case now :). Thanks for the fix !

Sorry, the 3.14.2024070805 has some issues when the jvm used to launch gradle is < 17. I'm working on a fix now.

Should be fixed in 3.15.0


Implement Dummy_Scan From/To Substrait

In DuckDB, every query must be executed on top of a source, including queries that do not have a table as a source, like
SELECT coalesce(NULL,NULL,'test_string')

This is done by creating a Dummy_Scan underneath the projection with the coalesce expression.
I don't know how these should be represented in Substrait.
Maybe @gforsyth or @richtia know?
Related to: #1

I think this could be relevant?
https://substrait.io/relations/logical_relations/#virtual-table

By creating a virtual table in the case where no source is supplied, transforming your example into:
SELECT coalesce(expr0,expr1,expr2) from VALUES (NULL, NULL, 'test_string') T(expr0, expr1, expr2);

Or when a source is supplied, creating a subquery out of it and pushing the constants into it?

I think that makes sense. My first step here would be to check how Ibis/Isthmus represents these in the substrait json plan.

out of date, closing.


can't build

Hello, when I git the code locally and execute make, the following error occurs
make: *** No rule to make target 'src/tinyFA/pliib/pliib.hpp', needed by 'build/main.o'.  Stop.
Looking forward for your response, thank you

Hi,
This usually happens because the submodules are not initialized. When you cloned the repo, did you use the --recursive flag?
git clone --recursive https://github.com/edawson/gfakluge.git

If you've already cloned the repo, you can run the following from inside the repo:
git submodule update --init --recursive


Proposal on new data augmenter pipeline

Current implementation is implemented augmenter as a add-on of certain iterator implementation. This approach is very close to what Caffe is implementing. From my point of view, this is not the best way to implement a flexible data augmenter.
In MXNet iterator implementation, it is common that we stack one iterator over another. For example, put a prefetch iterator over recordio iterator. I would suggest to implement data augmenter as a set of iterators. We can implement scale, crop, color distort, padding, rotate as a set of iterators.
Benefits:

more flexible pipeline.
This can satisfied more different requirement on data augmenter.

Reuse the pipe between image classification and detection
In order to data augment the data for detection, label have to do the transform related to image's transform. for example, scale. current implementation will require this either using a option to state detection or classification, or implement another data augmenter for detection. If we go with the new approach, we can just write one additional data augmenter for label. this data augmenter can do the corresponding transform for label. (each image data augmenter need expose the actual argument to do the image transform through an additional variable?)

Love to hear your suggestions or options before I do actual coding.

mx.image.ImageIter is doing something similar to that.
However its hard to reuse large chunk of code from recognition for detection due to the coupling of image and label processing.
You can still reuse functions like random_crop.

I am exactly proposing to solve this by decoupling. The image processing iter should expose the parameter how it process the image and another label processing iter consume it. even for random_crop, the logic to process label still need the random_crop_offsetx, random_crop_offsety to process bbox.

Seems overly complicated. I think we just need to have enough helper functions so that it's easy to write a coupled iterator that process data and label together

Let me think about this bit more. i am looking at consolidate ssd sample with rcnn sample.


MediaSequence: How to save additional video clips to the original video clips?

System information

Have I written custom code: I am using the kinetics_dataset.py example
MediaPipe version: v0.8.6
Solution: MediaSequence
Programming Language and version: Python 3.6.9

Describe the expected behavior:
I have a dataset that contains the original video clips and the corresponding depth information (as grayscale images/videos).
I am using the mediapipe/mediapipe/examples/desktop/media_sequence/kinetics_dataset.py example to get started with MediaSequence and got it running. So when I read the Kinetics dataset with Kinetics(...).as_dataset(...) I can access the single frames and optical flow frames with:
dataset_output = dataset.make_one_shot_iterator().get_next()
images = dataset_output['images']
flow = dataset_output['flow']

But now I also want to have the depth information saved together with this. So that I am able to do:
depth = dataset_output['depth']

What is the best way to save these additional video clips (depth information) to the SequenceExamples?

You'll have to make a few small changes to do this. I don't quite know how you want to encode the depth data, so here's one suggestion.
First, you'll need to store the depth images in the sequence examples. If you're able to encode the depth as a JPEG image, store the JPEG encoded image bytes in the key "DEPTH/image/encoded". If you are doing this in python, you can call mediapipe.util.sequence.media_sequence.AddImageEncoded(image_bytes, sequence, prefix="DEPTH") for each depth image. If you're adding images in C++ or using the MediaPipe graphs, I can add more suggestions.
Second, you'll need to modify kinetics_dataset.py to output the depth. Follow the pattern of what we do for the other image types:
Around line 169, request to also parse the depth by adding a line like: "DEPTH/image/encoded": ms.get_image_encoded_default_parser(), to the sequence_features dict.
Around line 191, you'll decode the depth from the images similar to how we decode the flow. (You may also need to dequantize the depth like we do for the flow on line 190.):
      depth = tf.image.convert_image_dtype(
          tf.map_fn(tf.image.decode_jpeg,
                    parsed_sequence["DEPTH/image/encoded"],
                    back_prop=False,
                    dtype=tf.uint8), tf.float32)
     # dequantize depth if needed.

Finally add the depth variable to the output dictionary and read it in your code.


PR checklist

We seem to repeatedly do various mistakes when accepting PRs. In my experience a great way to avoid mistakes is to have a checklist.
GH even allows us to add it as PR template (may be a bit scary for newbies though). As an example LND has this.
Things that come to my mind, feel free to suggest your own or ask for rationale on things (I don't want to write the rationale now).
Checklist focus: good APIs, lack of panics, lack of obvious/common bugs (also lack of UB but that is guaranteed by the compiler :))
Non-goals:  extreme performance, formal proofs of correctness
Things marked BJ mean "best judgement" - we don't define exact line here and will be decided as needed. The point is to not forget about considering this.
Things marked CMD mean "contributor may disagree" - if the contributor disagrees he/she MUST provide logical argument why and this is discussed. All developers involved should try to reach consensus. Worst case we vote. (Is voting really a good idea?)
Unless explicitly stated otherwise, requirements on public items are also recommendations for private items.

[ ] If new type is added

[ ] This type is either private or required to be public for the change to be practical BJ
[ ] If public

[ ] The name of the type adheres to Rust API guidelines (CMD)
[ ] The name of the type doesn't stutter (CMD but "I prefer stuttering" is not considered a logical argument)
[ ] The type does not implement traits the we could regret (mainly Copy, Eq, Ord, PartialOrd; rarely Sync, Send) BJ
[ ] The type does implement obvious practical traits (Debug, probably also Clone, PartialEq, serde::{Serialize, Deserialize}) BJ
[ ] The type is nameable (reexported) unless it intentionally can't be
[ ] If the type is obvious newtype giving read-only access to inner type it must implement AsRef<Inner> and Borrow<Inner>

[ ] If enum

[ ] Is it really, really certain that no varians will be removed? If not, hide the enum in a newtype struct.

[ ] If private

[ ] The type does not implement any traits that aren't actually used in the code. Debug is allowed though.

[ ] It is clearly stated whether the type enforces invariants
[ ] If the type enforces invariant(s)

[ ] Publicly observable invariants are documented
[ ] There is exactly one Rust-native constructor (E.g. StructName { fields }) in a method returning Result enforcing the invariant(s)
[ ] Rust-native constructors in infallible methods are only allowed if input types enforce the invariant(s) (presumably stricter)
[ ] Fields that aren't allowed to have all values for the invariant(s) to be upheld are strictly private.
[ ] The type is in its own private module with minimum code enforcing invariants

[ ] From<Inner> for T is not implemented
[ ] Enum or struct with all public fields has #[non_exhaustive] unless there's strong reason to believe it will never be changed BJ
[ ] If the type is error type

[ ] Our requirements for error types are obeyed (will add them when hashed out)

[ ] serde impls branch on human-readable vs non-human-readable formats unless the serialization is obviously the same (e.g. numeric types)
[ ] serde impls use minimal serialization size unless there is widely-accepted representation (e.g. don't use base64 for things that are commonly hex even though hex is larger)
[ ] Default/new is only implemented for collections
[ ] Associated const (or a method) for ZERO is provided for non-collections. Possibly other states (ONE...)
[ ] If Drop is implemented

[ ] The implementation accesses all fields. If a field doesn't need to be accessed the dropped fields must be moved to a separate type

[ ] If new function is added

[ ] Does it really have to be a method? Does it really have to be a free function? BJ
[ ] The name adheres to the Rust API guidelines (CMD)
[ ] If the function could be easily abused it should have a scary name like dangerous_foo or foo_unchecked
[ ] All instances of panic!(), unwrap(), ... have explanation why they can't happen
[ ] All arithmetic operations either use checked_, wrapping_, saturating_ or have explanation why overflow is impossible
[ ] The function may only return error on bad inputs if it's a constructor enforcing invariants
[ ]  If adding another type would be annoying for callers the function must panic on bad inputs and this panic MUST be documented in ## Panics doc section
[ ] If the function is public

[ ] If the function returns Result the error conditions are documented in ## Errors doc section
[ ] impl Trait MUST NOT be used in arguments, use proper generic instead
[ ] Is it certain that the function will always return this type? If not either use impl Trait or a new custom type BJ

[ ] The types of arguments have minimum requirements (IntoIterator is better than collection, &str is better than &String...)
[ ] Closure is the last argument, closure type is also the last type argument (closure return type is among the first)
[ ] The code has no obvious performance defects (unneeded clone(), collect::<Vec<_>>(), to_owned()...), they are acceptable in tests but discouraged
[ ] Tests are added, trivial obvious functions (returning or delegating to inner fields) don't need tests.
[ ] If the function processes untrusted inputs it must have fuzz test

[ ] Conditional compilation is used

[ ] Is it truly additive?
[ ] Really? Are you sure? Try to "attack it" by finding a weird scenario
[ ] If the condition is observable in public API it must have doc attribute

[ ] New cargo feature is added

[ ] The feature is documented in lib.rs
[ ] The feature is enabled in docs.rs
[ ] The feature is additive

Whew! At first glance this all looks good but it's a really overwhelming list to write all in one place like this.
We could probably use labels new-cargo-feature-added new-function-added etc and then have a Discussions page which indicates which checklists should apply for which labels.

Yeah, 55 items and I don't think there are all relevant things. Agree that some kind of separation would be useful. Will have to think about it more.

Wow, thanks for enumerating these. I will have refer to these while reviewing  and hopefully overtime these things would become second-nature

Some of these things like "adhering to Rust API guidelines" and "instances of panic!" could be caught by clippy lints.

https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention
https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_used

There seems to be some bug in clippy, wrong_self_convention does not trigger, to verify I put the example from the lint description in the Amount impl block
impl Amount {
    /// Should trigger clippy lint: wrong_self_convention
    fn as_str(self) -> &'static str {
        "should trigger clippy"
    }

And cargo clippy lints cleanly. I'm no sure if this should be reported, I already reported the same thing for print_stdout a while ago https://github.com/rust-lang/rust-clippy/issues/6610

Perhaps, we should convert this into a doc and commit it in this repo?
I think this sort of thing is really helpful "How to review rust code starter-kit". I think we can add it in its current form too. If there are more suggestions, we can iterate. Really a low priority amongst other things in the project.


Changing crash value

I find the default settings win too much - where in the code specifically can we change the value to make it lower the values it puts out on the wins?

never got it ![image](https://user-images.githubusercontent.com/72527925/127710227-2bd124cb-4c47-464d-8de2-eee5d3537da5.png)


Can we remove/hide the DF Index Column?

Could we remove/hide the DF Index column? Even if we just hacked our way around and used a grid_option that set the index column to be 0 width?

Hmm I'm not sure if there's a good way to do that currently.  I'll try and look into it when I get a chance, and maybe can add an option to allow this.

Just in case this isn't clear, you can change which column is the index column to an existing column inside the DataFrame (in case your problem is that it's generating "row numbers" or other useless information for you):
df.set_index('column_name', inplace=True)
The only downside at that point is the values in that column are bold.

Just do
df.style.hide_index()
should hide index

Just do
df.style.hide_index()
should hide index

Doesn't work.
TraitError: The 'df' trait of a QgridWidget instance must be a DataFrame, but a value of class 'pandas.io.formats.style.Styler' (i.e. <pandas.io.formats.style.Styler object at 0x0000012C937A9390>) was specified.

So this could be done now that we could just set the width of that column to be 0... however, we can only reference column names by their string, and the index doesn't have a name!  Can we set column options by numeric index by chance?

Well good news, I can reclaim some whitespace by setting the index to width 0, however it still doesn't collapse it completely... Also it's "name" is "index" I hope this doesn't break something if a field name is index :)

Ok, this can be closed, by passing this, it completely hides the index. (I think this should be a qgrid option to always do this, but this work around is ok too:
column_definitions={ 'index': { 'maxWidth': 0, 'minWidth': 0, 'width': 0  } }

Thanks @JohnOmernik provide the workaround to hide index column in qgrid output dataframe. It works nicely for me.

This worked for me.
column_definitions={ 'index': { 'maxWidth': 0, 'minWidth': 0, 'width': 0 } }


Support for pluggy 1.0?

Comment:
Hello, is there anything in pluggy 1.0.0 that breaks in the latest release of sqlfluff? https://pluggy.readthedocs.io/en/stable/changelog.html#pluggy-1-0-0-2021-08-25. I couldn't see any issue, nor find anything reported online.
It would be great to be able to use sqlfluff and airflow in the same environment by allowing pluggy 1.0.0 in the recipe.

Thanks for raising this; I'll see if I can lift that dependency pin in the conda recipe.


Test AS and TS version of serializer

Context
The argument class as evolved and is not compatible anymore with the Args class in Typescript from massa-web3.
Another issue will be created in web3 repo to fix this.
This issue is about detection of such differences between the assemblyscript and the typescript version of Args.
Proposed solution
Import massa-web3 lib as dev dependency and use it to generate a file containing both serialized and not serialized values for each types. For convenient use, this file can be commited, alongside its generation script. This file will be used as input for testing serializer in assemblyscript.
This solution is not perfect but it will allow us to detect a breaking change made in the AS side.
The drawback is to detect a breaking change in the TS side, the massa-web3 lib must be updated and the testfile, regenerated

part of this work is already done! contact me for more details :)

@longgamma-massa should we spend more time on that or strat testing the contract abi that will obsolete all this ?

@longgamma-massa should we spend more time on that or strat testing the contract abi that will obsolete all this ?

Option 2: Start testing pre-compile step + contract ABI since it unblocks the ability to interact with deployed (others) contracts, and removes serialization on user-side.

@gregLibert can we close this issue ?


Generate schema markdown depend on JSON schema

Hi
I want to mark the results as object instead of array, what I have missed for prmd? Here is my schema json file:
{
  "$schema": "http://json-schema.org/draft-04/hyper-schema",
  "title": "downloadThirdPartyRevenueReport - RevenueReport",
  "definitions": {
    "agencyId": {
      "description": "unique identifier of agency",
      "example": "2137352702",
      "format": "uuid",
      "type": [
        "string"
      ]
    },
    "identity": {
      "$ref": "/schemata/downloadThirdPartyRevenueReport#/definitions/agencyId"
    },
    "partnerAgencyId": {
      "description": "uuid for partner agency",
      "example": "2137366401",
      "format": "uuid",
      "type": [
        "string"
      ]
    },
    "rootEventId": {
      "description": "uuid for event",
      "example": "2137366401",
      "format": "uuid",
      "type": [
        "string"
      ]
    },
    "transactionType": {
      "description": "type of payment",
      "example": "ALL_PAYMENTS|CASH_AND_CHECK_ONLY|CREDIT_CARD_ONLY",
      "format": "string",
      "type": [
        "string"
      ]
    },
    "startDateTime": {
      "description": "when your revenue report starts",
      "example": "2012-01-01T12:00:00Z",
      "format": "date-time",
      "type": [
        "string"
      ]
    },
    "endDateTime": {
      "description": "when your revenue report ends",
      "example": "2012-01-01T12:00:00Z",
      "format": "date-time",
      "type": [
        "string"
      ]
    },
    "reportRequestId": {
      "description": "uuid for requested report",
      "example": "25477",
      "format": "uuid",
      "type": [
        "string"
      ]
    }
  },
  "description": "Download third party revenue ledger report",
  "links": [{
    "description": "Get uuid for requested report in order to download it.\r\n If the response is a primitie value, and we will regard it as reportRequestId.",
    "href": "/json/EnduranceReportingService/downloadThirdPartyRevenueReport",
    "method": "POST",
    "rel": "instances",
    "title": "Info",
    "schema": {
      "type": [
        "object"
      ],
      "properties": {
        "request": {
          "type": [
            "object"
          ],
          "properties": {
            "agencyId": {
              "$ref": "/schemata/downloadThirdPartyRevenueReport#/definitions/agencyId"
            },
            "startDateTime": {
              "$ref": "/schemata/downloadThirdPartyRevenueReport#/definitions/startDateTime"
            },
            "endDateTime": {
              "$ref": "/schemata/downloadThirdPartyRevenueReport#/definitions/endDateTime"
            },
            "partnerAgencyId": {
              "$ref": "/schemata/downloadThirdPartyRevenueReport#/definitions/partnerAgencyId"
            },
            "rootEventId": {
              "$ref": "/schemata/downloadThirdPartyRevenueReport#/definitions/rootEventId"
            },
            "transactionType": {
              "$ref": "/schemata/downloadThirdPartyRevenueReport#/definitions/transactionType"
            }
          }
        }
      },
      "required": ["request"]
    }
  }],
  "properties": {
    "reportRequestId": {
      "$ref": "/schemata/downloadThirdPartyRevenueReport#/definitions/reportRequestId"
    }
  },
  "type": [
    "object"
  ],
  "id": "schemata/downloadThirdPartyRevenueReport"
}

But the result is as below:
API description
RevenueReport
Download third party revenue ledger report
Attributes

Name
Type
Description
Example

reportRequestId
uuid
uuid for requested report
"25477"

RevenueReport Info
Get uuid for requested report in order to download it.
If the response is a primitie value, and we will regard it as reportRequestId.
POST /json/EnduranceReportingService/downloadThirdPartyRevenueReport

Required Parameters

Name
Type
Description
Example

request:agencyId
uuid
unique identifier of agency
"2137352702"

request:startDateTime
date-time
when your revenue report starts
"2012-01-01T12:00:00Z"

request:endDateTime
date-time
when your revenue report ends
"2012-01-01T12:00:00Z"

request:partnerAgencyId
uuid
uuid for partner agency
"2137366401"

request:rootEventId
uuid
uuid for event
"2137366401"

request:transactionType
string
type of payment
`"ALL_PAYMENTS

Curl Example
$ curl -n -X POST http://localhost.dev.activenetwork.com:3000/json/EnduranceReportingService/downloadThirdPartyRevenueReport \
  -H "Content-Type: application/json" \
 \
  -d '{
  "request": {
    "agencyId": "2137352702",
    "startDateTime": "2012-01-01T12:00:00Z",
    "endDateTime": "2012-01-01T12:00:00Z",
    "partnerAgencyId": "2137366401",
    "rootEventId": "2137366401",
    "transactionType": "ALL_PAYMENTS|CASH_AND_CHECK_ONLY|CREDIT_CARD_ONLY"
  }
}'

Response Example
HTTP/1.1 200 OK

[
  {
    "reportRequestId": "25477"
  }
]

How can I make the reportRequestId is wrapped in one object instead of array?

In the links you have "rel": "instances",, which implies it will be a list. I think if you change it to instance (singular) it should give you what you want. Let me know if you have any further questions. Thanks!

@geemus Thanks!


Multiple translations not exist

Multiple translations don't exist

Danish
Dutch
Czech
italian

Have created a Danish version but I'm not a professional translator so there may be errors

Checked them and cleared out 404s. Thanks!


ATM

For use with the "ATM" Places preset

Standalone atm symbol designs:

32
24
16

HFC Symbol:


fix build breakage due to protolude toS changes

Fixes #19.
Protolude 0.3.0 switched to a different version of toS that is
non-partial and so removed a bunch of cases that toS supported.
This PR switches to the old toS that has been left in the Conv
module. From what I understand, newer Protolude versions may
see more changes in toS, so will wait for it to stabilize before
making changes across the code.

An example of the kind of errors we get is here: https://app.circleci.com/jobs/github/LeastAuthority/haskell-spake2/26


[Bug]: Mirrored option is not available for Video recorder mode in Camera Widget

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior

Steps To Reproduce

Add camera widget to canvas
Observe your mirrored image in Camera mode
change the mode to Video and observe that the image appeared is not a mirrored and also there is no option to change so

Environment
Release
Version
Cloud

@chandannkumar this feature is not supported in the underlying package and will need higher efforts, Ill be parking this for now


Update brew installation command instruction

Changing the brew installation command instruction as the existing style has been removed in Homebrew 2.7.0.
Homebrew 2.7.0 Changelog - https://github.com/Homebrew/brew/releases/tag/2.7.0
PR concerning the deprecation - https://github.com/Homebrew/brew/pull/9247
Fixes #NA.
Changes proposed in this pull request:

Updating the installation command instruction on README to be in sync with Homebrew changes

 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.

FYI, you can ignore the CLAassistant comment. I've disabled it for this repo since we use EasyCLA now.

@abhinavnair thanks for this! we've merged another similar PR with the same fix


Locators to be blurred should ignore NoSuchElementException error in Capture Screenshot keywords

Is your feature request related to a problem? Please describe.
I have a single array of many fields to be blurred in the screenshot, but not all of them appears in every page of the application, so eventually I get NoSuchElementException error because one of these fields is not present in the current page.
I'm using a test case template to perform the same set of actions in many pages, would not be pratical to create a locator array for each page.
Describe the solution you'd like
Capture Screenshot kws could ignore NoSuchElementException error and proceed to next locator in the array.
Describe alternatives you've considered
I could create an array variable for each page, but that would kill the purpose of re-usability of code.
Additional context
Add any other context or screenshots about the feature request here.

@AllanMedeiros Makes sense. This would help avoid creating multiple blur variable arrays. Will push the change for this as part of the upcoming release.

Added this import in selenium_hooks.py
from selenium.common.exceptions import NoSuchElementException
And changed this method like this.
def blur_regions(self, selectors, radius, path):
        selectors = selectors if isinstance(selectors, list) else [selectors]

        for region in selectors:
            try:
                prefix, locator, element = self.find_element(region)
            except NoSuchElementException:
                continue

            area_coordinates = self._get_coordinates(prefix, locator, element)
            left, right = math.ceil(area_coordinates['left']), math.ceil(area_coordinates['right'])
            top, bottom = math.ceil(area_coordinates['top']), math.ceil(area_coordinates['bottom'])
            left, right, top, bottom = self._update_coordinates(left, right, top, bottom)
            im = Image.open(path + '/img' + str(self.count) + '.png')
            cropped_image = im.crop((left, top, right, bottom))
            blurred_image = cropped_image.filter(ImageFilter.GaussianBlur(radius=int(radius)))
            im.paste(blurred_image, (left, top, right, bottom))
            im.save(path + '/img' + str(self.count) + '.png')

Let me know if you thought something different than that.
But after a few runs, seems to be working fine.

@AllanMedeiros This is exactly how I was planning to fix it. Could you raise a pull request with this code please?

ok, done!

Released in v1.3.0


Cell Auto Collapses in Chrome 70

What should happen?
Cell should be sized auto height and width to take up whats left of the grid. This allows me to align the a tag element to the bottom of the cell.
What happens instead?
Cell collapses (I think?).  Since it no longer fills the rest of the grid it has no room to position the a tag.
Possible Solution

Tried trouble shooting this a lot and so far have not come up with a solution.
Test Case and/or Steps to Reproduce (for bugs)

Test Case: https://codepen.io/Bakuryu/pen/eQVdNO
Context

Trying to make the last link element always stay on the bottom regardless if the cells around its text makes the cards bigger. It works on Firefox, IE, and Edge.
Your Environment

Foundation version(s) used: 6.4.3
Browser(s) name and version(s): Chrome 70
Device, Operating System and version: Windows 10

Checklist

[x] I have read and follow the CONTRIBUTING.md document.
[x] There are no other issues similar to this one.
[x] The issue title and template are correctly filled.

I can reproduce the issue with Foundation 6.5.1.
On Firefox:

On Chrome:

This is not a bug in Foundation but with the properties you use to make the grid inside the .card-section taking the whole height.
See https://stackoverflow.com/questions/33636796/chrome-safari-not-filling-100-height-of-flex-parent
I set up a working example with the 4th solution: using flex properties instead of height: 100% https://codepen.io/ncoden/pen/Jeprxe.


Fix typo: useMemo -> useEffect

See discussion.

See discussion.

My intuition is that this might have adverse effects on things that we possibly have not tested yet, but I'm going to trust the tests here and merge. Be prepared for a possible issue to arise and for this PR to be rolled back.... or it will go unnoticed forever because everything is fine 😉 We'll see! 🥂

My intuition is that this might have adverse effects on things that we possibly have not tested yet, but I'm going to trust the tests here and merge. Be prepared for a possible issue to arise and for this PR to be rolled back.... or it will go unnoticed forever because everything is fine 😉 We'll see! 🥂

:tada: This PR is included in version 3.5.14 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.5.14 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

I think this PR should be reverted: it breaks SSR in Next.js.  See https://github.com/tannerlinsley/react-query/issues/1661

I think this PR should be reverted: it breaks SSR in Next.js.  See https://github.com/tannerlinsley/react-query/issues/1661

I think this PR should be reverted: it breaks SSR in Next.js. See #1661

You might be right and thanks for checking.  My intent was to point out that the useMemo hook is misused when it runs a side effect.
useMemo should be used to memoize the return value of a function, which is not what what this hook is doing.
Also, see how the Apollo Client uses the ssr option.
ssr - boolean - Pass in false to skip your query during server-side rendering.

I think this PR should be reverted: it breaks SSR in Next.js. See #1661

You might be right and thanks for checking.  My intent was to point out that the useMemo hook is misused when it runs a side effect.
useMemo should be used to memoize the return value of a function, which is not what what this hook is doing.
Also, see how the Apollo Client uses the ssr option.
ssr - boolean - Pass in false to skip your query during server-side rendering.

Reverted with eb3d700dc522b86f6e9cc42d08e3b6197766c53b

Reverted with eb3d700dc522b86f6e9cc42d08e3b6197766c53b


Adds init_ssh_agent

Hi,
I made a xontrib that starts ssh_agent for you, adds the variables in the env and keeps it across terminal sessions.
My Desktop Environment doesn't do that for me, so I needed a way to make xonsh aware of SSH_AUTH_SOCK and SSH_AGENT_PID

Looks good !


2022 Honda Ridgeline noisy pedal fix.  is 2021 software incorporate this modification?

Describe the bug
Does 2021 Honda ridgeline software include the 0.1 noise correction or does it have to be done manually? I am using it on a new 2022
What hardware does this issue affect?
comma three
Which car does this affect?
2022 Honda ridgeline
Provide a route where the issue occurs
1
openpilot version
/
Additional info
No response

This fix will be in the 0.8.13 release which should be out soon. You won't need to change anything.


prefix.join is not a function

Hi there,
Previous Working Versions:

Codelyzer: 1.0.0-beta.4
TsLint: 3.15.1

Upgraded to the Following Versions:

Codelyzer: 2.0.0-beta.1
TsLint: 4.0.2

When upgrading from the previous to the new versions shown above, I can see the following error reported by the tslint extension in my vscode.
vscode-tslint: 'prefix.join is not a function' while validating: d:\Dev\Onevolve-BPO\src\app\api\application\application-api.service.ts stacktrace: TypeError: prefix.join is not a function
at Rule.SelectorRule.setPrefixArguments (d:\Dev\Onevolve-BPO\node_modules\codelyzer\selectorNameBase.js:70:69)
at Rule.SelectorRule [as constructor] (d:\Dev\Onevolve-BPO\node_modules\codelyzer\selectorNameBase.js:21:15)
at new Rule (d:\Dev\Onevolve-BPO\node_modules\codelyzer\directiveSelectorRule.js:11:28)
at Object.loadRules (d:\Dev\Onevolve-BPO\node_modules\tslint\lib\ruleLoader.js:46:32)
at Linter.getEnabledRules (d:\Dev\Onevolve-BPO\node_modules\tslint\lib\linter.js:163:44)
at Linter.lint (d:\Dev\Onevolve-BPO\node_modules\tslint\lib\linter.js:78:33)
at doValidate (C:\Users\Mark.vscode\extensions\eg2.tslint-0.6.4\server\server.js:291:20)
at validateTextDocument (C:\Users\Mark.vscode\extensions\eg2.tslint-0.6.4\server\server.js:210:27)
at Delayer.d.trigger [as task] (C:\Users\Mark.vscode\extensions\eg2.tslint-0.6.4\server\server.js:363:9)
at completionPromise.Promise.then (C:\Users\Mark.vscode\extensions\eg2.tslint-0.6.4\server\delayer.js:19:35)
The only things changed between those 2 versions is these parts as shown in the changelog:
(directive-selector-name & directive-selector-type) -> directive-selector
(component-selector-name & component-selector-type) -> component-selector

Ok, think I've worked out what the problem might be, and if I'm right then it is more a problem with the changelog documentation. The changelog shows the directive-selector-name and directive-selector-type have been merged into one rule (directive-selector), but from looking at the code it looks like the directive-selector-prefix rule has also been merged to this rule aswell.
This was causing me to basically take the two arrays in the rules [true, 'attribute'] and [true, 'camelCase'] and merging them into one giving [true, 'attribute', true, 'camelCase']. The second true was causing the error in the code because join cannot be called on it.
Really what it should be changed to is [true, 'attribute', 'app', 'camelCase'] in my situation, merging in the prefix rule also. The changelog has the "sg" in the third element of the array but it is not clear when reading it that the "sg" is actually supposed to come from the directive-selector-prefix rule that is also removed.
I think the changelog should be updated to clarify the removal of these rules and how to properly combine them.

Yes, you're correct. I'll update the documentation.


cmd/internal/goobj: optimize funcs - mkbuiltin and enumerateBasicTypes

Declare "pkg" as a const to reduce runtime.concat calls.
Prealloc "result" slice with cap "len(names)*2" for less allocation and faster execution.

@CodiumAI-Agent please review

Preparing review...

PR Analysis

🎯 Main theme: Optimization of functions in the cmd/internal/goobj package
🔍 Description and title: Yes
📌 Type of PR: Enhancement
🧪 Relevant tests added: No
✨ Minimal and focused: Yes, the PR is focused on optimizing two functions in the cmd/internal/goobj package. All changes are relevant to this theme.
🔒 Security concerns: No, the changes made in this PR do not introduce any security concerns. The changes are focused on performance optimization and do not involve any security-sensitive operations.

PR Feedback

💡 General PR suggestions: The PR is well-structured and the changes are clear. However, it would be beneficial to include tests that demonstrate the performance improvements these changes bring. Also, consider adding comments to the code to explain why these optimizations are necessary and how they improve performance.

🤖 Code suggestions:

relevant file: mkbuiltin.go
suggestion content: Consider adding a comment explaining why the 'pkg' variable is declared as a constant. This will help future contributors understand the reasoning behind this optimization. [medium]

relevant file: mkbuiltin.go
suggestion content: Consider adding a comment explaining why the 'result' slice is preallocated with a capacity of 'len(names)*2'. This will help future contributors understand the reasoning behind this optimization. [medium]

How to use

Tag me in a comment '@CodiumAI-Agent' to ask for a new review after you update the PR.
You can also tag me and ask any question, for example '@CodiumAI-Agent is the PR ready for merge?'

Preparing review...

@CodiumAI-Agent please explain the change. how does this change improve performance?

Question: please explain the change. how does this change improve performance?
Answer: The changes in this pull request aim to optimize the performance of the mkbuiltin and enumerateBasicTypes functions in two ways:

In the mkbuiltin function, the pkg variable is changed from a variable to a constant. This means that the value of pkg is determined at compile time rather than at runtime, which can lead to a small performance improvement. This is because the Go compiler can optimize the use of constants more effectively than variables. The constant value is also more efficient as it doesn't require memory allocation at runtime.

In the enumerateBasicTypes function, the result slice is preallocated with a capacity of len(names)*2. This is done using the make function. Preallocating the capacity of a slice can improve performance by reducing the number of memory allocations. When elements are appended to a slice in Go, if the slice's capacity is not enough to accommodate the new elements, a new, larger array is allocated, and the elements are copied over. By preallocating, you can avoid this overhead of allocating and copying, especially when appending in a loop, as is done in this function. The capacity is set to len(names)*2 because for each name in names, two elements are appended to the result slice.


No checking return value of app_load_config() and app_load_config_bio() in apps/req.c

Found this with 1.1.1d.
apps/req.c doesn't check return value of app_load_config() and app_load_config_bio().
It should goto end; if req_conf or addext_conf is NULL.
If we provide invalid value for -addext, it shows "req: Error on line 1 of config input", but continues processing like below.
$ openssl version
OpenSSL 1.1.1d  10 Sep 2019
$
$ openssl req -new  \
> -addext "subjectAltName := test.com" \
> -newkey rsa:2048 -nodes -keyout key.pem -out req.pem
req: Error on line 1 of config inputGenerating a RSA private key
..........+++++
......................+++++
writing new private key to 'key.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:

This does appear suspicious. For req_conf the function app_load_config is called unconditionally (whether or not a config file was supplied or not), and we do handle the return being NULL - but we ignore it and continue. Probably we should only ignore it if an explicit config file was not specified.

I don't understand why we should ignore return NULL from app_load_config() when implicit (default) config file is used.
template is always set since template is initialized by default_config_file (implicit config file), and is overridden by -config option.
I thought we should handle returned NULL as error in both case that config file is explicit or implicit.
Is there any reason to ignore error while loading default config file ?


cannot import sccoda with reticulate

Question
sccoda_model = pertpy.tl.Sccoda()
Unable to access the model from pertpy despite installing various versions
I’m trying to replicate differential abundance analysis from the tutorial.

Hi,
can you please add more information? Which Python version, which OS etc? Can you import pertpy without sccoda?
What do you get when you
import pertpy

Sure . I am running the code on Rstudio server that’s based on Linux system using reticulate.
Python version 3.9
When I run import pertpy, I do not get any error(s).
I installed pertpy using py_install(“pertpy”, pip = TRUE)

Does it work if you install and import it outside reticulate?

I tried it in Google colab . It’s not working there . https://colab.research.google.com/drive/1j7sNwzZ2YT1PmnmmYC2T_7Rm_Jd0wFJW?usp=sharing

I also tried installing pertpy using conda. Able to access tl in jupyter notebook but no Sccoda module available.

It is sadly known currently that it does not work on google colab. Sorry about that.
Which operating system are you using?

thanks for the response. I am currently using Ubuntu Release 20.04 in the case of the jupyter notebook .
Rstudio version for reticulate R.3.0

I am really surprised.
On your Ubuntu system, does

conda create -n pertpy python=3.11
conda activate pertpy
pip install pertpy
Importing pertpy and attempting to access scoda

Not work? Could you please confirm this?

Thanks. When I run pip install pertpy after following the instructions given above


#295 FbStatus.Check replaced by org.takes.misc.Condition

Fixed issue #295, also added test cases for FbStatus

@komaz Let me find a reviewer for this pull request, thanks for submitting it

@pinaf please review,thanks

@komaz looks good. 9 minor comments above.

@pinaf thanks! Just pushed suggested changes

@komaz thanks. 1 more and we are good to go!

@pinaf no problem, done. Just a side question, do you think it's a good practice to squash all commits with styling fixes into a singe one? As until it's merged I can safely rewrite a history

@komaz no need to squash. however, you removed the wrong blank lines. I asked to remove a single line in the javadoc

@pinaf sorry, my bad

@rultor merge
@komaz thanks!

@rultor merge
@komaz thanks!

@pinaf Thanks for your request. @yegor256 Please confirm this.

@rultor try to merge

@rultor try to merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor try to merge

@yegor256 Done! FYI, the full log is here (took me 43min)

@ypshenychka please, review this task for compliance with our quality rules

@rultor please deploy

@rultor please deploy

@davvd OK, I'll try to deploy now. You can check the progress here

@rultor please deploy

@davvd Done! FYI, the full log is here (took me 8min)

@komaz
According to our QA Rules:

Pull request description explains the solution proposed and contains a link to the original ticket it is related to.

Please expand description to PR with appropriate information,

@ypshenychka please take a look at updated description

@komaz Great! Thanks

@davvd Quality is acceptable.

@davvd Quality is acceptable.

@ypshenychka thanks for the QA review, we'll work better next time

@pinaf just added 10 mins to @ypshenychka (for QA), payment ID is 57688942
19 mins sent to your balance (ID AP-1KD21491BF8407901), many thanks! It took 9 hours and 11 mins.
extra minutes for review comments (c=4)
+19 to your rating, your total score is +8095

@yegor256 @ypshenychka why c=4 if I made 9 remarks?

@pinaf we count only issue messages now, not code remarks

@yegor256 ?? So if I find more problems with the code I don't get a bonus but if I say anything in the issue I do? I don't understand the logic - am I missing something?

@pinaf there is no logic, it's just a bug in our measurement software. I'm working on this. For now, that's the way it is.

@yegor256 ok, thanks for the explanation.


Solana domains in production

Desc
We want everything to work for Solana domain in prod.
Ideally people will be able to transfer them and set them as main domain also :) (I don't think it's the case).

I have an error when I retry on sepolia.
RPC: starknet_estimateFee with params {
  "request": [
    {
      "type": "INVOKE",
      "sender_address": "0x183ab541dc8880bee060ec9abe762b660fbf062b7185cf9807c601c1347ed14",
      "calldata": [
        "0x3",
        "0x3ea3773600c5d81ba35db6eff1e495ca07b43346cd85143c49ccae5819febec",
        "0xb758361d5e84380ef1e632f89d8e76a8677dbc3f4b93a4f9d75d2a6048f312",
        "0x4",
        "0x15d246f6c1b",
        "0xbce0e18582801d949eea4138a2075ed7ff4bec0ccc28de801ee37e79f6c777",
        "0x41a3b39af5083e5260a3b0262b11539941209160e6017224c5ef052c70cb993",
        "0x6620f85d",
        "0x3ea3773600c5d81ba35db6eff1e495ca07b43346cd85143c49ccae5819febec",
        "0x2f12d696773c26f89267db1bdcb7cc6d237325005752f0ffec5405ffd61decc",
        "0x3",
        "0x15d246f6c1b",
        "0x737461726b6e6574",
        "0x183ab541dc8880bee060ec9abe762b660fbf062b7185cf9807c601c1347ed14",
        "0x707f09bc576bd7cfee59694846291047e965f4184fe13dac62c56759b3b6fa7",
        "0x2d01c9f1ed8d814a32aac4171c6cc5a66828d7f97a5da83a6bb6b6f064a0ee2",
        "0x3",
        "0x2",
        "0x15d246f6c1b",
        "0x4032"
      ],
      "version": "0x100000000000000000000000000000001",
      "signature": [
        "0x1",
        "0x0",
        "0x0"
      ],
      "nonce": "0x13",
      "max_fee": "0x0"
    }
  ],
  "block_id": "pending",
  "simulation_flags": []
}

        41: Transaction execution error: {"transaction_index":0,"execution_error":"reverted: Error in the called contract (0x0183ab541dc8880bee060ec9abe762b660fbf062b7185cf9807c601c1347ed14):\nError at pc=0:20259:\nGot an exception while executing a hint: Execution failed. Failure reason: 0x4661696c656420746f20646573657269616c697a6520706172616d202332 ('Failed to deserialize param #2').\nCairo traceback (most recent call last):\nUnknown location (pc=0:309)\nUnknown location (pc=0:5819)\nUnknown location (pc=0:11008)\nUnknown location (pc=0:20292)\nUnknown location (pc=0:20292)\n\nError in the called contract (0x0707f09bc576bd7cfee59694846291047e965f4184fe13dac62c56759b3b6fa7):\nExecution failed. Failure reason: 0x4661696c656420746f20646573657269616c697a6520706172616d202332 ('Failed to deserialize param #2').\n"}


Cleanup requirements slightly

Remove insecure extra index URLs from dist.pinaxproject.com
from our requirements files. This always made pip, tox, and
now Read The Docs unhappy. By replacing two package names
in the requirements with direct links to their tarballs
(still on dist.pinaxproject.com), we can get rid of the errors
and warnings.

seems happier :fuelpump:


Full Fidelity for CF pull model

This is subject to change based on in-flight discussions.
P0: CF pull model support in .NET and Java (including split-proofing)
P0: Updating naming in the CF pull model
P0: Update the SDK to include the metadata (previousImage, operationType, etc) in the API itself rather than jammed into the _metadata property
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

This is completed


[Bug] [Api] token expire when different timezone between server and database

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Token expire when different timezone between server and database, and I found the sql use database timestamp.
<select id="queryUserByToken" resultType="org.apache.dolphinscheduler.dao.entity.User">
      select
      <include refid="baseSqlV2">
          <property name="alias" value="u"/>
      </include>
      from t_ds_user u ,t_ds_access_token t
      where u.id = t.user_id and token=#{token} and t.expire_time > NOW()
  </select>

It's better to use server timestamp.
What you expected to happen
The token is normal when the expiration time has not expired
How to reproduce

database use default timezone like CST
ds api server timezone use Asia/Shanghai
then create a token, just hour + 1 than current time.

Anything else
No response
Version
dev
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Has anyone begun to deal with it? I want to try

Has anyone begun to deal with it? I want to try

@seedscoder OK, I had assigned to you.

Are others interested? I may not have time to do it recently @caishunfeng

I want to try

I want to try

I've assigned it to you.


Added API to raise and reset software interrupts

Implemented an API for raising and resetting software interrupts as mentioned in #425 on the ESP32C2, ESP32C3, ESP32S2 and ESP32S3. Builds and works as expected on the C3 at least, not tested on any of the other chips since i don't own them.

Awesome! Thank you!
It would be great if you could add a very simple example (at least for the C3 since you cannot verify it on the other chips).
If you don't want to add an example that would be also fine - can be done by someone else.
Also, implementation for ESP32 and ESP32-C6 will be added by someone else later

Also, implementation for ESP32 and ESP32-C6 will be added by someone else later

I'd rather include it in this PR honestly, though I won't block merging on that. These things have a tendency of being forgotten.
If there are issues with the PAC please let me know exactly what they are and we can get them resolved.

I tested it on the supported targes (i.e. not ESP32, not ESP32-C6) and it works fine
For ESP32 we need the interrupts in the SVD/PAC first
For ESP32-C2 we should align the naming of the interrupts (currently ETS_FROM_CPU_INTR0 ...)
For ESP32-C6 we should align the naming of the interrupts (currently CPU_FROM_CPU_0 ...)
I'd suggest we can merge this as is, wait for the SVD/PAC changes (there are already changes planned so it makes sense to do it all together) and then add ESP32 and ESP32-C6

I will be reviewing some SVD changes made by a colleague today. I have additionally done some work in aligning the peripheral and interrupt names, but I will verify the ones mentioned by @bjoernQ before publishing new SVDs. I'm hoping to have new PACs published either this afternoon or tomorrow, however there's always a possibility this could slip to next week.

With #447 merged the required interrupts should now be available.

@onsdagens Do you plan to continue on this or would you like someone to take over (especially since you said you don't have all the hardware to verify it on all targets). No rush, however

@onsdagens Do you plan to continue on this or would you like someone to take over (especially since you said you don't have all the hardware to verify it on all targets). No rush, however

i can give it a go, but as you said i can't test so would appreciate some help with that

@onsdagens Do you plan to continue on this or would you like someone to take over (especially since you said you don't have all the hardware to verify it on all targets). No rush, however

i can give it a go, but as you said i can't test so would appreciate some help with that

Awesome! Thanks for your effort. If there is something you need to get tested just ping me

oopsie didn't mean to do that, just finished some other things so i'll be working on getting this up and running next.

Merged with latest version, added support for all of the MCUs and added some examples. Keep in mind that the examples are not tested for anything but the C3, i know they compile for the others but that's as far as it goes, could use some help with testing.

Not sure what the issue is with CI here.

Problem with CI is that the latest nightlies refuse to compile embedded-hal-async - I will create a PR to pin the nightly compiler version in CI for now (until embedded-hal-async got fixed) which should make CI happy again

Rebasing should fix the CI problem (hopefully)

Thanks! Now there seems to be a dependency issue, embassy-executor does not want to build. I'm unsure why it's pinned to that specific revision, so i don't know how to proceed here without breaking something else.

Rebasing should fix the CI problem (hopefully)

Thanks! Now there seems to be a dependency issue, embassy-executor does not want to build. I'm unsure why it's pinned to that specific revision, so i don't know how to proceed here without breaking something else.

Seems it was just a temporary connectivity problem - rerunning the failed jobs cured it

Tested all the examples on all targets! 👍 Works fine!
Only thing I don't agree with is the top-level comment in the examples 😆
If that is changed this can be merged

Haha, oops! Fixed the comments now.

Oh rustfmt isn't happy, yet

Sorry, didn't expect comments to be misformatted... live and learn.


400 words to describe texture

Thanks for your interesting work.
Could you share this file with me? You use this dictionary for annotations.
ajbarnett. 400 words to describe texture, 2023.

Here you go!
https://owlcation.com/humanities/Describing-Texture-400-words-to-describe-texture


Support for multiple types in one chart

Great wrapper around ECharts, also looks easy to use.
One question I have though, is it possible to mix different  series types? For example if I create a CandleStick chart, I can not add series of Line type (or at least not obvious to me how to do this).  It seems a chart is limited to a single type (but multiple series of that type can be added), is this correct?

Thanks for using ECharts Java and your issue. Yes, the Chart APIs (Line, Candlestick, etc.) don't support multiple series types. This is for simplicity (many users may be unwilling to read Apache ECharts Docs). However, you can construct an Option by yourself, and it's pretty simple.
For the example from Apache ECharts Mixed Line and Bar, the JSON representation of the chart is: (unrelated fields omitted)
{
  "legend": { "data": ["Evaporation", "Precipitation", "Temperature"] },
  "xAxis": {
    "type": "category",
    "data": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
  },
  "yAxis": [
    {
      "type": "value",
      "name": "Precipitation",
      "min": 0,
      "max": 250,
      "interval": 50
    },
    {
      "type": "value",
      "name": "Temperature",
      "min": 0,
      "max": 25,
      "interval": 5
    }
  ],
  "series": [
    {
      "type": "bar",
      "name": "Evaporation",
      "data": [
        2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
      ]
    },
    {
      "type": "bar",
      "name": "Precipitation",
      "data": [
        2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
      ]
    },
    {
      "type": "line",
      "name": "Temperature",
      "data": [
        2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2
      ],
      "yAxisIndex": 1
    }
  ]
}

You can construct an Option in this way:
Legend legend = new Legend()
        .setData(new String[] { "Evaporation", "Precipitation", "Temperature" });

CategoryAxis xAxis = new CategoryAxis()
        .setType("category")
        .setData(new String[] { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" });

ValueAxis yAxis1 = new ValueAxis()
        .setType("value")
        .setName("Precipitation")
        .setMin(0)
        .setMax(250)
        .setInterval(50);

ValueAxis yAxis2 = new ValueAxis()
        .setType("value")
        .setName("Temperature")
        .setMin(0)
        .setMax(25)
        .setInterval(5);

BarSeries series1 = new BarSeries()
        .setName("Evaporation")
        .setType("bar")
        .setData(new Number[] { 2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3 });

BarSeries series2 = new BarSeries()
        .setName("Precipitation")
        .setType("bar")
        .setData(new Number[] { 2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3 });

LineSeries series3 = new LineSeries()
        .setName("Temperature")
        .setType("line")
        .setYAxisIndex(1)
        .setData(new Number[] { 2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2 });

Option option = new Option()
        .setLegend(legend)
        .setXAxis(xAxis)
        .setYAxis(new AxisOption[] { yAxis1, yAxis2 })
        .setSeries(new SeriesOption[] { series1, series2, series3 });

Engine provides methods to render the Option.

Thanks, looks like a nice solution and would indeed help!!!
Perhaps one more question I couldn't find  the answer to (not sure where else to ask them). Can I somehow include Javascript functions, for example for custom tooltip functionality?
The only solution I could think of is something like this (likely some bugs in this code, just serves as an example):
server-side:
tooltip.setFormatter("function: function (params, ticket, callback) {...}")

client-side:
JSON.parse(optionStr, function (key, value) -> {
        if (typeof value == 'string' && value.startsWith("function:") {
             return Function('.....')
        } else {
             return value
        }
}

But perhaps I miss a feature?

ECharts Java doesn't support Javascript function as a formatter by far, though we have noticed that a formatter can be a callback function in Apache ECharts. Actually, we are looking for a solution for this. You solution is the most plausible way as far as I know.
In fact, the problem we are facing can be generalized to another common question: how to serialize a JS function into JSON?
There is a discussion about this: https://stackoverflow.com/questions/36517173/how-to-store-a-javascript-function-in-json
A solution mentioned there is similar to yours. However, some people also mentioned the security problems you may be concerned about.
Maybe ECharts Java will support JS functions and serialize them into {"function": {"arguments": string, "body": string}} in the future. And at the client side, you can call the Function() constructor.
However, I passively think there is no perfect solution for this because writing JS code in Java code sounds really strange and must avoid programming principles.

Construct an Option in the client side (frontend). The backend server is only responsible for providing data. And we lose a user :(

Since I don't have a full context of what you want to do, my recommendations may not fit with your goals and considerations.

Thanks for the elaborate answer. Right now the main reason why string templates typically don't suffice for our app is that there is no way to split the value parameter without using JavaScript. If there would be support for something a bit more flexible like this:
formatter: 'date: {c[0]} <br> value: {c[1]}'
I think we wouldn't require JavaScript functions. But of course that is an ECharts limitation, not your Java library.
Will experiment a bit more. Our current codebase is using plain Kotlin String manipulation to create the Option object and that is far worse ;) To see some of the charts we currently create and would like to migrate to the your Java library see: http://roboquant.org/screenshots.html
For serialisation and deserialisation of JavaScript code, we can already do that without explicit support in your library, so that is fine.
BTW, you can close this ticket if you like and thanks for the help so far!!!


Installation fails on CentOS 7

Environmental Info:
K3s Version:
v1.19.3+k3s1 (974ad30b)
Node(s) CPU architecture, OS, and Version:
Linux xxx.eu-west-1.compute.internal 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Describe the bug:
Installations fails with You need to be root to perform this command.
Steps To Reproduce:

Install CentOS 7, execute sudo yum update -y
Try to install k3s curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL=testing sh -

Expected behavior:
Installation should succeed.
Actual behavior:
$ curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL=testing sh -
[INFO]  Finding release for channel testing
[INFO]  Using v1.19.3+k3s1 as release
[INFO]  Downloading hash https://github.com/rancher/k3s/releases/download/v1.19.3+k3s1/sha256sum-amd64.txt
[INFO]  Downloading binary https://github.com/rancher/k3s/releases/download/v1.19.3+k3s1/k3s
[INFO]  Verifying binary download
[INFO]  Installing k3s to /usr/local/bin/k3s
Loaded plugins: fastestmirror
You need to be root to perform this command.

Additional context / logs:
Executing with sh -x reveals:
[...]
+ yum -y install yum-utils
Loaded plugins: fastestmirror
You need to be root to perform this command.

The $SUDO in front of the various yum commands is missing. PR incoming to re-add the $SUDO.
In the mean time, you can work around this by passing INSTALL_K3S_SKIP_SELINUX_RPM=true into the install script

A fix was merged for this. Please open a new issue if you are still running into issues.


Notify users about comments on their projects

Currently you have to check public details page for each of your projects to check if there are any new comments on them. It would be useful if I can be notified about new comments.
Corresponding message on Discord - https://discord.com/channels/593735633130749972/667401412405362688/867399225846399039
It might be worth to also consider notifications for comments on projects of other people, where you commented. But I think it might be done separately.

I guess at this stage the easiest way would be by email notification? Maybe with an 'opt in/out' option on the profile page.
Maybe if the forum gets ever extended to have private messaging notifications could be send there. Just a thought.

I recently made a simple tool called MicroStats that displays like and comment updates on projects.


Add more Mac/pixel testbed to prod pool

Seems we have only one testbed: https://chromium-swarm.appspot.com/botlist?c=id&c=task&c=os&c=status&d=asc&f=pool%3Aluci.flutter.prod&f=device_type%3APixel 7 Pro&f=os%3AMac&k=os&s=id
This breaks the tree when the bot is off, and we should add more capacity.
This caused framework tree red:

mac-22 has been moved and brought online. Tree is unblocked. Reducing priority. Will add additional testbeds of this combination to prod shortly.

We no longer have any Mac/pixel tests.


Uncaught TypeError: Cannot read properties of undefined (reading 'use')

Hello,
There is spell mistake in your code.
Change
import vue from 'vue'
To
import Vue from 'vue'
Thank you.

Hello,
I am check already not working again same error

Can we connect through anydesk?
On Sun, Apr 3, 2022 at 7:24 PM Hiren Patel @.***> wrote:

Hello,
I am check already not working again same error
[image: image]
https://user-images.githubusercontent.com/47753427/161431346-320d803a-9002-4033-ab45-ea08d8749662.png
[image: image]
https://user-images.githubusercontent.com/47753427/161431396-b579fca4-f127-457c-9070-0006465e4086.png
—
Reply to this email directly, view it on GitHub
https://github.com/suresh-ramani/laravue-crud-app/issues/2#issuecomment-1086874148,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOBMVIIJW47YFMGA3JPSKKLVDGPJPANCNFSM5SK7JKQA
.
You are receiving this because you commented.Message ID:
@.***>

Thanks for asking bro i have solved it
it's dependency error in vueJS


Navbar need to be there

There is no navbar for the understanding of tha website it should be on the top   with home , contact us , about us icon
like this

I will add the navbar for the better look of website

@YadavAkhileshh  plz assign me this

@Anjalis14 what will you add to the Navbar??

i will add Home and about page which will tell users about  ur website  and
login in/ sign up page which will redirect to the register page
On Wed, Oct 9, 2024 at 10:37 PM Akhilesh @.***> wrote:

@Anjalis14 https://github.com/Anjalis14 what will you add to the
Navbar??
—
Reply to this email directly, view it on GitHub
https://github.com/YadavAkhileshh/Alien-Invasion-Defense/issues/228#issuecomment-2402860778,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFIAMOYL6MRCAYAQYC6ZR43Z2VPFXAVCNFSM6AAAAABPU7CWLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBSHA3DANZXHA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Bizarre coloring for estuarine sanctuary at zoom level 15

The Rachel Carson Estuarine Sanctuary, in Beaufort, NC, is drawn with a green block around it when at zoom level 15, but not at other zoom levels. The terrain is tricky in that region - lots of wetlands.
http://maps.stamen.com/terrain/#15/34.7044/-76.6351

Google Maps satellite view:

and map view:

Looks like a tile mis-render: http://a.tile.stamen.com/terrain/15/9408/13012.png

cc @mojodna

Yup. Fixed: http://tile.stamen.com.s3.amazonaws.com/terrain/15/9408/13012.png
(It's possible to trigger a re-render of an individual tile by using a URL similar to http://a.dyn.tile.stamen.com/terrain/15/9408/13012.png)
The busted tile is still cached by the CDN for now, but that too shall pass.

Thanks @clayheaton!


Error handling with show().then()

Hi,
I would like to achieve a simple deletion confirmation swal.
So for the moment I have a <swal></swal> as followed :
<swal #dialog title="Delete?" type="warning" (confirm)="onDelete(item)"></swal>
<swal #dialogsuccess title="Deleted!" type="success"></swal>
<swal #dialogerror title="Error!" text="An error has been raised" type="error"></swal>
<button md-button class="action-buttons" mdTooltip="Delete" mdTooltipPosition="right" (click)="dialog.show().then(dialogsuccess.show)"></button>

The onDelete() function returns a Promise but I don't really know how to handle errors in the dialog.show().then right now, even if the Promise returns an error, I can't handle it with a proper swal
I can't really do the same as in VanillaJS
Thanks in advance

Hi @ChinesePeanuts,
I think that you want this:
<swal #dialog title="Delete?" type="warning" (confirm)="onDelete(item).on(dialogsuccess.show, dialogerror.show)"></swal>
<swal #dialogsuccess title="Deleted!" type="success"></swal>
<swal #dialogerror title="Error!" text="An error has been raised" type="error"></swal>
<button md-button class="action-buttons" mdTooltip="Delete" mdTooltipPosition="right" (click)="dialog.show()"></button>

Remember that show() returns a Promise that juste tells whether Ok or Cancel have been pressed. Not the success of some other operation... Displaying #dialogsuccess or #dialogerror must be done at #dialog's level ;)


client-redirects plugin should not be baseUrl sensitive

🐛 Bug Report
Discussed here:
https://github.com/facebook/docusaurus/pull/2969#issuecomment-647671257
Have you read the Contributing Guidelines on issues?
Yes
To Reproduce

Use D2 website
build it with baseUrl: '/build'
serve the /website folder (modify package script: "serve:v2": "serve website",
go to http://localhost:5000/build/
the redirect from /docs/versionX/introduction to /docs/versionX/ that the plugin setup should work like it does without a baseUrl (http://localhost:5000/build/docs/introduction)

The conf is currently:
    [
      '@docusaurus/plugin-client-redirects',
      {
        fromExtensions: ['html'],
        createRedirects: function (path) {
          // redirect to /docs from /docs/introduction,
          // as introduction has been made the home doc
          if (allDocHomesPaths.includes(path)) {
            return [`${path}/introduction`];
          }
        },
      },
    ],

Expected behavior
Using a baseUrl should not require the user to reconfigure the plugin
Here we need to modify the behavior of createRedirects, becase the path argument includes the baseUrl.
For the extensions it has been fixed in https://github.com/facebook/docusaurus/pull/2969
Actual Behavior
createRedirects is baseUrl sensitive

What we should probably do?
The postBuild hook receives props.routePaths, but these paths includes the baseUrl, and we forward these paths to other plugin methods:
    async postBuild(props: Props) {
      const pluginContext: PluginContext = {
        routesPaths: props.routesPaths,
        ...
      };
   // ...
}

We should probably instead make these paths relative to the baseUrl so that the plugin config is not baseUrl sensitive.
    async postBuild(props: Props) {
      const pluginContext: PluginContext = {
        relativeRoutesPaths: props.routesPaths.map(path => removePrefix(path,props.baseUrl)),
        ...
      };
   // ...
}

(this probably requires reverting some changes from #2969 , as passing the baseUrl as arg to some methods would not be needed anymore)

I observed two related issues while reproducing this issue.

baseUrl field fails validation when there is no ending slash
While building with baseUrl: /build,  I receive Validation Errors from the client-redirects plugin.
To resolve this, we can add a slash at the end. i.e. baseUrl: /build/ works. However, I'm not sure if this is the intended behavior.

No redirects even when using default baseUrl
Even when we use baseUrl: '/', no redirection occurs when we visit http://localhost:5000/docs/introduction (or https://v2.docusaurus.io/docs/introduction)
To resolve this, we need to add an ending slash to every element in allDocHomePaths. (e.g For the link above to work in particular, we should append a slash to /docs)

// append an ending slash to all array elements like this
const allDocHomesPaths = [
  '/docs/',
  '/docs/next/',
  ...versions.slice(1).map((version) => `/docs/${version}/`),
];

I will make a PR to resolve the website redirection issue in point 2 together with the original issue.


frontend: builders should support Goldilock

Currently we support only the curves defined in gnark-crypto. Need to output a constraint system based on Goldilocks, without curve.

Discussed with Alex, we are cleaning up all this and will create from scratch when the plan is clearer


Exception.Data dictionary NOT logged.

What steps will reproduce the problem?

Log any exception with some data in Exception.Data dictionary.
go to UI (elmah.axd)
search through Details and XML.

What is the expected output? What do you see instead?

get Exception.Data logged. It's NOT logged.

Originally reported on Google Code with ID 162
Reported by Alexander.Chervony on 2010-03-17 18:38:21

maybe you could add a event OnLogging(Error error) on ErrorLogModule where the users can customize the error? This would make it possible for users to customize the error message, for example to log the Data dictionary and format it anyway they like.
The event could look a like this;
public Action<Error> OnLogging(Error error);
a usage for of the event for logging the Data dictionary could be implemented:
public void ErrorLog_OnLogging(Error error)
{
	var myMessage = new StringBuilder();
	myMessage.AppendLine(error.Message);
	foreach(var kvp in error.Exception.Data)
	{
		myMessage.AppendLine($"{kvp.Key} = {kvp.Data}";
	}
	error.Message = myMessage.ToString();
}

Sorry,  Error.Detail is probably a better place...
myMessage.AppendLine(error.Detail);
...
error.Detail= myMessage.ToString();
...

I know this is an old question, but I need to do the same thing: store additional information in the Exception.Data dictionary and display in an ASP.NET MVC app. A lot of the links above are dead now.
I've posted a question to SO that's somewhat related: https://stackoverflow.com/questions/44506925/elmah-mvc-nlog-store-all-errors-in-one-place
Basically, our NLog logger can store any number of arbitrary columns; we use it for manually logging exceptions with the data pertinent to our app. If we could use ELMAH the same way, passing it arbitrary columns of data, that would be great.

@arc95 Your best bet is to customize the SqlErrorLog via derivation and make it aware of the data dictionary stored in an Exception. You would have to customize the SQL database objects to pass and log, as well as later retrieve, the additional information to and from an additional column. You would then override the Log, GetError & GetErrors (including async versions) methods of SqlErrorLog. The Error object passed to the Log method has a property called Exception using which you can retrieve the exception from which the error was created and get at its data dictionary for logging. Retrieval is trickier because none of the built-in views and other infrastructure will be aware of the additional information. In fact, the Error class is sealed so how do you add and return any extra information? For that, you could leverage ConditionalWeakTable<,> to have one class supplement another. Take a look at LoggedException from the ELMAH Bootstrapper project for an example of how to do this.

Thanks, @atifaziz! Came across this possible solution: https://stackoverflow.com/a/22647084/177416. What do you think?
Also, where can I find this project (its link is broken)? https://github.com/boena/elmah-with-custom-data

Came across this possible solution: https://stackoverflow.com/a/22647084/177416. It uses the error.ServerVariables collection. What do you think?

It's mixes server variables with arbitrary custom data and if you're happy to run with that then it's your call.

where can I find this project (its link is broken)? https://github.com/boena/elmah-with-custom-data

Best to ask @boena about that.

@arc95 In regards to the example found on docs.elmah.io, that is possible with elmah.io only. elmah.io and ELMAH are not the same thing. elmah.io were originally a remote error logger for ELMAH, but today a full error management system for all major .NET web and logging frameworks. I totally understand why you are confused by the naming. We are currently in the process of changing our name to something not related to ELMAH (the open source project which is awesome by the way :smile:).

+1

So, I need to capture the EntityValidationErrors information of the EF DbEntityValidationException.  I don't want to fork projects.  Which solution should I go for?  I'm currently hoping to load all of the validation errors into Exception.Data before logging.

@PhilHarding Save the custom data to a separate storage (e.g. table if you are logging to a database) and link it with the ID of the logged error. How you serialize and display back the DbEntityValidationResult in the web UI is really up to you.

You can write a custom error class and override ToString. Whatever you append to base.ToString() will end up in the AllXml field in the log.
try
{
//do something that throws an error
}
catch (Exception ex)
{
throw new LogPayloadException(ex, someObject.ToJson().Replace(""", ""));
}
    public class LogPayloadException : Exception
    {
        public string Payload { get; set; }

        public static string GetMessage(Exception originalException)
        {
            var innerException = originalException.InnerException;
            var message = originalException.Message;

            while (innerException != null)
            {
                message = innerException.Message;
                innerException = innerException.InnerException;
            }
            return message;
        }

        public LogPayloadException(Exception originalException, string payload)
            : base(GetMessage(originalException))
        {
            var innerException = originalException.InnerException;
            var source = originalException.Source;

            while (innerException != null)
            {
                source = innerException.Source;
                innerException = innerException.InnerException;
            }

            Payload = payload;
            Source = source;
        }

        public override string ToString()
        {
            return String.Format("{0}  Payload: {1}", base.ToString(), Payload);
        }
    }


Added parentheses to the print commands

Before adding the parentheses to the print command, it was not working after doing that it worked

Don't you need to add parentheses to the print statements in libs/PrettyOutput too?


"mouse moves paddle" option isn't saved to disk when changed.

It always reads "NO" when the game starts, even if it was previously changed.

fixed: d2b5dfada8c638dd497c6578355224931b13ec4d.


updates to feedback modal

updating and removing fields from the feedback modal

Actually, this is the final list of items that I believe Ryan shared. If it is not too late, let's use this list
Demand Management
General Interest
Planning
Regulatory
Research
Reservoir Management
Thermoelectric / Hydropower Management
Water Markets
Water Quality
Watershed Management
Other (text entry)