Decimal overflow checks in decimal arithmetic

The decimal arithmetic operations must verify that the result is within the Long decimal numeric limits.
That is  -10^38 + 1 to 10^38 -1.
Testing:
Added test cases for overflow conditions.

cc: @bikramSingh91 request you to review these changes.

@mbasmanova would you please review this change. Thanks!

@karteekmurthys The PR is a bit stale and refuses to land. Would you rebase on latest main?

@mbasmanova I see tests are still failing. Is there something I can help with?

@karteekmurthys Yes. The PR is a bit stale and refuses to land. Would you rebase on latest main?

Looks like I missed pushing last time after rebase. Now the latest parent commit for this PR is:
Fix bug in to_utf8 presto function (https://github.com/facebookincubator/velox/pull/2589[)](https://github.com/Ahana-Inc/velox/commit/132038e1e41a6d7165e2d81d0b9f21e89dc924a7)


Can't run in GraalVM

Describe the bug
Can't run vite dev in GraalVM's Node.js. I can install and update packages in npm.
Reproduction
Install GraalVM and Node.js via GraalVM Updater
run
npm run dev

Logs
failed to load config from D:\Projects\sveltekit\freelance\vite.config.js
error when starting dev server:
TypeError: Invalid host defined options
    at eval (eval at <anonymous> (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/chunks/dep-ed9cb113.js:12218:7), <anonymous>:1:2)
    at loadConfigFromBundledFile (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/chunks/dep-ed9cb113.js:63072:27)
    at loadConfigFromFile (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/chunks/dep-ed9cb113.js:62957:34)
    at runMicrotasks (native)
    at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async resolveConfig (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/chunks/dep-ed9cb113.js:62575:34)
    at async createServer (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/chunks/dep-ed9cb113.js:61883:26)
    at async CAC.<anonymous> (file:///D:/Projects/sveltekit/freelance/node_modules/vite/dist/node/cli.js:730:30)

System Info
Kit version: 1.0.0-next.582
Vite version: 4.0.0
Node.js: 16.17.1
NPM: 8.15.0

Severity
blocking all usage of SvelteKit
Additional Information
I can run in Node.js 18.12.0(Normal Node.js/Not GraalVM's) without a problem. Is this a Node version or a Vite problem?

Presumably it's neither, presumably it's a GraalVM problem. This is not a supported environment.


GPL-452 See if sample is control

Converts existing 'control' field from boolean to enum, so it can hold more information.
Add 'control' field to samples show, plates show and tube_racks show views (screenshots attached).
Add 'control' field to API for use by Limber and Quanthub in coming stories.
To do:

Wait for reply from David Jackson about whether NPG use existing field (although have now manipulated message so will keep sending consistent data)
Make new story for backlog for editing this field, whether through UI or manifests

Closing because we're adding a new field rather than changing the existing one


Remove dangling header from upgrading_version_7.adoc

The section comes later, I suppose this happened because a merge went wrong.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

@bot-gradle cancel

Error occurs when cancelling build, please contact administrator.

@bot-gradle cancel

I've cancelled the pre-tested commit build.

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

I've triggered a build for you.


Wizard not working

Please Describe the issue or question and share your OS and Python version.

OS: Linux
OS Version: Ubuntu 18.04
Python Version: 3.6.9

looks like this bug was introduced after API SSL commit..


I know you're already aware of this issue (it's even mentioned in the README), but I thought I'd open a tracking issue regardless so I could express my interest in seeing this fixed.
I just managed to integrate egui_skia in a project of mine (https://github.com/daniel5151/wide-libretro), and I'm seeing the same rendering issues as in examples/cpu.rs.
Thanks again for implementing this! Even in its current somewhat broken state, it should be sufficient to start doing what I wanted to do :)

Hi, thanks for opening this issue! I think this might actually be a problem with skia itself, since it works perfectly fine with a gpu backend.
I'll try to make a minimal reproduction of this and open an issue with skia once I get back from holidays.

I think I nailed down where the issue is caused:
So egui is using the following font texture:

In the top left corner is a tiny 1px white dot. When drawing a shape without texture (e.g. a window background), egui uses the texture coordinates 0.0,0.0 which should select the color from the white dot. For some reason that's not working correctly on the cpu (maybe a floating point error or something like that?).
I was able to create a skia fiddle that shows this issue: https://fiddle.skia.org/c/114a0ba43dadecad43a6630105d7b5c8
And I created a skia issue: https://bugs.chromium.org/p/skia/issues/detail?id=13706

Hi! I made a workaround and published version 0.1.1. This adds a cpu_fix feature that adds a workaround for the skia problem. Can you confirm this also fixes it for you @daniel5151?

Wow, would you look at that! Awesome!

 That's totally fine for use-cases though.
Thanks again!

Nice! I tried to improve the performance of the splitting function I wrote for the fix, but I'm not sure if it made a huge difference. I think the main problem is that skia has to render a lot more single Meshes now, not sure if there is a workaround that does not need so many new Meshes. You can try the improvements on the improve-raster-performance branch, let me know if this improves it for you!

Hmm, i'll be honest, I don't notice too much of an improvement with that new code...
I wonder if you can eek out more perf by reducing the number of allocations you're doing? Maybe by recycling allocated Vecs between frames when possible?

I implemented a different workaround now, and it turns out, it's not the workaround that slows things down. Rather the bug itself probably causes skia to skip some expensive rendering work. In the improve-raster-performance branch, you can try changing line 291 to 293 in painter.rs from 0.5 to 0.0 and the bug should reappear and things should speed up significantly, while nothing else changed.
So unfortunately I don't think there is an easy way to speed this up on the cpu, and also I don't expect it to speed up even once the underlying skia bug has been fixed.
I'll close this issue now since the graphical problems have been fixed.

Makes sense. Thanks for digging into this!


feat: export interfaces to be able to use in projects

Would be great to use resends interfaces and types inside of my projects 😄

Sorry for taking long @davidsoderberg , can you run yarn format and we're ready to merge.

@bukinoshita done 😄

Nice, thanks a lot!


Update RXJS dependency

Hello everyone! I noticed that using Typescript with rxjs@7 ts-lint throws errors, it seems that since<EMAIL_ADDRESS>there are some breaking changes to the Observable class. This makes impossible to use rxjs@7 with this package.

Sorry for falsy report. Seems that my ide went crazy this time...


Training ImageReward model on different budgets

Hi!
The paper mentions that the training for the ImageReward model is not easy and is sensitive to hyperparameters. In the section about hyperparameters, it says --" We find that fixing 70% of transformer layers with a learning rate of 1e-5 and batch size of 64 can reach up to the best preference accuracy."
Is this for the 8k budget? Can we get the suitable hyperparams for the other budgets?
Secondly, which part of the code freezes the transformer layers? Thanks!

Thanks for your discussion!
Firstly, the hyperparameters are for 8k budget (but the shuffle result may differ).
Secondly, see https://github.com/THUDM/ImageReward/blob/main/train/src/ImageReward.py#L87-L99.

Thank you very much!

Hey will it be possible to provide the hyperparams for 1k and 4k settings as well? That will be very useful.

The 8k hyper-parameters should only need smaller adjustments to accommodate 1k/2k/4k.

Thanks! In your experience which hyperparameters were the most sensitive? I will try to tune them.


VUE版本的日历什么时候才能有？

[ ] I'm sure this does not appear in the issue list of the repository

Basic Info

Package Name And Version<EMAIL_ADDRESS>Browser: chrome<IP_ADDRESS>

What is expected?
react的版本有日历，vue的这么久还没有吗？

https://arco.design/vue/component/calendar


unknown error EOF when trying to startr docker with devicemapper thinpool

In my docker host (1.7.1) i have configured a lvm thinpool using this
parted -s ${DISK} mklabel gpt mkpart primary 1 100%
/usr/sbin/pvcreate ${DISK}1
/usr/bin/echo -e "y\n" | /usr/sbin/wipefs -f ${DISK}1
/usr/sbin/vgcreate docker ${DISK}1
/usr/sbin/lvcreate -l 99%VG --type thin-pool --thinpool thin_pool docker
METASIZE=$(/sbin/vgdisplay docker | awk '/Free  PE/ {print $(NF-1),$NF}' | sed 's/ //g')
lvresize --poolmetada ${METASIZE} docker/thin_pool

which i have confirmed that is ok
# lvs
  LV        VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  thin_pool docker twi-a-tz-- 198.00g             0.00   0.03
# dmsetup status
docker-thin_pool-tpool: 0 415227904 thin-pool 0 136/472064 0/1621984 - rw discard_passdown queue_if_no_space
docker-thin_pool_tdata: 0 415227904 linear
docker-thin_pool_tmeta: 0 3776512 linear
docker-thin_pool: 0 415227904 linear

but when i try to start docker as daemon to use this thinpool, i get this
/usr/bin/docker --daemon --debug --storage-driver 'devicemapper' --storage-opt 'dm.thinpooldev=/dev/mapper/docker-thin_pool'
DEBU[0000] Registering GET, /containers/{name:.*}/json
DEBU[0000] Registering GET, /_ping
DEBU[0000] Registering GET, /images/{name:.*}/get
DEBU[0000] Registering GET, /containers/json
DEBU[0000] Registering GET, /containers/{name:.*}/changes
DEBU[0000] Registering GET, /containers/{name:.*}/stats
DEBU[0000] Registering GET, /events
DEBU[0000] Registering GET, /images/{name:.*}/json
DEBU[0000] Registering GET, /containers/{name:.*}/export
DEBU[0000] Registering GET, /images/search
DEBU[0000] Registering GET, /images/{name:.*}/history
DEBU[0000] Registering GET, /containers/ps
DEBU[0000] Registering GET, /containers/{name:.*}/top
DEBU[0000] Registering GET, /info
DEBU[0000] Registering GET, /version
DEBU[0000] Registering GET, /images/json
DEBU[0000] Registering GET, /exec/{id:.*}/json
DEBU[0000] Registering GET, /images/get
DEBU[0000] Registering GET, /containers/{name:.*}/logs
DEBU[0000] Registering GET, /containers/{name:.*}/attach/ws
DEBU[0000] Registering POST, /images/create
DEBU[0000] Registering POST, /images/{name:.*}/push
DEBU[0000] Registering POST, /containers/{name:.*}/kill
DEBU[0000] Registering POST, /containers/{name:.*}/start
DEBU[0000] Registering POST, /containers/{name:.*}/exec
DEBU[0000] Registering POST, /exec/{name:.*}/start
DEBU[0000] Registering POST, /containers/{name:.*}/rename
DEBU[0000] Registering POST, /build
DEBU[0000] Registering POST, /images/{name:.*}/tag
DEBU[0000] Registering POST, /containers/{name:.*}/pause
DEBU[0000] Registering POST, /containers/{name:.*}/unpause
DEBU[0000] Registering POST, /containers/{name:.*}/stop
DEBU[0000] Registering POST, /containers/{name:.*}/copy
DEBU[0000] Registering POST, /exec/{name:.*}/resize
DEBU[0000] Registering POST, /containers/{name:.*}/restart
DEBU[0000] Registering POST, /containers/{name:.*}/wait
DEBU[0000] Registering POST, /auth
DEBU[0000] Registering POST, /commit
DEBU[0000] Registering POST, /images/load
DEBU[0000] Registering POST, /containers/create
DEBU[0000] Registering POST, /containers/{name:.*}/resize
DEBU[0000] Registering POST, /containers/{name:.*}/attach
DEBU[0000] Registering DELETE, /containers/{name:.*}
DEBU[0000] Registering DELETE, /images/{name:.*}
DEBU[0000] Registering OPTIONS,
DEBU[0000] [graphdriver] trying provided driver "devicemapper"
DEBU[0000] devicemapper: driver version is 4.31.0
DEBU[0000] Generated prefix: docker-8:9-168
DEBU[0000] Checking for existence of the pool 'docker-thin_pool'
FATA[0000] Error starting daemon: error initializing graphdriver: EOF

Is this a common error? how can i know that is causing this?

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO


MasterDetails Order

When you click on the detail columns they are not sorted

Will I need to implement the feature?

@rogmauri
https://github.com/volkanceylan/Serenity/issues/3792

TKS !!!
Ordering worked. But, the filter?

I believe there is filtering as well.
Check with @brunobola  if he finished wiki entry

https://github.com/volkanceylan/Serenity/issues/3792


[feature] Add Stream API for capturing video frames from WebRTC MediaStreamTrack

Is your feature request related to a problem? Please describe.
Currently, when trying to analyze video frames from WebRTC MediaStreamTrack in real-time (e.g., for ML processing), we need to use Timer to periodically capture frames using captureFrame(). This approach has several issues:

High CPU/Memory usage
UI stuttering
Potential frame drops
Inconsistent frame rate
Describe the solution you'd like
Add a new Stream-based API to capture video frames from MediaStreamTrack that:

Provides frames as a Stream at the native frame rate
Integrates directly with the native WebRTC frame callback system
Has an API similar to:

dart
Stream<VideoFrame> getVideoFrameStream() async {
// Implementation that hooks into native frame callbacks
}

This would allow more efficient frame processing without Timer polling.
Describe alternatives you've considered

Current Timer-based approach with captureFrame()
Custom native implementation per platform
Using platform channels with event streams

The Stream API would be the most elegant and performant solution.
Additional context
This feature would be particularly useful for:

ML-based video analysis
Computer vision applications
Real-time video processing
Custom video effects

Similar functionality exists in native WebRTC implementations and other platforms.
/cc @cloudwebrtc

Is this possible to implement? I'd like to mention @cloudwebrtc for their expertise.
I tried to extend the package myself by downloading it, but the dependencies with other packages seem quite strong and make it challenging to modify independently.
I'm willing to put in the effort to implement this myself, but I would greatly appreciate any advice or guidance on:

The feasibility of this feature
The best approach to implementation
Potential pitfalls to be aware of

Thank you for considering this request!

hey @YouheiShikano ,  I am trying to improve this PR and add a frame sink API for local or remote track, so that you can write a custom plugin to listen to each video track at the Native level, and receive a yuv/rgb frame in the onFrame delegate and use it as your implementation to capture a single frame.  It will take me about a week to finish all the examples.
https://github.com/livekit/client-sdk-flutter/pull/657

hey @YouheiShikano , I am trying to improve this PR https://github.com/livekit/client-sdk-flutter/pull/657 to add a frame sink API for local or remote track,  and I am also trying to write a filter example plugin so that you can follow this example to write a sink or processor for the track in native. Like ML processing
https://github.com/livekit-examples/flutter-filter-plugin-example


opcode: add support for multi-shot accept

Leaving as a draft until I have a unit test for it.

@lucab @quininer Curious what you two think about just using an optional bool as shown in this PR and what you'd like the name of it to be, if not fixed. Other possible names I can think of are direct, registered or fixed_table.
When the accept is a multi-shot accept, the io_uring device will create regular file descriptors if the file_index is left zero or will create fixed file table entries if the file_index is set to IORING_FILE_INDEX_ALLOC. Actual slot indexes are not allowed as the operation is designed to return multiple CQE for multiple accepted connections, one slot index would be nonsensical.

I don't have much experience with IORING_OP_ACCEPT, but that said I don't see major drawback in the way you modeled it here. The boolean flag looks fine to me.
With regards to naming, you can perhaps keep aligned with the underlying flag and make it a allocate_file_index: bool.

With regards to naming, you can perhaps keep aligned with the underlying flag and make it a allocate_file_index: bool.

I like your suggestion better than fixed. Am making that change.

this looks fine to me


ruby: 2.7.6 -> 2.7.7, 3.0.4 -> 3.0.5, 3.1.2 -> 3.1.3

Description of changes

https://www.ruby-lang.org/en/news/2022/11/24/ruby-2-7-7-released/
https://www.ruby-lang.org/en/news/2022/11/24/ruby-3-0-5-released/
https://www.ruby-lang.org/en/news/2022/11/24/ruby-3-1-3-released/
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

The openssl-dir patch's are broken and seem to not be needed anymore required (upstream patchsets reflect this). The larger issue is that 3.1.3 builds with some references to /build/source remaining (seems to be libraries in ./lib/ruby/3.1.0/x86_64-linux). I've identified the breaking upstream commit to be 8e74bfb641096f39f8eb22961f7aadf89ab741cf. This commit changes from building under miniruby to bootstrapruby if possible.
I'm still working through how to fix it; it may be a patch or change to the derivation.  It might also be better to just correct the issue in the fixupPhase... or it could be a bug in the patchelf/shrink process.
For reference, here's the first broken binary Nix sees and exits at:
$ patchelf --print-rpath /nix/store/pr2f6735y5zv8d0kxrakzp8969zayz5r-ruby-3.1.3/lib/ruby/3.1.0/x86_64-linux/enc/windows_1257.so
/build/source:/nix/store/4nlgxhb09sdr51nc9hdm8az5b08vzkgx-glibc-2.35-163/lib

If the openssl patches are an issue, would it be possible to do a PR with only the 3.1.2 -> 3.1.3 which doesn't appear to have that problematic patch?

If the openssl patches are an issue, would it be possible to do a PR with only the 3.1.2 -> 3.1.3 which doesn't appear to have that problematic patch?

It's the opposite, the 2.7.x and 3.0.x updates can be merged by just removing the unnecessary OpenSSL patch (might as well update the patchset source revision). The 3.1.3 version is the problematic broken package.

These are the railsExpress patches? It's never made any sense to me that we enable those by default. Our default ruby build shouldn't have patches that change fundamental things about how Ruby works (there are patches that mess with GC stuff). It also prevents manually specifying versions of ruby that aren't in that railsExpress patch file.
I have to maintain my own branch to be able to use Ruby 3.0.5 with useRailsExpress = false as the (correct) default and
if useRailsExpress then (import ./patchsets.nix {
  inherit patchSet useRailsExpress ops fetchpatch;
  patchLevel = ver.patchLevel;
}).${ver.majMinTiny} else []


Pretrained weight for CoCoop

Do you plan to release the pretrained weight for CoCoop anytime soon?
Thanks!

it's relatively easy to train CoCoOp so there is no plan to release the weights

Hi~Do you have the original COOP model weights that have not been processed with M=4/16?


Maybe enable insertHintOnTab feature

In the list of preferences for Brackets, one that's turned off, but might be useful for us to enable is insertHintOnTab.  What it does is insert the currently selected code hint when the tab key is pressed.
My vote is that we should enable this.  Can people try turning it on/off and see what they think?

This is a great feature. I'm with you on this.

See https://github.com/adobe/brackets/wiki/How-to-Use-Brackets#list-of-supported-preferences for the complete list.

Fixed by https://github.com/humphd/brackets-browser-livedev/pull/35


Rwa 2918 grant access to reader

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/RWA-2984
Change description
Postgres Flexible Server: Grant permissions for Workflow API DB Reader user in all environments
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

raised https://github.com/hmcts/wa-workflow-api/pull/628 to avoid confusion on branch names


0.23.0

Updates deno_graph to allow resolution of denoland/deno_graph#166 in CLI.

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


Ability to rename objects in 'Number detected' in Home Assistant

This is super duper minor, but when I use Assist through Home Assistant to tell me how many cars are in the driveway, for example, it will respond with 'Two objects in the driveway' because in Home Assistant the Driveway Cars Count is listed as '2 Objects' instead of '2 Cars'.
It's the same for any object you're detecting.  Under Home Assistant for example 'Backyard Dog Count' is '2 Objects' if two dogs are back there and 'Backyard Person Count' is '1 object' if I'm back there.
Is it at all possible to rename the stuff in Home Assistant to what it's tracking?  So rather than Backyard Dog Count result being  '2 Objects' have it '2 dogs' or Backyard Person Count say '1 Person' instead of '1 object'?
Super minor, but I figured it's worth mentioning.  Everything else works great, so thank you so much for this amazing software and integration!

I am also trying to figure this out. It does not seem possible to change the unit of measure for these sensors like most other sensors.


Add failing tests for deleting nothing

I expect we shouldn't be able to delete something that doesn't exist??

I think the question is whether this should return an error or just do nothing (and not include this op in the change, effectively a noop)?

Hmmm @alexjg what's your opinion.  Doesn't bother me that deleting nothing is not an error.  In rust, HashMap doesn't error if you delete a non-existent key.  Meanwhile Vec will panic if you remove an index that's not there...  This feels like a philosophical decision that we should make sure is followed all over the api.  Do valid but nonsensical inputs result in an error or a noop.  For instance if you ask a list instead of a map for its keys - do you get an empty set, or an Error?
I generally find interfaces that default to noop for harmless but useless input "feel" a little more approachable to new developers...  Maybe thats why javascript took off ... 😰

I'm inclined to think it should be a noop, I don't see an enormous downside to it.

I think to the philosophical point, I don't think a delete of a not present element is nonsensical, algebraically that makes a lot of sense. Where I would get worried is where a noop can't be reasoned about like this, e.g. only making a delete a noop if it deletes something that hasn't been committed in a transaction (no reason we would do that, just an example), I feel like this would create a situation where users just have to know that sometimes an op is created and sometimes it isn't.


[BUG] RGBD-PCL examples freezes after some time

Something similar is mentioned in:
https://github.com/luxonis/depthai-ros/issues/104 where the solution was to increase queue size, but I don't think extending it further would help.
Describe the bug
Running the ros2 launch depthai_ros_driver rgbd_pcl.launch.py use_rviz:=True in the iron docker launches the rviz and shows a pointcloud fine for some time. But eventually it freezes and doesn't update.
The rgb and depth topic keeps publishing, but the points topic stops publishing.
Its possible to provoke the error by more or less blocking the sensors view as seen in the video. After some time, the depth image gets behind in timestamps and eventually there is too large a gap for the approximate_time synchronizer to synchronize the streams appropriately.
I have tried replacing the time synchronization in pointcloudxyzrgb nodelet with the approximate_epsilon_time and setting it to something like 45ms or up to 100ms, makes it work for a longer period of time, but doesn't feel like the best fix.
Minimal Reproducible Example
ros2 launch depthai_ros_driver rgbd_pcl.launch.py use_rviz:=True in iron docker
Expected behavior
A colored pointcloud shown all the time - even if the "view" is "difficult".
Screenshots
Link to video file
Attach system log

Which OS/OS version are you using?
Host: Ubuntu 23.04 runinng docker
Which ROS version are you using?
Ros2
Which ROS distribution are you using ?
Rolling and Iron

Edit: Times was factor 10 to small.

Hi @dk-teknologisk-lag, I assume this is the same issue as in https://github.com/luxonis/depthai-ros/issues/429, could you try testing the fix branches there to see if that also fixes issue for you?
https://github.com/luxonis/depthai-ros/tree/frequency_fix_iron
https://github.com/luxonis/depthai-ros/tree/frequency_fix_humble

Will test it asap.

I have tested the latest docker images and it seems to work better, in the sense that it doesn't fall behind and freezes. It however, still runs with low fps, about 4-5. I have seen #409, so I'll try find some other cables to test with. Those I have is relatively long, but the device is seen as a SUPER usb device.
The colored point cloud is also published at unstable frame rate, where there are several hickups. So its not steady 4-5 fps, but jacked at times.

I have noticed, that if I subscribe to the colored point cloud topic from another docker instance and it actually do some network traffic, the FPS goes back to about 20 Hz.
Seems some congestion on the network, makes it choke.. Guess its more a ROS / middelware issue, so I'll close this one as it seems fixed.
I couldn't reproduce it with a recently iron-image at least.


Added support for resource-specific destination table for Firewall

Overview/Summary
This allows consumers to use the resource-specific destination table in diag settings for AzFirewalls. Ref. issue #1283
This PR fixes/adds/changes/removes

Adds support for setting resource-specific destination table in diagnostic setting for Azure Firewall

Breaking Changes
None, optional parameter. Default value is the same as todays default value.
Testing Evidence
Please provide any testing evidence to show that your Pull Request works/fixes as described and planned (include screenshots, if appropriate).
Testing URLs
Azure Public

Azure US Gov (Fairfax)

As part of this Pull Request I have

[x] Checked for duplicate Pull Requests
[x] Associated it with relevant issues, for tracking and closure.
[x] Ensured my code/branch is up-to-date with the latest changes in the main branch
[ ] Performed testing and provided evidence.
[ ] Ensured contribution guidance is followed.
[x] Updated relevant and associated documentation.
[x] Updated the "What's New?" wiki page (located: /docs/wiki/whats-new.md)

@picccard & @Springstone seems there is an issue with the template here, can you investigate https://github.com/Azure/Enterprise-Scale/actions/runs/5120770157/jobs/9207677548?pr=1334


Fix issue #92 - correct typo of plattform -> platform

This is a simple search and replace across the codebase.

Fixed it myself because I had another change. Thanks for your help!


Update Code - Proof_Of_ContributionSnapshot4.md

Add Morph-Caller commit

Hey! Looks like Page Not Found (404).

Thanks!


'Error: Node is either not visible or not an HTMLElement' is occurred when I execute Puppeteer 1.5.0-next on Chrome browser

Steps to reproduce
ElementHandle.click method is throwing an error when I use Chrome. Here is the code snippet for reproducing and the result of executing it.
import puppeteer from "puppeteer";
import util from "util";

(async () => {
    const browser = await puppeteer.launch({
        headless: false,
        sloMo: 500,
        executablePath:
            "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
    });
    const page = await browser.newPage();
    await page.goto("https://example.com", { waitUntil: "load" });
    await page.waitFor("body > div > p:nth-child(3) > a");
    const link = await page.$("body > div > p:nth-child(3) > a");
    console.log(`Link element: ${util.inspect(link)}`);
    await link.click();
})();

(node:13359) UnhandledPromiseRejectionWarning: Error: Node is either not visible or not an HTMLElement
    at ElementHandle._clickablePoint (.../node_modules/puppeteer/lib/ElementHandle.js:86:13)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:118:7)
(node:13359) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:13359) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Tell us about your environment:

