你好，linux preempt-rt 内核安装nvidia驱动绕开了驱动的实时检查，使用的时候没有问题么，毕竟nvidia不支持实时内核

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 18.04):
Apollo installed from (source or binary):
Apollo version (3.5, 5.0, 5.5, 6.0):
Output of apollo.sh config if on master branch:

Steps to reproduce the issue:

Please use bullet points and include as much details as possible:

Supporting materials (screenshots, command lines, code/script snippets):

It depends on whether the nvidia runtime reports an error or not. This problem may be relatively difficult to identify, if you have questions, we can continue to follow up : )

你好，我们使用工具对rt-linux进行检测的时候遇到了一些问题，希望可以一起探讨下。具体如下：
问题：BUG: scheduling while atomic: irq/62-s-nvidia/2544/0x00000002
硬件环境：
显卡： nvidia geforce 1660
主机： x10/x11 (x86结构)
软件环境：

kernel 4.4.245 + rt patch (CONFIG_PREEMPT_RT_FULL=y)
Index of /pub/linux/kernel/projects/rt/4.4/older/patch-4.4.245-rt211.patch.gz
https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.4.245.tar.xz
nvidia-driver 440.82
NVIDIA - 驱动下载
3. 使用独立显卡，kernel编译依赖 /usr/src/nvidia-xxx

问题复现过程：
添加内核测试配置kmemleak、kasan，安装新的内核，启动后dmesg发现如下bug
Call Trace：
BUG: scheduling while atomic: irq/62-s-nvidia/2544/0x00000002
Modules linked in: tcp_lp sunrpc dm_mirror dm_region_hash dm_log nls_iso8859_1 nvidia_drm(PO) snd_hda_codec_realtek snd_hda_codec_generic nvidia_modeset(PO) iTCO_wdt nvidia(PO) iTCO_vendor_support i915 snd_hda_codec_hdmi dell_wmi sparse_keymap ipmi_msghandler coretemp dcdbas dell_smm_hwmon kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd psmouse pcspkr snd_hda_intel snd_hda_codec snd_hda_core snd_hwdep snd_seq snd_seq_device snd_pcm input_leds snd_timer joydev snd soundcore i2c_i801 shpchp mei_me mei ioatdma 8250_fintek mac_hid sch_fq_codel ip_tables x_tables xfs libcrc32c hid_generic serio_raw nouveau mxm_wmi ttm uas video usbmouse usbkbd igb drm_kms_helper syscopyarea ptp sysfillrect pps_core
sysimgblt fb_sys_fops dca usbhid i2c_algo_bit usb_storage hid drm ahci pata_acpi libahci wmi fjes autofs4
Preemption disabled at:[] nv_post_event+0x3f/0x1a0 [nvidia]
CPU: 0 PID: 2544 Comm: irq/62-s-nvidia Tainted: P        W  O    4.4.245-rt211-kmemleak-kasan- #1
Hardware name: Dell Inc. Precision 7920 Tower/060K5C, BIOS 2.14.0 07/27/2021
ffff88085e21f9c0 1db3cb38f948d5eb ffff880832baf758 ffffffff8164a175
ffff8808329dc800<PHONE_NUMBER>000002 ffff880832baf778 ffffffff81110bd2
ffff88085e21f9c0<PHONE_NUMBER>01f9c0 ffff880832baf7d8 ffffffff81d5367f
Call Trace:
[] dump_stack+0x6f/0x9a
[] __schedule_bug+0x82/0xe0
[] __schedule+0x8ff/0x980
[] ? _raw_spin_unlock+0x1f/0xa0
[] schedule+0x80/0x150
[] rt_spin_lock_slowlock+0x23a/0x3f0
[] ? __rt_mutex_slowlock+0x290/0x290
[] __rt_spin_lock+0x38/0x40
[] rt_write_lock_irqsave+0xe/0x20
[] create_object+0x290/0x500
[] ? kmemleak_disable+0x70/0x70
[] ? memset+0x31/0x40
[] kmemleak_alloc+0x4e/0xb0
[] kmem_cache_alloc_trace+0x103/0x270
[] nv_post_event+0x6d/0x1a0 [nvidia]
[] _nv030949rm+0x147/0x180 [nvidia]
[] ? _nv027760rm+0x86/0x110 [nvidia]
[] ? _nv011148rm+0xed/0x180 [nvidia]
[] ? _nv011148rm+0xca/0x180 [nvidia]
[] ? _nv024567rm+0x251/0x3e0 [nvidia]
[] ? _nv024521rm+0x21/0xf0 [nvidia]
[] ? _nv014841rm+0x9b/0x240 [nvidia]
[] ? _nv027074rm+0x768/0x9f0 [nvidia]
[] ? _nv007421rm+0x17d/0x260 [nvidia]
[] ? _nv027081rm+0x8d/0x180 [nvidia]
[] ? _nv000911rm+0x10e/0x180 [nvidia]
[] ? nvidia_isr_common_bh+0x70/0x70 [nvidia]
[] ? rm_isr_bh+0x1c/0x60 [nvidia]
[] ? nvidia_isr_common_bh+0x60/0x70 [nvidia]
[] ? nvidia_isr_kthread_bh+0x11/0x20 [nvidia]
[] ? irq_thread_fn+0x42/0xa0
[] ? irq_thread+0x23f/0x320
[] ? __schedule+0x4fd/0x980
[] ? irq_forced_thread_fn+0xd0/0xd0
[] ? wake_threads_waitq+0x30/0x30
[] ? finish_task_switch+0xc2/0x350
[] ? __schedule+0x4f1/0x980
[] ? __schedule+0x4fd/0x980
[] ? __schedule+0x540/0x980
[] ? irq_thread+0x320/0x320
[] ? preempt_count_sub+0x18/0xe0
[] ? wake_threads_waitq+0x30/0x30
[] ? kthread+0x190/0x1b0
[] ? kthread_worker_fn+0x2d0/0x2d0
[] ? hracct_ret_from_fork+0x2f/0x40
[] ? kthread_worker_fn+0x2d0/0x2d0
[] ? ret_from_fork+0x55/0x80
[] ? kthread_worker_fn+0x2d0/0x2d0
参考网上分析过程：(备注：nvidia-driver官方配置说不支持full preempt rt)
参考链接：https://forums.developer.nvidia.com/t/real-time-patch-set-linux-driver-bug/147865
    The actual final callsite is likely nv_post_event:

    objdump -r ./kernel/nvidia/nv-kernel.o_binary | grep 704893

<PHONE_NUMBER>704893 R_X86_64_PC32 nv_post_event-0x0000000000000004 # call to nv_post_event

    nv_post_event from the open source component of the driver is as follows:

    On PREEMPT_RT_FULL, NV_SPIN_LOCK_IRQSAVE cannot block (as it is a raw_spin_lock), so it’s very likely the call to wake_up_interruptible is to blame.

    The core of wake_up_interruptible immediately contains a call to spin_lock_irq. On PREEMPT_RT_FULL kernels, spin locks are replaced

     with blocking priority inheriting mutexes. The last part of the stack trace shows blocking on just that:

    [ 5493.745534] rt_spin_lock_slowlock_locked+0x108/0x2d0

    [ 5493.745536] rt_spin_lock_slowlock+0x50/0x80

    [ 5493.745541] __wake_up_common_lock+0x61/0xb0

Are there any modifications that can be made to the open source layer to avoid the call to wake_up_interruptible? Can the call be deferred to a preemptable context with rcu? Can nvidia change binary component of the kernel driver to avoid calls to nv_post_event in non-preemptable contexts?
At 2022-02-24 08:50:25, "zero" @.***> wrote:
It depends on whether the nvidia runtime reports an error or not. This problem may be relatively difficult to identify, if you have questions, we can continue to follow up : )
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>

Thanks for share, looks like nvidia support is needed, we can keep track of this issue

好的，有进展了分享给我们，我们这边也继续跟进
--
发自我的网易邮箱手机智能版
在 2022-03-08 15:04:28，zero @.***> 写道：
Thanks for share, looks like nvidia support is needed, we can keep track of this issue
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>


Users patch branch 0.6

Description
PATCH api/users/{id} query parameter implemented. users.controllers.js and users.router.js. the user can edit and update: full_name, position, linkedin,github, website, profile_image_url. What if the id does not exists? the following message will appear: the cv with the id number :'${req.params.id}' doesn't exist in our database. Please check again!
Fixes # (29)
How to test?
type in the terminal npm run dev. after test it with POSTMAN select PATCH while using the endpoint
http://localhost:5000/api/users/{id} after that press send.
Checklist

[☑] I have performed a self-review of my own code
[☑] I have commented my code, particularly in hard-to-understand areas
[☑] I have made corresponding changes to the documentation
[☑] This PR is ready to be merged and not breaking any other functionality

Hi @DiegoRuiz454 , it looks good! Can i have you look at files changed, and go each of the github warning/errors related to your files?
Also, i don't understand why so many deletions is happening in the swagger file. I think this is unintended? :)

Hi @DiegoRuiz454 , it looks good! Can i have you look at files changed, and go each of the github warning/errors related to your files?
Also, i don't understand why so many deletions is happening in the swagger file. I think this is unintended? :)


"All the checkpoints will be downloaded automatically."

They dont download automatically in comfyui.

How did you use it?

I grabbed their example workflows and looked at the model names, then googled the name and downloaded them from Huggingface. But on generation all I get is a black image so I think I may have a wrong model  or version downloaded

Yeah I had to manually download the models, the workflows dont include a downloader node

Workflow screenshot or json file,pls?

