How to improve some performace

Dear author, this repo is the only lead for me to study about video player in Iced with gstreamer. Thanks a lot for sharing!
It works but the video can be laggy if the video has a higher resolution like 1920 x 1080. So I wonder whether the problem is in appsink callback because of writing video data to the frame property, or it's iced having trouble to refresh it's Image from frame data.
As any of those tools seems to lack debugging facilities (can't find a way to debug gstreamer in rust). So I ask is there any idea to improve the performace of video playing based on your code.
I've updated gstreamer to 0.21 and iced to 0.10 in dependencies.

Yes, there are many things suboptimal about this video player. It really comes down to two problems:

If software decoding is used, then it is fairly slow, but at least the image memory doesn't need to move around too much.
If hardware decoding is used (which on my system it is not, but this can probably be fixed by enabling the VA-API GStreamer plugin), then you face the issue of getting the image memory to somewhere that Iced can render it. It's quite a performance nightmare in terms of GPU-host synchronization, host-visible memory, image layout transitions, etc.

So, to improve the performance, you would need to do the following:

Enable HW acceleration in GStreamer (through the vulkanh264dec plugin, for instance)
Import the GPU image memory where the decoded frames are, into WGPU. Right now WGPU doesn't support external memory so the APIs must be the same, but it does support constructing handles from the underlying API (see this method). You'd need to force Iced to always use a specific graphics API (e.g., Vulkan), and then you can import the image handle from GStreamer.
Render the WGPU image directly in Iced. This is where things get a bit murky since, strangely, iced_wgpu doesn't offer a way to do this. Nonetheless, I don't see why implementing this in Iced wouldn't be trivial by adding a Texture variant in the custom primitives here.

That should net you close to the best performance possible.

Now I know about them, I will try those optimizations. Thanks for your reply! It solves my puzzles.

@jazzfool, according to you README it looks like some of the performance issues been fixed (commit e347a9b3249d33d9c9e40bfb8b149c60490e09d8):

Decent performance. Skips a lot of the overhead from Iced Image and copies frame data directly to a WGPU texture, and renders using a custom WGPU render pipeline.
For a very subjective reference, I can play back 1080p HEVC video with hardware decoding without hitches, in debug mode.

Is the minimal example using hardware decoding by default? Are there performance issues still to be aware of?
Anyway this repository is of great help, thanks!

From my testing, yes, the performance is a lot better since I last wrote. My earlier points still stand to squeeze out more performance but currently with hardware decoding (which seems to be working by default now) it's very usable.

Thanks @jazzfool, I am also able to run it with hardware decoding now but I still face some performance issues. I leave here the walkthrough and results of some tests.
Whether hardware acceleration is used or not it now depends entirely on gstreamer system setup, its plugins and the underlying video driver.
By enabling gstreamer logs I could see that I was using avdec_h264 decoder, that to my understanding is a software decoder:
$ GST_DEBUG=2,videodecoder:INFO cargo run --example minimal
    Finished dev [unoptimized + debuginfo] target(s) in 0.12s
     Running `target/debug/examples/minimal`
0:00:00.102594958  9109 0x785ee0000f10 INFO            videodecoder gstvideodecoder.c:1631:gst_video_decoder_sink_event_default:<avdec_h264-0> upstream tags: taglist, video-codec=(string)"H.264\ /\ AVC", container-specific-track-id=(string)1, bitrate=(uint)5152237;
...

I was testing this on PC with Nvidia GTX 1060 GPU, Arch linux, nvidia drivers 550.54.14. HW acceleration should be handled by NVDEC/NVENC codec, handled by the nvcodec gstreamer plugin.
However by inspecting the nvcodec plugin with gst-inspect-1.0 nvcodec I could not see any feature listed.
This because I was missing the cuda package. After that I had to clean gstreamer cache too:
$ rm -r ~/.cache/gstreamer-1.0

After this gst-inspect was properly showing encoder and decoder features:
$ gst-inspect-1.0 nvcodec
Plugin Details:
  Name                     nvcodec
  Description              GStreamer NVCODEC plugin
  Filename                 /usr/lib/gstreamer-1.0/libgstnvcodec.so
  Version                  1.24.0
  License                  LGPL
  Source module            gst-plugins-bad
  Documentation            https://gstreamer.freedesktop.org/documentation/nvcodec/
  Source release date      2024-03-04
  Binary package           Arch Linux GStreamer 1.24.0-1
  Origin URL               https://www.archlinux.org/

  cudaconvert: CUDA colorspace converter
  cudaconvertscale: CUDA colorspace converter and scaler
  cudadownload: CUDA downloader
  cudaipcsink: CUDA IPC Sink
  cudaipcsrc: CUDA IPC Src
  cudascale: CUDA video scaler
  cudaupload: CUDA uploader
  nvautogpuh264enc: NVENC H.264 Video Encoder Auto GPU select Mode
  nvautogpuh265enc: NVENC H.265 Video Encoder Auto GPU select Mode
  nvcudah264enc: NVENC H.264 Video Encoder CUDA Mode
  nvcudah265enc: NVENC H.265 Video Encoder CUDA Mode
  nvh264dec: NVDEC H.264 Decoder
  nvh264enc: NVENC H.264 Video Encoder
  nvh265dec: NVDEC H.265 Decoder
  nvh265enc: NVENC HEVC Video Encoder
  nvjpegdec: NVDEC jpeg Video Decoder
  nvjpegenc: NVIDIA JPEG Encoder
  nvmpeg2videodec: NVDEC mpeg2video Video Decoder
  nvmpeg4videodec: NVDEC mpeg4video Video Decoder
  nvmpegvideodec: NVDEC mpegvideo Video Decoder
  nvvp9dec: NVDEC VP9 Decoder

  21 features:
  +-- 21 elements

and the minimal test was then using the nvh264dec hardware decoder:
GST_DEBUG=2,videodecoder:INFO cargo run --example minimal
    Finished dev [unoptimized + debuginfo] target(s) in 0.12s
     Running `target/debug/examples/minimal`
0:00:01.314568227 10681 0x77b5fc000f10 INFO            videodecoder gstvideodecoder.c:1631:gst_video_decoder_sink_event_default:<nvh264dec0> upstream tags: taglist, video-codec=(string)"H.264\ /\ AVC", container-specific-track-id=(string)1, bitrate=(uint)5152237;
...

However despite using the hardware decoder  there is still some performance issue, because I get about 80% CPU in both tests with and without hardware decoding but if I directly play the video with gstreamer:
gst-launch-1.0 playbin uri=file:///$(pwd)/.media/test.mp4

it says it uses nvh264dec decoder and takes about 20%.
@jazzfool , would you expect such a difference? Is it due to what you were referring in your point above?

If hardware decoding is used (which on my system it is not, but this can probably be fixed by enabling the VA-API GStreamer plugin), then you face the issue of getting the image memory to somewhere that Iced can render it. It's quite a performance nightmare in terms of GPU-host synchronization, host-visible memory, image layout transitions, etc.

The same video played by mpv takes about 10% cpu and it also says it uses nvdec hw decoder.
On an another PC with an Intel Celeron N3350 (Dual core CPU and Intel HD Graphics 500) I had to install intel-media-driver and gst-plugin-va which allows gstramer to use VA-API which should use the intel underlying hw coded.
After this the minimal example started to use the hardware codec vah264dec, however performance were even worse in this case, higher CPU usage (~130% compared to ~100% without hw decoder) and video lagging (there was no lagging without hw decoder).
I think that in this case there is also something wrong with gstreamer itself because even if I directly play the video with gstreamer:
gst-launch-1.0 playbin uri=file:///$(pwd)/.media/test.mp4

it says it's using hw decoder vah264dec but I still face high CPU usage (~80%) and video lagging.
However if I play the same video with mpv:
mpv --hwdec=auto .media/test.mp4

it still says it's using hardware decoding (vaapi, so it should be the same underlying codec) have but I only have 20% CPU usage and a smooth video.
I also tried to force using the vulkan decoder by setting GST_PLUGIN_FEATURE_RANK=vulkanh264dec:MAX but on both machine it fails during initialization and so gstreamer fallbacks to the other available decoders.

Thanks for the detailed tests! Yes, I would expect greater CPU usage, based on my earlier points. MPV and gst-launch almost certainly skip the CPU overhead by keeping everything on the GPU when using hw decoding. However, I do not expect to see a difference on the order of 20% vs 80%. I tested MPV and gst-launch vs the minimal example in release build, and saw closer to 2-3% vs 5-6%.
I expect there's something going on with gstreamer and the system configuration to cause such a big difference - perhaps something with how the gstreamer sink pipeline is setup. It's hard to reproduce this myself as I would want to capture some profiles and look at what gstreamer is doing in more detail.

I have noticed a significant performance gap between OpenGL Renderer provided by gstreamer plugin autovideosink and our iced video player. The latter has higher latency and consumes more resources than OpenGL Renderer. Is it possible to close up the gap?

I found a small bug which should improve performance slightly. However, regarding the performance overall, I did find the source of the issue as to why performance ends up being slower than e.g., gst-launch:
Video frames are usually encoded in a YUV colour space, to help with spatial compression. The problem is that converting YUV to RGBA is not a simple operation, and in this case is being performed on the CPU (by the 'videoconvert' plugin). Now that wouldn't really be a problem if we could just accept the frames in YUV then place it into a YUV WGPU texture (NV12) so that the conversion can be done on the GPU - but... NV12 textures need the NV12 feature gate when creating the WGPU device, and Iced does not let us select features we want.
With GPU colour space conversion I anticipate that CPU usage% would drop by roughly 15-20% (from my local tests). The rest of the CPU usage comes from write_texture (i.e., copy CPU memory to GPU texture) and I see no simple way to reduce that.
Looking into the future, the biggest leap forward would be gfx-rs/wgpu#2330, but there's no sign of that feature any time soon.

Thanks for your reply.  By the way, I am just curious why you address codec in WGPU is a biggest leap, so is your point that if codec in WGPU achieved then we can discard gstreamer pipeline then eliminate unnecessary memory copy?

That's right. If WGPU implements the native video decoding extensions for each API then that would result in almost no overhead since the memory doesn't need to move anywhere.
The next best thing would be if WGPU implemented external memory extensions (VK_KHR_external_memory or equivalent) so that decoding is done in e.g., OpenGL but the texture memory can be imported as e.g., a VkImage.
For now I may investigate compute shaders as an alternative for speeding up the YUV -> RGB conversion.

That's right. If WGPU implements the native video decoding extensions for each API then that would result in almost no overhead since the memory doesn't need to move anywhere. The next best thing would be if WGPU implemented external memory extensions (VK_KHR_external_memory or equivalent) so that decoding is done in e.g., OpenGL but the texture memory can be imported as e.g., a VkImage.
For now I may investigate compute shaders as an alternative for speeding up the YUV -> RGB conversion.

But to my knowledge gstreamer appsink cannot return GPU memory(D3D, OpenGL, CUDA) so it seems that we need to rewrite almost the entire gstreamer pipeline in rust if we want to eliminate all unnecessary memory copy. It does sound like a hell of a work.

Referring to the external memory extensions, actually gstreamer does expose glimagesink, vulkansink, and d3d11videosink. Of course in the interest of supporting interop with all WGPU backends you'd want to pick the most portable one. Whether throughout the gstreamer pipeline itself it internally decodes on the GPU is another question. Though to be honest, instead of using glimagesink at that point I would consider switching entirely from gstreamer and instead to libmpv.

I have implemented hardware accelerated NV12 to RGB conversion that does not rely on the WGPU feature gate in 4c1ab1e.
With that, CPU usage has been reduced by around 30-40%. From my testing, the CPU usage is now comparable with other video players. At this point the only further CPU-side optimization that could be made is zero-copy frames (currently it copies from GPU to CPU to GPU), but without changes in wgpu that is not currently possible to avoid.
As such, I will be closing this issue.


MSID: 93063 Version: 2 DOI: 10.1101/2<IP_ADDRESS>5308

MSID: 93063
Version: 2
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>5308
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=93063
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>5308

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/93063v2
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>5308
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/93063/v2/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

warn: [mixed-citation-other-publication-flag] mixed-citation in reference (id=c70) has a publication-type='other'. Is that correct?


Example CSV doesn't work

If you download the template and try to upload it without any changes, it says the file is invalid.
I also used to template to upload some other users following the same format of the example and it didn't work then either.
I'm not sure what valid CSV for this functionality looks like.

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

ID: 277a5d8f-7fce-bf5d-1ebd-2061e9ac8a69
Version Independent ID: 02d2bc44-dc9f-a23a-9c60-facf7e0c1a41
Content: Bulk import to add users (preview) in the Azure Active Directory portal
Content Source: articles/active-directory/users-groups-roles/users-bulk-add.md
Service: active-directory
Sub-service: users-groups-roles
GitHub Login: @curtand
Microsoft Alias: curtand

@jeefberkey hello, thanks for your feedback, we'll be investigating this and letting you know our updates.

I has been 3 weeks. It would appear to be a very straightforward operation (and resolution, hopefully).
What is its status?

Hi @stdedos Thanks for your contribution! I'm testing this now. The PM is out of the office until Monday. If I get an answer from my testing, I can publish it today.

Hi stdedos
I have the articles ready to publish today. https://github.com/MicrosoftDocs/azure-docs-pr/pull/91005

Sadly, I cannot see that PR contents, neither can I see that the page was updated.
Kindly close when we can see the change from our side too, not simply yours.

You have a CRLF handling issue. *Please* solve it ...

I was able to open the downloaded sample csv in Excel, add 9 rows (users) in the file, save and import to Azure. Worked 100%.

I was able to open the downloaded sample csv in Excel, add 9 rows (users) in the file, save and import to Azure. Worked 100%.

On Windows, where the line ending is as expected. I am using Linux, with the other line ending, as @stdedos said. It works after you convert the line endings to the Windows style.

I was able to open the downloaded sample csv in Excel, add 9 rows (users) in the file, save and import to Azure. Worked 100%.

It works after you convert the line endings to the Windows style.

Yes @jeefberkey  but you are supposed to tell me that, aren't you? Unless, of course, you are moving to the Windows-only cloud.


Cache Database Results

Currently the results are retrieved directly from the database each time, for poorly configured placeholder functionality this could mean a database call every X milliseconds which could lead to poor performance or even crashing.
The fix would be to use a configurable caching system that would store the results based on the parameters to a set amount of time, for example "top 10 results from X course".

This has been achieved in v6.0, using the combination of a MySQL library (https://github.com/Huskehhh/MySQL) and internal time results caching, results are achieved considerably quicker.

The amount of results to cache is stored in the config.yml.


test: update the test suite

Bump the versions of netbox we test against to the latest 3 major/minor netbox releases: 2.10, 3.0, and 3.1.
Updated the version of black in requirements-dev to something recent and re-blacked the project.
Added the netbox version in the test suite to the github matrix strategy to speed up the test suite.

Closes #438

Ah I see the black update conflicts with https://github.com/netbox-community/pynetbox/pull/441, thank you for that mark, I'll revert that part in this one.

would you mind re-running black too?

Sweet! I'd love to :)

What happened to 2.11?

Ha, I forgot 2.11 was a thing. Sorry about that, good catch. Will fix AM.

Looks good to me now.


fix(#2272): pp form stepper, allow final step excluded from progress …

Allow pp team to have the hidden 5th step as the Confirmation message
Hidden step: https://github.com/vanessatran-ddi/latest-react-demo/blob/privacy-portal-components/src/components/2175/form-stepper.tsx#L52
How it is like:
https://vanessatran-ddi.github.io/latest-react-demo/

:tada: This PR is included in version 1.17.0-alpha.126 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 5.0.0-alpha.13 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.0.0-alpha.9 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.29.0 :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.2.1 :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 5.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


doc: Add reference in toplevel README.rst to install_py_requirements

In the section 'Documentation presentation theme' put a reference to
'install_py_requirements' section in the getting start guide.
Signed-off-by: Kumar Gala<EMAIL_ADDRESS>

@mbolivar I think this is what you wanted.  Pulled out of PR #22613


Update Privacy Page

Resolves and implements #594
This PR implements the following:

Rename all instances of CoinShuffle to StakeShuffle
Correct Text wrap on Privacy Info page so that the text retains wrap format when in full screen  mode
Make enter key submit modals info modals
Set button width for Set up mixer for this wallet so that it deos not expand in width in full screen mode
Make enter key submit password modals

Images
Full Screen Mode:

Minimised:

I noticed a bug that causes the dialog to close if I pressed enter button before opening it.

I noticed this as well

This button should be full width when minimized

Implemented!!

The enter key event is behaving unexpectedly.
We will be creating a separate issue so we can look into its implementation.
So far, I have tested and the functionality looks good to go and all other changes has been implemented.


Reusing ListAdapter with a different dataSource

New issue checklist

[YES ] I have reviewed the README and documentation
[ YES] I have searched existing issues and this is not a duplicate

General information

IGListKit version: 3.0
iOS version(s): 11
CocoaPods/Carthage version:
Xcode version: 9
Devices/Simulators affected: YES
Reproducible in the demo project? YES
Related issues: None

My use case:
I essentially have 2 feeds (Feed 1 & Feed 2) however each feed has some common sections and I want transition smoothly between them. In order to do this I am using the same collectionView and same listAdapter for both of them. I pass reference and reuse the adapter from Feed 1 to Feed 2, all I do is set the adapter's dataSource = Feed 2. However, when I do this, the adapter resets the sectionMap which is unfortunate because the next time I call performBatchUpdates with the data from Feed 2 it crashes with NSInternalInconsistencyException (Wrong number of sections before/after), because the sectionMap no longer carries the data from the previous feed.
I've created a fix for this, but not sure if this jives well with Instagram's use case:
- (void)setDataSource:(id<IGListAdapterDataSource>)dataSource {
    if (_dataSource != dataSource) {

        BOOL shouldUpdate = false;
        if (_dataSource == nil) {
            shouldUpdate = true;
        }

        _dataSource = dataSource;

        if(shouldUpdate) {
            [self updateAfterPublicSettingsChange];
        }
    }
}

This only resets the section map if the dataSource was nil before.
What do you think?

@yusufoos I wouldn't change the data source, IGListAdapter isn't designed to do that, as you'd discovered. Your patch could work, but I'm not sure it's something we want to encourage.
Why can't you have a single data source and within the data source fork between two sources that return stuff for objects(for listAdapter:)?
I'm also curious what separating data sources unlocks for you? Are you reusing the data sources elsewhere?

@rnystrom I just want to separate concerns, I could have one massive dataSource and some sort of internal switch that will load the data depending on the "Feed" that I want to use, or as I suggest, I could separate those two feeds into separate objects that manage their own data.


Suggestion: reflection for interface?

Interface is a useful tool in TypeScript, but sometimes we'll need to write two pieces of almost identical code for intellisense and functionality respectively.
Is it acceptable to add a simple statement for generating part of interface information (properties)?
E.g.
class SomeClass { }

interface ISubFace {
    abc: string;
    def: number;
}

interface IFace {
    str: string;
    num: number;
    obj: SomeClass;
    sub: ISubFace;
}

var faceInfo = reflect IFace;

Would emit:
var SomeClass = (function () {
    function SomeClass() {
    }
    return SomeClass;
})();

var _ISubFaceReflection = {
    abc: 'string',
    def: 'number'
};
var _IFaceReflection = {
    str: 'string',
    num: 'number',
    obj: SomeClass,
    sub: _ISubFaceReflection
};

var faceInfo = _IFaceReflection;

Run time type information (ie reflection) is currently outside our design goals (https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals). If we were to do something like what you're requesting it would most likely surface in the form of attributes like #1557

I saw @vilic saying this idea is not only for RTTI. (Now the comment is gone)

+1 for this feature. It will be of great help to deal with POJO ajax data and convert their types.

Take a look at this project: https://github.com/artifacthealth/tsreflect-compiler.

@meirgottlieb that is great but I guess it won't fit the needs. :'(

Will TypeScript have reverse-engineering features like Reflection?

:+1: I also think that it would be great to be able to access interfaces via reflection.
https://github.com/Microsoft/TypeScript/issues/3148#issuecomment-101945407

+1, would be very useful for stubbing interfaces, a-la Mockito (http://mockito.org/), something like:
interface Animal {
   makeSound(): void;
}

const anAnimal = Mock.<Animal>create();
...
anAnimal.makeSound();

Unfortunately tscompiler-reflect project is discontinued. Is there any way to get runtime type check in TypeScript? RTTC was one of the main design goals of AtScript.

+1. I really hope to see typescript supports Java like reflection which is very useful for metadata driven designs such as use type information to generate auto-completion UI. The type information is valuable information which shouldn't be erased at runtime.

+1. This is a must have feature in any grown up language. One cannot be expected to rewrite all the types of an interface over again just to check the type.

The "keyof" and "reflect" is not the same! This has type information and can probably be usefull e.g in Angular2 Dependency Injection, injecting Interfaces.
We can have both or at least "reflect" that is more generic with.


Eliminate parser's global states

Done by https://github.com/DQNEO/minigo/commit/976c699fdfcc928bc529147ee582e3024122cc87


set cpubw perf governor

I don't know the power or thermal implications of this, but CPU <-> GPU transfers (which I think is just memcpy) are 4x faster with the change.
To be fair, I think if camerad is running this governor always sets the max frequency. But still.
With:
root@localhost:/data/data/com.termux/files/build/clmem$ ./a.out --mode=range --start=268435456 --end=268435456 --increment=1
[a.out] starting...

./a.out Starting...

WARNING: NVIDIA OpenCL platform not found - defaulting to first platform!

Running on...

QUALCOMM Adreno(TM)

Range Mode

Host to Device Bandwidth, 1 Device(s), Paged memory, direct access
   Transfer Size (Bytes)        Bandwidth(MB/s)
   268435456                    6281.2

Device to Host Bandwidth, 1 Device(s), Paged memory, direct access
   Transfer Size (Bytes)        Bandwidth(MB/s)
   268435456                    6558.0

Device to Device Bandwidth, 1 Device(s)
   Transfer Size (Bytes)        Bandwidth(MB/s)
   268435456                    19980.6

[a.out] test results...
PASSED

> exiting in 3 seconds: 3...2...1...done!

Without (powersave):
root@localhost:/data/data/com.termux/files/build/clmem$ ./a.out --mode=range --start=268435456 --end=268435456 --increment=1
[a.out] starting...

./a.out Starting...

WARNING: NVIDIA OpenCL platform not found - defaulting to first platform!

Running on...

QUALCOMM Adreno(TM)

Range Mode

Host to Device Bandwidth, 1 Device(s), Paged memory, direct access
   Transfer Size (Bytes)        Bandwidth(MB/s)
   268435456                    1204.1

Device to Host Bandwidth, 1 Device(s), Paged memory, direct access
   Transfer Size (Bytes)        Bandwidth(MB/s)
   268435456                    1201.8

Device to Device Bandwidth, 1 Device(s)
   Transfer Size (Bytes)        Bandwidth(MB/s)
   268435456                    19688.4

[a.out] test results...
PASSED

> exiting in 3 seconds: 3...2...1...done!

@adeebshihadeh Do we have a test for offroad power? That's my only concern with this.

Not yet, but I wouldn't be too worried about offroad power usage increasing significantly with this change.

kk, I'll merge after tests pass

Oh haha, this is already set in thermald!


[Windows] [Twitter] "[Errno 2] No such file or directory"

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2021.12.01. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
No response
Description
yt-dlp experiences recurrent issues with grabbing videos from Twitter owing to Windows filesystem errors from erroneous characters or total length. sanitize isn't doing its job.
ref https://github.com/ytdl-org/youtube-dl/issues/30361
Verbose log
F:\Youtube-DL>yt-dlp.exe --ignore-config --verbose https://twitter.com/cassandrawebbtv/status/1470124083547418624
[debug] Command-line config: ['--ignore-config', '--verbose', 'https://twitter.com/cassandrawebbtv/status/1470124083547418624']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8 (No ANSI), err utf-8 (No ANSI), pref cp1252
[debug] yt-dlp version 2021.12.01 [91f071a] (win_exe)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg n4.4-6-g7e9b9f24df (setts), ffprobe n4.4-6-g7e9b9f24df
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
[debug] [twitter] Extracting URL: https://twitter.com/cassandrawebbtv/status/1470124083547418624
[twitter]<PHONE_NUMBER>547418624: Downloading guest token
[twitter]<PHONE_NUMBER>547418624: Downloading JSON metadata
[twitter]<PHONE_NUMBER>547418624: Downloading m3u8 information
[debug] Sort order given by extractor: res, br, size, proto
[debug] Formats sorted by: hasvid, ie_pref, res, tbr, vbr, abr, filesize, fs_approx, proto, lang, quality, fps, hdr:12(7), vcodec:vp9.2(10), acodec, asr, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info]<PHONE_NUMBER>547418624: Downloading 1 format(s): http-2176
[debug] Invoking downloader on "https://video.twimg.com/ext_tw_video/1470124003201273856/pu/vid/720x1060/KKdVKnZxI47Oihej.mp4?tag=12"
ERROR: unable to open for writing: [Errno 2] No such file or directory: 'Cassandra Webb - MUST WATCH - A man from #Kentucky lost his home after the #tornado Yet, here he sits at his piano playing the @Gaithermusic tune, "There's Something About That Name." The peace that passes understanding. #ARwx @FOX16News @KARK4News @NWS @HaydenNix [1470124083547418624].mp4.part'
Traceback (most recent call last):
  File "yt_dlp\downloader\http.py", line 266, in download
  File "yt_dlp\utils.py", line 2094, in sanitize_open
FileNotFoundError: [Errno 2] No such file or directory: 'Cassandra Webb - MUST WATCH - A man from #Kentucky lost his home after the #tornado Yet, here he sits at his piano playing the @Gaithermusic tune, "There's Something About That Name." The peace that passes understanding. #ARwx @FOX16News @KARK4News @NWS @HaydenNix [1470124083547418624].mp4.part'

Duplicate of https://github.com/yt-dlp/yt-dlp/issues/1280 and related issues

To be certain, it's a completely different error message.  Likely caused by the inclusion of literal quotation marks in the filename, which is illegal.  File-too-long is a separate issue, and often dismissed as a "you should be using Windows 10 to fix that" bug.

Those are not quotes, but unicode chars that look like quotes

often dismissed as a "you should be using Windows 10 to fix that" bug.

No, even if you use Windows 10 or UNIX, this filename is too long

ERROR: unable to open for writing: [Errno 2] No such file or directory: 'Cassandra Webb - MUST WATCH - A man from #Kentucky lost his home after the #tornado Yet, here he sits at his piano playing the @Gaithermusic tune, "There's Something About That Name." The peace that passes understanding. #ARwx @FOX16News @KARK4News @NWS @HaydenNix [1470124083547418624].mp4.part'

ERROR: unable to open for writing: [Errno 2] No such file or directory: 'Cassandra Webb - MUST WATCH - A man from #Kentucky lost his home after the #tornado Yet, here he sits at his piano playing the @Gaithermusic tune, "There's Something About That Name." The peace that passes understanding. #ARwx @FOX16News @KARK4News @NWS @HaydenNix [1470124083547418624].mp4.part'

Those are ASCII quotes of the U+0034 variety after they have been sanitized.  The original tweet had fancy quotes, but yt-dl decided to convert them to ASCII quotes in the filename.

➤ yt-dlp -v https://twitter.com/cassandrawebbtv/status/1470124083547418624 -o "%(title).200s.%(ext)s"
[debug] Command-line config: ['-v', 'https://twitter.com/cassandrawebbtv/status/1470124083547418624', '-o', '%(title).200s.%(ext)s']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, err utf-8, pref cp1252
[debug] yt-dlp version 2021.12.01 [91f071af6] (source)
[debug] Lazy loading extractors is disabled
[debug] Plugins: ['SamplePluginIE', 'SamplePluginPP']
[debug] Git HEAD: 4eb5531d1
[debug] Python version 3.10.0 (CPython 64bit) - Windows-10-10.0.19043-SP0
[debug] exe versions: ffmpeg N-103892-g71f2a9a2e5-20210927 (setts,fdk), ffprobe N-103892-g71f2a9a2e5-20210927, phantomjs 2.1.1
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
[debug] [twitter] Extracting URL: https://twitter.com/cassandrawebbtv/status/1470124083547418624
[twitter]<PHONE_NUMBER>547418624: Downloading guest token
[twitter]<PHONE_NUMBER>547418624: Downloading JSON metadata
[twitter]<PHONE_NUMBER>547418624: Downloading m3u8 information
[debug] Sort order given by extractor: res, br, size, proto
[debug] Formats sorted by: hasvid, ie_pref, res, tbr, vbr, abr, filesize, fs_approx, proto, lang, quality, fps, hdr:12(7), vcodec:vp9.2(10), acodec, asr, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info]<PHONE_NUMBER>547418624: Downloading 1 format(s): http-2176
[debug] Invoking downloader on "https://video.twimg.com/ext_tw_video/1470124003201273856/pu/vid/720x1060/KKdVKnZxI47Oihej.mp4?tag=12"
[download] Destination: Cassandra Webb - MUST WATCH - A man from #Kentucky lost his home after the #tornado Yet, here he sits at his piano playing the @Gaithermusic tune, “There’s Something About That Name.” The peace that p.mp4
[download] 100% of 5.97MiB in 00:01


Set defaults from param server

This provides a fix for #609 that works as follows for each option:

It sets the option_name to create_graph_resource_name(rs2_option_to_string(option))). Same as before, which is used for both the ddynamic_reconfigure and ROS (static) param.
It takes the default value from sensor.get_option(option), which was passed to the DD* param constructors before. Now it's assigned to option_value.
Then it tries to load a param from the nh1 node handle namespace for the option_name, using option_value as default. If the param was set in the ROS param server, nh1.param returns true, in which case we set the option to that value in the sensor with sensor.set_option(option, option_value). Without this the params are set but the sensor still runs with its own defaults.
For options with min and max, if the value in the ROS param server is out of the [min, max] range, a ROS_WARN log message is reported and the default value from the sensor is used, as before.
For enum options, if the value is greater than the number of enums supported, a ROS_WARN log message is reported and the default value from the sensor is used, as before.
Finally, the DD* param is constructed and added to the ddynamic_reconfigure.

The fix is provided in this commit: https://github.com/intel-ros/realsense/commit/97dd66ee05326bb9b5b9070035bc437d906c3f73
A better fix would be to make ddynamic_reconfigure work as dynamic_reconfigure, implementing the behavior explained by @stwirth in https://github.com/intel-ros/realsense/issues/609#issuecomment-464836205. However, this repo has a copy of ddynamic_reconfigure, so I'm reluctant of making any changes to that package. I've already contacted @awesomebytes to see if we could implement some of those changes in https://github.com/awesomebytes/ddynamic_reconfigure, and more importantly, if we could add it to the official ROS distro https://github.com/ros/rosdistro/blob/master/melodic/distribution.yaml, so you don't have to copy it here, which makes it very hard to maintain and extend.
The two other commits are optional:

https://github.com/intel-ros/realsense/commit/1840901de6944a9c12aaebce8bf5dae8e4b459a4 provides a small change to follow the same code used in ros::names

https://github.com/intel-ros/realsense/commit/8866e8ac503fb9538c3d29d5f14d433951c081e2 transforms to lower case, which IMHO it's more correct because param names are usually lower case. This will require people to update the names of their params to lower case, but since this was already broken, this is probably a good time to get this done properly. Either way, I made this change in a separate commit so I can easily drop it from this PR if you don't like it.

Nice! :+1:

This looks good! Thanks!

As this is a new interface, could you provide a usage example please?

face, could you provide a usage example please?

@doronhi I don't understand your comment. I'm not providing a new interface AFAIK, if you mean a C++ interface.
This fixes an issue with the ROS wrapper not reading the ROS params from the ROS param server because ddynamic_reconfigure doesn't do that, which broke previous behavior when it switched from dynamic_reconfigure to ddynamic_reconfigure.

face, could you provide a usage example please?

@doronhi I don't understand your comment. I'm not providing a new interface AFAIK, if you mean a C++ interface.
This fixes an issue with the ROS wrapper not reading the ROS params from the ROS param server because ddynamic_reconfigure doesn't do that, which broke previous behavior when it switched from dynamic_reconfigure to ddynamic_reconfigure.

Sorry for being unclear.
I started roscore.
Then I tried several combinations of rosparam set /stereo_module/emitter_enabled and ended up with the following parameters in my parameter server:
doronhi@ubuntu:~$ rosparam list | grep emitter
/camera/realsense2_camera/stereo_module/emitter_enabled
/camera/stereo_module/emitter_enabled
/emitter_enabled
/stereo_module/emitter_enabled

Still, running rs_camera.launch after that, the emitter_enabled parameter was not changed.
So first, as I don't usually use the parameter server, what is my stupid mistake?
second, I would like to have an example of usage so others will have an easier life.
I think that in issue #609 , @stwirth mentioned that once the dynamic parameter is changed, its value is saved to the parameter server. Does that sound right? Could you add this behavior as well. It would also have made it clearer how to modify the parameters as they would have appeared by rosparam list command.
Thanks,

Take a look at issue#689
Maybe the part of updating the parameter server is already going to be done there..

@doronhi If #689 gets resolved, then we don't need this PR, because that implementation of ddynamic_reconfigure already reads the default values from the ROS param server, e.g. https://github.com/pal-robotics/ddynamic_reconfigure/blob/kinetic-devel/src/ddynamic_reconfigure.cpp#L294
That implementation doesn't call setParam AFAIK, so it doesn't set the parameters into the ROS param server on start up or on change. However, IMHO this is good because:

Calling setParam isn't efficient because it creates a socket
You can still check the dynamic values with rostopic echo into the parameter_updates (see examples below)
If we set parameters into the server from this driver, then running it again will produce different initial behaviour. I mean that the driver will start using the last configuration set dynamically, that maybe it wasn't the intention of the user.

Not sure how are you planning to move forward from here, @doronhi , but I suggest the following:

Remove ddynamic_reconfigure from this repo, which was a bad thing in the first place.
Depend on the ddynamic_reconfigure officially released, which I guess it's already released after reading the last comments in #689
Update the code to use the interface from the official ddynamic_reconfigure pkg.

All that can be done in a single PR. I can contribute it, if that sounds good to you.
Answering your question, this should work:

roscore
rosparam set /camera/stereo_module/emitter_enabled false
roslaunch realsense2_camera rs_camera.launch
rostopic echo /camera/stereo_module/parameter_updates -n1 | grep -A 1 emitter_enabled | grep value | awk '{print $2}' will show False

After this state, you will also have this behaviour:

Stop the camera driver
rosparam delete /camera/stereo_module/emitter_enabled
roslaunch realsense2_camera rs_camera.launch
rostopic echo /camera/stereo_module/parameter_updates -n1 | grep -A 1 emitter_enabled | grep value | awk '{print $2}' will show False, because now the default is the value of the option in the camera driver/sensor. If you unplug the camera and plug it in again, this might change.

And also:

Stop the camera driver
rosparam set /camera/stereo_module/emitter_enabled true
roslaunch realsense2_camera rs_camera.launch
rostopic echo /camera/stereo_module/parameter_updates -n1 | grep -A 1 emitter_enabled | grep value | awk '{print $2}' will show True

All that would be the expected behaviour of the official ddynamic_reconfigure as well, so I guess nothing should be documented here.
I confirm that behaviour with this PR. It should be the same if you switch to the official ddynamic_reconfigure, which long-term is the correct thing to do IMHO. However, I'd appreciate if you merge this PR first, so #609 gets fixed.

I merged the PR.
I understand what you said about the shortcomings of writing values back to the parameter server.

@stwirth ,I would appreciate your opinion as it differs from what I understood in #609 to be your needs.
@v-lopez, what do you think is going to be implemented inside ddynamic_reconfigure? Will it write values to the parameter server or not?

@efernandez , I would appreciate your help in updating to ddynamic_reconfigure 0.1.7.
However, the reason I chose to copy the code was to avoid using sub-module which made life for realsense users harder.
I hope in the very near future to create a debian package for realsense2_camera. When it happens, it would be better to include ddynamic_reconfigure as sub-module as most users will not download the code anymore.
Until then, and until ddynamic-reconfigure itself is released as a debian, I would prefer to keep an updated copy.

The current WIP implementation is here: https://github.com/pal-robotics/ddynamic_reconfigure/tree/refactor-functions
And the migrated code for realsense here: https://github.com/pal-robotics-forks/realsense
We'll validate today with our cameras and then we'll submit for your evaluation.
In the meantime I'll be extending the tests and adding DDynamic reconfigurable strings.

Thanks @doronhi
It looks like @v-lopez is already doing the hard work to bring us to a position where we can nuke ddynamic_reconfigure from this repo. :smiley:
I'm going to wait for his tests and for things to be released (I think there's a release sync tomorrow EOD). After that, if there's anything missed, I can help.
Maybe we can continue the discussion on #689

@doronhi I'm happy with the way this is going.


[Feature Request] Pause video in browser on "Queue" and "Play this next"

This extension already pauses YouTube videos in the browser when you use "Play now", I think it would be a good idea if the same were true for the "Queue" and "Play this next" options.

Is there anything I can do to help accelerate this request?

This makes sense, the behaviour should be the same.
If you're able to prepare a pull request with a fix. this will help the author for sure.

I don't know how to do that. I will be happy to do so if I know how.
On Sat, Dec 8, 2018 at 1:49 AM Maciej Sitarz<EMAIL_ADDRESS>wrote:

This makes sense, the behaviour should be the same.
If you're able to prepare a pull request with a fix. this will help the
author for sure.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/khloke/play-to-xbmc-chrome/issues/149#issuecomment-445446788,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMCU2yQM4R4Zchm5B8LDnTvCkc8eZr9kks5u24sWgaJpZM4WYOgV
.

I don't know how to do that. I will be happy to do so if I know how.


Add Raspberry Pi compatibility

There seem to be a few Raspberry Pi specific pixel formats in FFmpeg.
I added a new feature flag called rpi for them.
Additionally, the char pointers of the error messages seem to be unsigned rather than signed on the Raspberry Pi.

Re char: this is not an rpi-specific problem, but rather, an arm problem. I've noticed this before when building a ffmpeg-next revdep on Launchpad (same errors on both armhf and arm64), I didn't bother to deal with it then since I thought it would take a fair bit of effort fixing everything for arm. Turns out this is the only problem... The proper fix is to use std::os::raw::c_char or libc::c_char. I've pushed d4c64458db38c98a1de4c461ac666e682456b218. Please resolve the conflict.
Re rpi specific formats: okay this one got confusing. These symbols aren't in the upstream source code. I have an rpi 3B (or 3B+? can't recall) so I checked the source packages, and again couldn't find anything. Then I scoured the Internet and finally located the rpi-specific patches in https://archive.raspberrypi.org/debian/pool/main/f/ffmpeg/ffmpeg_4.1.6-1~deb10u1+rpt1.debian.tar.xz:
$ tar xOf ffmpeg_4.1.6-1~deb10u1+rpt1.debian.tar.xz | grep AV_PIX_FMT_RPI
+    {  "rpi", rpi_init, HWACCEL_RPI, AV_PIX_FMT_RPI4_8 },
+    {  "rpi", rpi_init, HWACCEL_RPI, AV_PIX_FMT_RPI4_10 },
+        *fmt++ = AV_PIX_FMT_RPI4_8;
+        *fmt++ = AV_PIX_FMT_RPI4_10;
+     { AV_PIX_FMT_RPI4_8,      MKTAG('S', 'A', 'N', 'D') },
+     { AV_PIX_FMT_RPI4_10,     MKTAG('S', 'N', 'D', 'B') },
+        (format == AV_PIX_FMT_RPI4_8 || format == AV_PIX_FMT_RPI4_10);
+        case AV_PIX_FMT_RPI4_8:
+        case AV_PIX_FMT_RPI4_10:
+    .pix_fmt        = AV_PIX_FMT_RPI4_8,
+    .pix_fmt        = AV_PIX_FMT_RPI4_10,
+    case AV_PIX_FMT_RPI4_8:
+    case AV_PIX_FMT_RPI4_10:
+                case AV_PIX_FMT_RPI4_8:
+                case AV_PIX_FMT_RPI4_10:
+    [AV_PIX_FMT_RPI] = {
+    [AV_PIX_FMT_RPI4_10] = {
+    [AV_PIX_FMT_RPI4_8] = {
+    AV_PIX_FMT_RPI,
+    AV_PIX_FMT_RPI4_8,
+    AV_PIX_FMT_RPI4_10,
+        case AV_PIX_FMT_RPI4_8:
+        case AV_PIX_FMT_RPI4_10:
+    return (format >= AV_PIX_FMT_SAND128 && format <= AV_PIX_FMT_RPI4_10);
+    return (frame->format == AV_PIX_FMT_SAND128 || frame->format == AV_PIX_FMT_RPI4_8);
+    return (frame->format == AV_PIX_FMT_RPI4_10);

Okay, this is it. Only problem: my raspbian's /etc/apt/sources.list points at http://raspbian.raspberrypi.org/raspbian/, which only has 7:4.1.6-1~deb10u1, not http://archive.raspberrypi.org/debian where this rpi-specific 7:4.1.6-1~deb10u1+rpt1 can be found.
I then found some rather confusing explanations of this dual-repo situation online, but bottom line is I'm probably not gonna nuke my current installation by changing the source, and the wimpy 3B would probably take forever and more to compile Rust crates anyway.
Then after a fruitless search for a non-ancient raspbian docker image, I decided to just run an arm64v8/debian:buster image through qemu-aarch64 on an x64 box of mine, and replace the apt sources with the archive.raspberrypi.org one to obtain the rpi-specific version. After waiting for a long time for apt to replace packages with rpi-specific ones, then even longer for qemu'ed rustc, I was eventually able to confirm that your patch works...
Okay, what I'm saying is that it's rather annoying for me to test the compatibility through emulation, and when I merge this I'd be shouldering the responsibility for an arch that I'm personally not interested in targeting. So the question is would you mind being the rpi-compatibility "contact person" in the future? That is to say, if and when the rpi patches change and lead to a need for further massages here, you'll be the one cooking up the patch, and I'll just trust your patch without validating myself?

Okay, this is it. Only problem: my raspbian's /etc/apt/sources.list points at http://raspbian.raspberrypi.org/raspbian/, which only has 7:4.1.6-1~deb10u1

I tested it on a Raspberry Pi 3B+ with a fairly new image.
The archive repo is referenced in /etc/apt/sources.list.d/raspi.list.

So the question is would you mind being the rpi-compatibility "contact person" in the future?

Sure!

Cool.
Merged in 65be233a12689bd6dc51f7b577fbddac966bd0d9. Moved the rpi feature down the feature list a bit.

Released v4.3.2.


Remove Kucoin SDK dependency

Changes:

[x] Bring a lot of the (MIT licensed) SDK code into XChange
[x] Remove the use of okhttp3 and instead use rescu in the same way as all other XChange implementations.
[x] Use normal XChange authentication conventions (e.g. nonce factory, auth digest)
[x] Coveo formatting
[x] Re-implement timestamp synchronisation with server (currently not implemented, but I've had no problems so far) wasn't implemented by the SDK either. Probably should have been, but.
[x] There was some code in the SDK that looked like it handled runtime endpoint fallback. Again, this isn't implemented and hasn't been a problem so far, but I want to check properly and re-implement if necessary. was only relevant for websockets
[x] Monitoring live server for stability over the next few days and will unmark as WIP if there are no issues.
[x] Should fix #2977

looking good!

Seems solid. Good for merge.

I will test it once merged.


Releasing 1.0.2

Could you release c44381a as 1.0.2 as the next commit 34220 includes a backwards incompatible change. master can continue towards 1.1 or 2.0
Thanks!

Closing this as 2.x has already had several releases.


grant access to schedule-build-plugin

Description
https://github.com/jenkinsci/schedule-build-plugin
Existing maintainer @anderl86 seems not to be active anymore.

Submitter checklist for changing permissions

Always

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

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

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] All newly added users have logged in to Artifactory at least once

@pingunaut Please send an email to the dev list asking to take over this plugin, adding the former maintainer to CC.

@daniel-beck Thanks for your quick response. I already did that some weeks ago, sorry I didn't mention:
https://groups.google.com/forum/#!topic/jenkinsci-dev/S8FRPatkNH4

@pingunaut Thanks for the link, you should have permissions in a few minutes.


merge from arlac77/template-cli-app,arlac77/template-github

package.json

chore(package): add ^2.1.0 remove ^2.0.5 (devDependencies.rollup)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Header Bar

In AppHeader component, I want to place the search bar at the centre of the header bar.
How to do this? Please help me.

In AppHeader component, I want to place the search bar at the centre of the header bar. How to do this? Please help me.

This is a sample CSS problem.
if you want to place the search bar at the center , you have to add CSS in Search bar div.
Here is a sample CSS
.searchBar {
alignItems: center;
justifyContent; center;
.....
}

Thanks for your concern.

In AppHeader component, I want to place the search bar at the centre of the header bar. How to do this? Please help me.

This is a sample CSS problem. if you want to place the search bar at the center , you have to add CSS in Search bar div. Here is a sample CSS .searchBar { alignItems: center; justifyContent; center; ..... }

Thanks for your concern. But where can I implement this CSS style? Which component and which div element?

Thanks for your concern.

In AppHeader component, I want to place the search bar at the centre of the header bar. How to do this? Please help me.

This is a sample CSS problem. if you want to place the search bar at the center , you have to add CSS in Search bar div. Here is a sample CSS .searchBar { alignItems: center; justifyContent; center; ..... }

Thanks for your concern. But where can I implement this CSS style? Which component and which div element?

you have to import CSS file in a root component and implement like this. Here is a example

Thanks for your concern.

In AppHeader component, I want to place the search bar at the centre of the header bar. How to do this? Please help me.

This is a sample CSS problem. if you want to place the search bar at the center , you have to add CSS in Search bar div. Here is a sample CSS .searchBar { alignItems: center; justifyContent; center; ..... }

Thanks for your concern. But where can I implement this CSS style? Which component and which div element?

you have to import CSS file in a root component and implement like this. Here is a example

Thanks for your concern.

In AppHeader component, I want to place the search bar at the centre of the header bar. How to do this? Please help me.

This is a sample CSS problem. if you want to place the search bar at the center , you have to add CSS in Search bar div. Here is a sample CSS .searchBar { alignItems: center; justifyContent; center; ..... }

Thanks for your concern. But where can I implement this CSS style? Which component and which div element?

you have to import CSS file in a root component and implement like this. Here is a example

Thanks for your concern.

In AppHeader component, I want to place the search bar at the centre of the header bar. How to do this? Please help me.

This is a sample CSS problem. if you want to place the search bar at the center , you have to add CSS in Search bar div. Here is a sample CSS .searchBar { alignItems: center; justifyContent; center; ..... }

Thanks for your concern. But where can I implement this CSS style? Which component and which div element?

you have to import CSS file in a root component and implement like this. Here is a example

Thank you very much, @486xtm. I got it and I have solved the problem.


Use npm in install docs

There's no benefit to using Yarn in the example. Those without Yarn are needlessly confused. Those with Yarn already know how to translate npm install commands.
Issue:
What I did
How to test

Is this testable with Jest or Chromatic screenshots?
Does this need a new example in the kitchen sink apps?
Does this need an update to the documentation?

If your answer is yes to any of these, please make sure to include it in your PR.

Superseded by #6260, since I wasn't able push to the branch tracking this PR.
@coryhouse thanks for helping, your changes made it in.


can't compile on Linux

i get this error :
$ zig build -Drelease-fast
/home/roelof/Compiled/Avalanche/build.zig:108:9: error: no field named 'use_stage1' in struct 'build.LibExeObjStep'
    exe.use_stage1 = true;
        ^~~~~~~~~~
/snap/zig/6170/lib/std/build/LibExeObjStep.zig:1:1: note: struct declared here
const builtin = @import("builtin");
^~~~~
referenced by:
    runBuild: /snap/zig/6170/lib/build_runner.zig:228:22
    usage__anon_5102: /snap/zig/6170/lib/build_runner.zig:238:13
    remaining reference traces hidden; use '-freference-trace' to see all reference traces

is it easy to fix ?
i'm not familiar woth Zig ..
[ using Xubuntu 22.04 ]

Hi,
Your version of zig is too new. Zig recently removed support for stage1, but Avalanche only works on stage1. Currently Avalanche is only tested on zig 0.10.0.
Thank you!

sorry for this message in a closed Issue, i'm not familiar with Zig .. however on their site i see other versions to download .. also 0.10.0 .. should i first just uninstall my current version ? Another way to (also) have 0.10.0 on my Xubuntu ? In Python we can use an 'env'(ironment).

Hi,
I think what you mean is a version manager to switch between versions of zig.
https://github.com/marler8997/zigup
This might be what you are looking for.
Thank you for your interest.

NB. You don't have to build zigup yourself. Go to the release page and you shall see binaries for your system.


add Pure and defpure

At long last

I tried it to replace some defshards in the snake tutorials. I was able to do it for get-index and populate-grid. However, I need to specify some type expectations during composition.
// snake-logic.edn
-(defshards get-index []
+(defpure get-index
  (| (Take 0) >= .x)
  (| (Take 1) >= .y)
  .y (Math.Multiply grid-cols) (Math.Add .x))

-(defshards populate-grid [fruit snake]
-  >= .tmp-grid
+(defpure populate-grid
+  (| (Take 0) (ExpectInt2) = .fruit)
+  (| (Take 1) (ExpectInt2Seq) = .snake)
+  (| (Take 2) (ExpectIntSeq) >= .grid)

So I think we should add a few more ExpectXXX in this PR as they would be needed:
// casting.cpp
  using ExpectFloatSeq = ExpectXComplex<CoreInfo::FloatSeqType>;
  REGISTER_SHARD("ExpectFloatSeq", ExpectFloatSeq);
+  using ExpectFloat2Seq = ExpectXComplex<CoreInfo::Float2SeqType>;
+  REGISTER_SHARD("ExpectFloat2Seq", ExpectFloat2Seq);
+  using ExpectFloat3Seq = ExpectXComplex<CoreInfo::Float3SeqType>;
+  REGISTER_SHARD("ExpectFloat3Seq", ExpectFloat3Seq);
+  using ExpectFloat4Seq = ExpectXComplex<CoreInfo::Float4SeqType>;
+  REGISTER_SHARD("ExpectFloat4Seq", ExpectFloat4Seq);
  using ExpectIntSeq = ExpectXComplex<CoreInfo::IntSeqType>;
  REGISTER_SHARD("ExpectIntSeq", ExpectIntSeq);
+  using ExpectInt2Seq = ExpectXComplex<CoreInfo::Int2SeqType>;
+  REGISTER_SHARD("ExpectInt2Seq", ExpectInt2Seq);
+  using ExpectInt3Seq = ExpectXComplex<CoreInfo::Int3SeqType>;
+  REGISTER_SHARD("ExpectInt3Seq", ExpectInt3Seq);
+  using ExpectInt4Seq = ExpectXComplex<CoreInfo::Int4SeqType>;
+  REGISTER_SHARD("ExpectInt4Seq", ExpectInt4Seq);
+  using ExpectInt8Seq = ExpectXComplex<CoreInfo::Int8SeqType>;
+  REGISTER_SHARD("ExpectInt8Seq", ExpectInt8Seq);
+  using ExpectInt16Seq = ExpectXComplex<CoreInfo::Int16SeqType>;
+  REGISTER_SHARD("ExpectInt16Seq", ExpectInt16Seq);

(defpure) is (roughly) equivalent to (defwire :Pure). Do we need another macro for (defloop :Pure)?
In other words, is there a way to adapt the existing (defloop) macro to have an optional :Pure parameter?

Actually I think adding :Pure to defwire and defloop works already indeed.

(defpure) is (roughly) equivalent to (defwire :Pure). Do we need another macro for (defloop :Pure)?
In other words, is there a way to adapt the existing (defloop) macro to have an optional :Pure parameter?

Actually I think adding :Pure to defwire and defloop works already indeed.

This does not work due to the way the macro works.
Let's just leave defpure for now as it will be the most common.
can always write (def my-wire (Wire "my-wire" :Looped :Pure :LStack ...)) if needed

I did not finish reviewing it. I'd prefer we don't merge during the weekend.


Inclomplete li element in user assignee list :: design bug

Its just your OS issue. the empty space is normal scrollbar


Quick Filter Not Working

api.setQuickFilter(quickFilter) not working when my gridOtions have rowModelType: 'infinite'
it gives error ag-grid: cannot do quick filtering when doing virtual paging

Quick filter is not supported with this model type, as per the docs here: https://www.ag-grid.com/javascript-grid-filter-quick/

Server Side Data
Quick Filters only make sense with client side data (i.e. when using the In Memory row model). For > the other row models (pagination, infinite scrolling etc) you would need to implement your own server side sorting to replicate Quick Filter functionality.

thanks

Hello.
Is any workaround to run quick filter with server side model?
It was not described in Docs...


[fix] dataset download link was changed

Dr. Tomioka moved to TTI-C.
P.S. :sushi:
The latest paper is available at: http://arxiv.org/abs/1501.01711

Thank you!


Wrong interstitial orientation for iOS8

We are using Unity 4.6.0. Our game has scenes on both orientations, some scenes are portrait, others are landscape; but same scene does not support both orientations. When we try to display interstitial on a landscape scene on iOS8, ad is displayed on wrong orientation. Is there anything we can do about it ?

Are you requesting the interstitial in a portrait scene, and showing it on a landscape scene? If so, you should reload an interstitial when you change to a landscape scene and vice versa.

Closing due to non-response. If this is still an issue feel free to reach out at the support group.

Ram


Mandrill base64 encoded:NotReadableException in AbstractDecoder.php

Throws exception from Mandrill image attachment base64 encoded from:
public function messageInbound() {
	$mandrill_events = Request::get('mandrill_events');
	$mandrill_events = json_decode(urldecode($mandrill_events));

	foreach ( $mandrill_events as $mandrill_event ) {
        foreach ( $mandrill_event->msg->attachments as $file ) {
            // retracted
            $content = (string) Image::make($file->content)->encode($file->type);
            // retracted
        }
    }

Composer update with *2.3.**. Any ideas?

Sorry, remote debugging is hard. You gotta check what $file->content contains.


bug report: empty table cause IndexOutOfBoundsException

MyBatis version
3.4.0
Database vendor and version
mysql or whatever
Test case or example project
An empty table using streaming method to access
Steps to reproduce

create a table without any data.
create a streaming method
void queryStreaming(ResultHandler<Object> handler)
pass an empty handler
execute the method

Expected result
not invoking handler at all
Actual result
throw an exception as below, because org.apache.ibatis.binding.MapperMethod#executeWithResultHandler wrongly assumed that there will be at least one row
Caused by: java.lang.IndexOutOfBoundsException: null
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_92]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_92]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_92]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_92]
        at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:598) ~[na:1.8.0_92]
        at java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:1005) ~[na:1.8.0_92]
        at com.example.task.MigrateRenderTask.run(MigrateRenderTask.java:68) ~[classes/:na]
        ... 2 common frames omitted
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:653) ~[na:1.8.0_92]
        at java.util.ArrayList.get(ArrayList.java:429) ~[na:1.8.0_92]
        at java.util.Collections$UnmodifiableList.get(Collections.java:1309) ~[na:1.8.0_92]
        at org.apache.ibatis.binding.MapperMethod.executeWithResultHandler(MapperMethod.java:107) ~[mybatis-3.4.0.jar:3.4.0]
        at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:65) ~[mybatis-3.4.0.jar:3.4.0]
        at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53) ~[mybatis-3.4.0.jar:3.4.0]
        at com.sun.proxy.$Proxy90.queryAllEnabledStreaming(Unknown Source) ~[na:na]
        at com.example.service.DaoMigrateRuleServiceImpl.queryAllEnabledStreaming(DaoMigrateRuleServiceImpl.java:16) ~[classes/:na]
        at com.example.task.MigrateRenderTask.lambda$run$3(MigrateRenderTask.java:65) ~[classes/:na]
        at java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1386) ~[na:1.8.0_92]
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) ~[na:1.8.0_92]
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) ~[na:1.8.0_92]
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) ~[na:1.8.0_92]
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) ~[na:1.8.0_92]