Puppeteer version: 1.5.0-next.1530333501924
Platform / OS version: Mac OSX 10.12.6
Chrome version: Version 67.0.3396.99 (Official Build) (64-bit)
URLs (if applicable):
Node.js version: v9.7.1

I'm using the latest next tagged version of Puppeteer to avoid a bug discussed in #1325.

Puppeteer does not support stable Chrome. Please try chrome canary.

I could run my code using Chrome Canary (Version 69.0.3480.0 (Official Build) canary (64-bit)).
Thanks for your help!

@JoelEinbinder
Since Chrome & Chromium are both support Remote debugging protocol (usually have same major version, such as 1.x.x), Puppeteer should have same behavior on same feature.
Especially coders in countries where many global IPs are blocked (such as China mainland), downloading a Chromium binary bundle through NPM is such a hard thing... Installing a stable Chrome from a third party App store or Software repository is much easier for us.

@polikeiji @JoelEinbinder
RDP command DOM.getContentQuads responses nothing on stable Chrome, because it's a new feature of Chromium Inspector core...
This feature seem has some relation with a proposal for CSSOM, it's used to return Quadrilateral coordinates of content-box, padding-box & margin-box, just like "Box model" view in Element tab of Chrome DevTools:

This feature seems to have a relationship with a proposal for CSSOM, which is used to return Quadrilateral coordinates of content-box, padding-box & margin-box, just like "Box model" view in Element tab of Chrome DevTools:

@TechQuery DOM.getContentQuads returns multiple quads for inline flow elements instead of a single quad in the proposal you referred to. That's critical in our case.

Since Chrome & Chromium are both support Remote debugging protocol (usually have same major version, such as 1.x.x), Puppeteer should have same behavior on same feature.

Please see our FAQ entry regarding this: https://github.com/GoogleChrome/puppeteer#q-why-doesnt-puppeteer-vxxx-work-with-chromium-vyyy

I was facing the same issue. Using the "right" version of Chrome fixed the issue.

I was having the same problem when running my function on AWS-Lambda bu this happens to be best way to do it:
const link = await page.$("body > div > p:nth-child(3) > a");    try {        await page.evaluate((el) => {        return el.click()         }, link);         await page.waitFor(1500);       } catch (e) {         console.log(e);      }

let tabelinha = await page.waitFor('#tabs > li:nth-child(2) > a', {visible: true})
console.log(tabelinha);
if('#tabs > li:nth-child(2) > a', {visible: true}){
    await page.click('#tabs > li:nth-child(2) > a')
}else{
    console.log('não clicou pra aparecer a tabela')
}

my problem is that when the element is not visible it does not execute the message on the console and has error


compose-image-yml: use system yq if available otherwise use go run

and install to the system on build pipeline

Yes, please, by all means.
Is there a concern about syntax and version numbers? I guess not. If we have issues, we can lock that down in the future.

FWIW versions are different at least for Debian/Ubuntu family, which uses this yq (written in python): https://github.com/kislyuk/yq while the docker container provides this yq (written in GO): https://github.com/mikefarah/yq I don't if they are 100% syntax compatible... @rucoder has introduced the use of yq... @rucoder , are we safe to use any of these?

I suspect we are not. I think yq had some changes heading into v4. But not sure, let's let Mikhail answer.

I would say if it works on the pipeline, then it works with yq implemented in python.
I fear @rucoder is using fedora's yq as well which is the go version.

I changed it to check the version and if the version is wrong, use go run

@deitch @christoph-zededa here is the story:
I tried to implement an "add after an entry" .yq script and I figuried out that the are 2 versions of YQ. one written from scratch in go and for this one there is an official container form the developer. The second version has no official container so I created my own (I was no aware of docker hub pull limits). Why we need the second version but not the first one? The go version doesn't accept parameters from the command line that can be passed to YQ script and the syntax is different. Here is my question on stackoverflow and detailed explanation of the problem https://stackoverflow.com/questions/74368503/is-it-possible-to-insert-an-element-into-a-middle-of-array-in-yaml-using-yq

@christoph-zededa @deitch
yes, this is why I said that someone changed it. and it was @deitch. see https://github.com/lf-edge/eve/commit/0177dbbbec326d9d458b3697c9d3687ab6015983

@christoph-zededa @deitch yes, this is why I got an said that someone changed it in our meeting. Now I checked it and I see it and I see it was @deitch. see 0177dbb
so yes, we are using go version one. But I go confused, which one do we need?

@rucoder , apparently it's working with both, @christoph-zededa could you confirm that, please? The current changes doesn't bring any benefits for Debian/Ubuntu users, which means there is no optimization for our GH runners, by confirming it's working with both versions, we can bring benefits for all distros, including GH runners....

I now remember that there was an issue with v3 versus v4, and we had to use v4 for some of the capabilities.
As far as I can tell, mikefarah's is go-based.
In retrospect, I think the original approach is right, we should use the official mikefarah/yq, either as a container or as go program. I just submitted a request to get that one Docker sponsored OSS, which would make pull issues go away.
Can we do a check that says, "if this is official yq from mikefarah v4 or higher use it, else container"?