Can anyone help with the model path expected for Gemma in Comfyui please - it can't autodownload because the model is gated - I have downloaded the files locally but need to upload to the expected structure- as I still get the 401 error when I hit queue whatever I call the directory (currently its in models/LLM/google/gemma-2-2b-it because that's what the workflow seems to be looking for

Besides, to be more clearly. This is our ComfyUI node: https://github.com/Efficient-Large-Model/ComfyUI_ExtraModels

Thanks, I wasn’t impressed with the Sana quality so didn’t peruse the workflow in the end thank you.


Fix CI by not overriding the version requirement for the money gem

Also test against Rails 5 release versions instead of master

:+1: lgtm, /cc @jasonwebster @Krystosterone

I've been diving a bit deeper in to this issue and I think there's room for improvement. https://github.com/RubyMoney/money/pull/606 led the change that broke the Robokassa test but upon closer inspection of OffsitePayments::Notification#amount it seems that subclasses should also return Money objects. I think it is better to have these overrides look like the example below instead of applying a quick fix (comparing two BigDecimals) to the tests, WDYT?
def amount
  Money.from_amount(gross, currency)
end

I agree, can you make the change?

Will do!


[Improvement] Token Usage Metrics for Each Task

Is it possible to get a usage metrics for each task after execution instead of a total usage metrics after the whole crew finished running? It would be easier to target tasks that use excessive tokens and reduce their token usage.

+1 - Would love this feature as well.  What I'm getting out of crew usage metrics and Langtrace aren't adding up and being able to solve it out via individual task metrics would be ideal.


Add Core Example: Conway's Game of Life

This PR introduces a new example to the examples/core directory: a basic implementation of Conway's Game of Life using raylib.

Since this example is a game, maybe it could be added to https://github.com/raysan5/raylib-games instead.
Hopefully so the core examples could be kept more for demonstrating the main functions of the library.

Since this example is a game, maybe it could be added to https://github.com/raysan5/raylib-games instead. Hopefully so the core examples could be kept more for demonstrating the main functions of the library.

Yeah, you are right, I'll go ahead and prepare a PR for that repo instead. Thanks for pointing that out!


fix the node pool name in the kubevirt 2e2 test

The expected node pool name in the kubevirt test was changed to include AWS zone, where there is no AWS zone in kubevirt cluster, an so the test is fails because it can't find the node pool with the wrong name.
This PR reverts the naming change in the kubevirt test.
Signed-off-by: Nahshon Unna-Tsameret<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

r/node pull/NodePool ?

/approve

/lgtm

My bad! I feel like this is going to happen somewhat frequently without kubevirt e2e in CI.

Right. Working on it - that how I noticed this issue.


Decompose forward function into initialize, predict, update

As discussed in #104, this PR takes the existing forward filtering code and decomposes it into separate functions for initialising the filter, predicting the next state and updating the filtered state.
 This is because the logL in storage is not updated until the full forward filtering is completed. This could be resolved by passing a k argument into forward! and updating logL[k] in-place but changing this signature had knock on effects on other algorithms (e.g. Baum-Welch) so I've left for now
The prediction step is skipped for t=1 since we just use the initialisation value.

On the bright side, this decomposition has made the indexing a bit easier to understand. The loop is now t1:t2 and the main index used is t rather than t+1 before.
All correctness tests pass but there are few test cases in the AD/temporal examples that are failing. Happy to look into these but @gdalle might be able to instantly spot what's wrong.

@THargreaves what do you think? Are these the functions you would need to be part of the public API?

Yes, those are perfect. Thank you for making the changes!
I'm not sure if they necessarily need to be part of the public API as we'll be wrapping them to match our slightly different type signature. If that's the easiest way to make sure these methods don't change though that might be best.

Indeed if it's not part of the public API then it is vulnerable to change at any second. My suggestion is that I'll first release a new version of HMMs including them as private API, that way you can experiment and see what's missing. Once your code stabilizes, we'll figure out the best way to make its ingredients public API in HMMs.

Sounds like a plan 👍


Scrollable Say Dialogs

This was a feature requested on the forums
http://fungusgames.com/forum/#!/general:scrollableexpandable-dialo
To get this to work, we need to be able to specify different input modes for advancing the text (click anywhere, click on text, click on button, keyboard input). We also need to make the scroll rect scroll down automatically when new text is displayed.

(Comment from Marcin Ruskiewicz)
@vividfoundry Yeah, I actually never got into Ren'Py, so it kinda slipped my mind as I haven't played that many games made with it, I was just curious since to me, the whole rollback mechanism doesn't feel right or user-friendly at all.
@fungusprime Yes, two separate systems just as you described would be most awesome.

(Comment from Tanya)
@fungusprime I understand, and I agree with your thinking on the two separate systems, as well as more customized UI commands for things such as a scrollable dialog box! That would be a major help, as I am getting stumped on this! Thank you.
@marcinruszkiewicz I wasn't sure which VN tradition you came from, and I agree that history / log / read-only transcript is the design mechanism that I would want to use in the foreseeable future as well.
I do know that game engine Ren'Py uses rollback choice mechanic as standard and default (documentation here), thus, a lot of games created within that community features rollback with choices. The engine also has a proper save slots function as standard, but I think their design consideration is that it more mirrors a chose-your-own-adventure in a printed book, allowing you to switch your previous choices at will. Games such as Long Live the Queen and Dysfunctional Systems and fan-translated Japanese VNs have this style.
Personally, I prefer history logs, so that the player experiences the game generally chronologically to how it is written, and s/he can chose to have a different play-through as a separate game, rather than within the game experience itself. It makes choices feel more finite. I'm glad that we're thus referring to the same design considerations, and much ado about nothing on my end! Sorry if there was any confusion.

(Comment from Chris Gregan)
@vividfoundry @marcinruszkiewicz I think this would be two separate systems.
History / Log - a read only transcript of the story and choices so far which appears in a separate window.
A scrollable dialog box where you can scroll back to see earlier decision points and choose a different option.
My thinking on this at the moment is to keep the Say & Menu commands specialised to make it easy to make a classic Visual Novel, but then to also provide more generic UI commands which allow you to work with very customised UI layouts.

(Comment from Chris Gregan)
@andrewvasiliev Auto-splitting sounds like a useful feature. Will add it to the list. You can currently do a manaul split in long block of text by adding a {wc} tag.

(Comment from Marcin Ruskiewicz)
@vividfoundry Most VN's don't do this though - the history is usually just what the name suggests, a log of previous choices and dialogs/descriptions. Most of the time it's also called "log" anyway.
As a little offtopic - I wasn't actually aware of this rollback mechanic tbh, do you have some examples? With a proper save system you don't have to rollback and I'm not so sure it would even be a good thing from a game design perspective. Seems really confusing.

(Comment from Tanya)
Thanks so much Fungus team for continuing to work on this! Really looking forward to next release that includes more options in the Dialogs class to include scrollable say dialogs.
Agreed with @marcinruszkiewicz as well that I look forward to a History function with visual novels as well. I also wonder if there is an option for History to enable or disable changing previously made menu choices? I believe this would impact gameplay. I personally prefer disabling choices in history once they have been made, and thus gameplay functions like Dragon Age and Telltale's Walking Dead where the player cannot roll back the dialogue that has already made, unless the player reverts to an earlier save. However, I am aware that some Japanese-styled visual novels principally prefer the rollback method so that the player can change choices and see more branches of the story.

(Comment from Andrew Vasiliev)
Sorry in advance if writing in wrong place.
Will scrollable say dialog include option to auto-split to next page/say provided text at certain length or {next say} mark?
Would help a lot when you have a long texts that doesn't fit into one screen but said by one actor or narrator. Anyway looks promising, keep it up ;)

(Comment from Chris Gregan)
Thanks for the screenshot, that helps. I'll work this into the upcoming design pass we're doing to improve the flexibility of dialogs and UI components.

(Comment from Marcin Rusjkiewicz)
@fungusprime Sorry for the delay, though week. Anyway.
I think the history should be a specialised dialog, something to the tune of http://games.aevi.pl/external/kirakira_textlog.png (ignore the strange fonts on that screen), where you have dialogs and I've managed to capture a menu choice as well. It's probably not the best example, as it could be improved a lot by simply adding character names and formatting it better, but it's the only VN I have on hand right now, so I guess it'll have to do. ;)
It kinda evolves the simple "this dialog can be scrolled up and down" feature request, so maybe it would be a nice idea to separate them, as scrollable normal Say dialog boxes would be also nice.

(Comment from Chris Gregan)
@marcinruszkiewicz Good suggestion, thanks! It's easy enough to keep a record of previous narrative and menu choices. One question is what would happen if you're using several different Say dialogs to present the story. Would you be able to scroll back through the history in each dialog? Or would this be more of a specialised dialog type?

(Comment from Marcin Ruskiewicz)
This will be useful on its own (especially the "click on text to advance" part), but it would be even more useful with having some sort of history component, that could show the past narrative (with character names) + which choices the player selected in menus.
It's common enough in most Visual Novels I think.


Upload to NPM under @catppuccin scope

Depends on #1
Once updated to the v0.2.0 palette, we should aim to publish an NPM package under the existing @catppuccin NPM organisation.
I think something like @catppuccin/thelounge makes sense.

Looks like https://github.com/thelounge/thelounge/pull/4907 got merged a while back which is neat! @arminius-smh
I guess we'd have to wait until a release is cut before we could test if our npm packages are able to be downloaded.

Looks like thelounge/thelounge#4907 got merged a while back which is neat! @arminius-smh I guess we'd have to wait until a release is cut before we could test if our npm packages are able to be downloaded.

Yup! Well, they can be with the master branch.
after node indedx install<EMAIL_ADDRESS>(note index is the same as the the-lounge executable, just for dev purposes)
This is just the current catppuccin mocha package I uploaded, only with my changed name