Hi @ayanamist ,
It seems to be a bug, but not related to the row count.
Creating rows in the table does not change the result, does it?
That exception is thrown when you use ResultHandler with XML <select /> statement with no resultType or resultMap.
The expected behavior in this case is to throw this BindingException.
Please let me know if this observation is inaccurate.
Thank you for the report!
Iwao

Creating rows in the table will supress the exception.
I use ResultHandler with XML <select /> statement with resultType.
I don't think it should throw BindingException because it in fact has no rows to bind, but not wrong return type.

Creating rows in the table will supress the exception.

I have created a test case based on your report, but couldn't reproduce the issue.
Please send a pull request so that I can reproduce the problem.

I don't think it should throw BindingException because it in fact has no rows to bind, but not wrong return type.

BindingException is not expected if you specified resultType. Sorry for a confusing comment.

Sorry for late response.
After upgrade mybatis to 3.4.1, it seems that it can not be reproduces.
I close issue and will reopen it when i encounter the problem again.

OK. I will open a new ticket for the problem that I found in the process.
Thank you for taking the time to report, anyway :-)

I had a very similar problem and by googling it I ended up here. The issue was because the class I was mapping the query didn't have an empty constructor. Adding it solved the issue.


Readme typo

Resume
$('.selector').infinitescroll('resume');
Destroys the instance of infinite scroll. This is create a flag to not load anymore content and will unbind all events.