Can we do a check that says, "if this is official yq from mikefarah v4 or higher use it, else container"?

How to check that it is the "official" yq?
Why not use the go run approach?

How to check that it is the "official" yq?

I have no idea! 😆 That was why I asked, "can we do", as in, is there a way to do it? I guess not

Why not use the go run approach?

Is there an assumption that go always is available?
docker is a requirement for building eve, so we know that docker always is available. Is go? If we are 100% sure, then why not? Or maybe just hold off for a day or two until we see if they can get mikefarah/yq as an official sponsored project?

Why not use the go run approach?

Is there an assumption that go always is available?
docker is a requirement for building eve, so we know that docker always is available. Is go? If we are 100% sure, then why not? Or maybe just hold off for a day or two until we see if they can get mikefarah/yq as an official sponsored project?

go needs to be available, otherwise we neither can build the get-deps tool, nor the compare-sbom-sources tool

Why not use the go run approach?

Is there an assumption that go always is available?
docker is a requirement for building eve, so we know that docker always is available. Is go? If we are 100% sure, then why not? Or maybe just hold off for a day or two until we see if they can get mikefarah/yq as an official sponsored project?

go needs to be available, otherwise we neither can build the get-deps tool, nor the compare-sbom-sources tool

Ohhh, I was wrong ...
We just ignore if get-deps cannot be built: https://github.com/lf-edge/eve/actions/runs/9865821631/job/27243476619?pr=4073#step:9:9
I changed the workflow files to install golang.

I think the shell syntax I suggested is off. Sorry about that.

Moved to draft to find out how to install golang on github actions ...

install golang on GitHub actions

Here is a sample: https://github.com/linuxkit/linuxkit/blob/master/.github/workflows/ci.yml#L38-L43

Now that the pull limit is increased, I think this has no advantage.

@christoph-zededa I think we should keep doing this. The limits are not infinite. Why waste those on pulling mikefarah/yq when we don't have to? You are doing good work with this.


Convert Hainfurt to TSCN Chunks

Converts Hainfurt to TSCN chunks.
Scenario Editor says all routes are valid, but I haven't tested them yet.

Buchenhain - Hainfurt
Trying to launch "S1: Buchenhain - Hainfurt" spawns the train somewhere in the grass. Interestingly, switching the camera perspective to one of the passenger views seems to show me the inside of some NPC train?

Screenshots
Screenshots

The log shows lots of errors in all sorts of places. Please check if you can find anything relevant in there:  godot.log
Buchenhain - Wolfsfurt
Trying the next scenario "S1: Buchenhain - Wolfsfurt" does actually load me in correctly, but results in me running out of VRAM (!).
The game uses up all of the 6GB of VRAM of my GTX 1060 here which results in ~10FPS. We should check why that happens as I'm pretty sure the game isn't supposed to use up a 1060's VRAM completely.

Screenshots
Screenshots

I haven't bothered testing the other scenarios since something is very broken here.

Trying the next scenario "S1: Buchenhain - Wolfsfurt" does actually load me in correctly, but results in me running out of VRAM (!).
The game uses up all of the 6GB of VRAM of my GTX 1060 here which results in ~10FPS. We should check why that happens as I'm pretty sure the game isn't supposed to use up a 1060's VRAM completely.

Sounds very much like https://github.com/Libre-TrainSim/Libre-TrainSim/issues/98
I am wondering if there are cyclic resources somewhere that cause Godot to think it has to leave textures in the GPU. But maybe the issue is something else and has to do with the amount objects. IHMO these worlds don't justify any bottleneck at all.

Since Jean is updating this map in #5, this PR is obsolete


Revert "Revert "feat: markdown support""

Reverts 42-student-council/website#200

