Does it render in real-time?

Hello,
I am interested in real-time raytracing for a project that I am working on now and was wondering if your code renders in realtime?
Thanks

Unfortunately, the creator of this project, Zuen, has passed away
It does render in real time though, but only to an extent

I am so very sorry to hear of the passing of Zuen.  I am interested in seeing if it is possible to truly develop (or at least modify in this case) a 3D engine game called Tesseract to support real-time ray tracing as well as a few other ideas.
Maybe, I will be able to incorporate some of Zuen's work into the project to honor him and his contributions to the science.
Best Regards and have a great day


Updated deprecated links in organizing-conversations.rst

Summary
Updated deprecated links in organizing-conversations.rst
Ticket Link

NA

Hello @Rutam21,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

@cwarnermm The updated API Link is committed. Please review and approve.


0 Lux from brightness sensors shows as an error in Homekit apps

When it's dark the homebridge-zway plugin reports a value of 0 lux to homekit. The minimum value for the mapped characteristic CurrentAmbientLightLevel in homekit is 0.0001. As a result the value 0 leads to an error in homekit.
As a solution all lux values below 0.0001 should be set to 0.0001.

Great catch! And easy to implement. I'll try to knock this out in the next day or two...meanwhile put a night-light in the room? (JK)

Thanks for the fast reply. I will try your workaround :D.


5E Stat Block not showing Traits/Actions if custom Traits/Actions added

It appears that if you customise an existing monster stat block by adding a custom Trait or Action then it no longer shows any of the Traits/Actions from the source monster.
For example
monster: Elvish Veteran Archer
name: Zeno Windrider
traits:
    - [Description, Wears studded leather armour. Has Dexterity AC bonus]

would show only the specified Description trait, and not, for example, the Fey Ancestry trait that the "Elvish Veteran Archer" has.

Just for clarity, things like Languages, Skills and Armor Class are being displayed as expected, so at least some of the attributes from the source monster are being brought in correctly.

Hi @PaganApe
If you are still having issues, can you please post your entire statblock code block you are using, as well as a screenshot of what does display?

So, as an example of the behaviour, if I bring in a standard Orc monster it looks like this:

But if I name an Orc and give him a custom trait, then it overwrites the Aggressive trait of the standard Orc and just displays my custom trait, in this example Description. Previously it would just add my custom trait to the base creature's traits.

This happens regardless of which monster I choose as the base creature, and also happens with Actions, so any custom Action will overwrite any Actions the original base creature has.

@sigrunixia the plugin has always replaced Trait arrays if specified in a monster. Syntax for making it additive can get a little wonky… maybe the plugin can look for trait_key+ in addition to trait_key

@sigrunixia the plugin has always replaced Trait arrays if specified in a monster. Syntax for making it additive can get a little wonky… maybe the plugin can look for trait_key+ in addition to trait_key

In the past, I've seen the plugin replace a Trait if you supply your own with the same name, but it's only recently that the whole Trait and Action sections are replaced if you provide a Trait or Action section of your own. A lot of my NPCs were created this way, using a base Monster and then naming and tweaking it to make it unique. If I check back through my NPCs they have now all lost the Traits and Actions that previously came through from the base monster.

Perfect, thank you for the prompt response.


Feature/imports

Following pattern for grouping imports.

I am not so sure this is a good change. Some of it is ok, but changing to () style for a single import is superfluous, and changing imports in the auto-generated files like mocks / thrift is counterproductive.


Update saml2 lib to include Subject in AuthnRequest support

[ ] ensure lib is back to develop (with branch merged) before merging


Add use cases

Add sort and find in use cases

Coverage remained the same at 92.159% when pulling aea3e0a4b72e09377f1e92e8c9a9edbf8880627a on khooroko:Update_Use_Cases into 0bfe5f0b2b008b42bc2ae1a31215bb2c846609ef on CS2103AUG2017-T17-B1:master.


helpers: create listeners helper

To make quickstarting easier, a helper class that creates the http, https and http2 listeners can be created.
Users that use this helper can expect http3 to be folded in the future with minor, if any, code changes.

Fixed by: https://github.com/clshortfuse/webhoster/commit/6f15f438a4fe5c4076a2e01e0326a3c59a0c05b2


allow arbitrary input types for model inputs

This is especially useful for transformers, where you often want to generate multiple text completions with the same settings. With this change, you can now define cog models which take in lists of strings as parameters.

Example of use at https://github.com/replicate/cog-flan-t5/pull/1

this probably doesn't fix all the test errors; I need to fix some package versions in my local dev env