I guess it must be resume description, not the destroy.

#653

Thanks for catching this typo.
Infinite Scroll v3 is out!. It's an all new re-write, so this typo has been removed.


Warn about obsolete order = ... config

a9397c5
The above commit has replaced order by segments. I request to warn about such changes in the future so that we can update config accordingly. It made mine useless.
Thanks!

I mean It's a cosmetic plugin, I would imagine anyone that was using a custom order key would notice it no longer taking effect. I have added a deprecation warning.

@luukvbaal Thanks for adding it. I didn't noticed at first!


Collect audit logs for AKS clusters

Rule request
Suggested rule change
Enable capture of security-based audit logs on AKS clusters.
Security audits
Collect resource logs
Applies to the following
The rule applies to the following:

Resource type: Microsoft.ContainerService/managedClusters

@BernieWhite From https://docs.microsoft.com/en-us/azure/aks/monitor-aks#collect-resource-logs would we make this rule follow the table below to make sure what resource diagnostic logs need to be turned on.

Category
Enable?
Destination

cluster-autoscaler
Enable if autoscale is enabled
Log Analytics workspace

guard
Enable if Azure Active Directory is enabled
Log Analytics workspace

kube-apiserver
Enable
Log Analytics workspace

kube-audit
Enable
Azure storage. This keeps costs to a minimum yet retains the audit logs if they're required by an auditor.