One issue I noticed is that empty lines get completely discarded. Even multiple newlines don't create an empty line for spacing.
This means that comments and issues that were formatted with empty lines between paragraphs now have all the same spacing between the lines.
Also, paragraphs (#) don't seem to work.

https://github.com/42-student-council/website/pull/195#issuecomment-2395486676

One issue I noticed is that empty lines get completely discarded. Even multiple newlines don't create an empty line for spacing.

Empty lines without content get automatically discarded, similarly to what happens on GitHub. This solves the problem of people writing just new lines in a comment.

This means that comments and issues that were formatted with empty lines between paragraphs now have all the same spacing between the lines.

From my local tests, one line break is always preserved. So this shouldn't break (pun not intended) previous comments rendering. The only difference is that now you only have consistent line breaks whether you inserted one, two, or more new lines. On GitHub there's a difference between one and two new lines, but ~I couldn't recreate it here.~ I just managed to recreate it. I'll push it now.
All of this is not conformant with CommonMark (one new line is not enough for a new paragraph) and is implemented with a plugin.
cc @itislu

Also, paragraphs (#) don't seem to work.

Yes, I decided not to allow them as they can be very distracting, especially in comments. Btw they're headings (h1, h2, h3, ...) not paragraphs (p).

Multi line code blocks ``` don't work

Yes, I didn't enable it. Why would anyone discuss code on this platform? It also allows for unlimited amount of new lines, exactly what I was trying to avoid 😅

they do not separate the blocks of text enough

I can separate the paragraphs more via CSS but I'm not sure it's gonna lead to good-looking usage.

I think the PR might finally be ready!

Yuhu, it's really good now!
Only one thing - what do you think about the whitespace getting removed within a line?
Original:

New:


Images not appearing on guide

Many images not loading on the guide, return an error Error Fetching Resource

this appeared to be an image hosting issue with anything located on github.sydney.edu.au, which resolved itself. I replaced some images in f9da096c466a158bb8e27a7dd81b0b35d68c8eda with smaller images.


Display xconnect info in interface table if present

Fixes: #1
If interfaces are part of L2 xconnects, print indicator in the interface table details section.
Example output:
--------------------------------------------------
 Pod: nsm-vpp-forwarder-wnvns Namespace: nsm-system IP: <IP_ADDRESS> (age: 10h51m53s)
--------------------------------------------------

 Version: vpp v20.01-rc2~11-gfce396738~b17 built by root on b81dced13911 at 2020-01-29T21:07:15

IDX     INTERFACE       TYPE            STATE   IP              VRF     MTU     DETAILS
  5     SRC-5           MEMIF           up                      0       1450    socket:/var/lib/networkservicemesh/nsm-22/green7tkjv/memif.sock master:true  [l2xconn to DST-5]
 13     SRC-a           MEMIF           up                      0       1450    socket:/var/lib/networkservicemesh/nsm-8/greentsdr2/memif.sock master:true  [l2xconn to DST-a]
  8     DST-7           MEMIF           up                      0       1450    socket:/var/lib/networkservicemesh/nsm-8/nsm4WJvcamC5/memif.sock  [l2xconn to SRC-7]
 11     SRC-9           MEMIF           up                      0       1450    socket:/var/lib/networkservicemesh/nsm-8/green7tkjv/memif.sock master:true  [l2xconn to DST-9]
  7     SRC-6           MEMIF           up                      0       1450    socket:/var/lib/networkservicemesh/nsm-22/greentsdr2/memif.sock master:true  [l2xconn to DST-6]
  2     DST-1           MEMIF           up                      0       1450    socket:/var/lib/networkservicemesh/nsm-22/nsmucK17RXpO/memif.sock  [l2xconn to SRC-1]
  3     SRC-1           TAP             up                      0       1450    host_ifname:tap-1015135623 version:2  [l2xconn to DST-1]
  9     SRC-7           TAP             up                      0       1450    host_ifname:tap-981580385 version:2  [l2xconn to DST-7]
  1     mgmt            AF_PACKET       up      <IP_ADDRESS>/16   0       0       host_if_name:eth0
 12     DST-a           VXLAN_TUNNEL    up                      0       0       src:<IP_ADDRESS> -> dst:<IP_ADDRESS> (vni:8) [l2xconn to SRC-a]
 10     DST-9           VXLAN_TUNNEL    up                      0       0       src:<IP_ADDRESS> -> dst:<IP_ADDRESS> (vni:6) [l2xconn to SRC-9]
  6     DST-6           VXLAN_TUNNEL    up                      0       0       src:<IP_ADDRESS> -> dst:<IP_ADDRESS> (vni:4) [l2xconn to SRC-6]
  4     DST-5           VXLAN_TUNNEL    up                      0       0       src:<IP_ADDRESS> -> dst:<IP_ADDRESS> (vni:2) [l2xconn to SRC-5]

Closing this, as it was included in the latest refactor.


[Suggestion] Explanatory header text needed for the "Expedition Qualification Checker"

Without any explanation, or at least header, I don't think users will now what are those numbers below the fleet composition. So far I've asked my friends, they just know what they are after consulting the GitHub. This supposedly not happen in my opinion. People should be able to easily understand each and every feature even without consulting to the GitHub.
As for example, just try looking to this image. Without any knowledge about what is it, I believe not many that can guess what is this for:

ah there's also a discussion on #404 where the blue circles will be removed and will be changed with a feature where the player selects a specific expedition, and test the fleet for its requirements, and tell which else is missing from your fleet comp or equip
the main argument there was, the player first aims for an expedition via its resource output, etc, then build the fleet upon it.. not the other way around where you build a fleet, then check which expedition to go to

kinda agree with that argument. the blue circles gives no information whatsoever for me personally, since at the first time I don't even know what is it for.

Closing because of new plans for Expeditions in #722, no more balls


关于LSDA与CEL设计的疑问

大神好，非常感谢你们的作品。有几个小疑问：

貌似LDA和SDA是交替使用的，如果调整S和L的比例或顺序是否会对结果有影响。比如一个stage中SLS或SSLLL这样的。
我看G貌似一直都是7，如果在金字塔结构中，将G逐步变为7,5,3,1(vanilla attention)，不知对效果影响如何
CEL放在最开始可以理解为提取多尺度信息。但随着层数的加深，可能H*W这个维度的空间位置意义越来越稀薄，那么再去提取多尺度信息可能很难用多尺度空间信息去解释了。不知后面不再加[2,4]的CEL是否有显著影响？
抛开代码实现的整洁问题，kernel=32是不是太大了，换成kernel=3的堆叠应该不影响吧

非常感谢

Thanks for your attention and questions first. The answers:

Our experiments indicate that decreasing the number of LDA may affect the performance. For example, we tried to use LDA only at the last layer of each stage (and use SDA for other layers), and the accuracy drops about 0.3%~0.4% (from 82.5 -> ~82.1%). The consequence of shuffling LDA and SDA is still unknown (e.g. from SLSLSL to SSSLLL), and using them alternately is just an intuitive choice.

It is also an interesting question but no answer yet.

The answer is: "CEL is important for all stages. We tried to delete CEL at stage-2/3/4, i.e., using single-scale kernel, and got a large performance drop (0.6%, from 82.5% to 81.9%).

You may wish to use 4x4 and 8x8 only at the first stage because the performance drop in this case is limited (about 0.1%~0.2%).

All results above are reported on ImageNet dataset with CrossFormer-S as the baseline.

@cheerss Thank you for quick reply.
I am sorry for making you confused about the last question. The question essentially is would that be better if we replace the large kernel convolution(say 32 or 16) with multiple smaller convs just as we usually prefer two 33 convs to a 55 one.  According to "SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers" and "Convolution with even-sized kernels and symmetric padding", It might be better to use overlapped odd-size  kernel convolutions for embedding. Well, this is not a big issue afterall.
And one more thing, I didn't find a place to set the dilation rate or "I" for LSDA in the paper. Could you help me out? Many thanks.

@kpmokpmo

Yeah, maybe a series of 3x3 is better than a 32x32 for CrossFormer, or the case is opposite. I think it needs experiments for verifcation.

I = S / G, where S is height/width of feature maps. For models with input size 224x224, if G=7, the interval "I" for four stages are exactly [8, 4, 2, 1]. So, we set G rather than I for convenience (See here for the code). For models for detection/segmentation, interval is here.

Get it.Thanks!


[Fab] Badge leaks over Floating Action Button

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
Badge component  leaks over Fab component despite being defined earlier in DOM.

Expected behavior 🤔
Badge component should hide behind Fab component.
Steps to reproduce 🕹
Here is live example: https://codesandbox.io/s/youthful-mccarthy-c7p15?file=/src/App.js
Context 🔦
I've have similar layout on my website and noticed this visual bug.

It seems that the Fab is missing the z-index (while the Badge has z-index: 1). We need to be careful not to break any existing layouts though.
Would you like to work on a fix?

@michaldudak Yes. I can work on a fix.

I've added pull request.


 doesn't play well with other elements in

I want to use ion-datetime inside an ion-item, but I want to include other elements as well for picking the days of the week.
Goal:

If I use the ion-item markup, then this is what I get:

To get around this issue, I have to change ion-item to div with position:relative. But now I lose out on swipe to delete etc.
Preferred Markup:
<ion-item *ngFor = "let reminder of reminders">
    <ion-datetime displayFormat="h:mm a" pickerFormat="h mm a" [(ngModel)]="reminder.time"></ion-datetime>
    <select-days-from-week [schedule] = "reminder.schedule"></select-days-from-week>
</ion-item>

Which Ionic Version? 2.x

Hello! Thanks for opening an issue with us! As this seems like more of a support question of how to implement custom functionality i will urge that you ask this question on our forum (forum.ionicframework.com). Thanks for using Ionic!


Function.bind

Function.bind has been a perf nightmare for years now, we should purge all uses of it from the codebase. This is probably mostly on me, but good to keep in mind when writing new code. You can use regular ol' closures for simple cases, and CreateNamedFunction should suffice for complex cases. If it doesn't... well, I'll have to figure something out.
Keep in mind that CreateNamedFunction is slower to create and fast to invoke, while a closure is cheap to create and relatively fast to invoke (as long as it's not doing .call or .apply - though those have gotten faster in modern engines)

We should also monitor situation with binded functions, as it may change. ES2015 contains arrow functions and such functions always binded according to standard. Probably as soon browsers implement arrow functions they also improve binded functions performance (at least for functions that can be rewritten with arrow functions).


Getting github orgs more than 30

Hi, dear team
github.com (or GH Enterprise)  API have a default per_page limit to 30. So GetOrgs function could not get organizations after the 31st one.
I have added the pagination loop and found this fixed.

I have also found https://github.com/stvp/flowdock is missing... Is there any fork?

I have also found https://github.com/stvp/flowdock is missing... Is there any fork?

@udzura I have a local copy. I'll vendor the dependency and push and update shortly

ok, just merged #848 to fix the flowdock issue!

@bradrydzewski Hi, test passed again. Thank you for review!

cool, much thanks for the patch!


People in queues #193

Reusing of graf_fronta for kraje and for the whole CR and cleanup of the basic charts in statistiky page.

Kraj seems to be not working, I will try it later as I will be able to download dump from prd

Kraj seems to be not working, I will try it later as I will be able to download dump from prd

Is it working?

@vpokorny name of kraj was used instead of the id, that's why condition returned empty result, I've fixed it
thanks!


Update "getting started" docs link

Fixes #73
Overview
Fix documentation link.
Rationale
Existing link is oudtdated and 404's.
Juju Events Changes
N/A
Module Changes
N/A
Library Changes
N/A
Checklist

[ ] The charm style guide was applied
[ ] The contributing guide was applied
[ ] The changes are compliant with ISD054 - Managing Charm Complexity
[ ] The documentation is generated using src-docs
[ ] The documentation for charmhub is updated.
[ ] The PR is tagged with appropriate label (urgent, trivial, complex)

Largely N/A, single trivial documentation link update.

/canonical/self-hosted-runners/run-workflows 419389a70dad0ac4d11bca1aa6d88fe248857521

/canonical/self-hosted-runners/run-workflows cb64b1c78cdb5a2a49b1c4d80191eca9484fbcf1

/canonical/self-hosted-runners/run-workflows bce140186296511807e8af494d17bc62e874b258

/canonical/self-hosted-runners/run-workflows a01860d26cf267db656ae5c3df5689cc105123ae

@yanksyoon I retriggered the tests, not sure if this should be passing now?

/canonical/self-hosted-runners/run-workflows 01bd5a81bb5ee2cc6c17039b278f500e3a8207e8

I think we saw the issue of not being able to upload rocks to ghcr.io on other PRs from forks - I don't think there is much we can do. Since it is a change to the readme I'll merge without the checks passing


moved whitepaper out of operator-wg directory and created first version

left copy of v1 in operator-wg directory (until v2 is published)

closes #217


Stable revert

Revert non-released changed to stable branch
part of issue #478

+1. Merging. Thanks for handling this @dcolligan!


kdenlive is marked broken

Issue description
It uses phonon-backend-vlc, which uses vlc, which is marked broken when used with qt 5.7.0.
I've tried building with another qt but have failed so far.
If someone gives me a pointer I'll fix it for 17.03.
Technical details

System: 17.03.git.930fe75
Nix version: nix-env (Nix) 1.11.7
Nixpkgs version: warning: Nix search path entry ‘/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs’ does not exist, ignoring
"17.03pre102030.8b40d2e"

Why does it use phonon-backend-vlc? If at all possible, it should use phonon-backend-gstreamer. They should be completely interchangable.

@ttuegel Thanks, I'll try that.


Feature #537 - Setup Multi-Data Integrations UX Workflow

Multi-Data Integrations UX Summary

DRAFT: Development IN_PROGRESS, Do NOT Merge

Key Points (Pending)

[x] Setup New UX Workflow for Multi-Data Integrations

JIRA
Gitlab
Jenkins

[x] Manage/List Integration Providers
[x] Add/Remove Provider Connection(s)
[x] Manage Connection Settings
[x] Update Routing in App.js
[x] Handle Empty Data Scenarios
[ ] Basic Error Handling
[ ] Connect to LIVE Backend API Endpoints for Data
[ ] Test UX Workflow & Functionality
[ ] Re-configure Side Navigation Menu
[ ] Discuss UX Workflow w/ Team
[ ] Code Cleanup & Linting
[x] Package.json Updated & Lockfile Regenerated

Fix missing dependencies (url-loader and @svgr/webpack) needed by our build process

Description
This PR is an extension of the Config UI Refactor Ticket that introduces a new UX workflow for managing Multi-Data Integration Sources within Lake's Configuration UI.
Does this close any open issues?
This MR will partially close #537 and possibly other items related to the config-ui refactor effort.
Current Behavior
The current configuration does not manage multiple connection instances for one of the three supported Data Integration Providers.
New Behavior
Apply new UX workflow as recommended by latest Figma Concept Designs for Lake's Configuration UI. This allows each Integration Provider (Plugin) to have multiple connection sources.
Screenshots

Other Information
Any other information that is important to this PR.

@e2corporation please move all remaining work out into a new task


Update tested AGP versions

from 7.2.0-beta04 to 7.2.0-rc01
from 7.3.0-alpha08 to 7.3.0-alpha09

OK, I've already triggered the following builds for you:

AllSmokeTestsPullRequestFeedback build

@bot-gradle test AST

OK, I've already triggered the following builds for you:

AllSmokeTestsPullRequestFeedback build


Language change option

Description of the new feature / enhancement
I would like to change the UI language for Powertoys.
Scenario when this would be used?
I run a Swedish windows client, but want to have Powertoys in English.
Supporting information
No response

/dup #7670


B10909025&29

our grade file:
https://github.com/raymundlin/threathunting202309/blob/main/B10909029%2CChen-Yu-Pin.yaml
https://github.com/raymundlin/threathunting202309/blob/main/B10909025%2CChen-Yu-Pin%2Cscyc980.yaml
Checks

[ ] Your YAML file has required fields as listed in Specs
[ ] All checks have passed yaml-lint passed
[ ] You agree to contribute your work under MIT license

all tasks done, however shodan query can be improved. you should try queries that will help you find a data storage


[RFC] Design for Incorporating Reciprocal Rank Fusion into Neural Search

Introduction
This document outlines the design for implementing Reciprocal Rank Fusion, RRF, within the neural search plugin. RRF, first outlined in a 2009 paper by Cormac, Clarke, and Büttcher, is a method for combining rankings from several subqueries, providing better search results than other systems. Risk-reward tradeoffs for different fusion techniques are analyzed in this paper. The general formula for RRF, where k = rank constant and query_j_rank is the ranking for a document when it is returned in a query method in hybrid query, is as follows:
rankScore(document_i) = sum((1/(k + query_1_rank), (1/(k + query_2_rank), ...,
(1/(k + query_j_rank))

Background
The OpenSearch neural search plugin provides semantic search query ability to users by using ML models for embedded text. It supports hybrid queries, which combine text-based search with neural vector search. This design document describes implementation of the RRF technique to combine results from different parts of hybrid query to improve the search relevance.
One advantage of RRF is that it is simple and provides a standard way of processing results. It is scalable and doesn’t require tuning (other than adjusting rank constant). Its simplicity makes it intuitive for users. The algorithm has also been used successfully by several other organizations already. Moreover, incorporating RRF into hybrid query will facilitate customer migration to OpenSeach from platforms where they are already using RRF. Some customers have already requested it to be added as a technique. Based on these reasons, we believe that RRF will provide a benefit to users performing hybrid query.
Functional Requirements

Reciprocal Rank Fusion (RRF) Implementation: Develop and integrate the RRF technique to use document ranks in individual subquery results to calculate scores, and sum those scores across all subqueries for each document to provide “rank score” to combine hybrid search results
Hybrid Search Integration: Ensure the RRF technique can be seamlessly integrated into the existing hybrid search framework. Prevent interference with sorting(by different fields), concurrent segment search, and aggregations.
Normalization Adjustment: Modify or enhance the current normalization process to utilize ranks of documents in subquery result lists, reducing potential biases from score-based normalization.
Configuration Options: Allow users to control RRF algorithm parameter rank constant (rank constant must not be less than 1). Need to prevent invalid combinations of values in configuration (e.g. mixing current normalization options with RRF options)

Non Functional Requirements

Smooth integration into existing neural search interface and clear instructions for use for customer
Keep latency same within the range of the error

Document Scope
In this document we propose a solution for questions below:

Incorporating RRF into hybrid query under a new processor
Using 1 parameter, rank constant, with a default value of 60
Only change to API is for search pipeline configuration

Out of Document Scope

Providing ability to chain more that one processor together
Adding weights as a parameter for combining document results from different subqueries

Solution Overview
Implement RRF within the neural search plugin by adding two classes, RRFProcessor and RRFProcessorFactory, and calling them from the NeuralSearch class. Rank constant could be set by user during query but have a default value. A value of 60 for rank constant is common and was used in the original paper describing the technique. It must be greater than or equal to 1. We can include guidance for customers showing how the rank scores shrink as the rank constant grows, and vice versa, to help inform their choice.
Solution HLD: Architectural and Component Design
Proposed Solution

Modify the hybrid query execution flow to capture the individual result sets from each subquery
Implement the RRF algorithm to calculate a combined score for each document based on its ranks across the different result sets.
Merge and sort the final result set based on the calculated RRF Rank Scores.
Return blended ranks of RRF in form of document scores.

Pros:

Two-way door in case implementation has issues, can easily be rolled back
Can customize to fit RRF requirements if existing architecture isn’t ideal

Cons:

Some duplicating of workflows to set up as new processor
Might cause confusion as RRF can be conceptualized as a normalization/combination technique but set up outside of NormalizationProcessor

Potential Issues
Risks / Known limitations and Future extensions

Performance impact due to additional computations for RRF scoring and result merging.
Compatibility with existing processors - need to identify potential areas of interference between processors. For normalization processor risks are low, the processor that is configured first will publish results, the next one should be ignored and has no effect.
Potential edge cases or corner cases that need to be handled gracefully.

The following diagram shows the high-level approach for implementing RRF in hybrid query

Solution LLD
For more information about hybrid search, see the following https://opensearch.org/blog/hybrid-search/
The following example uses the data from this tutorial: https://opensearch.org/docs/latest/search-plugins/neural-search-tutorial/
I’ve copied over the scores from the match query and neural query into the table below and used the resulting numbers to calculate the ranks and rank scores
RRF used in hybrid query setting up search pipeline:
PUT /_search/pipeline/nlp-search-pipeline
{
  "description": "Post processor for hybrid search",
  "phase_results_processors": [
    {
      "score-ranker-processor": {
        "combination": {
          "technique": "rrf",
          "parameters": {
            "rank_constant": 60
          }
        }
      }
    }
  ]
}

Using hybrid query currently, setting up search pipeline (no changes from current setup):
GET /my-nlp-index/_search?search_pipeline=nlp-search-pipeline
{
  "_source": {
    "exclude": [
      "passage_embedding"
    ]
  },
  "query": {
    "hybrid": {
      "queries": [
        {
          "match": {
            "text": {
              "query": "cowboy rodeo bronco"
            }
          }
        },
        {
          "neural": {
            "passage_embedding": {
              "query_text": "wild west",
              "model_id": "aVeif4oB5Vm0Tdw8zYO2",
              "k": 5
            }
          }
        }
      ]
    }
  }
}

The scores and ranks are based on the example data:

Implementation Details

Query portion of the hybrid query can be reused without any changes
RRF algorithm parameters can be set in the pipeline processor configuration

Input: rank constant. Optional, we can use following default: 60 for rank constant (cited in the original paper and used successfully in existing implementations). The rank constant must be >= 1 to avoid divide by 0 error

First part of RRF algorithm is implemented by scoreRanker

Input: List of query result sets from each shard. Each shard result will have results of each individual subquery
Performs initial processing of documents to calculate rank score for each document in each subquery
Output: Sorted list of query result sets with calculated RRF rank scores for each subquery

Summation part of RRF algorithm implemented in same class by rankResults:

Input: Sorted list of query result sets with calculated RRF rank scores for each subquery
Summing up Rank Scores for documents across subqueries and combining lists of document rank scores from all subqueries and sorting to provide final sorted list of documents to send to fetch phase
Output:  Sorted list of combined query result sets (sorted by combined rank score)

Benefits

Possible improved search relevance by combining results from multiple queries effectively.
Increased flexibility in hybrid query construction and result fusion.
Seamless integration with the existing neural search plugin and hybrid query infrastructure.
An additional “normalization and combination” method that customers may find helpful

Alternatives Considered
Alternative 1:
Implementing RRF as a NormalizationTechnique and CombinationTechnique (RRFNormalizationTechnique and RRFCombinationTechnique classes) that would be called by NormalizationProcessor the same way it currently works when configured with, for example, L2NormalizationTechnique and ArithmeticMeanScoreCombinationTechnique. The RRFNormalizationTechnique class would perform the subquery-level reciprocal rank score calculation part of the algorithm and would pass the rank scores of all documents in each subquery to the RRFCombinationTechnique class to combine each document’s rank scores, then merge and sort the results, returning a list of documents sorted by combined RRF rank scores
Pros:

Easy to copy structure of existing classes and add new classes into workflow
Easier adoption by users, setup similar to current setup

Cons:

Potential for creating problems that are hard to contain within just the RRF implementation
Would require intervention to prevent users from mixing and matching normalization and combination techniques
more complicated logic for parameter parsing/validation in the factory. RRF and existing processors don't share same parameters, will require branching in logic

Example pipeline configuration call
PUT /_search/pipeline/nlp-search-pipeline
{
  "description": "Post processor for hybrid search",
  "phase_results_processors": [
    {
      "normalization-processor": {
        "normalization": {
          "technique": "rrf",
          "parameters": {
            "rank_constant": 60
          }
        },
        "combination": {
          "technique": "rrf",
        }
      }
    }
  ]
}

Alternative  2:
Implementing RRF as a processor, RRFProcessor at the same level as NormalizationProcessor, registered by a RRFProcessorFactory, and the RRFProcessor calling a RRFNormalizationTechnique and RRFCombinationTechnique as described above
Pros:

Similar to Alternative 1, easy to copy structure of existing classes and add new classes into workflow
Adding processor at NormalizationProcessor level would prevent issues with need for intervention to prevent users from mixing and matching normalization and combination techniques

Cons:

Potential for creating problems that are hard to contain within just the RRF implementation

Example search pipeline configuration call
PUT /_search/pipeline/nlp-search-pipeline
{
  "description": "Post processor for hybrid search",
  "phase_results_processors": [
    {
      "score-ranker-processor": {
        "normalization": {
          "technique": "rrf",
          "parameters": {
            "rank_constant": 60
          }
        },
        "combination": {
          "technique": "rrf",
        }
      }
    }
  ]
}

Potential Issues
Risks / Known limitations and Future extensions

Performance impact due to additional computations for RRF scoring and result merging.
Compatibility with existing processors - need to identify potential areas of interference between processors. For normalization processor risks are low, the processor that is configured first will publish results, the next one should be ignored and has no effect.
Potential edge cases or corner cases that need to be handled gracefully.

Backward Compatibility
Will be backward compatible, will ensure that omitting RRF-specific parameters in request configurations will not cause problems
Testability
I will be writing unit tests and integration tests for this implementation
Benchmarking
Benchmarking will involve testing across several datasets used in the initial normalization implementation testing (NFCorpus, Trec-Covid, ArguAna, FiQA, Scifact, DBPedia, Quora, Scidocs, CQADupStack, Amazon ESCI) and comparing the average nDCG@10 score against that of the L2 and Min-Max normalization techniques combined with the Arithmetic, Geometric, and Harmonic combination techniques, using BM25 nDCG@10 scores on these datasets as the baseline. We will also update nightlies benchmark runs to capture performance.
Feedback Required
Should we consider adding weights for combining rank scores from different subqueries? If so, how would weights be determined?
Are there concerns about or objections to incorporating Reciprocal Rank Fusion (RRF) as a new processor, instead of integrating it into the existing NormalizationProcessor? If there are foreseeable problems with this approach, what would a better alternative look like?

Should we consider adding weights for combining rank scores from different subqueries? If so, how would weights be determined?

IMO, the customer should provide the weights for different subqueries. Just out of curiosity, how to adapt the RRF formula by user-determined weights?

Potential for creating problems that are hard to contain within just the RRF implementation

Intuitively, alternative 2 makes more sense to me. Can you elaborate more on this con?

We can definitely add weights, it's good addition.
As for the Alternative 2 - that implies that rrf is split into normalization technique and combination technique, and that is exposed to the user in a same way as we do for other techniques today. But that will not be supported because parts of rrf cannot be combined with other techniques, I think that's the main issue with that option

Hi @martin-gaievski ! After the PR is almost code ready, could you please showcase the impact of RRF processor on search latency in https://opensearch.org/blog/Introducing-a-neural-sparse-two-phase-algorithm/

Hi @martin-gaievski ! After the PR is almost code ready, could you please showcase the impact of RRF processor on search latency. Just like what Zhichao and Cong have done in the two phase blog: https://opensearch.org/blog/Introducing-a-neural-sparse-two-phase-algorithm/

We're planning to run the benchmark in regards to relevancy and performance after implementation reaches code-complete state in feature branch. My forecast is - it shouldn't be much different from normalization processor, we're using same approach but less complex computation logic.

But that will not be supported because parts of rrf cannot be combined with other techniques, I think that's the main issue with that option

I understand that rrf can only be used with rrf. We can mandate our user to use them when validating parameters.

Fundamentally score normalization and rank based combination are different. What's the benefit of adding normalization technique parameter now? We can add normalization later if that's needed, it will be backward compatible change.

We're planning to run the benchmark in regards to relevancy and performance after implementation reaches code-complete state in feature branch. My forecast is - it shouldn't be much different from normalization processor, we're using same approach but less complex computation logic.

Agree that this is similar with the normalization processor. Please also take search latency into account.


Dots Partially Hidden with parent element's overflow set to hidden

Describe the bug
Dots get partially cut off when the slider's parent element has overflow: hidden; set.
Additional context
The current padding calculation appears to differentiate between horizontal and vertical slider modes, applying padding in only the cross-axis direction (presumably for "stacking"). However, this does not take into account the fact that the dots will extend beyond the bounds of the container in the "lengthwise-axis" of the rail unless extra padding is applied.
This JSFiddle shows the issue:

In the above example, the first slider uses the current default padding settings. The second slider swaps the "horizontal" and "vertical" padding axes (which is obviously wrong). The third slider is set to have identical horizontal and vertical padding (as the dot is a circle).
I believe that this is the offending line of code. A simple fix would be to replace the above with the following logic:
padding: `${dotHeight / 2}px ${dotWidth / 2}px`,

Environment

Vue version: v2.6.10
Component Version: 3.0.22

In fact, it used to be what you said.
Because if the component uses horizontal padding, it will cause the head and tail of the component to be out of alignment with other elements. #319
You can add padding to the container, for example: https://jsfiddle.net/Lphwac7q/

In fact, it used to be what you said.

Yup. I noticed the issue when we updated to 3.x.

Because if the component uses horizontal padding, it will cause the head and tail of the component to be out of alignment with other elements. #319

Sure. I wouldn't say that it's "out of alignment with other elements", but rather that the "dots" may not appear to be "centered" with respect to the edges of other elements. This is a design choice. In our case, it appears wrong.

You can add padding to the container, for example: https://jsfiddle.net/Lphwac7q/

This requires adding a container element for the slider itself. Would it not be possible to update the padding logic to support both scenarios? Perhaps by adding a boolean contained prop that specifies whether or not the slider should be fully contained within its containing element?
Theoretically, support for this would look like:
padding: this.contained ? `${dotHeight / 2}px ${dotWidth / 2}px` : (this.isHorizontal ? `${dotHeight / 2}px 0` : `0 ${dotWidth / 2}px`),

This would allow for the following:

Explicit documentation of the way that the dots may extend outside of the bounds of the containing element (default).
A clean and simple way to have the slider draw correctly without adding another element to the DOM hierarchy.

Added the contained parameter in version 3.0.23.
https://nightcatsama.github.io/vue-slider-component/#/basics/simple?hash=contained
Thank you for your feedback.

Well, damn. That was fast! Thanks very much for handling this! The documentation example is extremely clear, by the way. Awesome! Hopefully it will help others easily implement their designs!


send current map display range as search attribute to loklak_server

if the user can see a map from https://github.com/loklak/loklak_webclient/issues/170 then the user probably wants to zoom into the map. Each time the user zooms into the map or changes the view, then another search must be send to loklak_server with the latest boundaries of the visible map area.
The feature https://github.com/loklak/loklak_server/issues/47 now supports this. Instead of sending only a /location constraint as addition to the search query, also the boundaries must be submitted using the following schema: /location=lon-west,lat-south,lon-east,lat-north

In howfar is this related to #207 ? Are you using the same method?

This is not related to #207.
The init map search will load 300 results, but in most case, there are more. It is of course possible to load, said 1000 results in the beginning, but I witness how long it took the render the results, so more than 300 can create some bad UX, hence comes this issue/approach: zoom to load more.
Short version for the PR above:

Listen to zoom event
Get new geo boundaries
Get new data with new boundaries
Add new points to map

The webclient send integer values to the back-end, which makes result bad and invisible once the zoom level is high. The bug is obviously caused by parseInt, see https://github.com/loklak/loklak_webclient/commit/131d25cd955f99fb620f89639385c9b513e08c82 at line 330-333. These values must be double.

Has been fixed!


Update Deno Runtime so that local and deployed version matches

Chore
Update Deno Runtime so that local and deployed version matches, or allow updating it manually
Describe the chore
In https://github.com/supabase/cli/issues/490#issuecomment-1263104657, it mentioned that Deno Deploy always uses the latest version (1.44 i think is what my live functions are running at).
While in this repo I see the version is pinned to v1.40.3. This breaks my runs locally due to this issue: https://github.com/denoland/deno/issues/22109, which is fixed in the latest version.
Additional Context
I'm using<EMAIL_ADDRESS>which seems to use supabase-edge-runtime-1.53.0

We'll be releasing the 1.43 upgrade to CLI and hosted environment within the next 7 days.

Deno 1.43 upgrade was released https://github.com/orgs/supabase/discussions/27349


Scratch buffers

Emacs has a really useful buffer opened by default (and the default buffer view if emacs is ran without any arguments for a file or directory) called *scratch*.
Not only is this buffer a great place to just store text temporarily, but the really power is that it is an Emacs Lisp buffer designed to allow you to write code and execute within the running context of the editor.
I'd love to something similar for Atom, with keybindings to "run" a selected region.

Now see:
https://atom.io/packages/scratch


[istio.io testing] Need test for Secure Gateways

Describe the feature request
We need to develop a test for the Secure Gateways task in order to provide automated testing of the Istio.io website for future releases.
Example tests and the documentation for the framework can be found here: https://github.com/istio/istio/tree/master/tests/integration/istioio
A YouTube video describing the usage of the framework can be found here: https://www.youtube.com/watch?v=3y-z8NaVwr0
Please reach out to the Test and Release channel on the Istio Slack or Test and Release Discuss  with any questions.

I will also sign up for this

Thanks @jacob-delgado!


Cannot get output from Arduino

Thank you for the library.
I have issue getting output on Arduino r3. I have connected my rxd to pin6 and txd to pin 4 and I use this code.
I was hoping you could guide me in the right direction.
#include "PMS.h"
#include <SoftwareSerial.h>

SoftwareSerial Serial1(4,6);

PMS pms(Serial1);
PMS::DATA data;

void setup()
{
  Serial.begin(9600);   // GPIO1, GPIO3 (TX/RX pin on ESP-12E Development Board)
  Serial1.begin(9600);  // GPIO2 (D4 pin on ESP-12E Development Board)
}

void loop()
{
  if (pms.read(data))
  {
    Serial1.print("PM 1.0 (ug/m3): ");
    Serial1.println(data.PM_AE_UG_1_0);

    Serial1.print("PM 2.5 (ug/m3): ");
    Serial1.println(data.PM_AE_UG_2_5);

    Serial1.print("PM 10.0 (ug/m3): ");
    Serial1.println(data.PM_AE_UG_10_0);

    Serial1.println();
  }

  // Do other stuff...
}

I have a similar issue, I cannot get my sensor (PMS5003) to interface with my Nano and output to Serial Monitor. I have a DHT sensor interfacing also to verify that the code is working.
Here is my code:
#include "DHT.h"
#include "PMS.h"
#include "SoftwareSerial.h"
#define DHTPIN 13     // Digital pin connected to the DHT sensor
#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
DHT dht(DHTPIN, DHTTYPE);
SoftwareSerial Serial1(3,2); // RX, TX
PMS pms(Serial1);
PMS::DATA data;
void setup() {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin();
Serial1.begin(9600);
Serial.println("Warming up");
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
float h = dht.readHumidity();
// Read temperature as Celsius (the default)
// Check if any reads failed and exit early (to try again).
if (isnan(h)) {
Serial.println(F("Failed to read from DHT sensor!"));
return;
}
Serial.print(F("Humidity: "));
Serial.println(h);
if (pms.read(data)) {
Serial.println("PM reading good");         //This is the real problem area, I can't even get the code to output anything
}
}

@Just-ice-E you can't block main loop like these:

// Wait a few seconds between measurements.
delay(2000);

Please use examples provided with library.
You can also use passive mode and then you will be able to block with the main loop.


fix(template-typescript-webpack): preload file to webpack config

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] The changes are appropriately documented (if applicable).
[x] The changes have sufficient test coverage (if applicable).
[x] The testsuite passes successfully on my local machine (if applicable).

Summarize your changes:
I added the preload script to the package.json file, so it would get compiled by Webpack. When you initialize the project it does not work, because the file is not compiled by Webpack. This change would solve this, by adding it to the compiler.
closes #2935

I changed my<EMAIL_ADDRESS>to reflect this change and then I tried another npm start but the preload doesn't seem to be happening still.

Are we ready to merge it, or is there a couple more checks that needs to be done? @erickzhao @gmreburn

I think it's ready :)


redefine

I don't see any text in your issue. Maybe a github glitch? Could you please edit the issue and add your problem.


Connection is closed when sending a file causes NullPointerException

NullPointerException
io.vertx.core.http.impl.HttpServerResponseImpl in doSendFile at line 483
io.vertx.core.http.impl.HttpServerResponseImpl in sendFile at line 339
io.vertx.core.http.HttpServerResponse in sendFile at line 316
io.vertx.core.http.HttpServerResponse in sendFile at line 302
io.vertx.rxjava.core.http.HttpServerResponse in sendFile at line 334

I am working on this issue and try to fix it

I'm also seeing this in 3.3.2
java.lang.NullPointerException
	at io.vertx.core.http.impl.HttpServerResponseImpl.doSendFile(HttpServerResponseImpl.java:491)
	at io.vertx.core.http.impl.HttpServerResponseImpl.sendFile(HttpServerResponseImpl.java:342)
	at io.vertx.core.http.HttpServerResponse.sendFile(HttpServerResponse.java:317)
	at io.vertx.core.http.HttpServerResponse.sendFile(HttpServerResponse.java:303)

@woollybah could you provide a reproducer ?

After further testing, I have found that my particular problem concerns this "double-tap" issue in chrome ( https://bugs.chromium.org/p/chromium/issues/detail?id=587709 ), which relates to chrome sending two requests to the server for a PDF.
It appears that one of the channels is closed by chrome before completion, and it is this that vertx doesn't handle very well, resulting in ServerConnection writeToChannel() returning null on one of two the requests.
The other request succeeds, and file retrieval is completed.

@woollybah if the client closes the connection then an exception is expected on the server side right. So what you would like to see is that the exception is thrown from writeToChannel instead of a NPE?

+1 @woollybah however we would like to have a clear reproducer of the problem that would help a lot :-)

Here's something that demonstrates the issue...
https://github.com/woollybah/sendfile-npe-reproducer
Open the page in Chrome, and then you can basically just hold-down ctrl-R to refresh the page lots.
I get the exception almost immediately here.


Cannot feed single element in ELMo TF-HUB embedder

Hi,
I am working in building a Deep Neural Network Classifier starting from an ELMo embedding module that embeds string, using Tensorflow Hub Module. I am using this model definition:
url = "https://tfhub.dev/google/elmo/2"
embed = hub.Module(url, trainable=True)

def make_elmo_embedding(x):
    embeddings = embed(tf.squeeze(tf.cast(x, tf.string)), signature="default", as_dict=True)["elmo"]
    return embeddings

# elmo embedding dimension
elmo_dim = 1024

# Input Layers
elmo_input = Input(shape=(None, ), dtype="string")

# Hidden Layers
elmo_embedding = Lambda(make_elmo_embedding, output_shape=(None, elmo_dim))(elmo_input)

x = Bidirectional(LSTM(128, dropout=0.2, recurrent_dropout=0.2))(elmo_embedding)
x = Dense(32, activation='relu')(x)
predict = Dense(2, activation='sigmoid')(x)
model = Model(inputs=[elmo_input], outputs=predict)
model.compile(loss='mse', optimizer='sgd')

This code works ok if the input of my network is a list with more than two strings, for example ['hello' , 'my name is Simone'].
If my input is a list with only one element (['hello']), this error appears:
tensorflow.python.framework.errors_impl.InvalidArgumentError:
 input must be a vector, got shape: [] .   [[{{node lambda_1/module_apply_default/StringSplit}}]]

This error is reproducible both in training mode ( batch_size = 1) and inference mode ( if I want to make inference on 1 element for example).
Looking at the error node lambda_1/module_apply_default/StringSplit} I think that the problem is in the Lambda layer, for the fact that in function make_elmo_embedding the tf.squeeze operation cancels the dimension = 1 and the input vector results of dimension = []. I tried to delete tf.squeeze but other errors occured.
What you suggest to solve this situation in order to make this model definition compatible both for single and multiple example lists?
Thanks
I am using Tensorflow 1.13.1

@simonefrancia In future, please post TF_Hub related issues in the Hub Repo. Thanks!

Hi, I am facing the same problem when sample size is (batch_size)*iteration + 1, it produces the same error tensorflow.python.framework.errors_impl.InvalidArgumentError: 2 root error(s) found.   (0) Invalid argument: input must be a vector, got shape: [] 	 [[{{node lambda_1_1/module_1_apply_default/StringSplit}}]]   (1) Invalid argument: input must be a vector, got shape: [] 	 [[{{node lambda_1_1/module_1_apply_default/StringSplit}}]] 	 [[_arg_bidirectional_1/keras_learning_phase_0_3/_1329]]
Since you've closed the issue already, did you fix the bug? @simonefrancia

The root cause of this issue is tf.squeeze , that reduces all dimensions that equal 1 and if you have only 1 example, n_samples dimension is reduced as well.
To overcome it you should specify axis, that could be removed during the squeezing.
tf.squeeze(z, axis=1)

This version of Keras lambda function works for me:
def make_elmo_embedding(x):
    embeddings = embed(tf.squeeze(tf.cast(x, tf.string), axis=1), signature="default", as_dict=True)["elmo"]
    return embeddings


Parameter highlighting problem with array constructors

When passing an array via on-the-fly construction using the [data_type:: a,b,c] syntax to a function or subroutine, the tooltip gets confused. Each comma used in the array constructor skips to the next suggested function parameter. In the example picture below, the tooltip shows parameter b, even though we are still in the array constructor of argument a.

Thanks for the report, I had never seen this syntax before. Do you have a reference to this feature definition in compiler documentation or somewhere so I can be sure to support all the possible syntax forms?

Sure, I had to look it up myself as there is a zoo of different array-related syntax out there. The syntax [a,b,c] is part of the Fortran 2003 standard and is AFAIK equivalent to the older (/a,b,c/) constructor.
A good resource explaining the syntax as well as covering some other ways of initializing arrays can be found at https://software.intel.com/en-us/node/678554.
If you happen to have a copy of the Fortran 2003 Handbook by Adams et. al., the syntax is explained in detail in section 4.5. Array Constructors.
I hope these resources are helpful.

Thank you for the effort. I really appreciate the work you put in.


feat(users): add update user form

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


dangerouslySetInnerHTML vulnerability?

Hi,
I'm quite new to FE-development and have a security question:
Is it a possible vulnerability that dangerouslySetInnerHTML is being used here, in the case of accepting user input?
Thanks for your help!

In short, the implementation of  dangerouslySetInnerHTML is secure and no user input can cause harm when passed straight to the Latex component.
As you mention, the component is indeed calling dangerouslySetInnerHTML, but only with the value we get after calling katex.renderToString(). Any user input submitted will only be interpreted as a string or a valid latex entity.
If a user tries to enter HTML, you'll see that the whole HTML snippet is rendered as a string on the page, so no need to worry about user generated input.   To give you a better idea on how it will work, try entering some HTML on the KaTeX Demo page: https://katex.org/#demo

In short, the implementation of  dangerouslySetInnerHTML is secure and no user input can cause harm when passed straight to the Latex component.
As you mention, the component is indeed calling dangerouslySetInnerHTML, but only with the value we get after calling katex.renderToString(). Any user input submitted will only be interpreted as a string or a valid latex entity.
If a user tries to enter HTML, you'll see that the whole HTML snippet is rendered as a string on the page, so no need to worry about user generated input.   To give you a better idea on how it will work, try entering some HTML on the KaTeX Demo page: https://katex.org/#demo

Great, thanks for the explanation.

Great, thanks for the explanation.


latest max column_name instead of sql_last_start

At the moment, it is not possible to query database like: "SELECT * FROM TABLE_NAME where id > : last_saved_id"
and not by using built-in parameter "sql_last_start" e.g. "SELECT * FROM TABLE_NAME where timestamp > : sql_last_start".
I don't have timestamp in my table and I want to schedule logstash to have jdbc input and output in elasticsearch.
I dont want to query whole table, I want to query only new entries from database but I don't know how and where to save the "id" from previous input. This id will be used in next scheduled time.
If you found this worth to be implemented in the future please do.

This would be a very useful feature for some that have ordered fields representing IDs. We may add this into the next release of this plugin

+1 for this feature.
I've got a lot of event data that I'm importing from SQL and I can't use sql_last_start (as the query is against a subscriber DB that gets updates shipped to it on a periodic basis).
Ideally being able to specify the column that contains my ID, and have that kept between runs would be great.

+1 - Will be much more useful than :sql_last_start. Even if you have a timestamp column you couldn't use it in conjunction with :sql_last start if logstash runs on a different server and you couldn't guarantee that system times are in sync.

+1 exactly what I meant https://github.com/logstash-plugins/logstash-input-jdbc/issues/46

+1

@igiton @willhughes @alaendle @nitram4 @crazw
You've all asked for this feature.  Is it preferred to be in addition to sql_last_start or should it be an either-or thing?  The current push in #108 is in an either-or configuration.  While I can't imagine it being a highly desirable feature to be able to use both, I am only one user whose opinion is just that.

@untergeek hey, thanks for working on this.
I don't use the existing sql_last_start functionality, so having it be one or the other is fine by me.

/cc @acchen97 - any thoughts on keeping both the options or either of them?

I like the way the current PR is (either-or).  I expect most users to use this to accurately track a particular PK or UUID.  Depending on how popular the "tracking by column value" option is, it may even make sense to make it default in the future.
Would love validation from others who have requested this feature though. :)

exactly, this feature will solve lot of issues with incremental fetching of data...

At the moment I couldn't imagine a scenario where it makes sense to use both - so I also vote for the either-or approach. Many thanks for your work!

@igiton @willhughes @alaendle @nitram4 @crazw
Feel free to upgrade your jdbc plugin to 3.0.0, which now has this feature.
To make use of it, you need to add/set the following options:
  jdbc {
    # ...other config...
    use_column_value => true
    tracking_column => MY_COLUMN_NAME
    # ...other config, if any...
  }

Also changed is the built-in metadata.  When using timestamps to determine which rows to get, this was called sql_last_start.  In order to keep it simple, and with one metadata value, this is now sql_last_value.  sql_last_value will hold the last column value from tracking_column, so you can set up a query like:
jdbc {
  statement => "SELECT id, mycolumn1, mycolumn2 FROM my_table WHERE id > :sql_last_value"
  use_column_value => true
  tracking_column => id
  # ... other configuration bits
}

Please open a new issue if you encounter any problems.

awesome, can be also used for timestamp fields?

@nitram4 I don't see why not.  It's a stored value.  If you can do a timestamp comparison in a query string, then using the stored value should just work.

@untergeek - Tanks and missiles man !!!
Way to go. I upgraded to 3.0.0 and voila ....

thanks, its working !!! i needed it so much. Thanks again

Would you please update the guide in elk page, where the sql_last_start was still used:
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html#plugins-inputs-jdbc-record_last_run

@tianchao-haohan please see master for the latest doc version: https://www.elastic.co/guide/en/logstash/master/plugins-inputs-jdbc.html

Got that, thanks!

Any chance a tracking column could be a concat or expression of multiple columns?  I.e. (timestamp + some_other_column)?

@geeklisted feel free to open an issue around this specifically.
one way to achieve this today is to alias a concatted field as is done in these examples: http://www.sqlbook.com/SQL/SQL-CONCATENATE-24.aspx. and using that field name as the tracking column