Whomp looks like more failures. :(

you can now define cog models which take in lists of strings as parameters.

Nice. Would you mind also updating the docs around this?

Closing in favor of https://github.com/replicate/cog/pull/1311 and/or https://github.com/replicate/cog/pull/1313. See https://github.com/replicate/cog/pull/1292#issuecomment-1730714860.


Updated subscribe-to-conversation-events

Updated subscribe-to-conversation-events with rephrased note. Please review.

Docs Build status updates of commit 1a64366:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/bots/how-to/conversations/subscribe-to-conversation-events.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


[DOCFIX] Update README alluxio version

I notice that in file ./dev/scripts/update-versions.sh, here are lines to update the version of README when updating project version. However, the alluxio version in README is still 2.3.0, because the update version script failed to update README since it has the wrong 'old version'. So I update the version of README to latest version of the project, and then the update version script will correctly recognize the old version of README and update it.
# Arguments:
#  $1: old version
#  $2: new version
function update_readme() {
    perl -pi -e "s/${1}/${2}/g" README.md
}

alluxio-bot, merge this please


Primary key considered nullable by query_as! with WHERE clause

Bug Description
There is a strange interaction between schema type inference, primary keys, and WHERE clauses.
Minimal Reproduction
-- A SQLITE migration file
CREATE TABLE users (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  oauth_provider TEXT,
  oauth_id TEXT
);

pub struct User {
    pub id: i64,
    pub oauth_provider: Option<String>,
    pub oauth_id: Option<String>
}

pub async fn get_user_by_oauth_id(
    tx: &mut Transaction<'_, Sqlite>,
    oauth_provider: &str,
    oauth_id: &str
) -> Result<User, AuthError> {
    let user = sqlx::query_as!(
        User,
        r#"SELECT
             id, oauth_provider, oauth_id
           FROM users
           WHERE (oauth_provider = ?1 AND oauth_id = ?1)
         "#, oauth_provider, oauth_id
    )
    .fetch_one(&mut **tx)
    .await
    .expect("TODO");
    Ok(user)
}

Compile error:
the trait `std::convert::From<std::option::Option<i64>>` is not implemented for `i64`

Typechecking succeeds if I do any one of the following:

Explicitly make id NOT NULL in the migration file
Remove the WHERE clause
Remove just the oauth_provider = ?1 AND part of the WHERE clause

It seems that there is a strange interaction between sqlx's type inference, and later WHERE clauses, because the WHERE clause seems to trigger a type error on the id field. I don't know how to interpret my last bullet point - if the WHERE clause only involves the oauth_id TEXT field, compilation succeeds, but if I mention the oauth_provider TEXT field, it fails. This seems unrelated to the rust-land bindings, because I can change the WHERE clause to this: WHERE (oauth_provider = '' AND oauth_id = '') fix up the call to query_as! accordingly, and compilation fails with the same error I see above, about Option<i64>.
Info

SQLx version: [0.7.1]
SQLx features enabled: ["runtime-tokio", "sqlx-sqlite", "sqlite", "uuid", "time"]
Database server and version: [sqlite 3.39.5]
Operating system: [MacOS ]
rustc --version: [1.73.0-nightly]

I don't think this is a bug in sqlx because SQLite allows null values in a primary key column.
From SQLite's create table documentation, item "3.5. The PRIMARY KEY":

According to the SQL standard, PRIMARY KEY should always imply NOT NULL. Unfortunately, due to a bug in some early versions, this is not the case in SQLite. Unless the column is an INTEGER PRIMARY KEY or the table is a WITHOUT ROWID table or a STRICT table or the column is declared NOT NULL, SQLite allows NULL values in a PRIMARY KEY column. SQLite could be fixed to conform to the standard, but doing so might break legacy applications. Hence, it has been decided to merely document the fact that SQLite allows NULLs in most PRIMARY KEY columns.

@ebissi interesting! Thanks for the pointer. Do you think this bug in sqlite is responsible for the interaction between nullable primary keys and the presence of a where clause? (To me, it does seem possible)

@imalsogreg I think it is possible because nullability is inferred and depends on Database/Driver/Query.
From sqlx query! macro doc:

In most cases, the database engine can tell us whether or not a column may be NULL, and the query!() macro adjusts the field types of the returned struct accordingly.
For Postgres, this only works for columns which come directly from actual tables, as the implementation will need to query the table metadata to find if a given column has a NOT NULL constraint. Columns that do not have a NOT NULL constraint or are the result of an expression are assumed to be nullable and so Option is used instead of T.
...
For SQLite we perform a similar check to Postgres, looking for NOT NULL constraints on columns that come from tables. However, for SQLite we also can step through the output of EXPLAIN to identify columns that may or may not be NULL.

I've had a similar problem with more complex queries with Postrgres. To solve, I've overridden the inferred nullability (explained at the same doc).

@ebissi thanks for the links! I'm convinced. Closing the issue.


[VS Incentives] refactor: implement upcoming / active / finished infrastructure for Groups similar to gauges

We need to implement upcoming / active / finished infrastructure for Groups similar to gauges.
It must guarantee that the Group lifecycle is the same as the underlying gauge lifecycle.
That is, if a Group is finished, the 1:1 mapped group's gauge is also finished
Originally posted by @p0mvn in https://github.com/osmosis-labs/osmosis/pull/6431#discussion_r1329428110
Suggested Design
For speed of delivery, I propose the following:

Groups do not have a lifecycle. If Group's underlying group Gauge has finished, both Gauge and Group become unusable
Update helpers for gauge lifecycle to also operate on the group gauges. Instead of moving them to finished stage, simply prune them

This approach will ensure that there are no spam Groups created, requiring many after-epoch iterations. Additionally, it will reduce code complexity from having to manage the lifecycles of both Groups and Gauges.
If we end up having too many perpetual Groups even with the restrictions and pruning of non-perpetual, these can be pruned in the upgrade handler.
A/C

Implemt Group lifecycle
Matches the gauge's lifecycle
Separate store index for Group
Separate store index for group Gauge
Aim for data locality
Thoroughly tested
Review this PR's links to this issue to make sure that all TODOs are addressed: https://github.com/osmosis-labs/osmosis/pull/6431/
In particular, update these TODOs:

https://github.com/osmosis-labs/osmosis/pull/6431#discussion_r1329428110
https://github.com/osmosis-labs/osmosis/pull/6431#discussion_r1329429283
https://github.com/osmosis-labs/osmosis/pull/6431#discussion_r1329436014

TODO:
submit removal of boolean parameter from CreateGaugeRefKeys via separate PR

Realized that it is impossible to write group gauges into a separate store index from regular gauges since we rely on the group gauge to be written into regular gauge index in pool incentives distribution.
Also, upcoming / active / finished ref keys aren't needed for group gaugs since we will:

allow external incentive providers to only create non-perpetual group gauges that get pruned on completion
create subdao that has powers to delete unused perpetual group gauges


0.14 backports

@bilelmoussaoui I'll leave gtk4 for you. Also are there any changes in gtk4 that should be backported to gtk3 at this point?

Let's maybe wait for the test before making the backport?

Sure, can keep this open until then and I'll include the test here.

Thanks!

Still blocked on the test

@GuillaumeGomez Should we get this in and make a bugfix release for now? This is a regular problem for people using the gtk bindings and it doesn't look like anybody has the time to fix the CI for the test.

Let's go.


Support ppc64le architecture build

Adding a travis-ci job which runs on ppc64le arch. Any thoughts on this?

There have been already some attempts to do this https://github.com/jaegertracing/jaeger/search?q=ppc64le&type=Issues.
Now the makefile is refactored which should make it easy to add new architecture builds. Would you like to submit a PR?

Sure. I will start working on it.

Hi @pavolloffay,
Could community release a multi-arch jaegertracing/protobuf:0.1.0 image which is required for PROTO_GEN_TEST? Currently the image is only available for amd64 and is resulting in exec format error on ppc64le architecture. Log
Or should we only run unit test on ppc64le like mentioned in https://github.com/jaegertracing/jaeger/pull/1982#issuecomment-566980678

the extra time required to perform a build. Instead of running the whole build in a new arch, only the fast unit-tests should be executed

Could you please open an issue or a PR to that repository with changes required to the dockerfile and build infra(if any)?


Error printed after command finishes when terminal-notifier is not installed

M1 macos 13.0.1
When terminal-notifier is not installed, I get the following message printed after long-running commands. It went away when I installed the notifier.
142:145: syntax error: A identifier can’t go after this “"”. (-2740)

A fix will be released with v1.17.0

Good man!


Clickable board member

Changes

added link around board member thumbnail that links to individual page
added single-board.php as a template for individual board member pages
updated styles

Deployed to staging.  Stakeholder review scheduled for 7/8


Some questions about training from scratch

Hi Egor Burkov, thanks for your great project. Now I'm trying to train the meta learning model from scratch, however, the training results are not good as your model. Our dataset is much smaller (625 people) than VoxCeleb2. Is this the major reason that the training results look not great as yours? What is the most important factor affecting the performance of the model?

Hi, thanks. 625 people is definitely not enough! At least for our method. At least it won't allow learning the pose-identity disentanglement. Also, when fine-tuning to a new person in test time, you'll need more iterations (because the system has seem a smaller number of diverse faces), which means you'll lose more mimics' expressiveness.

Thanks for your quick reply. We are expanding the dataset now. I have another question, did you join train the model end2end?

Yes. The paper may give you more details on training.11:10, 10 сентября 2021 г., enjoybo @.***>:
Thanks for your quick reply. We are expanding the dataset now. I have another question, did you join train the model end2end?
—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android.
Отправлено из мобильной Яндекс.Почты: http://m.ya.ru/ymail


Suggestion: An abbreviations segment in the glossary (04_abbreviations)

Abbreviations and/or terminology... What do you think? Good or bad idea?

@Kodefyren great initiative!
@reneklacan what would happen if we merge this? Would it create a new section or the creation of the new section would have to happen separately?

@johnbaku yes, it would automatically create a new section


Add sponsor's roles in future

Separate sponsors and partners online
Disambiguate the roles of partners and add details of the sponsors before the next round

It would be at least partially fixed with #412


quickfix: appending (action "a") makes items to become "recognized" for :lwindow

Using setloclist() with action "a" for appending makes the list to contain
"recognized" items so that ":lwinow" will open it, although all entries have
valid = 0.
call setloclist(0, [{'text': 1}])

" :lwindow does not open it
let wbefore = winnr('$')
lwindow
call assert_equal(wbefore, winnr('$'))

" Bug: :lwindow opens it
call setloclist(0, [{'text': 1}], 'a')
lwindow
call assert_equal(wbefore, winnr('$'))

call assert_equal(map(getloclist(0), 'v:val.valid'), [0, 0])

if empty(v:errors)
  q
endif
echoerr string(v:errors)
cq

% vim -Nu t-lwindow.vim                                                                                ⟳(c) ⟳(m) 🐍<EMAIL_ADDRESS>Error detected while processing /home/daniel/src/neomake/t-lwindow.vim:
line   18:
['…/t-lwindow.vim line 11: Expected 1 but got 2']

Vim 8.1.542.
A related patch in this regard was v7.4.379 / 158a1b074, where this was happening with "r".

Hi,
On Thu, Nov 22, 2018 at 9:16 AM Daniel Hahler<EMAIL_ADDRESS>wrote:

Using setloclist() with action "a" for appending makes the list to contain
"recognized" items so that ":lwinow" will open it, although all entries
have
valid = 0.
call setloclist(0, [{'text': 1}])
" :lwindow does not open itlet wbefore = winnr('$')lwindowcall assert_equal(wbefore, winnr('$'))
" Bug: :lwindow opens itcall setloclist(0, [{'text': 1}], 'a')lwindowcall assert_equal(wbefore, winnr('$'))
call assert_equal(map(getloclist(0), 'v:val.valid'), [0, 0])
if empty(v:errors)
qendifechoerr string(v:errors)cq
% vim -Nu t-lwindow.vim                                                                                ⟳(c) ⟳(m) 🐍<EMAIL_ADDRESS>Error detected while processing /home/daniel/src/neomake/t-lwindow.vim:
line   18:
['…/t-lwindow.vim line 11: Expected 1 but got 2']
Vim 8.1.542.
A related patch in this regard was v7.4.379 / 158a1b0
https://github.com/vim/vim/commit/158a1b074828341767ad4ce912b346bf14189605,
where this was happening with "r".

Can you try the attached patch?
Thanks,
Yegappan

Hi,
On Mon, Dec 3, 2018 at 8:22 PM Daniel Hahler<EMAIL_ADDRESS>wrote:

I found another, apparently related issue, not fixed by the above patch:
Given t-setqf-append.vim:
let list = [
  \ {'lnum': 1, 'bufnr': bufnr('%'), 'text': '1', 'valid': 0},

  \ {'lnum': 2, 'bufnr': bufnr('%'), 'text': '2', 'valid': 0}]

call setloclist(0, list)
echom string(map(getloclist(0), 'v:val.valid'))
" Works.
lnext
lprev
call setloclist(0, [])
call setloclist(0, list, 'a')
echom string(map(getloclist(0), 'v:val.valid'))
" Does not work.
lnext
lprev
Outputs:
% vim -Nu t-setqf-append.vim
[0, 0]
(2 of 2) error: 2
(1 of 2) error: 1
[0, 0]
(1 of 2) error: 2
Error detected while processing …/src/neomake/t-setqf-append.vim:
line   12:
E553: No more items
I.e. in both cases the entries have valid=0, but in the first case lprev/lnext work.
The help for :cnext says that it is about entries having a file name, which probably internally is mapped to valid/bufnr/filename.
I am not sure what the correct behavior should be here, but it should be consistent.
I suggest relying on the provided "valid", and therefore it should be handled as if there was no file name (i.e. as if Vim would have set it valid=0 itself).

Can you try the attached patch which includes the previous patch also?

Yegappan

Hi,
On Mon, Dec 3, 2018 at 11:36 PM Yegappan Lakshmanan<EMAIL_ADDRESS>wrote:

On Mon, Dec 3, 2018 at 8:22 PM Daniel Hahler<EMAIL_ADDRESS>wrote:

I found another, apparently related issue, not fixed by the above patch:
Given t-setqf-append.vim:
let list = [
\ {'lnum': 1, 'bufnr': bufnr('%'), 'text': '1', 'valid': 0},
\ {'lnum': 2, 'bufnr': bufnr('%'), 'text': '2', 'valid': 0}]
call setloclist(0, list)
echom string(map(getloclist(0), 'v:val.valid'))
" Works.
lnext
lprev
call setloclist(0, [])
call setloclist(0, list, 'a')
echom string(map(getloclist(0), 'v:val.valid'))
" Does not work.
lnext
lprev
Outputs:
% vim -Nu t-setqf-append.vim
[0, 0]
(2 of 2) error: 2
(1 of 2) error: 1
[0, 0]
(1 of 2) error: 2
Error detected while processing …/src/neomake/t-setqf-append.vim:
line   12:
E553: No more items
I.e. in both cases the entries have valid=0, but in the first case lprev/lnext work.
The help for :cnext says that it is about entries having a file name, which probably internally is mapped to valid/bufnr/filename.
I am not sure what the correct behavior should be here, but it should be consistent.
I suggest relying on the provided "valid", and therefore it should be handled as if there was no file name (i.e. as if Vim would have set it valid=0 itself).

Can you try the attached patch which includes the previous patch also?

I am attaching an updated patch that makes the "lnext/lprev" commands work
in both cases. I think this is consistent with other commands like cfile/lfile.
The patch also includes a test.

Yegappan

Yegappan, thanks again.  That fixes everything in this regard.


Improve github actions workflows

test on multiple platforms
build and publish releases for multiple platforms

The workflows of pyca/cryptography can be used as an example  as most of the dependencies are the same.
Windows images already include cmake - see https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners

Also see https://github.com/konstin/complex-manylinux-maturin-docker on how to build with maturin for pypi

hyperjson has a nice simple ci workflow

The actions don't seem to be checked for pull requests

CI should now run again on PRs to the master branch.


Question about DRM support

Hi
This project looks quite interesting and promising with regards to unified playback.
An important piece of information i have not been able to obtain and that is an important concern for me is the DRM support. What (if any) DRMs are supported and on which platforms? Is there any resource on the web where i can see what the plans are, and examples of DRM-protected content playback is supported?

Hello ragotiteb,
the CicadaPlayer have integrated the EXOPlayer to support Widevine  on Android, you can use the CicadaPlayer api to invoke the EXOPlayer to play a Widevine DRM on Android. And we have started to implement the Widevine DRM playback in native C/C++ code, it will be released on next month in the version release/0.3.
And CicadaPlayer have already integrated the AVPlayer on Apple platform,  you can use the CicadaPlayer api to invoke it to play a FairePlay DRM video, but  as you know we can't implement it by myself, we must use the AVPlayer.
And you can generate a hls stream with the multiDRM use shaka packager, you can play it on Android and Apple platforms both.
Both of the demo are available on our demo.
Thanks.

I see, thanks for the answer
A couple of follow-up questions:
1.does this mean then that , in the case of iOS, the underlying players used is in fact AVPlayer? By looking at the compilation instructions i was wondering if the core playback for iOS was ffplay . I take it then that it is not? Or is it for non-DRM protected content?
2.Does Cicada player support RTMP on iOS? If so, i take it that this would be perhaps a ffplay-based implementation
The reason to probe for these details is that our application needs to perform some adjustments in some core aspects of the video playback, which we have achieved in Android by modifying exoplayer, but now we are looking for a good base to do the same for iOS.
Thanks again!

Hi

we use AVPlayer only to play fairplay DRM content, because fairplay DRM is a private drm owned by Apple. The core playback is not ffplay, we use ffmpeg for some modules implemention， eg. bit stream demuxer， software decoder，and some filters in framework used by player core, and the player core not know the existence of ffmpeg.

Cicada player support rtmp on all platform, the rtmp demxuer was implemented use ffmpeg, but I don't think the rtmp is better than http+flv.

I see, thanks once again for the responses!


Multiple simultaneous ping do not work

A brief description
Opening a powershell admin window, running bash and then running ping works fine. Opening second window the same way, while keeping the first window opened with running ping, and running another ping in the second window causes errors in both windows.
Expected results
Multiple pings shall work simultaneously.
Actual results (with terminal output if applicable)

ping: recvmsg: Invalid argument
ping: recvmsg: Invalid argument
ping: recvmsg: Invalid argument
ping: recvmsg: Invalid argument

Your Windows build number
14393.351
Steps / All commands required to reproduce the error from a brand new installation

Open powershell admin window1
Run bash in window1
Run ping google.com in window1
Open powershell admin window2
Run bash in window2
Run ping google.com in window2; running ping time.nist.gov produces the same result

Strace of the failing command
Required packages and commands to install
WSL

See our contributing instructions for assistance.

@GoodMirek I realize this in no way helps your current build of Windows; but I do not experience this issue running on build 14955. Perhaps someone else can confirm this is a problem with your build of Windows and not on 14955.

Guessing this was quietly addressed in 14926, though I don't think there is/was an issue# for the problem specifically.

@therealkenc I'm still able to reproduce this on new builds, there's still an issue here.  Tagging @sunilmut so he is aware.

@GoodMirek Thanks for reporting the issue and thanks @benhillis for tagging. It looks like this is reproducible even with a single ping. I have opened a bug to track this.

After upgrade to 14955 I can confirm that simultaneous ping works.
However, ping occassionally reports incorrect round trip time 0.000ms, see below; correct value is above 10ms. Sometimes the incorrect value is not plain zero, but rather arounf half a millisecond. I did not use preload option of ping.
ping google.com
64 bytes from prg03s05-in-f14.1e100.net (<IP_ADDRESS>): icmp_seq=94 ttl=50 time=23.1 ms
64 bytes from prg03s05-in-f14.1e100.net (<IP_ADDRESS>): icmp_seq=95 ttl=50 time=25.3 ms
64 bytes from prg03s05-in-f14.1e100.net (<IP_ADDRESS>): icmp_seq=96 ttl=50 time=0.000 ms
64 bytes from prg03s05-in-f14.1e100.net (<IP_ADDRESS>): icmp_seq=97 ttl=50 time=16.1 ms
64 bytes from prg03s05-in-f14.1e100.net (<IP_ADDRESS>): icmp_seq=98 ttl=50 time=16.1 ms
64 bytes from prg03s05-in-f14.1e100.net (<IP_ADDRESS>): icmp_seq=99 ttl=50 time=16.2 ms
64 bytes from prg03s05-in-f14.1e100.net (<IP_ADDRESS>): icmp_seq=100 ttl=50 time=0.000 ms
64 bytes from prg03s05-in-f14.1e100.net (<IP_ADDRESS>): icmp_seq=101 ttl=50 time=16.1 ms
64 bytes from prg03s05-in-f14.1e100.net (<IP_ADDRESS>): icmp_seq=102 ttl=50 time=16.1 ms
64 bytes from prg03s05-in-f14.1e100.net (<IP_ADDRESS>): icmp_seq=103 ttl=50 time=0.519 ms

@GoodMirek - The 0ms ping issue has already been fixed and the fix barely missed the 14955 build. It should be in the next release for sure. If in the next release you are still seeing 0ms ping, do let us know. As for the ping: recvmsg: Invalid argument error, I think that is intermittent and still exists. Thanks for all the feedback and trying out WSL!

The 0ms ping fix is out in build 14986.
14986 Release Notes

The original issue has been fixed internally (recvmsg EINVAL)

Closing since this has been fixed in the Insider builds.


Test restore state with all activities

We need to test restoreState because some crashes can be cause this scenario see https://github.com/omen273/crosswordApp/issues/244, https://github.com/omen273/crosswordApp/issues/245 How to. Ativate rotation, rotate during active activity. It won't be crashes, bugs after it.

All is ok except for one case, I'm not sure if it is a bug. Steps to reproduce:
0. Remove portrait orientation.

Open crossword.
Solve it.
Before choosing "another crossword", rotate the phone.
Get "Crossword data is damaged".
However, after rotating the phone back you will get the crossword back.

Solved at 276


Build error :sql:compileJava FAILED

Is i`m the one who "happy" to catch these?
/crate/sql/src/main/java/io/crate/lucene/QueryBuilderHelper.java:91: error: incomparable types: Object and boolean
return new TermQuery(new Term(columnName, value == true ? "T" : "F"));
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
:sql:compileJava FAILED
FAILURE: Build failed with an exception.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/10058196-build-error-sql-compilejava-failed?utm_campaign=plugin&utm_content=tracker%2F505659&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F505659&utm_medium=issues&utm_source=github).

have you been doing?
git submodule init
git submodule update

to load the es upstream submodule?

which java version do you use?

| have you been doing?
| git submodule init
| git submodule updatejava version "1.8.0_40"
yes, i did.
Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

We still develop with java 7.
Switching to java8 is on our roadmap, but we have to fix up our elasticsearch fork too.
So, stay tuned, we will fix this soon.
Or maybe you could help us fixing those compile issues in the meantime?

Fix compiling issue doesn`t mean correctness in production.
Compile process will continue with taking true in quotes like "true", making them a string, but what are the strings doing in a boolean fields value?
There are many further compile errors on the go.

thanks for reporting.
we are already looking at it.
Boolean values are stored as Strings 'T' or 'F' in lucene, that's why there are strings.

With https://github.com/crate/crate/pull/1841 it is now possible to compile and run the tests from with java8.
Correctnes hasn't really been a problem for production. There were mainly testing issues where the tests expected the result to be in a certain order (which in java8 has changed due to the underlying HashMap behaviour)


Cannot do re upload without refreshing

I upload the first file worked well. After that, I upload again the same file but it didn't upload without refreshing the page. @rejtg21

Yes it is prevented by default. It is now supported to upload the same file again on this commit https://github.com/TMJPEngineering/angular-upload/commit/aba8727fbfc1dfab372a63db09cf5ded64bc4829

please add an attribute allow-same-file="true" to work

Thanks for this. :+1: :100:


dasdasdasd

asdasdas

123123

asdasdasdasdasdasdasdasdasdxxx
On Mon, Feb 19, 2018 at 5:50 PM, 0x021<EMAIL_ADDRESS>wrote:

123123
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/0x021/asdasd/issues/1#issuecomment-366732153, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AZVGPgkI3lum0_sq17CKX1fNpNLZ_v9Oks5tWZhggaJpZM4SKwXg
.

55555555555552452345
On Mon, Feb 19, 2018 at 5:54 PM, khaled-azrail<EMAIL_ADDRESS>wrote:

asdasdasdasdasdasdasdasdasdxxx
On Mon, Feb 19, 2018 at 5:50 PM, 0x021<EMAIL_ADDRESS>wrote:

123123
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/0x021/asdasd/issues/1#issuecomment-366732153, or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/AZVGPgkI3lum0_
sq17CKX1fNpNLZ_v9Oks5tWZhggaJpZM4SKwXg>
.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/0x021/asdasd/issues/1#issuecomment-366733070, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AZVGPojFWN9eWVE28jYFzRMCfoeEVQctks5tWZklgaJpZM4SKwXg
.


plan for Develop coding standards for design system

Prior to coding elements in Phase II

https://github.com/gctools-outilsgc/design-system-code/pull/2
https://app.codacy.com/project/nickpietrantonio0024/design-system-code/dashboard?branchId=7844115&dashboardType=Days31


having issue

Plugin not Found: lolmewnStats
Base plugin does not exist:
Please install this plugin or change the base plugin

Enable the plugin during the instal of BlueStats

I dit

I mean i did


ConsulCatalog provider filter services by node`s serfHealth state

Do you want to request a feature or report a bug?
Feature
What did you expect to see?
We are using traefik with consul catalog and have met a problem
One of our linux server has crash and consul agent gone away;
From this issue: https://github.com/hashicorp/consul/issues/1133
The crash node's serfHealth status is 'critical' but the services on the node  are still keeping health status of 'passing'.
I find that consulCatalog provider doesn't  detect this.
thank you.

Hi @huhr ,
Thanks for your interest in the project.
After some test, I can see that consulCatalog provider detect serfHealth change.
Which traefik version are you using?
Which consul version are you using?
Are you able to provide us a compose file that reproduce this issue please?

Thanks for replay @mmatur ！
We are using  Consul v0.9.3 & traefik-1.4.2;
When a consul agent was running as client mode and been sent SIGKILL，then the consul cluster health/state api return
`[
{
"Node": "agent3",
"CheckID": "serfHealth",
"Name": "Serf Health Status",
"Status": "critical",
"Notes": "",
"Output": "Agent not live or unreachable",
"ServiceID": "",
"ServiceName": "",
"ServiceTags": [
],
"CreateIndex": 1535,
"ModifyIndex": 2041
},  {
"Node": "agent3",
"CheckID": "service:<IP_ADDRESS>-6666",
"Name": "Service 'demo' check",
"Status": "passing",
"Notes": "",
"Output": "HTTP GET http://<IP_ADDRESS>:6666/health: 200 OK Output: ",
"ServiceID": "<IP_ADDRESS>-6666",
"ServiceName": "demo",
"ServiceTags": [
],
"CreateIndex": 1985,
"ModifyIndex": 2023

}
]
`
and backend-demo in the traefik dashboard still has the "demo--172-18-0-3--6666--5" server.

any update ?

Hi @huhr,
Sorry for the delay.
A lot of issue on Consul catalog provider has been fixed between Træfik version 1.4.2 and the latest Træfik version.
You issue should be fixed by https://github.com/containous/traefik/pull/3390 and it's available in the latest Træfik version.
Could you please try with latest Træfik version?

Hi! I'm Træfiker :robot: the bot in charge of tidying up the issues.
I have to close this one because of its lack of activity :disappointed:
Feel free to re-open it or join our Slack workspace for more community #support.


Check if Bams are sorted or not

https://nfcore.slack.com/archives/C049MBCEW06/p1732100310110319


Error subscribing to a product

Starting today, the portal started blocking users from subscribing to a product.
The javascript console is showing this:
product#product=betas2:1 Refused to execute script from 'https://apidevelopers.pticostarica.com/scripts/vendor.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
I'm using the out of the box portal, not the self-hosted.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a1c96ba5-164a-e66f-a782-d0cd60a500f3
Version Independent ID: c0f01676-6a46-99a7-a56f-3b2d6eb5e965
Content: Overview of Azure API Management developer portal - Azure API Management
Content Source: articles/api-management/api-management-howto-developer-portal.md
Service: api-management
GitHub Login: @mikebudzynski
Microsoft Alias: apimpm

@efonsecab
Thanks for your feedback! We will investigate and update as appropriate.

Please, contact Azure support or open a bug report with reproduction steps in the developer portal's repository at https://aka.ms/apimdevportal
#please-close


anvil: add net_listening call for usage with Remix

Motivation
Anvil is unable to handlenet_listening calls, which is used by Remix, hence why Anvil is currently not compatible with Remix.
{"method":"net_listening","params":[],"id":43,"jsonrpc":"2.0"}

Returns:
{"jsonrpc":"2.0","id":43,"error":{"code":-32601,"message":"Method not found"}}

Solution
This PR adds a net_listening method, which returns true if Anvil is listening, and false if not.
net_listening

Returns true if client is actively listening for network connections.
Returns

Promise<boolean> : true when listening, otherwise false.

I've used a similar implementation to is_mining, aka return True, else False, so this lacks tokio tests.
Remix now works when selecting Ganache/Hardhat as Environment for Remix.
P.S: I'll also push a PR to Remix in a bit to add Anvil properly on their end

thanks! lgtm

P.S: I'll also push a PR to Remix in a bit to add Anvil properly on their end
@8times4 what is needed?

Thanks!
@gakonst While Ganache/Hardhat providers can already be selected and used via Anvil, I've just pushed this PR to add Foundry as a provider. PR-2509


[Quill] update to v1.3.1

Describe the pull request

What does your PR fix? Fixes
Version update

Which triplets are supported/not supported? Have you updated the CI baseline?
I have updated the CI baseline

Does your PR follow the maintainer guide?
Yes

If the new version supports arm64, you need remove arm from  Supports in CONTROL and remove ON_ARCH "arm" from vcpkg_fail_port_install in portfile.cmake. Because arm - VCPKG_TARGET_ARCHITECTURE == "arm" or VCPKG_TARGET_ARCHITECTURE == "arm64".
And I test this PR on my locally, I build quill:arm64-windows failed with this error:
vcpkg\buildtrees\quill\src\76aaafff6d-cac280987f\quill\include\quill/detail/misc/Rdtsc.h(62): error C3861: '__rdtsc': identifier not found
vcpkg\buildtrees\quill\src\76aaafff6d-cac280987f\quill\include\quill/detail/misc/Rdtsc.h(62): error C3861: '__rdtsc': identifier not found
vcpkg\buildtrees\quill\src\76aaafff6d-cac280987f\quill\include\quill/detail/misc/Rdtsc.h(62): error C3861: '__rdtsc': identifier not found
vcpkg\buildtrees\quill\src\76aaafff6d-cac280987f\quill\include\quill/detail/misc/Rdtsc.h(62): error C3861: '__rdtsc': identifier not found
vcpkg\buildtrees\quill\src\76aaafff6d-cac280987f\quill\include\quill/detail/misc/Rdtsc.h(62): error C3861: '__rdtsc': identifier not found

thanks Lilly, I am reverting the changes for now

Alright cool, thanks y'all!


deep review of the API e2e tests and removed user endpoint

This PR reviews the way we are doing the API e2e tests to factorise a bit the common test on each endpoint.
Like that it should easier to have a set of regular test per endpoint.
I also took the opportunity to remove the user endpoints that are not used for the moment, and likely we will need a complete specification to know how to put in place the authorisation/authentication.
Signed-off-by: Augustin Husson<EMAIL_ADDRESS>

this PR should help also to fixed the tests in #680


Improved error handling for SQL errors

refs TryGhost/Product#4083

In the vast majority of cases, we shouldn't have SQL errors in our code. Due to some limitations with validating e.g. nql filters passed to the API, sometimes we don't catch these errors and they bubble up to the user.
In these rare cases, Ghost was returning the raw SQL error from mysql which is not very user friendly and also exposes information about the database, which generally is not a good practice.
To make things worse, Sentry was treating every instance of these errors as a unique issue, even when it was exactly the same query failing over and over.
This change improves the error message returned from the API, and also makes sure that Sentry will group all these errors together, so we can easily see how many times they are happening and where.
It also adds more specific context to the event that is sent to Sentry, including the mysql error number, code, and the SQL query itself.

API Response Before:

API Response After:

Sentry Event Before (link):

Sentry Event After (link):


Data format of SemEval2010?

Thanks to the authors for publicizing the code, I am trying to reproduce the results for the RC task, which uses the SemEval2010 dataset, the format used in the code seems to be different from the official release, can the authors please let me know where the data is obtained from? I want to make sure the results (sentence ordering etc.) are consistent, thanks!
Also a side question, I assume the results in ChatGPT_Output are the authors' own experiment results, why are the 'sentence' entries all redacted? Is it because of the use of LDC-licensed datasets?

I have the same quesiton

Another question - there seems to be no instruction on how to prepare the data for ET, NER, RC, and RE, the result format for these tasks is also different from the rest. Can the authors perhaps provide some instruction on this? Thanks.


[Possible small bug] Longbow Blizzard

So Fall just obtained the Longbow called Blizzard. However had, upon wielding it in the proper slot, nothing changed; the weapon did not appear to register.
I removed all other weapons and tried to equip it again - it was wielded (so it filled the correct slot just fine), but the main portrait did not change, whereas with all other weapons, the weapon will instead appear in the right or left hand (or both).
I gave it to Korgan then but same problem - the weapon did not show up upon wielding. There may be an issue with that weapon specifically; it should, like any other weapon, register in the main portrait. (Note that other weapons in the same mod, do properly show up, so I think there is something wrong specifically only with that weapon, perhaps something that invalidates some call or register functionality.)
Edit: I also looked for the weapon damage calculation part; it said "Fist", so this is not just an animation issue - the weapon really does not register at all as a weapon. The only thing that works is to wield it in a proper weapon slot, but that does appear to do nothing else.

Hello! I don’t quite understand the issue. For example, I can see the bow equipped in the quick weapon slot icon. The bow is visible in the archer’s hand, and the type of arrow being used is shown in the portrait. For the bow to appear on the character in the inventory, you need to have arrows in the quiver. If you have a screenshot of the issue, that might help (I tested Blizzard and a regular Longbow, and both work the same in terms of visual representation).

Right - it works fine actually; I had no ammunition. I just found that out when I equipped the silver arrow from one of Lava's mods onto the one who has the bow, so there is no bug here.


Knowledge mapping - what don't I know?

Major topics that I know I don't know enough about:

history of academic publishing
[history, science, strategy, process] of [activism, changing institutions, changing laws, changing people's minds]
history of open science - people, projects, successes and failures, battles
propaganda, corporate fraud, etc. (major cases, examples, effects)

What I've done so far:

reached out to historians, open science veterans, and legal experts for advice about key sources of information
arranged to get some 'brain dump' time with my mentors, in which I fire questions at them and record their responses, designed to get a big pile of ideas and facts that I can then learn more about on my own time

I know a reasonable amount about copyright and other intellectual property. But this could be greatly expanded. Add some IP law experts to my brain dump request list.
Stuff to read:

UK copyright law + database law
EU copyright law + database directive
US copyright law
EU intellectual property review proposals and current status
UK/EU/US case law and prominent battles

People to approach:

Charles Oppenheim
Julia Reda
Kenny Crews
local experts (confer with Peter Murray-Rust & Jenny Molloy)

[history, science, strategy, process] of [activism, changing institutions, changing laws, changing people's minds]
some reading suggestions from Greg Wilson:

Saul Alinsky - Rules for Radicals: A Practical Primer for Realistic Radicals
James Scott - Seeing like a State: How Certain Schemes to Improve the Human Condition Have Failed
Adam Hochschild - Bury the Chains: Prophets and Rebels in the Fight to Free an Empire's Slaves

suggestions from a friend who does corporate CEO coaching and management consulting:

Bodlean Library (eds.) - The Slave Trade Debate for historical perspectives on social change in the abolition of slavery
Kotter International - The 8-step process for leading change for an examplar strategy for engineering organisational change
Jenny Nabben - Influence: What it Really Means and How to Make it Work for You for an effective influencing strategy

discussion with two historians:

most of history that studies change is about how people have failed to create change
in general any attempt to bring about change on an ideological level has failed except where violence has been applied
need motivating underlying philosophy
and penalising factors for bad behaviour
difference between socialised power (impact?) and personalised power (status), and money

affecting publishers

look at what large corporations (e.g. RELX group) cares about
look at influencing shareholders (get analyst report on concentration of shareholding) - likely mostly pension funds
look at carbon disclosure project, experienced at influencing shareholder behaviour as a drive of influencing corporate behaviour
HSBC has also been responsive to this kind of shareholder lobbying

Intersection of IP and history of (academic) publishing
suggestions from Charles Oppenheim

Peter Burke - A Social History of Knowledge II: From the Encyclopaedia to Wikipedia: 2
John Feather - Publishing, piracy and politics
Paul Pedley - Practical Copyright for Library and Information Professionals

Orthogonal to all the subjects covered so far - I used to have a strong interest in design. Time to revive this with a focus on design of materials for communicating and teaching science, for convincing and motivating audiences. Collecting some resources here:

Talking Type by Jessica Hische, a wonderful introduction to typeface selection
I used to have a beautiful book that showcased graffiti lettering styles from artists around the world. Try to find it online.

General relevant reading recommendations from Titus Brown:

Gabriella Coleman - Hacker hoaxer whistleblower spy
Thomas Leitch - Wikipedia U: Knowledge, Authority and Liberal Education in the Digital Age
Jaron Lanier - Who owns the future

Found the graffiti lettering book in Modulor in Berlin! https://www.amazon.co.uk/Street-Fonts-Graffiti-Alphabets-Graphics/dp/050051559X


Access to stream combiner

Just wondering, the stream-combiner module is accessible via es.pipe but it's not exposed in the documentation. Is it safe to use es.pipe in our code?
Thanks in advance.

that is a legacy api, but it's not gonna change.

so yes.

Ok, thanks.
Would it be better practice to add the stream-combiner as an explicit dependency, or is it a case of it doesn't matter for now?

well, I'm not gonna remove es.pipe from event-stream so it would be safe to do so, but if it was my code I'd just depend on stream-combiner directly.

Perfect. That's what I wanted to know. Thanks so much. Your modules have been a life saver.


Hatchling fails to build annotated-types with "Field project.license-files must be an array"

Hatchling introduced a check for the project.license-files key to be PEP-639 compliant. This means that license-files can no longer be
license-files = { paths = ['LICENSE'] }

but instead should be license-files = ["LICENSE"] or simply left out as the default will glob for that file:
globs = ['LICEN[CS]E*', 'COPYING*', 'NOTICE*', 'AUTHORS*']

If you like, I can provide a PR with either of the two solutions.

Thanks for reporting this!  I'd be happy to switch to license-files = ["LICENSE"] 🙂

Turns out that hatch 1.26.1 released a compatibility fix on the same day our builds failed, which is the reason I was not able to replicate the behavior locally.
https://github.com/pypa/hatch/compare/hatchling-v1.26.0...hatchling-v1.26.1#diff-b29708f9e31a5480d8552a96951ee054262d2d12b906e3997413eacc99f33b90R746-R747
Since the non-compatible version has been yanked, I still was not able to reproduce this properly as I don't know the exact versions used.
Lessons learned: We will now run a pip freeze after (successful and unsuccessful) builds so that we at least know which tools we actually used.
I'll still create the PR :)


v0.9.x: Provider Tries to Create Policy instead of Modify During Resource Change

Error Reported
When modifying banyan_policy resources, the change is shown as an update-in-place. However, when running terraform apply, it seems to be taking actions to create the resource instead, thus failing because the policy already exists.
terraform apply
...

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  ~ update in-place

Terraform will perform the following actions:

  # {module}.banyan_policy_infra.policy will be updated in-place
  ~ resource "banyan_policy_infra" "policy" {
        id          = "39f10dd4-a907-4c75-898f-ee61f15e7a53"
        name        = "{Policy} Infra"
        # (1 unchanged attribute hidden)

      ~ access {
          ~ roles       = [
              + "{Role}",
                # (1 unchanged element hidden)
            ]
            # (1 unchanged attribute hidden)
        }
    }

  # {module}.banyan_policy_web.policy will be updated in-place
  ~ resource "banyan_policy_web" "policy" {
        id          = "9eed1a83-63e5-429c-ad71-04e3dbc3716c"
        name        = "{Policy} Web"
        # (1 unchanged attribute hidden)

      ~ access {
          ~ roles        = [
              + "{Role}",
                # (1 unchanged element hidden)
            ]
            # (3 unchanged attributes hidden)
        }
    }

Plan: 0 to add, 2 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

{module}.banyan_policy_infra.policy: Modifying... [id=39f10dd4-a907-4c75-898f-ee61f15e7a53]
{module}.banyan_policy_web.policy: Modifying... [id=9eed1a83-63e5-429c-ad71-04e3dbc3716c]

╷
│ Error: A existing policy was found with name {Policy} Infra (id=39f10dd4-a907-4c75-898f-ee61f15e7a53)
│
│   with {module}.banyan_policy_infra.policy,
│   on .../main.tf line 1, in resource "banyan_policy_infra" "policy":
│    1: resource "banyan_policy_infra" "policy" {
│
╵
╷
│ Error: couldn't create new web policy: A existing policy was found with name {Policy} Web (id=9eed1a83-63e5-429c-ad71-04e3dbc3716c)
│
│   with {module}.banyan_policy_web.policy,
│   on .../main.tf line 1, in resource "banyan_policy_web" "policy":
│    1: resource "banyan_policy_web" "policy" {

Workaround
Workarounds would be:

Makine the change in the console, then running terraform refresh
Run terraform taint on the resource then running terraform apply to rebuild the resource.

Workaround #1 is working as expected; workaround #2 generates a "Error: 400 bad request".
Provider Affected
provider[registry.terraform.io/banyansecurity/banyan] 0.9.0/0.9.1

thanks for the bug report. looks like a dup of #76.

Agreed, thanks for looking into it!


Use ceph orch status as check for configuring ssh orchestrator

Previously, orchestrator configuration would only happen if cephadm bootstrap was actually executed (the "onchanges" condition).  This creates a problem for upgrades from DeepSea to ceph-salt, where cephadm bootstrap will never run (because /etc/ceph/ceph.conf and /etc/ceph/ceph.client.admin.keyring already exist), which in turn means the orchestrator configuration never happens.
By replacing "onchanges" with "unless: ceph orch status...", we decouple these two steps, so the orchestrator configuration will happen in any case where the backend is not already set to cephadm.
Signed-off-by: Tim Serong<EMAIL_ADDRESS>

Codecov Report

Merging #267 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #267   +/-   ##
=======================================
  Coverage   76.57%   76.57%
=======================================
  Files          11       11
  Lines        2596     2596
=======================================
  Hits         1988     1988
  Misses        608      608

Continue to review full report at Codecov.

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

@tserong I'm curious, how is the bootstrap_minion grain set in the upgrade scenario? I ask, because almost all of ceph-salt-formula/salt/ceph-salt/cephbootstrap.sls is enclosed in the following conditional:
{% if grains['id'] == pillar['ceph-salt']['bootstrap_minion'] %}
...
{% endif %}

I guess you could find out which minions have both a MON and a MGR running on them and randomly choose one of those as the "bootstrap minion". Still, it seems odd to have a "bootstrap minion" in an upgrade scenario where bootstrap is not being run?
An alternative might be to split the configure ssh orchestrator step into a separate SLS file?

@tserong I'm curious, how is the bootstrap_minion grain set in the upgrade scenario?

Right now, the admin has to set it. I've just been setting it to one of the mons in my testing, and because there's already a ceph.conf and admin keyring on that node, the actual cephadm bootstrap invocation doesn't happen. Somewhat counterintuitive, but it works.
What would further help, is if we add a runner to DeepSea to generate JSON suitable for usage with ceph-salt import, so the user does't have to worry about setting up ceph-salt config by hand. This could then automatically nominate a mon as the bootstrap node. Or, we rejig things a bit per #265 so that we don't need a bootstrap mon in the upgrade case.

@tserong @smithfarm Note that this PR will conflict with https://github.com/ceph/ceph-salt/pull/250 where configure ssh orchestrator is being removed.
In https://github.com/ceph/ceph-salt/pull/250 we are relying on cephadm to configure ssh orchestrator because since https://github.com/ceph/ceph/pull/35195 it's now possible to provide ssh keys during cephadm bootstrap.

Edit: Oh, wait, except, the configure ssh orchestrator step really only wants to be run on one node, and it has to be a node with the ceph.conf and admin keyring. So maybe it does make sense to still nominate a bootstrap node?

If configure ssh orchestrator is idempotent, what about running it on admin nodes[1]?
[1] https://github.com/ceph/ceph-salt/pull/250/files#r440114213

If configure ssh orchestrator is idempotent, what about running it on admin nodes[1]?

That should work fine. With the ssh change from #250 it would probably only need to be:
configure ssh orchestrator:
  cmd.run:
    - name: ceph mgr module enable cephadm && ceph orch set backend cephadm
    - unless: "ceph orch status 2>&1 | grep -q 'Backend: cephadm'"
    - failhard: True

The ceph orch status check means it won't re-apply if it's already been done (either by boostrap, or on some other admin node, in case there are multiple admin nodes). Even if two admin nodes somehow both ran the above at exactly the same time, it should still be fine, because there's no harm in enabling the same module multiple times (you'll just get back "module 'cephadm' is already enabled")

If configure ssh orchestrator is idempotent, what about running it on admin nodes[1]?

That should work fine. The ceph orch status check means it won't re-apply if it's already been done (either by boostrap, or on some other admin node, in case there are multiple admin nodes). Even if two admin nodes somehow both ran it at exactly the same time, it should still be fine, because there's no harm in enabling the same module multiple times (you'll just get back "module 'cephadm' is already enabled")
I originally thought we cut it down to just running "ceph mgr module enable cephadm && ceph orch set backend cephadm", but of course we're still going to need the ssh key setup for the upgrade case as well.

If configure ssh orchestrator is idempotent, what about running it on admin nodes[1]?

That should work fine. The ceph orch status check means it won't re-apply if it's already been done (either by boostrap, or on some other admin node, in case there are multiple admin nodes). Even if two admin nodes somehow both ran it at exactly the same time, it should still be fine, because there's no harm in enabling the same module multiple times (you'll just get back "module 'cephadm' is already enabled")

As an alternative, we can run it only on the "first" admin only, something like if minion_id == pillar['ceph-salt']['minions']['admin][0] (not sure if it has any real benefit).

After thinking about this once again, I concluded that maybe we really need to specify the bootstrap_minion, but we need to be able to disable the bootstrap itself, something like:
if grains[id] == bootstrap_minion:
  if cephadm_bootstrap_enabled:
    run cephadm bootstrap
  else
    configure ssh orhestrator

I'll submit a proposal in the context of https://github.com/ceph/ceph-salt/issues/265 as soon as possible.

s/configure cephdm orchestrator/ :smile:

@tserong I think this PR can be closed in favor of https://github.com/ceph/ceph-salt/pull/315

Closing in favour of #315


query property of RouterRequest has no TS definition?

https://github.com/tsndr/cloudflare-worker-router/blob/ec9f99e1327800ba50eeca957fc427d3443a2f0d/index.d.ts#L261
I'm not sure if I'm just missing something or not, but it seems like it should be there. Let me know if I'm wrong.

It's right here :)


Switch postgresql tests to jammy

The focal version is deprecated and no longer supported: https://github.com/canonical/postgresql-operator/pull/67

@welpaolo from MM:
I am experiencing reproducible issues with Kafka revision 97 in data-platform tests:
https://github.com/canonical/data-integrator/actions/runs/4342930023/jobs/7587605730#step:6:326

The last time the test passed in Kafka revision 94:
https://github.com/canonical/data-integrator/actions/runs/4127747287/jobs/7132397794#step:6:273

rev 95 (snap source) and rev 96 (Introduced structured configurations)
sounds like a good candidates for instability:

> juju ssh  kafka/0 'find /var/snap/kafka/common/log-data'' returned non-zero exit status 1.

Paolo, can you please share some light/hints here? Tnx!


[bug] [beta] WindowResized event broken on Mac

Describe the bug
tauri::WindowEvent::Resized received through the main run event loop on MacOS never returns the correct size of the window, and instead returns the original size the window was created with.
This is a fairly new regression, not present in the latest alpha versions (I observed it only today when I was upgrading my library dependencies)
Reproduction
npm run create-tauri-app --beta
Replace the main function with:
fn main() {
    let app = tauri::Builder::default()
        .plugin(tauri_plugin_shell::init())
        .invoke_handler(tauri::generate_handler![greet])
        .build(tauri::generate_context!())
        .expect("error while running tauri application");
    app.run(|app_handle, event| {
        match event {
            tauri::RunEvent::WindowEvent { event, .. } => {
                match event {
                    tauri::WindowEvent::Resized(new_size) => {
                        println!("Resized to: {:?}", new_size);
                    },
                    _ => {},
                }
            },
            _ => {},
        }
    });
}

Expected behavior
While resizing the window I should see the console logs of new sizes of the window.
Instead I see this:

Full tauri info output
[✔] Environment
    - OS: Mac OS 14.3.0 X64
    ✔ Xcode Command Line Tools: installed
    ✔ rustc: 1.75.0 (82e1608df 2023-12-21)
    ✔ cargo: 1.75.0 (1d8b05cdd 2023-11-20)
    ✔ rustup: 1.26.0 (2023-04-05)
    ✔ Rust toolchain: stable-x86_64-apple-darwin (default)
    - node: 16.20.2
    - yarn: 1.22.19
    - npm: 8.19.4

[-] Packages
    - tauri [RUST]: 2.0.0-beta.12
    - tauri-build [RUST]: 2.0.0-beta.10
    - wry [RUST]: 0.37.0
    - tao [RUST]: 0.26.1
    - @tauri-apps/api [NPM]: 2.0.0-beta.6
    - @tauri-apps/cli [NPM]: 2.0.0-beta.10

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist
    - devUrl: http://localhost:1420/
    - bundler: Vite

Stack trace
No response
Additional context
Not reproducible on Linux or Windows (where the event is fired with correct data)

https://github.com/tauri-apps/tauri/blob/7898b601d14ed62053dd24011fabadf31ec1af45/core/tauri-runtime-wry/src/lib.rs#L3913-L3919
Remove has_children in line 3918 seems to fix the issue, but I'm not sure what story behinds it 👀
cc @lucasfernog

This would break Window.inner_size it for multiwebview windows. I was happy when I found this at first until I realized this...
But still the problem seems to be how we overwrite or inject the WebView/s into the NSView because in tao itself it seems to interact correctly with the NSView (even though its implementation is a bit weird comparing to what others do but maybe that's again because of the WebViews)

I'll try fixing this, there's probably a better way to check for multiwebview setups.

I feel the check is just wrong, has_children && webviews.len() == 1 is supposed to mean is webview window? but it isn't AFAIK.

Should we keep webviews.len() > 0 or !webviews.is_empty()? I create a new window without webview, it would crash when resizing.


Discrepancy in train lengths between left-moving and right-moving trains

There seems to be a mismatch in the estimated length between similar trains moving in different directions.
For instance, this left moving train is estimated as having a length of 205 m:
https://trains.jo-m.ch/#/trains/19476
Which is consistent with a similar left-moving train:
https://trains.jo-m.ch/#/trains/19494
However, right-moving trains at around the same time are considerably shorter, with this one estimated at 186 m:
https://trains.jo-m.ch/#/trains/19473
Or this one at 185 m:
https://trains.jo-m.ch/#/trains/19491
The same can be observed with other units. These left-going units are estimated at 104 m:
https://trains.jo-m.ch/#/trains/19410
https://trains.jo-m.ch/#/trains/19409
Whereas their right-moving friends are shorter, estimated at 98 and 97 m respectively:
https://trains.jo-m.ch/#/trains/19413
https://trains.jo-m.ch/#/trains/19414
What is also interesting, is that the left-moving units seem to be consistent in their estimated lengths at different speeds, which is no the case with similar right-moving trains.

This program has no concept of 3d space - we are not doing any camera calibration or stereo vision.
A single parameter is configured which tells trainbot how many meters equal a pixel. From this, all the length, speed, and accel measurements are derived.
Due to perspective, objects farther away from the camera will appear smaller in the camera image. This means that this parameter is only actually correct at a set of points (some sort of line or curved line) in the image which happen to have a certain distance from the camera.
In my case, I have set the parameter so that it is correct between the two parallel tracks in front of my camera.
That means all trains on the track closer to the camera will be estimated to be too long (and also too fast), and the opposite for the rear track.
In Switzerland, trains always drive on the left - so trains going to the left are always going to be closer to the camera than the ones going to the right.


E2E Testing framework and Infra

Optimized builds for 0.3 -- we should do debug and production goals as apart of production ready goal in 0.3


Additional special functions in Microsoft.Quantum.Math.

Please see #448 for feature request, #457 for API design approval, and #440 for initial contribution (thanks, @TheMagicNacho!).

Looks like the above was a transient build failure; re-running.

/azp run

=D This is great to see!


Automatic testing

I would likely favor using Jest, which is designed to work with snapshots to check for correct output.

Closing as now resolved


Document all connections cups-connector needs

To my knowledge, cups connector needs:

HTTPS port 443 connectivity to accounts.google.com (OAuth authorize and token refresh)
HTTPS port 443 connectivity to www.google.com (/cloudprint API endpoints)
XMPP port 443 connectivity to talk.google.com (print job notification channel)

in order to function correctly. No additional connections should be needed (assuming of course we have direct LAN connectivy to CUPS). We should confirm these are the only connections needed and document them accordingly.

For reference:
https://support.google.com/a/answer/3179170
(under the "Is Port 5222 required inbound for the print server?" collapsed area) says that the Chrome connector needs:
443 TCP (HTTPS), with connections to:
https://www.googleapis.com/*
https://accounts.google.com/*
https://www.google.com/cloudprint/*

5222 TCP (XMPP, using STARTTLS), with a persistent connection to:
talk.google.com

The only reference to www.googleapis.com in the cups connector code is for the OAuth scope, that domain/URL should never be directly hit by cups connector.
OOB, cups connector uses 443 for XMPP connection to talk.google.com

The connector uses 443, not 5222, for XMPP. That's to help with restrictive firewalls.

The connector can talk to printers via SNMP, to collect extra status info, like marker and paper levels. This isn't a firewall concern, since the printers probably live on the same subnet.
Local printing (Privet) uses mDNS to announce/discover, and plain-old-HTTP to communicate. This conversation is between client (CrBook, Android, iOS) and CUPS Connector, over the local subnet only.

See the work in progress here:
https://github.com/google/cups-connector/wiki/What-is-Google-Cloud-Print%3F


some private imports broken on main

What happened?
Seen over in cf_xarray
Using xr.core.resample.Resample worked prior to https://github.com/pydata/xarray/pull/6702.
Now we need to use from xarray.core.resample import Resample
I don't know if this is something that needs to be fixed or only worked coincidentally earlier. But I thought it was worth discussing prior to release.
Thanks to @aulemahal for spotting

To add details, I suspect this commit as the culprit:
https://github.com/headtr1ck/xarray/commit/cd2f2b247cf6e1c68c7db6e92100898272fb0e1a
It removes a direct import of the core.resample submodule in core.dataarray and moves it to the "Type checking" imports. Thus, importing xarray (import xarray as xr), does not trigger an explicit import of resample anymore.

It was a  semi-incidential change.
These modules are now only imported when required (i.e. calling DataArray.rolling ), I didn't think anyone would actually use these classes directly.
The modules can either be imported at DataArray/set module level directly again, or we could add a breaking change note.

On the plus side, with the current implementation we probably save a few ms import time xD.

Another example is that asfreq has moved downstream a little and is no longer available on Resample either, can probably break something as well.

It was moved because it actually didn't work in the baseclass ;)
So I don't think anyone has ever used that.


Add travis-ci button for README

Please assign to me

Assigned to @Twon - thanks Ant!

Travis CI button now added to the README.


[CoinbasePro] incorporating rate limiting into CoinbasePro

Incorporating rate limiting into CoinbasePro. Additional code cleanup

@walec51 I wanted to get your opinion in how I setup public ResilienceRegistries getResilienceRegistries() which just sets up a singleton. I think this is better setup as a singleton from the CoinbaseProResilience layer, want to get your thoughts.

Looks good @earce . Thanks for all your work as usual!

@walec51 are you good with this?

@timmolter if you are happy with this I can merge it?

yes, looks good!

looks good, just two small remarks however they are not critical


How to access the current state?

Is there a way to access the current state from an element? I see that I can listen for state changes, but I don't see a way to just access the current state.

Currently no, but it shouldn't be too hard to implement. I'm not sure it's a good idea though. Can you explain your use case so I can get an idea for why this might be needed? Since I've been using Redux with Polymer, listening to state changes has been the only way to get access to the state, and that seems to have been working fine. Each component hooks up one method to receive state changes, and from that method state properties are attached to the element context: this.whatever = e.detail.state.whatever. I may just be ignorant, so I would love to hear why you would access the state outside of a listener.

I have created a project using polymer-cli. One of the things it does is to
lazy-load routes. So at the time of loading the initial page, the other
routes have not been loaded. I have had some problems with components lnot
receiving any state changes. I think it is because of the lazy loading, but
not sure.
On Tue, 09 Aug 2016 at 8:12 PM, Jordan Last<EMAIL_ADDRESS>wrote:

Currently no, but it shouldn't be too hard to implement. I'm not sure it's
a good idea though. Can you explain your use case so I can get an idea for
why this might be needed? Since I've been using Redux with Polymer,
listening to state changes has been the only way to get access to the
state, and that seems to have been working fine. Each component hooks up
one method to receive state changes, and from that method state properties
are attached to the element context: this.whatever =
e.detail.state.whatever. I may just be ignorant, so I would love to hear
why you would access the state outside of a listener.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lastmjs/redux-store-element/issues/22#issuecomment-238641035,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACDjkUDtlvkZozMCdAT6vBeWX9VxzzPnks5qeMMagaJpZM4JgKJf
.

--
Keith Garrod
Phone +356 2156 9774
Mobile +356 9958 6774

Hmmm, that sounds likely. Try logging from within one of the lifecycle callbacks, maybe the ready callback, to find out exactly when the component gets loaded. The listener won't be able to be called until after the component is loaded. When it does load, you might need to fire an action to get the listener to be called once to load any initial state that you need.

I think I've decided to add a getState function to the element. It is part of the Redux store API, so I think it should be part of the element's API as well. Thanks for bringing this up @kpgarrod

Can I run my use case by you for wanting this because it seems so common that perhaps I am doing something wrong.  Lets say my login form sets a value in the store something like userLevel=1.  Now in another part of the app as the user clicks through various views a component loads that wants to display that userlevel.  Without getState how would one get the value?  Reading from the state store to set an initial state seems incredible common....no?
And btw thanks for writing this :)

So if that component is hooked up to state changes through on-statechange, when the component loads just fire an empty action:
this.action = {
    type: 'DEFAULT_ACTION'
};

As long as in your root reducer you have a default case that just returns the current state, that should call your statechange listener with the current state. That's how I've tackled initial state synchronization issues.

Ya that would do it :)

I've added a getState method in the current release. For example:
<redux-store id="redux-store-element" action="[[action]]"></redux-store>

If you want to grab the current state from within a component:
const reduxStoreElement = this.querySelector('#redux-store-element');
const state = store.getState();

And remember that I don't suggest using this as a general way to grab the state. I would rely on the statechange event in most cases, and use this when absolutely necessary.


"Gurbănești" is listed in the drop-down menu

Description:
"Gurbănești" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Gurbănești" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Gurbănești, CĂLĂRAȘI".


Downsampling - is this required in OTC (or JOTC)?

We could add a Jaeger specific processor to provide downsampling support in JOTC if not provided in the core OTC project.
Added to acceptance criteria milestone, as intention is to have JOTC as drop in replacement for JC.

The same behavior can be achieved by OTEL probabilistic processor https://github.com/open-telemetry/opentelemetry-collector/blob/master/processor/samplingprocessor/probabilisticsamplerprocessor/README.md#probabilistic-sampling-processor.
I don't anticipate that the downsampling flags have been widely used by the community. Instead of providing these flags in Jaeger OpenTelemetry collector we can provide a migration guide pointing out people to OTEL prob. sampler.
@yurishkuro do you agree? Can we close this issue?

Yes, it seems like the equivalent mechanism. I think it's ok to not expose as a flag.

Thanks for the confirmation. Then I am closing this as noop :)


[AUTOUPGRADE-CORE] Upgrade ca-certificates Msft cert change

[AUTOUPGRADE-CORE] Upgrade ca-certificates Msft cert change
Upgrade pipeline run -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=486099&view=results
buddy build -> https://dev.azure.com/mariner-org/mariner/_build/results?buildId=486116&view=results

Closing to test the fixed autoupgrade tool.


CORS Policy preventing LLM queries

I was trying to run the example queries on the /play page, and ran into CORS issues with all my requests. I've pasted the chrome dev console logs below, but this is broadly what I expect: CORS should prevent the page from making a javascript request to an OpenAI endpoint, right?
Tools like these usually work around CORS by proxying the requests via a non-CORS-violating backend, but it looks like that's not happening here. Am I misunderstanding CORS / doing something strange here. How could this ever have worked?

Querying Azure OpenAI deployed model 'gpt-35-turbo' at endpoint 'https://api.llm.palantir.tech/preview' with prompt 'What is the opening sentence of The Poppy War by R.F.Kuang?'...

Access to fetch at 'https://api.llm.palantir.tech/preview/openai/deployments/gpt-35-turbo/chat/completions?api-version=2023-03-15-preview' from origin 'https://chainforge.ai' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Hi Monty --Yes, you are correct that some providers block CORS requests. However, OpenAI, HuggingFace, and Google PaLM2 all allow it. We route Anthropic through the server, because Anthropic has a CORS blocker.
In the past, others have used Azure OpenAI endpoints on the locally installed version of ChainForge without incident. However, I'm not aware of anyone trying it through the /play page.
Based on this context, it could be one of three things:

the particular server you are querying blocks CORS requests, but other Azure OpenAI servers do not (this is possible, as it seems you have turn on CORS for specific endpoints https://learn.microsoft.com/en-us/answers/questions/1329470/cant-turn-on-cors-from-adding-data-source-dialog-i ; https://learn.microsoft.com/en-us/azure/container-apps/cors?tabs=arm&pivots=azure-portal)
Microsoft has recently changed the CORS headers for Azure OpenAI and now prevents such requests for all users
for some reason, the locally installed version of ChainForge works fine with CORS for Azure OpenAI endpoints, but the /play one does not

Unfortunately, this is more than a simple fix. Routing requests would involve removing a dependency on Azure OpenAI's TypeScript API, and transitioning to bare REST calls instead. I'm on vacation at the moment, and won't be able to handle this until next week.
In the meantime, try installing CF locally and/or investigating whether CORS policy can be enabled on your Azure endpoint. If it still doesn't work, let us know here.
NOTE: I personally don't have access to Azure OpenAI, which makes testing its REST API difficult (it's been a longstanding issue that I raised w/ the Azure team --Microsoft is not willing to give us a dummy endpoint, so I'm at wit's end).


Fix mismatched float problem

Tensorflow complains of tf.float64 vs. tf.float32 incompatibility in some scenarios.  With this pull request, we are casting everything relevant to tf.float64.

Also, bump version to 2.1.5.


doc(readme): scrollIntoView remove extra semicolon

Remove extra semicolon in example
Description
Options provided to scrollIntoView method contain an unnecessary semicolon at the end.
Types of changes

[ ] 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 change)

The extra comma is acceptable, actually it's a kind of code-style: http://eslint.org/docs/rules/comma-dangle


Add basic WindowFuzzerTest

This diff adds a basic version of window fuzzer test that tests the Window operator with window functions and aggregation functions.
The window fuzzer test currently have the following limitations:

Not supporting reproduction of test failures from saved files.
Not using randomly-generated frames.
Not allowing custom result verifiers.
Verify results against DuckDB instead of Presto.

The limitations will be addressed next in the subsequent PRs.
This is the second piece of https://github.com/facebookincubator/velox/issues/7754.
Differential Revision: D51880255

Hi @kagamiori, This is really good progress on WindowFuzzer. You might have done runs of this (without verification of course). Did you encounter any issues ?

Hi @kagamiori, This is really good progress on WindowFuzzer. You might have done runs of this (without verification of course). Did you encounter any issues ?

Hi @aditi-pandit, I didn't notice any issue when running window functions without verification. I'm also locally running the window fuzzer test with PrestoQueryRunner to verify the result against Presto. I don't see incorrect results of window functions so far. (I did see some result mismatches of window operation with aggregation functions, but those are likely bugs in the aggregation functions themselves.) I'll let you know if I find any bug in window functions or the window operator.

@kagamiori Wei, thank you for putting this together. Some high level questions about I spent time reading the code.
PR description clarifying what Window Fuzzer doesn't do, but it doesn't explain what it does. Would you clarify? Also, how effective this version of the Fuzzer? Did it help discover any bugs? How well is it testing window functions?

Hi @kagamiori, This is really good progress on WindowFuzzer. You might have done runs of this (without verification of course). Did you encounter any issues ?

Hi @aditi-pandit, I didn't notice any issue when running window functions without verification. I'm also locally running the window fuzzer test with PrestoQueryRunner to verify the result against Presto. I don't see incorrect results of window functions so far. (I did see some result mismatches of window operation with aggregation functions, but those are likely bugs in the aggregation functions themselves.) I'll let you know if I find any bug in window functions or the window operator.

Thats great @kagamiori. Just checking you are using null values in your data right ?
More fuzzer options for different frames, ignore nulls etc would likely uncover issues. But its good that the basic parts are not problematic.
Once you get these PRs checked in, we can connect about other enhancements for window fuzzer.

Hi @kagamiori, This is really good progress on WindowFuzzer. You might have done runs of this (without verification of course). Did you encounter any issues ?

Hi @aditi-pandit, I didn't notice any issue when running window functions without verification. I'm also locally running the window fuzzer test with PrestoQueryRunner to verify the result against Presto. I don't see incorrect results of window functions so far. (I did see some result mismatches of window operation with aggregation functions, but those are likely bugs in the aggregation functions themselves.) I'll let you know if I find any bug in window functions or the window operator.

Thats great @kagamiori. Just checking you are using null values in your data right ?

@aditi-pandit, yes, I did set null_ratio to 0.1 (default). I disallowed null elements in arrays, rows, and maps though, because Presto throws exception when the partitioning columns are complex-typed with null elements.

More fuzzer options for different frames, ignore nulls etc would likely uncover issues. But its good that the basic parts are not problematic.
Once you get these PRs checked in, we can connect about other enhancements for window fuzzer.

Sound great! I'll reach out to you once this the and next PR for failure reproduction are merged.

@kagamiori Wei, thank you for putting this together. Some high level questions about I spent time reading the code.
PR description clarifying what Window Fuzzer doesn't do, but it doesn't explain what it does. Would you clarify? Also, how effective this version of the Fuzzer? Did it help discover any bugs? How well is it testing window functions?

Hi @mbasmanova, I updated the PR description. Please let me know if you have any other suggestions. Thanks!

@kagamiori I'm under impression that AggregateFuzzer provides good coverage for aggregation functions. Perhaps, WindowFuzzer could focus solely on window functions (at least initially).

Hi @mbasmanova, the WindowFuzzer::verifyWindow() added in this PR has the exact same coverage as AggregationFuzzer::verifyWindow() because the code is simply moved here. So I don't think we'll have less coverage once we switch to test aggregation functions in WindowFuzzer. The reason why I prefer to move it to WindowFuzzer is that once the WindowFuzzer is extended to generate random frames and verify results against Presto, we should have one place to test the Window operator with all functions it supports. Otherwise, the aggregation functions will be tested with limited coverage.

@kagamiori I'm under impression that AggregateFuzzer provides good coverage for aggregation functions. Perhaps, WindowFuzzer could focus solely on window functions (at least initially). If we run WindowFuzzer with just the window functions, what kind of results do we get? Is fuzzer able to find any bugs?
@aditi-pandit Aditi, I'm seeing that we only test default frames here. Would you like to take this PR as a base and hack more interesting frames to see if that will allow us to discover some bugs?

@mbasmanova : Yes, I can spend some time on this next week onwards.

@mbasmanova , @kagamiori : Had a design question for the Window fuzzer.
Window has partition keys to define partition (like aggregation group) but rows within it are ordered and framed. Given that structure do you feel that we should do data generation in a staggered way... So generate a set of rows for partition values and for each partition keys combination further generate multiple rows (random number each time) for the partition with the sort key ordering. For each data set we could try multiple arbitrary frames.
With the current data generation approach I feel that we will have many partitions with few rows and so it might not end up testing framing very well.

@aditi-pandit Aditi, you have a good question. I don't have an answer though. Would you like to play with different designs to see which one works best (finds most bugs in least amount of time)?

@mbasmanova , @kagamiori : Had a design question for the Window fuzzer.
Window has partition keys to define partition (like aggregation group) but rows within it are ordered and framed. Given that structure do you feel that we should do data generation in a staggered way... So generate a set of rows for partition values and for each partition keys combination further generate multiple rows (random number each time) for the partition with the sort key ordering. For each data set we could try multiple arbitrary frames.
With the current data generation approach I feel that we will have many partitions with few rows and so it might not end up testing framing very well.

Hi @aditi-pandit, sorry for the late reply. Are you currently working on extending the random frame generation or the input data generation? I think the development of this two extensions are orthogonal, so I wonder if there is anything I could help to accelerate the development?

@mbasmanova , @kagamiori : Had a design question for the Window fuzzer.
Window has partition keys to define partition (like aggregation group) but rows within it are ordered and framed. Given that structure do you feel that we should do data generation in a staggered way... So generate a set of rows for partition values and for each partition keys combination further generate multiple rows (random number each time) for the partition with the sort key ordering. For each data set we could try multiple arbitrary frames.
With the current data generation approach I feel that we will have many partitions with few rows and so it might not end up testing framing very well.

Hi @aditi-pandit, sorry for the late reply. Are you currently working on extending the random frame generation or the input data generation? I think the development of this two extensions are orthogonal, so I wonder if there is anything I could help to accelerate the development?

@kagamiori : I had put together https://github.com/facebookincubator/velox/pull/8238 for random frame generation. I didn't find any new issues with it though. Feel free to try it/extend it.
I'm curious to know about the status of this current PR. Are you blocked on something to submit this ?
I would have some time to play more with this in the next 3 days. But I'm on vacation for 2 weeks after that. I'll keep you updated if anything interesting for you to play with further.

@mbasmanova , @kagamiori : Had a design question for the Window fuzzer.
Window has partition keys to define partition (like aggregation group) but rows within it are ordered and framed. Given that structure do you feel that we should do data generation in a staggered way... So generate a set of rows for partition values and for each partition keys combination further generate multiple rows (random number each time) for the partition with the sort key ordering. For each data set we could try multiple arbitrary frames.
With the current data generation approach I feel that we will have many partitions with few rows and so it might not end up testing framing very well.

Hi @aditi-pandit, sorry for the late reply. Are you currently working on extending the random frame generation or the input data generation? I think the development of this two extensions are orthogonal, so I wonder if there is anything I could help to accelerate the development?

@kagamiori : I had put together #8238 for random frame generation. I didn't find any new issues with it though. Feel free to try it/extend it.
I'm curious to know about the status of this current PR. Are you blocked on something to submit this ?
I would have some time to play more with this in the next 3 days. But I'm on vacation for 2 weeks after that. I'll keep you updated if anything interesting for you to play with further.

Hi @aditi-pandit, that's great! I'll try out #8238. I'm not blocked on this current PR. It's just that I'm currently focusing on extending the window fuzzer instead of the code review. I've locally extended the window fuzzer with alternative query plans that use StreamingWindow and with TableScan. Unfortunately (or fortunately?), the fuzzer hasn't found any bug in window functions with these extensions. Let me publish my extensions tomorrow so that you can play with them as well.

@kagamiori : I added few enhancements to https://github.com/facebookincubator/velox/pull/8238
i) Add ASC/DESC and NULLS FIRST/NULLS LAST to ORDER BY clauses https://github.com/facebookincubator/velox/pull/8238/commits/a876a8f6497392e0f1f41478fde7f2f820df6a9d
ii) Add some repetition of partition data https://github.com/facebookincubator/velox/pull/8238/commits/6746b8f78eb8c34e880387221b43a87c27f0d13c
After running with these changes I think some failures are introduced
I20240112 16:47:54.184306 812976 WindowFuzzer.cpp:114] ==============================> Done with iteration 705
I20240112 16:47:54.191936 812976 WindowFuzzer.cpp:368] Total functions tested: 52
I20240112 16:47:54.191946 812976 WindowFuzzer.cpp:369] Total functions requiring sorted inputs: 205 (29.04%)
I20240112 16:47:54.191954 812976 WindowFuzzer.cpp:371] Total functions verified against reference DB: 0 (0.00%)
I20240112 16:47:54.191958 812976 WindowFuzzer.cpp:373] Total functions not verified (verification skipped / not supported by reference DB / reference DB failed): 706 (100.00%) / 0 (0.00%) / 0 (0.00%)
I20240112 16:47:54.191962 812976 WindowFuzzer.cpp:378] Total failed functions: 93 (13.17%)

#8359 and #8360.

Hi @aditi-pandit, That's great progress! I can take a look at the discovered failures. Could you provide some information about the setup of the fuzzer test when you discovered failures? E.g., did you run the fuzzer with extensions in https://github.com/facebookincubator/velox/pull/8359 and https://github.com/facebookincubator/velox/pull/8360 that I mentioned above, and did you run the fuzzer with PrestoQueryRunner?

@kagamiori : I added few enhancements to #8238 i) Add ASC/DESC and NULLS FIRST/NULLS LAST to ORDER BY clauses a876a8f ii) Add some repetition of partition data 6746b8f
After running with these changes I think some failures are introduced. But have not got around to analyzing them further.
I20240112 16:47:54.184306 812976 WindowFuzzer.cpp:114] ==============================> Done with iteration 705 I20240112 16:47:54.191936 812976 WindowFuzzer.cpp:368] Total functions tested: 52 I20240112 16:47:54.191946 812976 WindowFuzzer.cpp:369] Total functions requiring sorted inputs: 205 (29.04%) I20240112 16:47:54.191954 812976 WindowFuzzer.cpp:371] Total functions verified against reference DB: 0 (0.00%) I20240112 16:47:54.191958 812976 WindowFuzzer.cpp:373] Total functions not verified (verification skipped / not supported by reference DB / reference DB failed): 706 (100.00%) / 0 (0.00%) / 0 (0.00%) I20240112 16:47:54.191962 812976 WindowFuzzer.cpp:378] Total failed functions: 93 (13.17%)

Hi @aditi-pandit, That's great progress! I can take a look at the discovered failures. Could you provide some information about the setup of the fuzzer test when you discovered failures? E.g., did you run the fuzzer with extensions in https://github.com/facebookincubator/velox/pull/8359 and https://github.com/facebookincubator/velox/pull/8360 that I mentioned above, and did you run the fuzzer with PrestoQueryRunner?

Hi @aditi-pandit, I've refactored this PR as well as https://github.com/facebookincubator/velox/pull/8359 and https://github.com/facebookincubator/velox/pull/8360 to make them easier to integrate with your extensions. These three PRs are ready for review. Could you help review them?
Below are the instructions to run the window fuzzer test with PrestoQueryRunner (on Mac):

Follow instructions in https://github.com/facebookincubator/velox/issues/8111 to start a Presto server.
While the Presto server has been started, run the window fuzzer test with this command: velox/functions/prestosql/fuzzer/velox_window_fuzzer_test --enable_window_reference_verification --presto_url="http://<IP_ADDRESS>:8080" --duration_sec=60 --logtostderr=1 --minloglevel=0.

Please let me know if you have any questions.

Hi @aditi-pandit, I've refactored this PR as well as #8359 and #8360 to make them easier to integrate with your extensions. These three PRs are ready for review. Could you help review them?
Below are the instructions to run the window fuzzer test with PrestoQueryRunner (on Mac):

Follow instructions in Setting up Presto to use as source of truth for Fuzzers #8111 to start a Presto server.
While the Presto server has been started, run the window fuzzer test with this command: velox/functions/prestosql/fuzzer/velox_window_fuzzer_test --enable_window_reference_verification --presto_url="http://<IP_ADDRESS>:8080" --duration_sec=60 --logtostderr=1 --minloglevel=0.

Please let me know if you have any questions.

@pramodsatya : Please can you try running WindowFuzzer to catch more issues.

Hi @aditi-pandit and @kgpai, thank you for your review! I've addressed your comments. Please take a look again. Thanks!


Restoring to CPU

Hi,
I'm using orbax checkpoint version '0.5.20'
After moving to the new API, I got an issue similar to #646 , but with a twist. I don't know the structure of the PyTree beforehand.
The code snippet for restoration looks as follows and works fine when the device configuration is the same as during the training. I want to read the saved data to the CPU and from there apply my sharding.
checkpoint = checkpoint_manager.restore(step=best_step,
                                            args=orbax.checkpoint.args.Composite(
                                                configuration=orbax.checkpoint.args.PyTreeRestore(),
                                                metric_values=orbax.checkpoint.args.PyTreeRestore(),
                                                hparams=orbax.checkpoint.args.JsonRestore(),
                                            ),
                                            )

It would be possible if I knew configuration signature.
However, configuration tree structure is learnable and dynamic, so I don't know its signature beforehand.
Is there any solution besides changing the saving logic?

You should be able to do this:
with CheckpointManager(directory, options, item_handlers={'configuration': ocp.PyTreeCheckpointHandler(), ...}) as mngr:
  step = mngr.latest_step()
  metadatas = mngr.item_metadata(step)
  configuration_metadata = metadatas.configuration
  # Map configuration_metadata, which is a tree structure, to the shardings you want to restore with.
  mngr.restore(...)

The item_handlers is require up front to use item_metadata() method. In the (near-ish) future, this configuration will not be required.
Also note that you would be able to specify restore_args with shardings so that you can get orbax to load directly onto devices, rather than first onto CPUs and then manually apply shardings. But you can do it that way if you want.

Thanks! That's exactly what I needed.


Homebridge Plugin Dev related question

Hi @ebaauw,
reaching out this way, because I am not sure how else to contact you.
I am also developing my own Homebridge plugin, and I got a feature request for numeric battery states within the item based on the functionalities offered by your plugin right here.
I studied the implementation and tried reproducing it, however I can't get it to work. Feel free to take this offline and shoot me an email about this, or comment on my issue above. Would love to understand what I am doing wrong, especially since Homebridge's documentation is very sparse on this.
Thank you!

You just need to expose a BatteryService with all three characteristics, see https://github.com/KhaosT/HAP-NodeJS/blob/cfbb9368800a2582deb0d7f1e9572c1a2dca64e2/src/lib/gen/HomeKit.ts#L3121.  You might need to pass a name when creating the service.
The screenshot seems Apple’s Home app alright.  Note that the battery is shown in the Settings window.

I was thinking about this as well, but my logs (for some reason, and I guess this is the issue) show the following:
HAP Warning: Characteristic 0000008F-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 00000096-0000-1000-8000-0026BB765291. Adding anyway.

HAP Warning: Characteristic 00000068-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 00000096-0000-1000-8000-0026BB765291. Adding anyway.

Did you create a new instance of the service?

I found the issue. Accidentally my logic was removing characteristics in certain behaviours. Thank you for your help!