kube-audit-admin
Enable
Log Analytics workspace

kube-controller-manager
Enable
Log Analytics workspace

kube-scheduler
Disable

AllMetrics
Enable
Log Analytics workspace

I think cluster-autoscaler should only be turned on if enableAutoScaling is True, and guard only if Properties.aadProfile.enableAzureRbac(or maybe another AAD property?) is True. Unsure why kube-scheduler is recommended to be disabled, I would assume that it would important to turn that on.
Also what would the rule be named? Perhaps something like Azure.AKS.Logs? Seems to be similar to other rules like Azue.FrontDoor.Logs and Azure.KeyVault.Logs.
Can probably add the diagnostic settings from Get-AzDiagnosticSetting as a subresource:
{
  "Location": null,
  "Tags": null,
  "StorageAccountId": null,
  "ServiceBusRuleId": null,
  "EventHubAuthorizationRuleId": null,
  "EventHubName": null,
  "Metrics": [
    {
      "TimeGrain": null,
      "Category": "AllMetrics",
      "Enabled": true,
      "RetentionPolicy": "Microsoft.Azure.Management.Monitor.Models.RetentionPolicy"
    }
  ],
  "Logs": [
    {
      "Category": "kube-apiserver",
      "Enabled": true,
      "RetentionPolicy": "Microsoft.Azure.Management.Monitor.Models.RetentionPolicy"
    },
    {
      "Category": "kube-audit",
      "Enabled": true,
      "RetentionPolicy": "Microsoft.Azure.Management.Monitor.Models.RetentionPolicy"
    },
    {
      "Category": "kube-audit-admin",
      "Enabled": true,
      "RetentionPolicy": "Microsoft.Azure.Management.Monitor.Models.RetentionPolicy"
    },
    {
      "Category": "kube-controller-manager",
      "Enabled": true,
      "RetentionPolicy": "Microsoft.Azure.Management.Monitor.Models.RetentionPolicy"
    },
    {
      "Category": "kube-scheduler",
      "Enabled": true,
      "RetentionPolicy": "Microsoft.Azure.Management.Monitor.Models.RetentionPolicy"
    },
    {
      "Category": "cluster-autoscaler",
      "Enabled": true,
      "RetentionPolicy": "Microsoft.Azure.Management.Monitor.Models.RetentionPolicy"
    },
    {
      "Category": "guard",
      "Enabled": true,
      "RetentionPolicy": "Microsoft.Azure.Management.Monitor.Models.RetentionPolicy"
    }
  ],
  "WorkspaceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/defaultresourcegroup-eau/providers/microsoft.operationalinsights/workspaces/defaultworkspace-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-eau",
  "LogAnalyticsDestinationType": null,
  "Id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/k8s-aks-cluster-rg/providers/microsoft.containerservice/managedclusters/k8s-aks-cluster/providers/microsoft.insights/diagnosticSettings/metrics",
  "Name": "metrics",
  "Type": "Microsoft.Insights/diagnosticSettings"
}