npmjs.com

(and here on npmjs.org a screenshot since I will delete the test package in 2 days again because of npm deletion rules it'll stay on my page forever/have to write to support to remove it)
I just thought of waiting for a new stable release since most official installation methods(maybe all?) seem to use a stable version

@sgoudham sure, sounds good to have everything set up already, go ahead/tell me if there is anything you need me to do for that
I should get notified by watchtower when my thelounge docker container has a new update, so I'll know when a new version is released and I can make a pr for the readme update accordingly then

I've published all the packages:

I'll create a new tracking issue for updating the documentation, thanks again for your work on this.


check for unused packages

i'm was just curious. i'm not sure if this is useful.
but we do have some inconsistency

I think not all of them are safe to remove, but I'm happy if you wanna try out your luck :)


How to configure isort to split imports

Neovim version (nvim -v)
0.9.5
Operating system/version
Windows 10
Add the debug logs

[X] I have set log_level = vim.log.levels.DEBUG and pasted the log contents below.

Log file
Not log file
Describe the bug
Not bug
What is the severity of this bug?
minor (annoyance)
Steps To Reproduce
Hello. Can you tell me how to make a setting to separate imports? At the moment it does not work.

Expected Behavior
There should be a division by packages
before

after

Minimal example file
Tell me what I'm doing wrong?
Minimal init.lua
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "--single-branch",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  {
    "stevearc/conform.nvim",
    config = function()
      require("conform").setup({
        log_level = vim.log.levels.DEBUG,
        -- add your config here
      })
    end,
  },
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Additional context
How to set it up?

You need to pass the sections in as an argument, presumably. I don't know where you got the idea to use the syntax you are using, but conform does not take arbitrary fields in the definition of the formatter. You can see the exact fields that are supported in the options documentation.

I passed it as an argument but it doesn't work.

Please check out the new docs I have written to aid with debugging: https://github.com/stevearc/conform.nvim/blob/master/doc/debugging.md


Test case of Item.count() sometimes fail

環境 Environment

OS version: macOS 10.14.3, Travis CI, Appveyor CI
Elona foobar verision: develop

詳細 Details
2.608 s: Core API: FOV
TEST FILE: item.lua
	test Item.create	pass:  8   fail:  0    246ms
	test Item.has_enchantment	pass:  2   fail:  0    251ms
	test Item.count 	pass:  2   fail:  0    243ms
FAILURE: tests/lua/item.lua:59: (3 != 2)
FAILURE: tests/lua/item.lua:64: (4 != 3)
	test Item.iter  	pass:  0   fail:  2    262ms
SOME TESTS FAILED (12/14)

再現方法 How to reproduce
under investigation...

Might be due to the fact that maps with type dungeon will sometimes spawn a fountain with a 1/20th chance. I think I might have fixed this in some branch.
https://github.com/ElonaFoobar/ElonaFoobar/blob/1613bd012c3370d48c86dc76dc2b8854776515ce/src/elona/map.cpp#L59-L79

This commit has fixed the bug. Closing.


I want to be able to record position of the boat every given timeframe (e.g 1min)

to record the route of the survey regardless of absence of observations made during the survey

Suggest this is done as part of the trip, i.e. user enters trip details and then the app records geometry for that 'trip' based on GPS location. This ties in neatly with the way QField works, but experience may be a different from existing app.
Also recommend that position is updated based on minimum time (1 min) and minimum positional change (e.g. n.nn degrees or nnn metres). Otherwise it will still keep tracking position if the boat stops, which will mean a bunch of positions all in roughly (but not quite) the same place and will look like a small squiggle in the track of the boat.

Comment by EW - to view my survey track during the survey via the mainscreen
I can see that my GPS is working and can see the land masses in my vicinity


[url_launcher] The windows demo is breaking build_runner builds because of pigeon

Steps to reproduce
Add url_launcher and json_serializable to your pubspec.yaml. DON'T add pigeon, adding it fixed the issue (But I don't want to use it).
Here's mine:
environment:
  sdk: '>=3.1.5 <4.0.0'
  flutter: '>=3.3.0'

dependencies:
  dio: ^5.3.3
  firebase_remote_config: ^4.4.2
  flutter:
    sdk: flutter
  flutter_bloc: ^8.1.3
  flutter_web_plugins:
    sdk: flutter
  freezed_annotation: ^2.4.1
  gap: ^3.0.1
  get_it: ^7.6.4
  json_annotation: ^4.8.1
  logging: ^1.2.0
  meta: ^1.9.1
  package_info_plus: ^4.2.0
  plugin_platform_interface: ^2.0.2
  url_launcher: ^6.2.1

dev_dependencies:
  build_runner: ^2.4.6
  flutter_test:
    sdk: flutter
  freezed: ^2.4.5
  json_serializable: ^6.7.1
  mockito: ^5.4.3

Add some freezed code, then run dart run build_runner watch -d
Expected results
build_runner will run without errors
Actual results
We get this error in the console:
[SEVERE] json_serializable on example/ios/.symlinks/plugins/url_launcher_ios/pigeons/messages.dart (cached):

line 1, column 925 of asset:mpf_forced_updates/example/ios/.symlinks/plugins/url_launcher_ios/pigeons/messages.dart: Could not resolve annotation for `abstract class UrlLauncherApi`.
  ╷
1 │ @HostApi()
  │ ^^^^^^^^^^
  ╵
[SEVERE] json_serializable on example/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows/pigeons/messages.dart (cached):

line 1, column 204 of asset:mpf_forced_updates/example/windows/flutter/ephemeral/.plugin_symlinks/url_launcher_windows/pigeons/messages.dart: Could not resolve annotation for `abstract class UrlLauncherApi`.
  ╷
1 │ ┌ @ConfigurePigeon(PigeonOptions(
2 │ │   dartOut: 'lib/src/messages.g.dart',
3 │ │   cppOptions: CppOptions(namespace: 'url_launcher_windows'),
4 │ │   cppHeaderOut: 'windows/messages.g.h',
5 │ │   cppSourceOut: 'windows/messages.g.cpp',
6 │ │   copyrightHeader: 'pigeons/copyright.txt',
7 │ └ ))
  ╵
[SEVERE] Failed after 311ms

Code sample
I don't think this is related to code, I think the dependencies from the plugin are not well defined so build_runner is getting confused about them.
Screenshots or Video
No response
Logs
No response
Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.19.6, on macOS 14.4.1 23E224 darwin-arm64, locale en-AU)
    • Flutter version 3.19.6 on channel stable at /Users/michelfeinstein/.puro/envs/stable/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 54e66469a9 (3 weeks ago), 2024-04-17 13:08:03 -0700
    • Engine revision c4cd48e186
    • Dart version 3.3.4
    • DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/michelfeinstein/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/michelfeinstein/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)

[✓] IntelliJ IDEA Community Edition (version 2023.2.5)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 76.3.4
    • Dart plugin version 232.10248