@ArmaanMcleod Diagnostics and platform monitoring are a separate concern (Operational Excellence). Let's create a separate issue/ rule for that. If they are a rule, customers have more granularity if they disable the rule. Also, the documentation would be aligned to a different WAF pillar.
For security auditing, we should make sure that the following are logged:

kube-audit-admin or kube-audit - kube-audit-admin is a reduced set that overlaps with kube-audit so only one of them is required.
guard

Yes, something like the Key Vault and Front Door logs in terms of naming and implementation. You could be more specific something like Azure.AKS.AuditLogs since relooking at those names they are a little too generic.

Does anyone know from a security perspective, is enabling kube-audit-admin logs enough to scan for security related events, or should we also enable Defender for Containers? Is there an overlap if you have both enabled?


Included md output: todo, util, viva commands. Closes #4299

Updated the documentation to include the md output for all the commands under below services:

todo
util
viva

Closes #4299

thanks @ganesh-sanap for your awesome work 👍. We will review it ASAP

Merged manually, thank you! 👏


Handle 3rd-level deep nested objects

So I have complex form: Owner who owns some Pets which do have several Photos.
I'd like to add multiple pets per owner and then add multiple photos per pet.
Currently we could only handle two levels-deep form.

thanks for the you feedback!
now works recursively nesting objects with helper field_for
ruby = form_for(RegistrationFormObject.new, url: registration_path(resource_name)) do |f|   = f.text_field 'user-first_name'   = f.text_field 'user-last_name'   = f.fields_for :user, {sfo_nested: true} do |n|     = n.text_field 'address_user-phone'       = n.fields_for :address_user, {sfo_nested: true} do |z|         = z.text_field 'city-name'         ...


Non active alias bug

Hi thanks for the new look in the beta looks excellent. When you open the app and press inactive alias there is nothing until you scroll through all the alias in "all" then you can see the inactive alias. Small UI thing is inactive doesn't fit the screen as seen in the screenshot.
iOS 15.4
iPhone se (2020)
App build (20008)

Hello, thank you for pointing out. This is indeed a bug in the pagination process. I'll have it fixed.

It seems like you fixed the problem nice. Animation goes up over everything but still works 👍👍
iOS 15.4
iPhone se (2020)
App build (20011)

Is this still open @ntnhon? Maybe it needs to be closed? Just guessing.

Is this still open @ntnhon? Maybe it needs to be closed? Just guessing.

It still bugs whenever the first 20 aliases contain no inactive aliases. I'll try to fix it.


Proposed change to foreach range syntax

Coped from @sanjiva https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/ballerina-dev/Ccje1aZiMKo/zg_w21ZKAwAJ
-- Copied Text --
Current grammar is:
foreachStatement
    :   FOREACH LEFT_PARENTHESIS? variableReferenceList IN  (expression | intRangeExpression) RIGHT_PARENTHESIS? LEFT_BRACE statement* RIGHT_BRACE
    ;

intRangeExpression
    : expression RANGE expression
    | (LEFT_BRACKET|LEFT_PARENTHESIS) expression RANGE expression (RIGHT_BRACKET|RIGHT_PARENTHESIS)
    ;