[✓] VS Code (version 1.85.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.80.0

[✓] Connected device (3 available)
    • iPhone 15 Pro (mobile) • E37C05EC-694C-4EDF-928A-4D162D46673E • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-2 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 124.0.6367.119

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Hi @feinstein
I checked this on a new Flutter project with adding only two package as mentioned, but couldn't see the issue:
➜  repro_147909 dart run build_runner watch -d
Building package executable... (10.6s)
Built build_runner:build_runner.
[INFO] Generating build script completed, took 435ms
[INFO] Precompiling build script... completed, took 5.4s
[INFO] Setting up file watchers completed, took 19ms
[INFO] Waiting for all file watchers to be ready completed, took 199ms
[INFO] Building new asset graph completed, took 1.5s
[INFO] Checking for unexpected pre-existing outputs. completed, took 1ms
[INFO] Generating SDK summary completed, took 6.7s
[INFO] Running build completed, took 20.2s
[INFO] Caching finalized dependency graph completed, took 110ms
[INFO] Succeeded after 20.3s with 48 outputs (100 actions)

Here are my dependencies:
dependencies:
  flutter:
    sdk: flutter

  # The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.6
  url_launcher: ^6.2.6
  json_serializable: ^6.8.0

dev_dependencies:
  flutter_test:
    sdk: flutter

  build_runner: ^2.4.9

Looks like you are using old versions, could you try upgrading them to the latest versions and retry?

Sorry I will try, I ran pub upgrade, but forgot to check the latest versions.

[SEVERE] json_serializable on example/ios/.symlinks/plugins/url_launcher_ios/pigeons/messages.dart (cached):

You appear to have build_runner configured to iterate into .symlinks. That directory is part of the flutter build process, and any other use of it is unsupported. In this case, it would be comparable to including build or .dart_tool in your input set.
As a result of the above it appears to be iterating into all directories of all plugin in the dependency tree. The pigeons directory of url_launcher_ios is not part of its public interface, so using it is unsupported. As with any dependency, you should only be using things from lib, and that constraint is violated the usage is not supported, and is subject to breakage at any time. Certainly if you are ending up with dev-only files of other packages as inputs (in violation of package conventions), it is expected that you would have issues if you don't include the dev dependencies of that package.
Closing as this is a configuration issue, not an issue with url_launcher.


ContextMenu/Flyout do not work anymore after the app was opened for a while, and flyout crash

Describe the bug
When I let my app running for a long time (1h or more I don't know), I cannot open ContextMenu anymore, and when I try to open a flyout, such as the ColorPicker button, I got a crash with: 'System.ComponentModel.Win32Exception' in Avalonia.Win32.dll
Don't know if that problem already reported?
To Reproduce
I am not sure how to reproduce, but it happened to me several times when I was going to eat, or doing something else with the application running.

OS: Windows 11
Avalonia-Version: 11.0.5

Do you have a sample to reproduce? I wonder if you see any memory leak?

A more specific error message might help as well if it can be recorded.


Does CCO contradict an example-of-usage annotation for object property RO_0000059 (concretizes)?

One of the example-of-usage annotations for RO_0000059 (concretizes) is:

An investigator reads a protocol and forms a plan to carry out an assay. The plan is a realizable entity (a specifically dependent continuant) that concretizes the protocol (a generically dependent continuant), and both depend on the investigator (an independent continuant). The plan is then realized by the assay (a process).

In CCO, Plan (class CCO_0005057) is a generically dependent continuant. Is this class different from the intended meaning of "plan" in the OBO relation ontology? If so, I recommend adding an annotation explaining the distinction.

Given the switch away from RO, does this issue seem to be resolved?

No longer relevant. But yes, OBI makes a distinction between the GDC 'Plan Specification' and RE 'Plan', which is concretized in one's brain. CCO's 'Plan' mirrors OBIs 'Plan Specification'.


cEUR governance proposal

Expected Behavior
Please describe the behavior you are expecting
Current Behavior
What is the current behavior?

Dupe of #6644


Infer :one, :many, :exec from query

User php_questions on Reddit asked why the query notations were required.

Why not? If a query contains "limit 1" then you know it will only return a single row.
Why not just return a slice of results in almost all other queries? you can still have 0 results in that slice or 1 result in this slice.

There are some cases where we can infer it directory from the query.

If a SELECT includes a LIMIT 1, choose :one:

Otherwise, SELECT will always return a slice

If a CREATE / UPDATE / INSERT has no RETURING, return a sql.Result. This is a mix  of :exec and :execrow.

A corner case is UPDATE with RETURNING, which does not support LIMIT 1.

what about a SELECT that has a WHERE clause with an = operator on a UNIQUE/PRIMARY KEY column?

I think the comments are 100% needed. Not every single database contains all information about what is unique or not in the database itself.  Perhaps I don't want the overhead of a unique index / constraint on a table where that is enforced at the application layer, or by some other mechanism.
Or perhaps I just added a unique constraint, and I want sqlc to still return :many as it did previously (to maintain API compatibility with what was previously there).  This is less of an issue with go, but a BIG issue with dynamic languages.

You could do this the other way as an easy optimization: add LIMIT 1 to :one select queries.

There might be a case, when you specify LIMIT 1, but still need a slice to pass it down the stream. This is kind of magic that doesn't save time, but adds extra cognitive overhead and hours of fights with the library itself.


Metrics add sliding time window statistics

Add max,avg,min statistics

Codecov Report

Merging #12364 (3278398) into 3.2 (9b9688c) will decrease coverage by 0.31%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                3.2   #12364      +/-   ##
============================================
- Coverage     69.67%   69.37%   -0.31%
+ Complexity      341        2     -339
============================================
  Files          3435     1609    -1826
  Lines        161641    66384   -95257
  Branches      27078     9736   -17342
============================================
- Hits         112618    46051   -66567
+ Misses        39136    15866   -23270
+ Partials       9887     4467    -5420

see 1851 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Metrics

I see that metrics are a bit basic. I dealt with production ML models, DS, BA, and policy makers might want to use more advanced metrics.
For example, if it is a classification problem then:
Discrimination Power:

Area Under Curve (AUC ROC).
Kolmogorov-Smirnov Statistic (KS)
Accuracy Ratio (AR) based on Accuracy Profile
Pietra index
Precision at Recal

Distribution and Skew:

Brier score
Hosmer-Lemeshow (HL)
Jensen-Shannon distance (JSD)
Herfindahl-Hirschman Index (HHI)

Arguable, for ranking you would use other metrics. Best place would be to make a server of literature and recommendations from consulting companies like BCG or Accenture on what they recommend for the enterprises who develop recommendation systems.
Also, would be good if you show how your models/system compare to other solutions.

I consider to add more metrics in the future. The only metric, precision, is not enough to evaluate a model.


Is webrtc (adapter-latest.js) a dependency for WebAudioTrack?

@danielstorey This library is brilliant!
Just a quick doubt, in the index.html we have the below script tag, is it really needed?
 <script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>

@Jaikant I just tried it without that script on OSX Safari 12 and Chrome latest, and on Android Chrome, and it worked fine. Since there aren't any script errors that I could see, I'm guessing it's no longer used. Someone should try it on iOS Safari etc. and Firefox?

Thanks guys. You'll probably find that most devices/browsers work without the above script. However if you look at the repo you'll see that it's provided as a shim to insulate apps from spec changes and prefix differences so it's probably best to leave it in - just in case any changes in the future with any new releases.
That being said, I noticed that I was linking to the fork instead of the original. I have updated the link and included it in the js module so there is now no need for you to include manually in your html.


Cost Explorer API (8/n): allow aws-ce-grafana-backend software to be traitlets configurable (in a "chart passthrough" manner)

Its not clearly decided what should be configured and how, but we need a system to provide configuration for the software.
An example of something that needs to be configurable is the clustername (the AWS resource naming, so openscapeshub and not openscapes for example).
Definition of done

Establish a traitlets based system that allows chart config -> software config in a way that doesn't make the chart understand what software config can be used.
Z2JH does this via jupyterhub.hub.config for example.
Setup the software to work with traitlets based config, trial with cluster_name
Setup and verify passthrough chart config of cluster_name works

I'm dropping this and going for hardcoded things as setting up a traitlets based system to configure the application was something I struggled with.

I've ended up settling for introducing a chart configurable environment variable for the cluster name, and will not try to make anything else configurable.


Remove Spark.publish calls and use remote upd port to send response

Spark.publish calls can cause errors when MDNS is used in cases where the Spark isn't connected to the Spark cloud. And I am guessing these we debug calls anyway
The response port for the MDNS query should be remotePort of the incoming UDP message.

Hi Chinmay,
Thanks for your pull request, I've merged it in. Have you found the library useful?
Mark

Thanks @mrhornsby. Yup! I'm planning to use it as a backup means to discover the SparkCore's IP address in cases of flaky connection to Spark cloud. This is my tentative branch. https://github.com/notthetup/voodoospark/commits/master
This is for running an upcoming nodeboats workshop


Docs: Actor serialization documentation

Description
This is my first draft of a new page in the documentation detailing how serialization works using the Dapr .NET Actors SDK today. It's my response to the issue raised https://github.com/dapr/dotnet-sdk/issues/679 which is marked as a bug, but reflects a misunderstanding of how the serialization engine handles records. My goal with adding this page is to provide an upfront resource for developers using actors to understand why serialization may not be working as expected out of the box and provide not only a solution, but an explanation.
I detail how serialization is performed to illustrate the benefits to either going the parameterless constructor route or decorating types and members with the applicable attributes and then share my recommendation to use attributes and why. I dive through several examples documenting expectations in classes, structs and records and then speak a bit to other related scenarios (collections, enums, polymorphic types) towards the end pointing back to the official documentation to keep this document from getting too verbose.
This is a documentation update only and changes no code in the SDK.
This replaces a previous PR in which I had a commit that had an invalid DCO.
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #679
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:
~* [ ] Code compiles correctly~
~* [ ] Created/updated tests~

[X] Extended the documentation

This doesn't mention JSON serialization, which IIRC is an option now?

@onionhammer That's right. This was intended largely to speak to the issue raised in #679 to explain why data contract serialization and records regarding actors didn't appear to work automagically (and to speak to why the new primary class constructors might yield a similar experience), but I didn't dig into the JSON serialization route at all.


This API is incredibly slow

This API is incredibly slow.  I'm talking about minutes to provides cost for a single ResourceGroup with a dozen objects.
Perhaps some guidance could be provided with the parameters to help define what exactly will improve the speed of this API?
Also, there's throttling that returns a 429 if we try to run concurrent requests...
[Enter feedback here]

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

ID: e05c0768-9cfc-3b78-4f39-70a8c1f0b6bd
Version Independent ID: b5e5d8fa-e84c-408a-3f49-19d245563abd
Content: az consumption usage
Content Source: latest/docs-ref-autogen/consumption/usage.yml
Service: cost-management-billing
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

consumption

Hi @DonPetry-EY, thanks for reaching out! Could you please provide us with a sample query you are running better understand and investigate the reason for slowness?

@DonPetry-EY @jochav I second this.
I'm also facing incredibly slow responses.
For example, I'm trying to get the monthly cost of a ResourceGroup by sending a POST request to
https://management.azure.com/subscriptions/{my-subscription-id}/resourceGroups/{my-resource-group-name}/providers/Microsoft.CostManagement/query?api-version=2019-11-01
with a JSON payload like below:
{     "type": "AmortizedCost",     "timeframe": "MonthToDate",     "dataset": {         "granularity": "None",         "aggregation": {             "totalCost": {                 "name": "PreTaxCost",                 "function": "Sum"             }         }     } }
and the response doesn't come back before ~5 seconds.
This is really frustrating.
You have an undocumented SDK, you redirect us to the use of API, which is also unusable due to its slow responses.
I want to make Cost-related queries for ~1500 RGs, how am I suppose to create a working solution for this if every request takes 5 seconds?

@DonPetry-EY I apologize for the slowness seen in this API. We are working to improve the speed of this in the future. Can you try running your requests again and let us know if it is still as slow as previously seen?
Regarding the throttling - do you know if others in your organization are running similar queries as well? How many concurrent requests are you trying to run? Info on our rate limiting can be found here: https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/manage-automation#data-latency-and-rate-limits
The usage details dataset can get extremely large as your number of Azure resources increases. If you continue to run into issues I would recommend chunking your requests into smaller date ranges. We also recommend that customers utilize our Exports feature. This is our most scalable solution for ingesting usage details data. Info on this can be found below: https://docs.microsoft.com/en-us/azure/cost-management-billing/costs/tutorial-export-acm-data?tabs=azure-portal

is anyone looking into it? it's still slow and gets slower. I run queries on monthly basis and each month it takes minutes longer to fetch data for last month. When I open the page in portal, the same number appears instantly.


Softdelete replies

resolves #906
Not owner reply delete modal needs to give a reason

Owner reply delete modal

Thanks a lot for this one @faissaloux!


Poor performance of containers

Hello !
Trying to add an unordered_map to ustl I wrote a small program to check the performance of it, and also comparing ustl implementations of containers with "std".
USTL on overall has a bad performance compared to "STD" see attached sources.
ust_performance.zip
The USTL Map container uses 46 times more time than the STD for numeric keys.
The USTL Map container uses 81 times more time than the STD for string keys.
Here is a snippet of the output for "std::":
Numeric keys!
Preparing data!
Time spent = 4 ms
sizeof(key) = 8

Map numeric key!
final size = 60000
Time spent = 171 ms

Set numeric key!
final size = 60000
Time spent = 181 ms

HashMap numeric key!
final size = 60000
bucket_count = 107897
load_factor = 0.556086
Time spent = 134 ms

String keys!
Preparing data!
Time spent = 71 ms

Map string key!
mismatch found at 32321, key =<PHONE_NUMBER>, value = 7339
mismatch found at 38672, key = 473457247, value = 32734
final size = 59998
Time spent = 299 ms

Set string key!
final size = 59998
Time spent = 308 ms

HashMap string key!
mismatch found at 32321, key =<PHONE_NUMBER>, value = 7339
mismatch found at 38672, key = 473457247, value = 32734
final size = 59998
bucket_count = 107897
load_factor = 0.556067
Time spent = 201 ms

And here the output for "ustl::":
Numeric keys!
Preparing data!
Time spent = 5 ms
sizeof(key) = 8

Map numeric key!
final size = 60000
Time spent = 8033 ms

Set numeric key!
final size = 60000
Time spent = 3920 ms

HashMap numeric key!
final size = 60000
bucket_count = 262144
load_factor = 0.23
Time spent = 89 ms

String keys!
Preparing data!
Time spent = 135 ms

Map string key!
mismatch found at 32321, key =<PHONE_NUMBER>, value = 7339
mismatch found at 38672, key = 473457247, value = 32734
final size = 59998
Time spent = 24444 ms

Set string key!
final size = 59998
Time spent = 18661 ms

HashMap string key!
mismatch found at 32321, key =<PHONE_NUMBER>, value = 7339
mismatch found at 38672, key = 473457247, value = 32734
final size = 59998
bucket_count = 262144
load_factor = 0.23
Time spent = 476 ms

This is a natural consequence of using vector as a map backend as a tradeoff of speed in favor of code size and simplicity. Inserting elements one-by-one will always be slower in that configuration due to having to rearrange the entire vector storage 60000 times. std::map is implemented as a linked tree, and so will always exhibit better performance in this scenario.
The example also illustrates the philosophical differences in program design between me and the academia who wrote the standard. Traditional teachings in data structures were to choose the appropriate container type for the task at hand, favoring linked containers because memory was slow and having to shuffle vector 60000 times would have been unimaginable 30 years ago. I instead always use vector for everything and design algorithms with that as a given. In your case, for instance, I would write all the map pairs into the vector first and sort the whole thing in bulk. I would also expect that reads will happen much more frequently than writes and so optimizing reads would be more important. Reads would be faster from vector because of cache locality effects and lack of memory fragmentation.
This philosophy resulted in uSTL having only vector, since I never use anything else, and is just one of the library's resulting pecularities. If you favor the academic philosophy of choosing the algorithms first and then selecting an appropriate container for it, then uSTL is simply not a good choice for you. The documentation already mentions this difference and so I'm resolving this as rejected by design.


All about servers

Add following contents about the servers: Servers file location

[ ] What is server
[ ] Different type of servers
[ ] All about servers

@Tikam02 : I'm willing to contribute on this issue. please assign it to me.

@jenistenxavier looking forward to it with good contents 👍🏻

Thank you.
Ref - https://github.com/Tikam02/DevOps-Guide/pull/97


Length time reward models

additional reward models based on length and time

To give a nice understanding of why this should not be used:

Average response +/- 100 tokens.
average speed of selfhosted AI models: 15-30T/s
average speed of openAI: 100T/s. (https://gptforwork.com/tools/openai-api-and-other-llm-apis-response-time-tracker)

This will heavily skew results in favour of sending a lot of garbage in a small amount of time. Better to use it as a "cut-off" (minimum tokens required) and time-out as a combination to control minimum token speed.

This will heavily skew results in favour of sending a lot of garbage in a small amount of time. Better to use it as a "cut-off" (minimum tokens required) and time-out as a combination to control minimum token speed.

I agree with the concern and we are adding additional safeguards to limit the effects of the system. Most of the reward will still be based on the reward models, however, this will give us a way to accurately tune how much emphasis to put on the fidelity of responses. We will continue to monitor the system after launch to ensure that the models are working as expected.


Major FMSI speedup.

For the documentation purposes, in the PR description, would it be possible to comment on why this is a major speed up and how this was achieved? I looked into the code changes, but don't immediately see it. Thanks :).

Yes, it would :). I'll add a despription of all the changes that have been made once I finish the PR.


Arb Bot Upgrade for next POL iteration

Add support for BNT > ETH trades on the POL contract.
-Create new exchange for new data gathering functions & events
-Add Arb mode to focus only on the BNT-ETH pairs
-Test end-to-end process on Tenderly

This was handled by PR #237 https://github.com/bancorprotocol/fastlane-bot/pull/237


Aqualab: Detector class for pauses in gameplay

Only look at player events so we don't get confused by automatic game events firing on a timer.
The class should have a "threshold" parameter that we can set in AQUALAB.json, then we can configure one or more instances of the detector for the 30, 60, 90, 120 thresholds, etc.

 To test: Aqualab Detectors for 30, 60, 90, 120+ pause in game play. Only look at player events so we don't get confused by automatic game events firing on a timer


heap-use-after-free on QUICLossDetector::_detect_lost_packets()

I got this crash while testing 500KB file transfer.
[Aug  7 16:04:32.303] {0xb0008000} DEBUG: <QUICNetVConnection.cc:1587 (_dequeue_recv_packet)> (quic_net) [c6e28b84-1965c992] [RX] PROTECTED packet #4 size=43
[Aug  7 16:04:32.303] {0xb0008000} DEBUG: <QUICFrameDispatcher.cc:65 (receive_frames)> (quic_net) [c6e28b84-1965c992] [RX] | ACK size=7 largest_acked=277 delay=3267 block_count=0 first_ack_block=45
[Aug  7 16:04:32.303] {0xb0008000} DEBUG: <QUICLossDetector.cc:227 (_on_ack_received)> (quic_loss_detector) [c6e28b84-1965c992] [PNS-1] Unacked packets 223 (retransmittable 0, includes 0 handshake packets)
[Aug  7 16:04:32.303] {0xb0008000} DEBUG: <QUICLossDetector.cc:242 (_on_ack_received)> (quic_loss_detector) [c6e28b84-1965c992] [PNS-1] Unacked packets 177 (retransmittable 0, includes 0 handshake packets)
[Aug  7 16:04:32.303] {0xb0008000} DEBUG: <QUICLossDetector.cc:445 (_detect_lost_packets)> (quic_loss_detector) [c6e28b84-1965c992] [PNS-1] Lost: packet delta is too large (PN=186 largest=277 unacked=186 threshold=3)
=================================================================
==67286==ERROR: AddressSanitizer: heap-use-after-free on address 0x60400003a958 at pc 0x000100b590fe bp 0x000007137550 sp 0x000007137548
READ of size 8 at 0x60400003a958 thread T6
[Aug  7 16:04:32.322] {0xb0018000} DEBUG: <QUICPacketHandler.cc:248 (_recv_packet)> (quic_sec) [00000000-1965c992] recv SH packet from <IP_ADDRESS>:59668 size=44
    #0 0x100b590fd in QUICLossDetector::_detect_lost_packets(unsigned long long) __tree:185
    #1 0x100b49932 in QUICLossDetector::_on_ack_received(std::__1::shared_ptr<QUICAckFrame const> const&) QUICLossDetector.cc:244
    #2 0x100b44e7d in QUICLossDetector::handle_frame(QUICEncryptionLevel, std::__1::shared_ptr<QUICFrame const>) QUICLossDetector.cc:117
    #3 0x100b4a375 in non-virtual thunk to QUICLossDetector::handle_frame(QUICEncryptionLevel, std::__1::shared_ptr<QUICFrame const>) QUICLossDetector.cc
    #4 0x100b3787d in QUICFrameDispatcher::receive_frames(QUICEncryptionLevel, unsigned char const*, unsigned short, bool&) QUICFrameDispatcher.cc:72
    #5 0x1009ed81d in QUICNetVConnection::_recv_and_ack(std::__1::unique_ptr<QUICPacket, void (*)(QUICPacket*)>) QUICNetVConnection.cc:1436
    #6 0x1009f0ba6 in QUICNetVConnection::_state_connection_established_process_packet(std::__1::unique_ptr<QUICPacket, void (*)(QUICPacket*)>) QUICNetVConnection.cc:972
    #7 0x1009de087 in QUICNetVConnection::_state_common_receive_packet() QUICNetVConnection.cc:1013
    #8 0x1009d9a78 in QUICNetVConnection::state_connection_established(int, Event*) QUICNetVConnection.cc:619
    #9 0x10001263a in Continuation::handleEvent(int, void*) I_Continuation.h:160
    #10 0x1009e52ce in QUICNetVConnection::net_read_io(NetHandler*, EThread*) QUICNetVConnection.cc:766
    #11 0x10094cd57 in NetHandler::process_ready_list() UnixNet.cc:395
    #12 0x10094eca8 in NetHandler::waitForActivity(long long) UnixNet.cc:528
    #13 0x100a7f5fd in EThread::execute_regular() UnixEThread.cc:272
    #14 0x100a8077e in EThread::execute() UnixEThread.cc:325
    #15 0x100a7afb0 in spawn_thread_internal(void*) Thread.cc:85
    #16 0x7fff78cd0660 in _pthread_body (libsystem_pthread.dylib:x86_64+0x3660)
    #17 0x7fff78cd050c in _pthread_start (libsystem_pthread.dylib:x86_64+0x350c)
    #18 0x7fff78ccfbf8 in thread_start (libsystem_pthread.dylib:x86_64+0x2bf8)

Fixed by fad804a84d1a45f7ac4f24baea0d5838e15476db.


Increase unit test coverage for ValidatorList

High Level Overview of Change
Just another mildly interesting test case

Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (non-breaking change that only restructures code)
[ ] Performance (increase or change in throughput and/or latency)
[x] Tests (you added tests for code that already exists, or your new feature included in this PR)
[ ] Documentation update
[ ] Chore (no impact to binary, e.g. .gitignore, formatting, dropping support for older tooling)
[ ] Release

Folded into #5112


Do not ignore x86 source code directories anywhere under thirdparty d…

Pull request for issue #70276
Bugsquad edit:

Fix #70276

We only have theora in master so it isn't needed strictly speaking, but it shouldn't hurt. It's needed for 3.x (we'll cherrypick it).

Thanks! And congrats for your first merged Godot contribution :tada:

Cherry-picked for 3.5.2.

Cherry-picked for 3.6.


removed the function for getURLParam and replaced with URLSearchParam method

Fixes #9765
Fix Summary

Removed the getURLParam function and replaced it with the URLSearchParams method.
The function was called in a new variable (currentQuery) line 272, which I removed and replaced with the get method of the URLSearchParams.
On running npm run lint line 307 gave me errors which I assume is because of this eslint rule     // eslint-disable-next-line func-names
Since newQuery  local variable in line 270 was used in searchParams.set(), I had to remove it from that line and move it to line 267.

I've made the changes as requested.
I tested on C:\Users\HP\Desktop\Wagtail New Codebase\wagtail\wagtail\images\templates\wagtailimages\images\index.html


CPU/Memory Benchmark of Ebiten

Currently there is no good way to know if ebiten is a better choice compared with other major game engines when it comes to the performance. It'd be great to have a benchmark comparison.

Good point. My gut feeling is that it seems hard to create a fair comparison since the number of features are different.

My expectation is ebiten out performs others as it has limited feature set.


Theming: Popover

Subject
Popover
Description
Create a basic theming documentation for the Popover component that showcases how you can style it.
Theming file: Popover theming file
Template Reference
For single part components, feel free to use the Button component theming doc as a template reference: Button theming.
For multipart components, feel free to use the Input component theming doc as a template reference: Input theming.

I'll create it if no one works on it

@nikolovlazar, how do I generate code for an SVG image for describing the anatomy of the Popover? I've finished everything except that.

@GKosheev me and @estheragbaje are making those in Figma. Feel free to open a PR and we'll make an image for you.

@nikolovlazar, for some reason, when I commit the changes for only 2 files theming.mdx and popover.js, husky runs and changes configs/search-meta.json file's IDs (5671 lines).
I installed all the packages using pnpm i (version 7.20.0) on Windows. Node version is 16.17.0.
Is it expected behavior, or should I do something differently to avoid auto-changes in search-meta.json?

It's okay to push the search-meta.json file.


Modernised the code base

With this PR I'd like to propose a revision of the current code base of the project to make it future-proof.
The changes are as follows:
package.json

reformatted (improved readability)
added a description to package.json
added dev dependencies (ESLint, Rollup + Babel, JIT-Grunt + Load-Grunt-Config)
added peer dependency (Grunt >=0.4.0, more information)

Gruntfile

split up into grunt/config and grunt/tasks using jit-grunt and load-grunt-config for improved maintainability and build performance
added ESLint build step
added Rollup build step to generate an ES5 cjs-style task from src/index.js (uses Babel internally)

esdoc.js

moved to src/index.js
minor refactoring, logic is the same as before
the file tasks/grunt-esdoc.js was built using the grunt build task

Please note that these changes are suggestions. I appreciate any feedback and criticism.

Will look at this shortly - thanks for all the effort, looks good

Thanks for your time!
If you consider merging this, you might want to first take a look at #6 since that PR directly addresses the corresponding open issue #5 while also adding the .gitattributes file.

Just added another commit in which I replaced a hard coded path in the rollup config with package.module. I forgot to include this change before, sorry for the inconvenience.

A new version of grunt-eslint came out, so I went ahead and updated it.

Hi @cleversoap,
although this is starting to get a bit messy because so much time has passed, I'm still hoping for this PR to get merged. I updated ESDoc to 1.x.x and adjusted everything to work with this new major release.
Here's an overview of the changes:

Version requirements for dependencies have been relaxed. Minor patch and fix releases should be safe.
Updated ESDoc to 1.0.1
Removed publisher argument from esdoc.generate(config).
Added esdoc-standard-plugin for testing purposes. Works as expected with no further changes.

I just realised that ESDoc >= 1.0.1 no longer reports coverage results in the console. Coverage is only available when the esdoc-coverage-plugin or the esdoc-standard-plugin is used.
I fixed the coverage report by reading the coverage output json file if it exists. In case a user decides not to use the esdoc-coverage-plugin, grunt-esdoc won't try to report coverage.
This change partially supersedes #4. (It doesn't include the coverage threshold feature.)

Closed in favour of #10.


sos convert from sos to ipynb does not properly group documentation.

Running sos convert Process_Oriented.sos Process_Oriented.ipynb I get:

Ideally the comment at the end of cell [2] should be moved to beginning of cell [3]. For the time being I'm manually editing them to upload to the live server.

I see. So workflow extraction should include preceding comments?

Yes, that's how one would likely to write in a cell, right? A workflow with preceding comments.

That should be easy to do. Hold on.
On Tue, Nov 6, 2018 at 5:29 PM gaow<EMAIL_ADDRESS>wrote:

Yes, that's how one would likely to write in a cell, right? A workflow
with preceding comments.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/vatlab/SoS/issues/1088#issuecomment-436447618, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJbmIOxBY3zQ3CodwkysULfTbpqhAxRfks5ushtbgaJpZM4YRerA
.

--
Sent from Gmail Mobile

Checking the code I think that is already the case. Did you try it?

The example above was what I got using current master of sos and sos-notebook. Am I missing something?

Oh, I see. I was checking the ipynb->py part, not the other way around.

Code in sos notebook so need to recompile sos notebook. Please try now.

Working as expected!
I've converted the notebook ready to upload to live server once the releases are made for all relevant SoS components.


JAMES-1609 Correct MBean un registry for mail queue factories

moved to https://github.com/apache/james-project/pull/5


Endpoint issue when migrating from standalone Portainer to swarm stack with agent

Bug description
When migrating from a standalone Portainer instance to a stack with agent and I'm trying to log in I get "{"err":"Portainer public key unavailable"}" on the request to api/endpoints/3/docker/version.
If I start a Portainer stack from scratch it works fine but I'd like to keep my database with all of its config.
Expected behavior
Portainer instance successfully retrieves Docker info from agent.
Steps to reproduce the issue:
I'm migrating from a standalone Portainer instance to a Swarm stack and I'd like to keep my database. I had to use --external-endpoints feature in order to be able to define the new agent endpoint. This is its content (the -H modifier won't work because the database already contains endpoints):
[
 {
      "Name": "primary",
      "URL": "tcp://tasks.agent:9001",
      "TLSSkipVerify": true,
      "TLS": true
 }
]

and it's correctly picked up by Portainer:
2018/05/29 16:14:33 Using external endpoint definition. Endpoint management via the API will be disabled.
2018/05/29 16:14:33 Starting Portainer 1.17.1 on :9000
2018/05/29 16:15:33 Endpoint synchronization job started.

This is the stack.yml I'm using:
version: '3'

services:
  agent:
    image: portainer/agent
    environment:
      # REQUIRED: Should be equal to the service name prefixed by "tasks." when
      # deployed inside an overlay network
      AGENT_CLUSTER_ADDR: tasks.agent
      # AGENT_PORT: 9001
      LOG_LEVEL: debug
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      - agent_network
    deploy:
      mode: global

  portainer:
    image: portainer/portainer
    command: --external-endpoints /endpoints.json
    environment:
      LOG_LEVEL: debug
    ports:
      - "9000:9000"
    volumes:
      - portainer_data:/data
      - /storage/endpoints.json:/endpoints.json
    networks:
      - agent_network
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]

networks:
  agent_network:
    driver: overlay

volumes:
  portainer_data:

Technical details:

Portainer version: 1.17.1
Docker version (managed by Portainer): 17.12
Platform (windows/linux): Debian Linux 9.0
Command used to start Portainer (docker run -p 9000:9000 portainer/portainer): docker stack deploy --compose-file=/tmp/portainer-agent-stack.yml portainer
Browser: Google Chrome 66

Hi @mbenedettini

I'm migrating from a standalone Portainer instance to a Swarm stack and I'd like to keep my database. I had to use --external-endpoints feature in order to be able to define the new agent endpoint.

Why do you need to use the --external-endpoints flag to define the new agent? You could have added the new agent endpoint inside the Portainer instance?
How did you "migrate" exactly? Were you using the --external-endpoints flag before?
This might be a bug in related to the external endpoints feature.

The current instance is deployed with just
docker run -d -p 9000:9000 -v /storage/portainer:/data -v "/var/run/docker.sock:/var/run/docker.sock" portainer/portainer
and now I was trying to deploy the stack as described in http://portainer.readthedocs.io/en/stable/deployment.html#inside-a-swarm-cluster
I've copied the contents from /storage/portainer (currently a bind mount) to the volume portainer_data.

So I removed all endpoints from within the current instance, copied database to the volume used by the new portainer instance (deployed via the stack) and now it worked. Clearly it was some kind of problem with endpoints definition. Thanks for your help!


Fix reference invalidation under stacked borrows in arena::iter::IterMut

Hi! I was exploring the one unsafe line in this crate and found a small aspect to fix.
I added this test:
fn iter_mut_use_after_next() {
	let mut arena = Arena::new(2);
	let _ = arena.insert(1).unwrap();
	let _ = arena.insert(2).unwrap();
	let mut iter = arena.iter_mut();
	let first = iter.next().unwrap();
	let _second = iter.next().unwrap();
	*first.1 = 3;
}

Running with miri cargo +nightly miri test iter_mut_use_after_next shows:
test arena::test::iter_mut_use_after_next ... error: Undefined Behavior: attempting a write access using <512353> at alloc206762[0x18], but that tag does not exist in the borrow stack for this location
   --> crates/kira/src/arena/test.rs:278:2
    |
278 |     *first.1 = 3;
    |     ^^^^^^^^^^^^
    |     |
    |     attempting a write access using <512353> at alloc206762[0x18], but that tag does not exist in the borrow stack for this location
    |     this error occurs as part of an access at alloc206762[0x18..0x1c]
    |
    = help: this indicates a potential bug in the program: it performed an invalid operation, but the Stacked Borrows rules it violated are still experimental
    = help: see https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information
help: <512353> was created by a Unique retag at offsets [0x18..0x1c]
   --> crates/kira/src/arena/test.rs:275:14
    |
275 |     let first = iter.next().unwrap();
    |                 ^^^^^^^^^^^^^^^^^^^^
help: <512353> was later invalidated at offsets [0x0..0x30] by a Unique retag
   --> crates/kira/src/arena/iter.rs:77:36
    |
77  |             let slot = &mut self.arena.slots[index as usize];
    |                                             ^^^^^^^^^^^^^^^^
    = note: BACKTRACE (of the first span) on thread `arena::test::it`:
    = note: inside `arena::test::iter_mut_use_after_next` at crates/kira/src/arena/test.rs:278:2: 278:14

Notably things are fine with tree borrows MIRIFLAGS="-Zmiri-tree-borrows" cargo +nightly miri test iter_mut_use_after_next:
test arena::test::iter_mut_use_after_next ... ok

However, it is preferable to make things work with both models since the final model will likely be some mixture of these two.
The issue in stacked borrows is that creating the mutable reference to the slice (inside Vec's index impl) essentially asserts that it has unique access to the whole contents of the slice which invalidates any previously derived references.
We can avoid this by getting a raw pointer when creating the IterMut and exclusively using that pointer to derive references to the individual items. Raw pointer ergonomics aren't the best, but at least not having a reference to the Vec also makes it more difficult to accidentally introduce other code that uses the Vec in ways that would invalidate the references.

Changes look good to me.

included in 6ad44db793ccb12516c67bb054ca4d545df26cac


CircleCI: Seemingly random failure of generate job

In recent times, we have noticed an uptick in number of failed generate jobs in the CI workflow (Example: https://app.circleci.com/pipelines/github/observatorium/api/455/workflows/33bd7a06-a1ce-4c7a-a291-fddef416bc51/jobs/2211). In the early phase of the run, the CI will complain about missing configmap file:
/go/bin/jsonnet-v0.16.0 -m examples/manifests examples/main.jsonnet | xargs -I{} sh -c 'cat {} | /go/bin/gojsontoyaml-v0.0.0-20200602132005-3697ded27e8c > {}.yaml && rm -f {}' -- {
cat: examples/manifests/configmap: No such file or directory

Subsequently, the run will fail because the final change set will not include the expected configmap. We were not able to reproduce this issue locally, since the configmap is always present. This requires further investigation.

Since I haven't detected again in a long time, I'll say this was a fluke and close this for now.


rules('required') is ignored

When saving a PolymorphicField::make('Type') with a Text::make('Client')->rules('required') field, the rules('required') is ignored...

Possibly the solution in the Nova Dependency Container could resolve this issue? https://github.com/epartment/nova-dependency-container/issues/15

Can confirm that this is still broken in 1.1.1

The solution used by nova-dependency-container suggested by @jasonlav seems to work for me.
I just create a custom HasPolymorphicFields trait and use it instead of the one used by the package.
trait HasPolymorphicFields
{
    /**
     * @param NovaRequest $request
     * @return FieldCollection
     */
    public function availableFields(NovaRequest $request)
    {
        $fields = $this->fields($request);
        $availableFields = [];

        foreach ($fields as $field) {
            if ($field instanceof PolymorphicField) {
                $availableFields[] = $field;

                foreach ($field->meta['types'] as $type) {
                    if ($this->doesRouteRequireChildFields()) {
                        $availableFields = array_merge($availableFields, $type['fields']);
                    }
                }
            } else {
                $availableFields[] = $field;
            }
        }

        return new FieldCollection(array_values($this->filter($availableFields)));
    }

    /**
     * @return bool
     */
    protected function requestIsAssociateRequest() : bool
    {
        return ends_with(Route::currentRouteAction(), 'AssociatableController@index');
    }

    /**
     * @return bool
     */
    protected function doesRouteRequireChildFields() : bool
    {
        return ends_with(Route::currentRouteAction(), 'AssociatableController@index')
            || ends_with(Route::currentRouteAction(), 'ResourceStoreController@handle')
            || ends_with(Route::currentRouteAction(), 'ResourceUpdateController@handle');
    }
}

+1

I created a PR to fix validation problems for Nova Dependency Container .
https://github.com/epartment/nova-dependency-container/pull/37
Hope that helps.

+1

+1

What about this issue? It still exists.

+1 - Still an issue.


Use ICE role to set DTLS role in answer

When creating answer, check ICE role while determining DTLS role.
ORTC thread on how roles are set
https://github.com/w3c/ortc/issues/167#issuecomment-69409953
When remote is ice-lite and there is no answering role set,
the answer uses the default which is DTLS client. So 'setup'
is set as 'active' and answer sent.
But, when DTLS transport is started, it checks the ICE role
and sets itself as DTLS server (because remote is lite
and hence local agent becomes controlling ICE agent).
So, both sides end up being DTLS server adnd nobody sends
client hello.

@boks1971 Is my change ok? I just removed a little bit of indirection. This is the original diff
diff --git a/peerconnection.go b/peerconnection.go
index b822dba..c26d01b 100644
--- a/peerconnection.go
+++ b/peerconnection.go
@@ -786,8 +786,9 @@ func (pc *PeerConnection) createICETransport() *ICETransport {
 // CreateAnswer starts the PeerConnection and generates the localDescription
 func (pc *PeerConnection) CreateAnswer(options *AnswerOptions) (SessionDescription, error) {
        useIdentity := pc.idpLoginURL != nil
+       remoteDesc := pc.RemoteDescription()
        switch {
-       case pc.RemoteDescription() == nil:
+       case remoteDesc == nil:
                return SessionDescription{}, &rtcerr.InvalidStateError{Err: ErrNoRemoteDescription}
        case useIdentity:
                return SessionDescription{}, errIdentityProviderNotImplemented
@@ -799,7 +800,27 @@ func (pc *PeerConnection) CreateAnswer(options *AnswerOptions) (SessionDescripti

        connectionRole := connectionRoleFromDtlsRole(pc.api.settingEngine.answeringDTLSRole)
        if connectionRole == sdp.ConnectionRole(0) {
-               connectionRole = connectionRoleFromDtlsRole(defaultDtlsRoleAnswer)
+               remoteIsLite := false
+               for _, a := range remoteDesc.parsed.Attributes {
+                       if strings.TrimSpace(a.Key) == sdp.AttrKeyICELite {
+                               remoteIsLite = true
+                               break
+                       }
+               }
+
+               iceRole := ICERoleControlled
+               // If one of the agents is lite and the other one is not, the lite agent must be the controlling agent.
+               // If both or neither agents are lite the offering agent is controlling.
+               // RFC 8445 S6.1.1
+               if remoteIsLite && !pc.api.settingEngine.candidates.ICELite {
+                       iceRole = ICERoleControlling
+               }
+
+               if iceRole == ICERoleControlling {
+                       connectionRole = connectionRoleFromDtlsRole(DTLSRoleServer)
+               } else {
+                       connectionRole = connectionRoleFromDtlsRole(defaultDtlsRoleAnswer)
+               }
        }
        pc.mu.Lock()
        defer pc.mu.Unlock()
@@ -1144,6 +1165,7 @@ func (pc *PeerConnection) SetRemoteDescription(desc SessionDescription) error {
        for _, a := range desc.parsed.Attributes {
                if strings.TrimSpace(a.Key) == sdp.AttrKeyICELite {
                        remoteIsLite = true
+                       break
                }
        }

@boks1971 Were you able to reproduce this one Pion <-> Pion by chance? A test would be nice if possible, I can write one right now!

@boks1971 Is my change ok? I just removed a little bit of indirection. This is the original diff
diff --git a/peerconnection.go b/peerconnection.go
index b822dba..c26d01b 100644
--- a/peerconnection.go
+++ b/peerconnection.go
@@ -786,8 +786,9 @@ func (pc *PeerConnection) createICETransport() *ICETransport {
 // CreateAnswer starts the PeerConnection and generates the localDescription
 func (pc *PeerConnection) CreateAnswer(options *AnswerOptions) (SessionDescription, error) {
        useIdentity := pc.idpLoginURL != nil
+       remoteDesc := pc.RemoteDescription()
        switch {
-       case pc.RemoteDescription() == nil:
+       case remoteDesc == nil:
                return SessionDescription{}, &rtcerr.InvalidStateError{Err: ErrNoRemoteDescription}
        case useIdentity:
                return SessionDescription{}, errIdentityProviderNotImplemented
@@ -799,7 +800,27 @@ func (pc *PeerConnection) CreateAnswer(options *AnswerOptions) (SessionDescripti

        connectionRole := connectionRoleFromDtlsRole(pc.api.settingEngine.answeringDTLSRole)
        if connectionRole == sdp.ConnectionRole(0) {
-               connectionRole = connectionRoleFromDtlsRole(defaultDtlsRoleAnswer)
+               remoteIsLite := false
+               for _, a := range remoteDesc.parsed.Attributes {
+                       if strings.TrimSpace(a.Key) == sdp.AttrKeyICELite {
+                               remoteIsLite = true
+                               break
+                       }
+               }
+
+               iceRole := ICERoleControlled
+               // If one of the agents is lite and the other one is not, the lite agent must be the controlling agent.
+               // If both or neither agents are lite the offering agent is controlling.
+               // RFC 8445 S6.1.1
+               if remoteIsLite && !pc.api.settingEngine.candidates.ICELite {
+                       iceRole = ICERoleControlling
+               }
+
+               if iceRole == ICERoleControlling {
+                       connectionRole = connectionRoleFromDtlsRole(DTLSRoleServer)
+               } else {
+                       connectionRole = connectionRoleFromDtlsRole(defaultDtlsRoleAnswer)
+               }
        }
        pc.mu.Lock()
        defer pc.mu.Unlock()
@@ -1144,6 +1165,7 @@ func (pc *PeerConnection) SetRemoteDescription(desc SessionDescription) error {
        for _, a := range desc.parsed.Attributes {
                if strings.TrimSpace(a.Key) == sdp.AttrKeyICELite {
                        remoteIsLite = true
+                       break
                }
        }

Looks great @Sean-Der . Left one comment about removing the else.

@boks1971 Were you able to reproduce this one Pion <-> Pion by chance? A test would be nice if possible, I can write one right now!

Yes @Sean-Der . LiveKit server-sdk-go (https://github.com/livekit/server-sdk-go) uses Pion to connect to livekit-server (https://github.com/livekit/livekit-server) which is also Pion. We enabled ice-lite in livekit-server a couple of weeks back and found this now.


I also filed google/guava#6915.

Thank you for implementing @Stephan202. I got some other feedback that using these methods on Android 9 and 10 could cause issues. Does anyone have test environments available? Maybe, this could be mentioned in JavaDocs?

Hey @koppor! None of the code in this repo aims to be compatible with Android. We aim for (and test for) compatibility with JDK 11, 17 and 21. I suppose we could make this more explicit by adding a note to the README or extending the compatibility matrix. I'll make a note to do so :)


chore: add missing tf variables required to make fury work on gke using kube 1.25

Should be merged after the following two PRs are merged https://github.com/sighupio/fury-gke-installer/pull/32 and https://github.com/sighupio/fury-gke-installer/pull/33 and gke installer v1.10.0 is released


Custom messages for numericality validation

Hi guys,
I have the following validation:
code: {
  numericality: {
     greaterThanOrEqualTo: 1
  }
}

and I want to pass a custom message, like I do with other validations:
name: {
   presence: { message: 'Can not be blank'}
}

is it possible? I checked the documentation, but I couldn't find a way to do this.
Thanks in advance.

var constraints = {
  code: {
    numericality: {
       greaterThanOrEqualTo: 1,
       message: "is not valid"
    }
  }
}
validate({code: 0}, constraints);
// => {code: ["Code is not valid"]}


Response Message schemas for lists, maps, and sets in springfox-swagger-ui

Hi,
I'm using version 2.5 of springfox-swagger2 and springfox-swagger-ui, and I've got controller methods annotated to use '@ApiResponse' to define some of the response values for my endpoints. One returns a list of  QuizDTO objects (converted to JSON).
@ApiResponses( value = {
      @ApiResponse(code = 400, message = "Details of error accessing the API", response = ApiErrorDTO.class),
      @ApiResponse(code = 201, message = "Quizzes successfully added to the database", response = QuizDTO.class, responseContainer = "List")
 })
  @RequestMapping(method = PUT, path = "quizzes", produces = APPLICATION_JSON_VALUE)
  public ResponseEntity<?> setQuizzes(@RequestBody List<QuizDTO> quizzes) {
...

First is a question, the top of the SwaggerUI API definition shows response schema for 200 (OK) by default. Is there a way to change this so that it will show the schema for 201 (or something else) instead?
Second is a problem. While that top section shows the schema correctly when 200 (OK) is defined this way with responseContainer set to "list" and response set to "QuizDTO.class", if I change that to 201 as in the code snippet above, it appears at the bottom of the SwaggerUI API documentation instead, with all of the other "non-OK" responses, and the schema doesn't show up at all, that box of the table is just blank.
I looked at the swagger api-docs.json and in either case they are defined the same, it's just the display in the bottom doesn't process it correctly while the one at the top does. Note that the annotations work fine for simple responses that don't have a container, even in the lower section of the SwaggerUI page. So this means you can't really return a list of anything with a non-OK return code and have it show up correctly in the SwaggerUI doc page.
Swagger api-docs.json output
  "responses" : {
      "200" : {
          "description" : "OK",
          "schema" : {
              "type" : "array",
              "items" : {
                  "$ref" : "#/definitions/QuizDTO"
              }
          }
      },
      "201" : {
          "description" : "Quizzes successfully added to the database",
          "schema" : {
              "type" : "array",
              "items" : {
                  "$ref" : "#/definitions/QuizDTO"
              }
          }
      } ,
      "400" : { ... }
}

In case it matters here is my swagger config:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
  @Bean
  public Docket api() {
    final List<ResponseMessage> responseMessageList = new ArrayList<ResponseMessage>();
    responseMessageList
        .add(new ResponseMessageBuilder().code(500).message("500 message").responseModel(new ModelRef("Error")).build());
    responseMessageList.add(new ResponseMessageBuilder().code(403).message("Forbidden!!!!!").build());

    return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage("our base package"))
        .paths(PathSelectors.any()).build().apiInfo(apiInfo()).useDefaultResponseMessages(false)
        .globalResponseMessage(RequestMethod.GET, responseMessageList);
  }

  private ApiInfo apiInfo() {
    final Contact contact = new Contact("Chris Hogan", "our web address", "my email");
    final ApiInfo apiInfo = new ApiInfo("My REST API", "Some custom description of API.", "API TOS", "Terms of service", contact,
        "License of API", "API license URL");
    return apiInfo;
  }
}

First is a question, the top of the SwaggerUI API definition shows response schema for 200 (OK) by default. Is there a way to change this so that it will show the schema for 201 (or something else) instead?

Annotate your operation with @ResponseStatus(HttpStatus.CREATED)

While that top section shows the schema correctly when 200 (OK)

Top section where? swagger-ui? Could you perhaps share a screenshot?

I'm talking about the swagger-ui page.notice that the model schema looks fine at the top where status is 200, but when the same schema is displayed at the bottom of the section in that table (in the 201 row), it's just blank.

Is thera a way to describe the field of response ?
for example,above the reponse is person list,I want to descripe id,name for detail.Just similar to describe request parameter
thx

@FinleySmile yes you can on the model add @ApiModelProperty annotations. The results are visible in the "Model" link (not in Example Value).
cheers


fix(file-size): use exact multipliers for MiB, GiB, etc.

fix(file-size): use exact multipliers for MiB, GiB, etc.

Stack created with Sapling. Best reviewed with ReviewStack.

#74
-> #71

Closing because PR #75 had these code changes as well.


PICO 4 Emulation / Serial number

Description
Hello, I can't figure out how to use this program to tell SteamVR that I'm playing on PICO 4, and not Quest 2 or other VR headsets? There is a "custom" option, but I have no idea what the serial number of PICO 4 is. I tried entering A8110, but it doesn't work. I have the most common PICO 4 on 128gb.

I believe ALVR doesnt have the virtual 3D controller models for the Pico 4 yet, they are available here https://github.com/WiVRn/WiVRn/tree/master/assets/controllers/pico-4

I believe ALVR doesnt have the virtual 3D controller models for the Pico 4 yet, they are available here https://github.com/WiVRn/WiVRn/tree/master/assets/controllers/pico-4

I'm more interested in SteamVR seeing my headset as a Pico 4, rather than as a Quest 2 for example...

I believe ALVR doesnt have the virtual 3D controller models for the Pico 4 yet, they are available here https://github.com/WiVRn/WiVRn/tree/master/assets/controllers/pico-4

I'm more interested in SteamVR seeing my headset as a Pico 4, rather than as a Quest 2 for example...

SteamVR does not have the required files to fully emulate Pico 4. HTC Vive, Index, Quest are build-in already in SteamVR including models and bindings. (You can even find emulation settings in the SteamVR bindings without ALVR). ALVR has to ship with all required files to fully emulated Pico 4 devices, but i doubt that will happen.

That is, I will always see controllers from Quest 2 or 3 in my hands, instead of PIco controllers, as it happens with VD or standard software???