I don't think the intRangeExpression is correct. The ".." style is nice, but the simple case of looping 10 times reads weirdly: 0..9. And we also support parenthesis or brackets too around that and that changes the meaning!
0 .. 9 means 0 to 9 (inclusive)
(0 .. 9) means 1 to 8!
[0 .. 10) means 0 to 9.
(0 .. 10) means 1 to 9.
I'd like to propose dropping the ".." and use standard mathematical interval notation:
(a,b) means from a+1 to b-1
[a,b) means from a to b-1
(a,b] means from a+1 to b
[a,b] means from a to be
See: https://en.wikipedia.org/wiki/Interval_(mathematics)
This is straightforward and semantics are absolutely clear.

We have dropped above proposal and improved current grammar. Current grammar.
foreachStatement
    :   FOREACH LEFT_PARENTHESIS? variableReferenceList IN  (expression | intRangeExpression) RIGHT_PARENTHESIS? LEFT_BRACE statement* RIGHT_BRACE
    ;

intRangeExpression
    : (LEFT_BRACKET|LEFT_PARENTHESIS) expression RANGE expression (RIGHT_BRACKET|RIGHT_PARENTHESIS)
    ;


Feature request : Add split window support

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, including relevant patches or source
MS edge has this feature of displaying tabs side by side already .
Could also be implemented as a plug-in when there is no patch already available
https://beebom.com/how-enable-split-screen-microsoft-edge/

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, including relevant patches or source
MS edge has this feature of displaying tabs side by side already .
Could also be implemented as a plug-in when there is no patch already available
https://beebom.com/how-enable-split-screen-microsoft-edge/

@F3000
My point is consistent with the previous feature request
https://github.com/Alex313031/thorium/issues/141

https://sidebarr.net/
This one seems fine


Disable 3d view

Hello,
How can i disable the 3d view?
I want only 2D view
Thank you

@antoinebourlart I haven't looked at the new TS codebased yet but in the older version src/three was pretty much for the 3d related code. Regarding the GUI, in example/js/index.js was the jQuery stuff for opening the default 3D viewer.
One of the ways to "disable" the 3D view would be to comment the related code and change the default view to floorplanner: https://github.com/furnishup/blueprint3d/blob/master/example/js/example.js#L215.

Thanks for your answer, i will test it :+1:

@antoinebourlart any luck with this, can we close this issue?


Pass configs and an extension value to make sure vector extensions are created and can be overridden by passing that config

Fixes: https://github.com/quarkiverse/quarkus-langchain4j/issues/1139

Sorry. Will get that done

@jmartisk formatting is done. Would there be anything else required on the PR?

It's still complaining about unsorted imports

@jmartisk I ran ./mvnw -B clean install -DskipTests -Dno-format -ntp  command to verify .
and for fixing imports ./mvnw impsort:sort -Dimpsort.sourcefile=/Users/shrikanth/Shrikanth/shrikanth-quarkus-langchain4j/embedding-stores/pgvector/runtime/src/main/java/io/quarkiverse/langchain4j/pgvector/PgVectorAgroalPoolInterceptor.java.
I hope this would fix it.


ibmi: implement uv_interface_addresses()

On IBMi PASE we need to call Qp2getifaddrs() to get the correct network interface configurations. And to call QDCRLIND to get the true physical addresses (#2546).
Since the implementation is different, we have to move the code from the shared file aix-common.c to aix.c and ibmi.c.
Previously the test of uv_interface_addresses() on IBMi fails at this line.
# Assertion failed in ../test/test-platform-output.c on line 109: err == 0

Now the test pass and the returned value is correct.
# uv_interface_addresses:
#   name: *LOOPBACK
#   internal: 1
#   physical address: 00:00:00:00:00:00
#   address: <IP_ADDRESS>
#   netmask: <IP_ADDRESS>
#   name: *LOOPBACK
#   internal: 1
#   physical address: 00:00:00:00:00:00
#   address: ::1
#   netmask: ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
#   name: ETHLINE
#   internal: 0
#   physical address: 02:4e:00:9b:ed:02
#   address: <IP_ADDRESS>
#   netmask: <IP_ADDRESS>

Qp2getifaddrs

@richardlau , Seems this is not a public API. The only reference I can find is MONO.

Tested with run-tests get_memory & run-tests platform_output. Both passed.


"Bad Gateway" error

Hi, ther:
I am pretty new in fastai and deta.
I follow the tutorial code, and deploy micro successfully.
"from fastapi import FastAPI, File, UploadFile
from fastapi.responses import HTMLResponse, StreamingResponse
from deta import Deta
app = FastAPI()
deta = Deta()  # configure your Deta project
drive = deta.Drive("photos") # access to your drive"
But it doesn't work, the Visor shows the following message. What do I miss?
"Traceback (most recent call last):
File "/opt/python/detalib/debugger.py", line 142, in wrap
result = func(event, context)
File "/var/task/_entry.py", line 12, in handler
import main  # noqa
File "/var/task/main.py", line 7, in
drive = deta.Drive("photos") # access to your drive
AttributeError: 'Deta' object has no attribute 'Drive'"

hi, ask questions here: https://github.com/orgs/deta/discussions

hi, ask questions here: https://github.com/orgs/deta/discussions

Thanks


Implement a criteria builder generator

Based on the model, it should be possible to apply an expression to a criteria builder for filtering.

Migrated to https://github.com/Blazebit/blaze-domain/issues/9


Feature/#37 52週高値・底値のenum化

Codecov Report

Merging #40 into develop will decrease coverage by 0.41%.
The diff coverage is 60.00%.

@@             Coverage Diff             @@
##           develop      #40      +/-   ##
===========================================
- Coverage    94.57%   94.16%   -0.42%
===========================================
  Files           27       27
  Lines          793      805      +12
===========================================
+ Hits           750      758       +8
- Misses          43       47       +4

Impacted Files
Coverage Δ

kabutobashi/io/__init__.py
87.17% <20.00%> (-9.88%)
:arrow_down:

...crawler/stock_crawler/weeks_52_high_low_crawler.py
80.55% <73.33%> (+4.69%)
:arrow_up:

Continue to review full report at Codecov.

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


Fix requested changes

Assigned latitude and longitude once LatLng object is created to take care of out of bounds lat and long properties.
Renamed blank location string to clarify purpose of the test.

Fixing Location object creation in next PR (from AbbyDevelopment), along with block comments at beginning of Location class. (I've already started working with specifying exceptions there so it makes most sense to do it all together)


Update connector-snowflake.md

Example linked service JSON does not work. When used an index out of range error is produced. Modified to remove password from connection string and use password typeProperty.

@sql-chris-albert : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Verified this is working for others.
https://stackoverflow.com/questions/62915615/index-out-of-range-error-when-creating-snowflake-linked-service-in-azure-data-fa/63286826#63286826

Hi @linda33wj - Could you review the proposed update to your article? Thanks.

Just wondering if this will be reviewed anytime soon?

@rothja @craigg-msft Can you help with this pull request from a community contributor? Thanks.

@sql-chris-albert Sorry for the delay in reviewing this. @linda33wj is one of our Data Factory experts, so she can review this later as well. But considering you tested and also verified with the community, I am comfortable in merging this in. Thanks for your contribution (and your patience)! #sign-off @ktoliver


Move SubmissionController logic into extra service

Current Implementation
Currently there is much business logic in the /services/submission/src/main/java/app/coronawarn/server/services/submission/controller/SubmissionController.java.
Suggested Enhancement
This should be moved into an extra service layer.
Expected Benefits
Better architecture and readability.

See PR:  https://github.com/corona-warn-app/cwa-server/pull/554


Missing sweeps virtual points

Hi, I just found there are about 2000 sweeps of virtual points missing.
Here are the number of files in sweeps/LIDAR_TOP/
ls sweeps/LIDAR_TOP/ | wc -l
297737

Here are the number of files in sweeps/LIDAR_TOP_VIRTUAL/
ls data/nuscenes/sweeps/LIDAR_TOP_VIRTUAL/ | wc -l
295489

I directly download and extract the data from the official link here. I am pretty sure I didn't mess with the data. I wonder is this normal?
Thanks!

Thanks for your prompt reply!
As you may have noticed, I am not using the centerpoint repo. I have managed to migrate the virtual points related code to the mmdet3d repo and am using it. I find simply discarding the sweep when it is missing or repeating other sweeps is able to work.
However, I am facing another issue here. I am trying to include more sweeps for centerpoint training (up to 40 sweeps). I know that 10 sweeps is sufficient, but some of my experiments require this. I surprisingly find that despite the boost in mAP is consistent, the average velocity error is increased substantially (0.3 -> 3). Since you have mentioned the model u_ses key frames + last 9 non key frames_, I wonder if it is because the virtual points are generated only for last 9 non key frames. So if I use more than 9 non key frames, there will be this problem?
Thanks!


Support displaying multiple radar products for the same transect

This could be either multiple ways of processing the data (e.g. UTIG's pik1/foc1/foc2) or different ways of collecting the data (e.g. UTIG's high and low gain channels, BAS's chirp vs. pulse)
This is particularly valuable in cases where a single product doesn't show the full ice column (e.g. PASIN-2's chirp data doesn't resolve near-surface details well).
However, there are also a lot of edge cases, so this has the potential to be quite a time sink, and is not critical path for V1.
(e.g., the PASIN-2 chirp & pulse data aren't the same shape, so switching between them without changing the area that the user has zoomed into on the radargram will require some care)

Another example of this is the several surveys where CReSIS has posted their version of the processed data to the kansas website, while the data also lives at a formal repository with a DOI. In some cases, the CReSIS version has more data -- e.g. they don't edit out the (sometimes-extensive) transit lines, and in others, their processing is different.
I'm leaning towards supporting both versions of the surveys, but with no attempt to support switching between different products; the user can simply select which file they want to look at. The same approach would work for e.g. if UTIG released pik1 and foc1 data in different files, or if we had a compelling reason to support multiple CReSIS products.


textarea ng-model is not updated in IE with Korean IME.

if I type the english, it is ok.
but if I try to type korean, I can't get text value from ng-model.
I think that compositionend event does not fired by IE

noticed that I get ng-change events when typing with the MS Korean IME w/ IE11, but the model isn't updated. If I introduce a Latin character by toggling the character set in the IME the model gets updated with all the text (Korean and all), and if I use common characters such as space or numerical digits, or hit the delete key, it also updated the model.  Tested with angular 1.3.14.

Looking at it more, my results agree with @iDevSK .  On IE 11 with Hangul input, Composition start and update events are fired while typing Korean, but Composition end is not fired until some other type of input occurs (enter, tab, space, etc, basically anything non-hangul).  I thought this was an IE11 bug but after reading the spec on compositionend I'm not so sure.  I think its valid that compositionend only gets fired when the IME is dismissed.  If someone with a better understanding of the spec and browser quirks can take a look at this maybe we can come up with a solution.

FWIW this workaround seems to work for me.  I add a top-level decoration on the input directive that creates fake compositionend events:
.config(function ($provide) {
        $provide.decorator('inputDirective', function($delegate, $log) {
            $log.debug('Hijacking input directive');
            var directive = $delegate[0];
            angular.extend(directive.link, {
                post: function(scope, element, attr, ctrls) {
                    element.on('compositionupdate', function (event) {
                        $log.debug('Composition update, faking end');
                        element.triggerHandler('compositionend');
                    })
                }
            });
            return $delegate;
        });

This is probably wrong somehow and not robust or anything, but is maybe a first step towards a more solid workaround until it can be fixed/worked-aroudn in core angularjs.   Here's a fork of @sylvhama 's plunkr with this added: http://plnkr.co/edit/4TY55ozh1D62sBDeUQxk?p=preview

use this
myApp.directive('krInput', [ '$parse', function($parse) {
return {
priority : 2,
restrict : 'A',
compile : function(element) {
element.on('compositionstart', function(e) {
e.stopImmediatePropagation();
});
},
};
} ]);
i found it
http://118k.tistory.com/135

I have tested this (to my ability) in Chrome, IE Edge, and IE11.
I have entered 'a,b,c,d' with the built-in Korean IME active. Pressing a, b, c, d transforms the first character in the input.
In Chrome, Edge and IE11, the model isn't updated until I press 'd'. Then, also a second character gets added to the input.
However, in Chrome and Edge, this second character is not yet part of the model, while it is added to the model in IE11.
I assume that Chrome and Edge do the right thing here, as the second charater isn't yet composed correctly. I'm not sure if there's anything Angular can do about this in IE10, though.

@azack Hi, thank you for your solution! It seems to work fine for input boxes in IE. However, this solution does not seem to work in textarea tags. Does anyone have any idea on this? Thanks in advance.

@prksean sorry I don't

Hi, I'm having same issue on 1.2.32.
Does it fixed yet right?

It's not fixed unfortunately. If it gets fixed, it'll  not happen in the
1.2.x branch because that one is in security fix only mode.
Am Do., 12. Okt. 2017 11:07 schrieb Jae Ik, Lee<EMAIL_ADDRESS>
Hi, I'm having same issue on 1.2.32.
Does it fixed yet right?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/angular/angular.js/issues/6656#issuecomment-336067864,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABGYSWpjk-8E60QounsGCPLlzA8B2ZXFks5srdbCgaJpZM4Bo3xI
.

@Narretz Thank you for telling me this. I made the pull request #16273 to fix this. So It works fine in IE for any characters made by composition.


fe/: machines-related npm scripts fail to run, npm i works again

After #245, npm run copy_explore_route fails with [1].
OTOH, I think moving to @rollup/plugin-babel and @rollup/plugin-terser has fixed the problem with rollup mentioned in the commit message at 4a8dd0ce8f3005275e1f418531e561596579beba, meaning that we can now remove the legacyinstall script from fe/.
[1]
Error [ERR_REQUIRE_ESM]: require() of ES Module ~/dapsboard/fe/node_modules/clipboardy/index.js not supported.
Instead change the require of index.js in null to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (~/dapsboard/fe/src/bin/machines/explore_copy_route.js:1)
    at Generator.next (<anonymous>) {
  code: 'ERR_REQUIRE_ESM'
}

fixed by #268, closing


todo: collect metrics from pmap instead of eval

would need to benchmark how much additional overhead this adds

bad idea, adds extra overhead


New Feature: Update raffle state if all tickets are sold

gonna have to work through what best choice to implement this may be. Few possibilities:

call updateRandomness if no more tickets can be bought, so we can have a good randomness state modification.
automation contracts: use available cosmwasm contracts to create cron jobs via
account abstraction: implement method to "have contract call itself"

Make it possible to select a winner immediately after the last ticket is sold or when the time is over, whichever comes first.


Cannot add rules to a policy

The "add new rules" button within a policy looks like it is being pressed, but does nothing.
I tried importing a policy using the import function, and this worked. However running files through this policy did not generate any graphs. Not sure if these problems are related. this was built from the source code last updated on Jan 7

Update: This may be a problem with either later versions of Chrome/Firefox or Docker. I checked out back to a05aba1b460637482fa476b4179e64cb101a9a43 (Date:   Sun Jul 16 15:20:50 2017 -0700) and am having the same issue

Just reporting that I just built from master, ran with quickstart.sh and the latest docker stable release and the policy handling works for me. Testing in chrome 65.

also using Docker Version 18.03.0-ce-mac59 (23608)

Docker version that I'm having problems with: Version 18.03.0-ce-mac59 (23608)

Hrmm, I'm using the same docker version. I'll try again!

Hi,
I actually have the same problem on a fresh install using docker Docker version 18.03.0-ce, build 0520e24 and chrome 65, and quickstart.sh from master.
Checking docker-compose logs -f, we notice the following:
web_1     | Not Found: /frontend/bower_components/datetimepicker/jquery.datetimepicker.css
web_1     | [12/Apr/2018 10:22:06] "GET /frontend/bower_components/datetimepicker/jquery.datetimepicker.css HTTP/1.1" 404 1909
web_1     | Not Found: /frontend/bower_components/bootstrap/dist/css/bootstrap.min.css
web_1     | Not Found: /frontend/bower_components/jquery/jquery.min.js
web_1     | [12/Apr/2018 10:22:06] "GET /frontend/bower_components/jquery/jquery.min.js HTTP/1.1" 404 1849
web_1     | [12/Apr/2018 10:22:06] "GET /frontend/bower_components/bootstrap/dist/css/bootstrap.min.css HTTP/1.1" 404 1897
web_1     | Not Found: /frontend/bower_components/datetimepicker/build/jquery.datetimepicker.full.min.js
web_1     | [12/Apr/2018 10:22:06] "GET /frontend/bower_components/datetimepicker/build/jquery.datetimepicker.full.min.js HTTP/1.1" 404 1951
web_1     | Not Found: /frontend/bower_components/bootstrap/dist/js/bootstrap.min.js
web_1     | [12/Apr/2018 10:22:06] "GET /frontend/bower_components/bootstrap/dist/js/bootstrap.min.js HTTP/1.1" 404 1891

I was able to workaround this modifying the Dockerfile this way:
-COPY ./frontend/bower.json bower.json
-RUN bower install --allow-root
\ No newline at end of file
+RUN cd frontend && bower install --allow-root

So bower_components directory is built into frontend.
I also use private/incognito browsing to ensure there is no cached js files.

This worked for me!


Update JavaEWAH to 1.2.3

Updates com.googlecode.javaewah:JavaEWAH from 1.1.13 to 1.2.3.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.googlecode.javaewah", artifactId = "JavaEWAH" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.googlecode.javaewah", artifactId = "JavaEWAH" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Codecov Report
Patch coverage has no change and project coverage change: +0.04 :tada:

Comparison is base (1209617) 89.49% compared to head (3e4d0ed) 89.54%.

:exclamation: Current head 3e4d0ed differs from pull request most recent head d20a5fa. Consider uploading reports for the commit d20a5fa to get more accurate results

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1110      +/-   ##
===========================================
+ Coverage    89.49%   89.54%   +0.04%
===========================================
  Files          124      124
  Lines        10028    10028
  Branches       734      734
===========================================
+ Hits          8975     8980       +5
+ Misses        1053     1048       -5

see 8 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Patch existing mainnet/devnet deployment to include syncStatus Label

Current proposal: (yet to test if this will work)

Upgrade the helm chart version (to the one that has the sync status) and terraform apply deployments sequentially, after a pod is successfully created and the daemon is synced. Check if there are any dependencies that does not allow this (i.e., deployments in a single cluster running different helm chart versions).

Gather all the manual changes that were made to the deployments. This includes different images that each pod is running, different resource limits, cli flag, libp2p metric port etc
Currently some deployments have these changes and other don't. Make sure they all have them when redeploying

Alternate solution:
If the above solution doesn't work then we could deploy a different cluster of nodes mainnet2 and destroy mainnet after all the nodes in mainnet2 are synced and any required state is up-to-date.
This solution would require us to either update the seed list or have mainnet2 use the same libp2p keys (I'm not very sure how having two nodes run the same libp2p keypair will affect the network). We'll also need to ensure the persisted archive database is transferred to the new cluster as well.
In the long term we want to be able to specify in terraform to do rolling updates to our deployments. Our current implementation simply destroys all of them at once and creates new ones. We also want to be able to specify different configurations (helm charts or local variables) for different instances of the same resource type so that whatever manual updates we do now is tracked and lives in main.tf of the testnet.

Extracted deployments from mainnet and devnet and added to a new repo https://github.com/MinaProtocol/mina-deployments.
Updated 3 devnet nodes to include sync status labels.

First kubectl replace, wait for the node to sync and then delete the old replica set. The nodes remain offline when there are multiple replica sets which cuases the health check to fail and therefore doesn't do rolling update.
The old nodes seems to hang around for a bit after deletion and triggers Out-of-sync alert.

The images don't have the latest healthcheck changes that update these sync status labels and therefore we'll have to update the deployment again. Since alpha release is happening soon, I will update the remaining deployments post release to avoid creating a branch off master-qa+devnet

Blocked on not being able to deploy latest alerts. Current alert config does not have all the rules on compatible