Add log messages to explain iBazel time usage

Sometimes IBazel takes a long time when running bazel info. This commit simply adds a couple console logs so developers know what is going on and what is taking time.

I'm in the process of testing my changes, I will re-request review when they are ready.

@kalbasit thanks so much for your contribution. It may seem small, but usability improvements like this add up to become wonderful things. I also appreciate you affording me the chance to wax poetic about my implementation ideas. I look forward to working with you more in the future!

@kalbasit thanks so much for your contribution. It may seem small, but usability improvements like this add up to become wonderful things. I also appreciate you affording me the chance to wax poetic about my implementation ideas. I look forward to working with you more in the future!

Did you mean @karsma?


Recursion data error

Unable to derive recursive data
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(test, derive(Arbitrary))]
pub struct List(Box<Option<List>>);

error[E0275]: overflow evaluating the requirement `<structure::values::List as structure::instructions::_IMPL_ARBITRARY_FOR_NumericInstr::_proptest::arbitrary::Arbitrary>::Parameters`
  --> src/structure/values.rs:10:25
   |
10 | #[cfg_attr(test, derive(Arbitrary))]
   |

I am also running into this. For reference, the derive macro output is:
#[allow(non_upper_case_globals)]
const _IMPL_ARBITRARY_FOR_List: () = {
    extern crate proptest as _proptest;
    impl _proptest::arbitrary::Arbitrary for List {
        type Parameters = <Box<Option<List>> as _proptest::arbitrary::Arbitrary>::Parameters;
        type Strategy = _proptest::strategy::Map<
            (<Box<Option<List>> as _proptest::arbitrary::Arbitrary>::Strategy),
            fn(Box<Option<List>>) -> Self,
        >;
        fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy {
            {
                let param_0 = _top;
                _proptest::strategy::Strategy::prop_map(
                    _proptest::arbitrary::any_with::<Box<Option<List>>>(param_0),
                    |tmp_0| List { 0: tmp_0 },
                )
            }
        }
    }
};


Try Storybook

Storybook is a very different approach to UI development than what we're doing now, but I think it's worth at least a day of exploration. Try to integrate storybook into our code and use it to redo something relatively simple, like the login screen. Prepare to make a recommendation as to whether it's worth continuing to work with.

After a partial day of exploration, I’m not convinced this is a great UI solution for us. Some reasons:

It doesn’t seem to be well documented. I tried the automatic setup & couldn’t get that running, so I switched to setting things up manually. Example docs and repos tend to have a lot of outdated ways of doing things in RN like PropTypes and also come with a lot of eslint errors that we need to disable.
Storybook renders in the place where I would expect the iNat Mobile app to render. It looks like some devs have gotten around this issue by conditionally rendering either Storybook or their own app. I think this would change our workflow pretty significantly.
Stories feel a bit to me like the Redux way of doing things, where you create a component and then assign it different actions. That means if we wanted a button to change color when it gets pressed, for example, stories would work well. But if we want a button to simply show up as disabled when disabled props are passed to it, I’m not sure there’s any advantage to doing that with Storybook.
My dev environment slowed down to the point where I couldn’t add an eslint-disabled line to index.js and save the file — saving the file seems to be pretty impossible, so I ended up skipping pre-commit hooks to commit code. I don’t know if this is directly related to Storybook, but it wasn’t happening before.

It is kind of nice to have a preview of the different ways a button could look (primary, neutral, warning), but I don’t think it’s worth the time investment it would take us to rebuild every component.
Initial exploration of styling buttons is in the storybook branch.

Closing this since we're deciding between react-native-paper themes and tailwind css. Storybook doesn't seem like a good choice for iNat mobile.


feat: Update changelog workflow (new flow in description)

Description
This PR add auto changelog workflow as the following:
When new commit pushed/PR merged to main branch then
Check if a changelog PR already opened:

(Yes) merge from main branch (with ort strag) if needed, then new changelog entry will be append to changelog.md and update to already open PR then exit.
(No) checkout from main branch, generate changelog entry and create PR.

Branch should delete automatically on next ci run, or you can delete it manually.
NOTE
Do not create branch "auto-changelog-update-do-not-create-manually" manually.
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow-up issues.
PR review checkboxes:
I have...

[ ]  Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ]  Targeted PR against the correct branch
[ ]  included the correct type prefix in the PR title
[ ]  Linked to the GitHub issue with discussion and accepted design
[ ]  Targets only one GitHub issue
[ ]  Wrote unit and integration tests
[ ]  Wrote relevant migration scripts if necessary
[ ]  All CI checks have passed
[ ]  Added relevant godoc comments
[ ]  Updated the scripts for local run, e.g genesis_config_commands.sh if the PR changes parameters
[ ]  Add an issue in the e2e-tests repo if necessary

SDK Checklist

[ ] Import/Export Genesis
[ ] Registered Invariants
[ ] Registered Events
[ ] Updated openapi.yaml
[ ] No usage of go map
[ ] No usage of time.Now()
[ ] Used fixed point arithmetic and not float arithmetic
[ ] Avoid panicking in Begin/End block as much as possible
[ ] No unexpected math Overflow
[ ] Used sendCoin and not SendCoins
[ ] Out-of-block compute is bounded
[ ] No serialized ID at the end of store keys
[ ] UInt to byte conversion should use BigEndian

Full security checklist here
----;
For Reviewer:

[ ]  Confirmed the correct type prefix in the PR title
[ ]  Reviewers assigned
[ ]  Confirmed all author checklist items have been addressed

---;
After reviewer approval:

[ ]  In case the PR targets the main branch, PR should not be squash merge in order to keep meaningful git history.
[ ]  In case the PR targets a release branch, PR must be rebased.

@omritoptix can we review and merge this


Add "/" to the unix shortcut drive list

DirAccessUnix uses shortcuts as drives on Linux. It currently only uses mounted file systems, the home directory, and bookmarks. So it is usually a list like:

/home/user
/home/user/Downloads
/home/user/Videos

As / is missing, Directory.get_current_drive() almost always reports /home/user even when it's currently outside the home directory. (So does FileDialog's "drive" dropdown.)
/ will always be reported as current drive instead of /home/user after this PR.

I think adding / makes sense, but I'm not sure the current behavior or behavior after this change is good enough.
First of all the documentation for Directory.get_drive() and Directory.get_drive_count() mentions that it's Windows-specific, but that's not true (anymore?). On the other hand the documentation for Directory.get_current_drive() doesn't have any caveats yet it seems not to work at all on Linux.
Here's what I get for this script:
func _ready():
	var dir = Directory.new()
	print(dir.get_drive_count())
	for i in dir.get_drive_count():
		print(dir.get_drive(i))

	dir.open("/home/akien/tmp")
	print(dir.get_current_drive())
	dir.open("/tmp")
	print(dir.get_current_drive())
	dir.open("/media/windows/Games")
	print(dir.get_current_drive())

Before this PR:
9
/home
/home/akien
/home/akien/Documents
/home/akien/Downloads
/home/akien/Music
/home/akien/Pictures
/home/akien/Videos
/media/data
/media/windows
0
0
0

After this PR:
10
/
/home
/home/akien
/home/akien/Documents
/home/akien/Downloads
/home/akien/Music
/home/akien/Pictures
/home/akien/Videos
/media/data
/media/windows
0
0
0

In both cases it reports 0 as current drive for folders which it should be able to match to actual "drives", at least as seen by get_drive. This PR makes it a tad better as indeed / as drive 0 is the common parent to all drives, but that still feels like simply hiding a bug. On my system /, /home, /media/data, and /media/windows are separate partitions and I'd expect this to be supported, or documented as non supported.

The current DirAccess just returns the first entry that the path begins with. We can change that to pick the longest match in DirAccessUnix instead.
That will also make FileDialog correctly show the current shortcut. But that feels a bit repetitive:

Seems to be a left-over of #36069. Maybe the FileDialog should just behave like the Windows version?

Adding / seems good, and it's already there on the macOS.

The current DirAccess just returns the first entry that the path begins with. We can change that to pick the longest match in DirAccessUnix instead.

The same issue is also present on macOS, it's always /, returning the longest match is definitely better.

Seems to be a left-over of #36069. Maybe the FileDialog should just behave like the Windows version?

Documents and other user folders probably should be in its own menu, or at least should be somehow separated from the drives. Maybe with the custom icons for drive and folder shortcuts.

Documents and other user folders probably should be in its own menu, or at least should be somehow separated from the drives. Maybe with the custom icons for drive and folder shortcuts.

Yeah I agree with this, this could use a rethink in term of UX.
I would prefer if drives would actually match partitions, and access to these high-level shortcuts was done differently. I'm not sure how though. CC @RandomShaper
That shouldn't block this PR though, we should probably move the discussion to a proposal.

OK.

Added DirAccessUnix::get_current_drive() to return the longest match.
Documented current Linux / macOS behavior of get_drive() and get_drive_count().

Thanks!

Cherry-picked for 3.5.


Add per minute description to cluster throughput metric

Add per minute description to cluster throughput metrics.
Cluster throughput metrics are calculated by (total cluster bytes / minutes lasted)

Codecov Report

Merging #12990 (d259e2f) into master (797ece1) will decrease coverage by 25.47%.
The diff coverage is 100.00%.

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

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to branch-2.5 please


Add more logging to user/project deletion

Summary
In order to better debug the recent race conditions we've seen in user/project deletion
this ads more logs.
Change Type
Mark the type of change your PR introduces:

[x] Bug fix (resolves an issue without affecting existing features)
[x] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 47.088% (+0.02%) from 47.07%
when pulling 43d6b83591db88163da5387a7034430c45cb939e on auth-delete-logging
into 5f6bcbdb2464cac6594bf63741c1b45cf18cd0a8 on main.


What encoding for IGC files reader?

Hi,
I'm using your lib to read GAC files. GAC files are used by FAI General Aviation Commission and they are in fact regular IGC files (as stated in FAI Sporting code, Annex 4, Section 3.6). I have couple of GAC files generated by AFLOS flight recorder. They contain G record at its end, but it does not complain with IGC G record specification. It has four byte binary payload (ex. 0x7E 0x86 0xCE 0xE4) which causes exception when parsed by igc.Reader():
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x86 in position 4868: invalid start byte

If I try to open GAC file in binary mode, igc reader doesn't recognize any fixes. So the file has to be opened in text mode.
Which codec is recommended to use with igc reader?
If I use codec ascii with error handler replace (maybe ignore?), I'm able to decode GAC files. But I'm not sure, if I don't lose anything else from another records too...

from the IGC file spec:

it looks like that AFLOS recorder is producing invalid files

Generally speaking, you should use the right encoding for your file. A good explanation is here: https://python-notes.curiousefficiency.org/en/latest/python3/text_file_processing.html
As stated there, you should use 'latin-1' encoding, if it is an ASCII variant like yours. This will not lead to any exception. As the G record is not evaluated by aerofiles, you should not use any important stuff.
Something like:
fp = open(filename, encoding='latin-1')

If you don't know the encoding before reading the file, you can use https://pypi.org/project/chardet/ to detect the right encoding. However, this is an additional library not always present.


fix(generate): exclude ServiceAccounts in the CSV from generated bundle

Description of the change: exclude ServiceAccounts in the CSV from generated bundle dir.
Motivation for the change: since OLM owns ServiceAccounts specified in a CSV but will create any in a bundle, those already in a CSV should not be also included in a bundle. See #5119 for details.
/kind bug
Checklist
If the pull request includes user-facing changes, extra documentation is required:

[x] Add a new changelog fragment in changelog/fragments (see changelog/fragments/00-template.yaml)
[ ] Add or update relevant sections of the docs website in website/content/en/docs

/cc @joelanford

/cherry-pick v1.10.x

/cherry-pick v1.9.x

Because we're releasing v1.8.2 anyway
/cherry-pick v1.8.x


Delay a specific custom route

Hi,
I would like to simulate a delation of a specific route.
I tried this:
  server.get("/aa", (req, res,next) => {     setTimeout(res.send(db.aa),6000);   });
and getting an error message:
TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
Can you help, please?

Hello, try doing the following:
setTimeout(()=>{res.send(db.aa)},6000)
setTimeout will have a callback;

do 1 one reb\swis

do 1 one reb\swis


[BUG] Officer - Driver license exams - The form is not working properly

What version of Node.js are you using?
does not matter
What version of npm are you using?
does not matter
What operating system are you using?
does not matter
What version of SnailyCAD are you currently using?
v1.0.0-beta.90
Describe the Bug
1. Unfriendly error

2. Licenses
Now the field displays values from the "Value" table with "type" = 'LICENSE'.
The field must show values from the "DriversLicenseCategoryType" type, excluding the value "FIREARM" (although I don't understand why FIREARM is in the DriversLicenseCategoryType).

3. Categories
Now ALL values are shown and this is not correct.
Categories should be shown depending on the value that was selected in the "Licenses" field
If nothing is selected in the "Licenses" field, the "Categories" field should be unavailable for interaction.

4. Not all text values have a translation

IMPROVING
Make citizen name as link button to citizen card page

Expected Behavior
--
To Reproduce
No response

Unfriendly error
image

This can unfortunately not be changed.

This can unfortunately not be changed.

Sad. I thought that the form field had validation, just like the citizen search form through an officer.

IMPROVING
Make citizen name as link button to citizen card page
image

This will be done together with #668

Categories
Now ALL values are shown and this is not correct.
Categories should be shown depending on the value that was selected in the "Licenses" field
If nothing is selected in the "Licenses" field, the "Categories" field should be unavailable for interaction.
image

These values are nowhere connected with each other. I'm not sure what you mean here.

Categories
Now ALL values are shown and this is not correct.
Categories should be shown depending on the value that was selected in the "Licenses" field
If nothing is selected in the "Licenses" field, the "Categories" field should be unavailable for interaction.
image

These values are nowhere connected with each other. I'm not sure what you mean here.

Now this field shows values for ALL licenses (car, water, air)
This field should show values ONLY for the license that was selected

Now this field shows values for ALL licenses (car, water, air)

This field should show values ONLY for the license that was selected

Yeah, that I understood, but the license type is not connected to the category type. Therefore it's impossible to filter them

Now this field shows values for ALL licenses (car, water, air)

This field should show values ONLY for the license that was selected

Yeah, that I understood, but the license type is not connected to the category type. Therefore it's impossible to filter them

Ok, you can link values through DB tables except FIREARM

@Dev-CasperTheGhost
The bug is not completely fixed.
The "Licenses" field should not display license statuses, but should display categories of licenses.


Add a test for IModelDb.Views.accessViewStore

This PR is a followup for #6543.

I changed the RPC tests to use the userToken from the frontend. I think you can remove the new test since it doesn't prove anything that isn't tested by the real tests.

@ben-polinsky @kabentley Please approve the PR at your leisure

i approve (i'm not an authorized approver any more).

Presumably unrelated to your changes but keeps failing. @mdastous-bentley?
  1) ArcGisTokenGenerator
       should make proper info request and extract tokenServicesUrl from response:

      AssertionError: expected false to be true
      + expected - actual

      -false
      +true

      at Context.<anonymous> (src\test\ArcGisTokenGenerator.test.ts:30:39)
      at processTicksAndRejections (node:internal/process/task_queues:95:5)

Presumably unrelated to your changes but keeps failing. @mdastous-bentley?

let me have a look...

Presumably unrelated to your changes but keeps failing. @mdastous-bentley?

let me have a look...

Just so you know, I wasn't able to reproduce this error locally until I changed my node version to 20.12.0. So I believe something going wrong with the way fetch is stubbed in this newer node version.

Presumably unrelated to your changes but keeps failing. @mdastous-bentley?

let me have a look...

Just so you know, I wasn't able to reproduce this error locally until I changed my node version to 20.12.0. So I believe something going wrong with the way fetch is stubbed in this newer node version.

@nick4598 is right, its related to the latest version of node.js. I found a way to solve the problem, but several tests will need to be revisited. I suggest we use a slighly older version in the pipeline until this is cleared.

I pushed to this PR, 20.11.1 version of node tool.
Also created work item and assigned to you Michel https://github.com/iTwin/itwinjs-backlog/issues/1074 regarding fixing fetch stub and reverting back to 20.x.

@ben-polinsky I thought this was fixed.
File: presentation/common/src/presentation-common/rules/Ruleset.ts
Line: 33
One or more topics missing descriptions.
D:\vsts_a\31\itwinjs-core\node_modules\@bentley\bemetalsmith-typedoc-json-to-markdown\tsJsonToMarkdown.js:247
      throw new Error(`One or more topics missing descriptions.`);
            ^

Error: One or more topics missing descriptions.


b0bd429 breaks sumneko_lua

Description
When I switch between a file in my workspace and a file outside the worksapce, sumneko diagnostics get reset on all buffers and all buffers start showing errors.
The error only starts happening after b0bd429
See also https://github.com/folke/neodev.nvim/issues/98
Neovim version
nightly
Nvim-lspconfig version
No response
Operating system and version
linux
Affected language servers
sumneko_lua
Steps to reproduce

open a lua file in your project directory that is in .gitignore
open a lua file in your project

Actual behavior
The second file will list a lot of errors
Expected behavior
no errors
Minimal config
..

LSP log
...

do you add this     diagnostics = { globals = { 'vim' }, line ?

does #2356 works for you ?

just tested and still the same issue.
One sumneko instance always has two internal instances running. One for single files and one for the workspace.
It seems that when I open a single file, that the config without the workspace is pushed to the active sumneko instance and as such clearing its workspace settings

For me, https://github.com/neovim/nvim-lspconfig/commit/b0bd4297763024bfeb0c3065609361fb599c3594 or a commit after it causes rust-analyzer to crash with error code 101 (https://github.com/rust-lang/rust-analyzer/blob/2872e0558982360d499bdba79cf1a3ed06f1ae82/crates/rust-analyzer/src/bin/main.rs#L41-L45). Reverting to before https://github.com/neovim/nvim-lspconfig/commit/b0bd4297763024bfeb0c3065609361fb599c3594 fixes the problem.


1.0.4 has a bug

ERROR in ./~/v-tooltip/dist/v-tooltip.js
Module not found: Error: Cannot resolve module 'Tooltip' in xxxxxxxxxx\node_modules\v-tooltip\dist
@ ./~/v-tooltip/dist/v-tooltip.js 1:97-115
I uninstall 1.0.4 and re-install 1.0.0.  it works.

How is your import statement?

Hello,
import VTooltip from 'v-tooltip'
Vue.use(VTooltip);

Now , I use npm install --save<EMAIL_ADDRESS>

Could you try import VTooltip from 'v-tooltip/src'?

I try it, I still can't make it work.
import VTooltip from 'v-tooltip/src'
Vue.use(VTooltip)
ERROR in ./src/home/home.js
Module not found: Error: Cannot resolve module 'v-tooltip/src' in D:\Excellent\frontend\ciibi\src\home
 @ ./src/home/home.js 23:11-35

What's the list of files in node_modules/v-tooltip and the result of npm list?

Same issue here. 1.0.0 works perfectly, later versions give an error:
Module not found: Error: Cannot resolve module 'Tooltip' in ./node_modules/v-tooltip/dist

Since the theter, tether-drop and tether-tooltip packages are not bundled in the compiled dist file, you have to include them in the page: jsfiddle
But these are declared as dependencies and should be installed alongside v-tooltip, so if you import the source file in the npm package, import VTooltip from 'v-tooltip/src/index.js', it should work.
Please post you npm list and your setup (are you using webpack? browserify? etc.) here if you are still facing the issue.

I tried import VTooltip from 'v-tooltip/src/index.js' and that didn't work. I suspect this is a webpack issue. If you create a new webpack-boilerplate project, accept the defaults, and attempt to use this package you'll get the error.

1.0.5 is excellent ! It fixs this bug!


Adjust thresholds for modal dismiss transition

Right now I think it takes a little too much effort to dismiss the modal. We're gating the velocity at 1000. Otherwise if velocity isn't high enough you need to drag half the screen length to dismiss the photo.
Our new bottom menu uses 25% and a velocity threshold of 350. I think these are worth moving to for consistency's sake.

Nope.


[WIP][Feature] Support health checker in BE

Fixes #issue
Provide a basic framework for monitoring some of the states of Be. The monitor of threadPool and brpc thread have been implemented.
Currently, Only information is collected for alerting purposes. In the future, it can be reported to Fe through heartbeat.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.lixianhai seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Error: Unable to call api

Using the provided Docker Compose I am getting this error. It will show the main page of the survey but when I press start it gives this error.

This call is happening from the browser, so probably it's something related to NEXT_PUBLIC_CONSOLE_API_ADDR. Can you please confirm that you can get the list of surveys from http://localhost:9900/app/surveys?

/app/surveys?

I changed  - UI_ADDR=http://localhost:3000 to ip.of.host:3000
/app/surveys gives 404 not found.

Yes, it is in ui/.env.production file. I think it could also be related to CORS config. Let me remove it now as it's not needed for self-hosted app and you can try again.

Please try now without cors (pull/rebuild)

Oh I see. Why not put all the env in the compose rather than some in the compose and some in an env file?
Anyway, I repulled and still having the same issue.

@ItsNoted can you please show the console error is there are any?

and good point on env vars, will try to keep them in one place.

Good news @ItsNoted I refactored env vars, improved cors, removed some redundant env vars. Now everything is in docker-compose. Can you please kindly give it a try one more time?


Issues related to training the model for continuous variables

Hi,
Thank you for providing the source code of the HALO.
I've been trying to implement the version that allows the continuous variables. However, I noticed that the genDatasetContinuous.py does not actually include gender or ethnicity in the data altough the model configuration has vocab size configured to these variables. The resulting data includes only diagnosis codes, then procedure codes (if any), medications (if any) and age and then the variables provided in the episode{}_timeseries.csv (if available). The gender is processed by saving it on line 62 to patientRow but this is not included in the data later and there is no mention about the ethnicity at all. Am I missing something or is the code incompelete?
Regarding the episode{}_timeseries.csv, are you aware that some patients actually do have that data but because the data cleaning program provided by another author excludes patients with transitions, and it seems that all patients that had more than one admission also had transitions, this data is excluded? Therefore your training data is not complete in that sense that this information is absent although the patients have it. In other words, the lab data is empty for these patients even though it exists in original MIMIC-III data but because using someone else's code to preprocess the data, this information is now missing.
Also I'm running into issues in line 63 when training the model. batch_ehr[i,j+2][v] gives IndexError: index 150 is out of bounds for axis 1 with size 150. I had the similar issue with the bare-bones version (just the diagnosis codes) and was able to resolve it by increasing the total_vocab_size=7000 instead of 6869. I have no experience of language models, so no idea if that was a good idea or not to increase it but at least I was able to train the model. Based on the value in that error and the config.py for continuous variable model, I assume this error is somehow related to n_positions=150 or n_ctx=150 but since I do not understand what these parameters are, I hope you could help me with this error.
If you'd like to have video call with me, please email me kakype [at] utu.fi.

Hello, thank you for your comments. For the first part, yes the dataset does not include gender or ethnicity codes as labels. I can not remember if those variables in the config were meant as an example of things that could be added or just artifacts from past experiments, but they do not correspond to the experiments in the paper/contents of the dataset generation script. They could be included as labels (as you mentioned a gender variable is already captured but not used) but are not used in the current set up, and I have removed them from the config.py file for now.
For the second part, I was aware that the number of patients dropped but not aware of all the specific issues with the processing of that baseline dataset script. We wanted to make the more computationally challenging lab processing easier by using that external script, and we also wanted stay aligned with the benchmark dataset for the purposes of other validation/experiments as well. However, an improved dataset could certainly be built by augmenting the dataset building script and building your own lab time series values.
Finally for the third part, the config file vocab sizes are meant to be changed once you build the dataset based on the specifics of your constructed dataset. So, 6869 would need to be changed (based on the CODE_VOCAB_SIZE and LABEL_VOCAB_SIZE print statements at the end of the dataset generation script), and then the 150 does correspond to n_positions/n_ctx (they mean different things in the context of the architecture but should be kept the same for the basic setup) which is the maximum number of time steps. I will add a commit within the dataset generation script to cut things off that go beyond this time step. It is a challenge/problem that we end up cutting off records with many visits because the lab time series make them go past this limit - there are some ways around this but it fell outside the scope of this paper/repository.

Hi, thanks for a prompt reply and clarification. Just in case I want to add gender and ethnicity later (or any static vairable for that matter), do I just append them to the label list or should I include separate lists called gender and ethnicity into the data?

Yes, you would append (or replace if you wanted to remove something else) to the same label list. The structure of the data should be the same with a single "labels" key in the patient dictionary which maps to a label vector, but the contents/meaning of that vector can be adjusted however you want. Just make sure to change the config vocab sizes if the number of label variables changes.

Hello, I apologize for reaching out again, but I'm encountering difficulties in grasping the decoding process. In genDatasetContinuous.py line 191, you map the vocabulary to indices encompassing diagnoses, procedures, and prescriptions. My understanding is that post data generation, the resulting synthetic dataset remains in this encoded form. Is my assumption correct? If so, I gather that decoding the synthetic data using this vocabulary should be relatively straightforward. However, the challenge lies in the fact that the vocabulary is shared among all these variables. Consequently, some diagnoses codes might be misinterpreted as prescriptions or procedures, and vice versa. Essentially, the synthetic data may contain nonsensical entries. My objective here is to develop a solution that reverts the synthetic data generated by HALO to a format resembling its original state, i.e., separate, clean, human-readable CSV files, as they align better with my objectives.


High P99 latency

Hi,
I'm doing some simple latency tests of ping messages via Quilkin and I see high p99 response times (histograms below).
I'm using Fortio to run the load tests.
I'm running the tests from a pod in the same k8s cluster as the proxy and the gameserver. When I run directly to the gameserver I get p99 of 1ms, this number is stable over multiple runs.
When I run the same test via Quilkin, p90 is good, but p99 is around 100ms, this also shows over multiple runs.
The cpu usage is low, there are no reported network errors, or anything else that indicates any issues.
Test run via proxy:
# fortio load -c 3 -qps 360 -n 3000 -payload abc0123abc0123 udp://<IP_ADDRESS>:7000
17:49:21 I scli.go:88> Starting Φορτίο 1.53.1 h1:aeAWrnkXIBEdhueQLRwvaM5INulybDP+ZgOChgKz/NQ= go1.19.7 amd64 linux
Fortio 1.53.1 running at 360 queries per second, 16->16 procs, for 3000 calls: udp://<IP_ADDRESS>:7000
17:49:21 I udprunner.go:226> Starting udp test for udp://<IP_ADDRESS>:7000 with 3 threads at 360.0 qps
Starting at 360 qps with 3 thread(s) [gomax 16] : exactly 3000, 1000 calls each (total 3000 + 0)
17:49:29 I periodic.go:829> T000 ended after 8.334127252s : 1000 calls. qps=119.98856866026648
17:49:29 I periodic.go:829> T002 ended after 8.334184582s : 1000 calls. qps=119.98774327122287
17:49:29 I periodic.go:829> T001 ended after 8.334190754s : 1000 calls. qps=119.98765441264341
Ended after 8.334224693s : 3000 calls. qps=359.96
Aggregated Sleep Time : count 2997 avg -0.0031391737 +/- 0.02786 min -0.182174958 max 0.008007254 sum -9.40810346
# range, mid point, percentile, count
>= -0.182175 <= -0.001 , -0.0915875 , 16.92, 507
> -0.001 <= 0 , -0.0005 , 17.02, 3
> 0 <= 0.001 , 0.0005 , 17.12, 3
> 0.002 <= 0.003 , 0.0025 , 17.28, 5
> 0.003 <= 0.004 , 0.0035 , 17.52, 7
> 0.004 <= 0.005 , 0.0045 , 17.82, 9
> 0.005 <= 0.006 , 0.0055 , 18.42, 18
> 0.006 <= 0.007 , 0.0065 , 27.43, 270
> 0.007 <= 0.008 , 0.0075 , 99.90, 2172
> 0.008 <= 0.00800725 , 0.00800363 , 100.00, 3
# target 50% 0.00731146
WARNING 16.92% of sleep were falling behind
Aggregated Function Time : count 3000 avg 0.0017685162 +/- 0.01253 min 0.000181624 max 0.189931249 sum 5.30554874
# range, mid point, percentile, count
>= 0.000181624 <= 0.001 , 0.000590812 , 98.00, 2940
> 0.001 <= 0.002 , 0.0015 , 98.30, 9
> 0.002 <= 0.003 , 0.0025 , 98.43, 4
> 0.003 <= 0.004 , 0.0035 , 98.50, 2
> 0.004 <= 0.005 , 0.0045 , 98.60, 3
> 0.02 <= 0.025 , 0.0225 , 98.67, 2
> 0.025 <= 0.03 , 0.0275 , 98.70, 1
> 0.08 <= 0.09 , 0.085 , 98.90, 6
> 0.09 <= 0.1 , 0.095 , 99.40, 15
> 0.1 <= 0.12 , 0.11 , 99.80, 12
> 0.12 <= 0.14 , 0.13 , 99.90, 3
> 0.18 <= 0.189931 , 0.184966 , 100.00, 3
# target 50% 0.000599026
# target 75% 0.000807867
# target 90% 0.000933171
# target 99% 0.092
# target 99.9% 0.14
Error cases : no data
Sockets used: 3 (for perfect no error run, would be 3)
Total Bytes sent: 42000, received: 42000
udp OK : 3000 (100.0 %)
All done 3000 calls (plus 0 warmup) 1.769 ms avg, 360.0 qps

Test run directly towards the gameserver:
# fortio load -c 3 -qps 360 -n 3000 -payload abc0123abc0123 udp://<IP_ADDRESS>:7654
17:53:45 I scli.go:88> Starting Φορτίο 1.53.1 h1:aeAWrnkXIBEdhueQLRwvaM5INulybDP+ZgOChgKz/NQ= go1.19.7 amd64 linux
Fortio 1.53.1 running at 360 queries per second, 16->16 procs, for 3000 calls: udp://<IP_ADDRESS>:7654
17:53:45 I udprunner.go:226> Starting udp test for udp://<IP_ADDRESS>:7654 with 3 threads at 360.0 qps
Starting at 360 qps with 3 thread(s) [gomax 16] : exactly 3000, 1000 calls each (total 3000 + 0)
17:53:53 I periodic.go:829> T002 ended after 8.334296336s : 1000 calls. qps=119.98613436391734
17:53:53 I periodic.go:829> T000 ended after 8.334358876s : 1000 calls. qps=119.98523400277922
17:53:53 I periodic.go:829> T001 ended after 8.334295561s : 1000 calls. qps=119.98614552133952
Ended after 8.334387482s : 3000 calls. qps=359.95
Sleep times : count 2997 avg 0.0074122955 +/- 0.0004388 min 0.000255187 max 0.008153068 sum 22.2146496
Aggregated Function Time : count 3000 avg 0.00020268997 +/- 4.417e-05 min 0.000148956 max 0.001296863 sum 0.60806992
# range, mid point, percentile, count
>= 0.000148956 <= 0.001 , 0.000574478 , 99.90, 2997
> 0.001 <= 0.00129686 , 0.00114843 , 100.00, 3
# target 50% 0.000574762
# target 75% 0.000787807
# target 90% 0.000915634
# target 99% 0.00099233
# target 99.9% 0.001
Error cases : no data
Sockets used: 3 (for perfect no error run, would be 3)
Total Bytes sent: 42000, received: 42000
udp OK : 3000 (100.0 %)
All done 3000 calls (plus 0 warmup) 0.203 ms avg, 360.0 qps

Environment:
K8s: 1.25.6-gke.1000
image: us-docker.pkg.dev/quilkin/ci/quilkin:0.6.0-dev-6b24e2e

🤔 that seems odd.  Can you show what the topology is?

The topology is routing token based, ie a shared set of proxys infront of a pool of gameservers. But they are all running in the same cluster.

If we fix up https://github.com/googleforgames/quilkin/pull/657 that would also help, as then you would be able to see how much time is being spent in the actual program.

The topology is routing token based, ie a shared set of proxys infront of a pool of gameservers. But they are all running in the same cluster.

Got it - so it's going from Service to GameServer when routed through Quilkin? (Vs direct through a hostPort I assume when connecting directly)?
When looking at the metrics for Quilkin, what sort of processing time are you seeing there?
I'm also wondering if the initial UDP connection via the Service is the 100ms? I assume you're running multiple clients?

Got it - so it's going from Service to GameServer when routed through Quilkin? (Vs direct through a hostPort I assume when connecting directly)?

I'm not sure I follow. In these tests I have been going directly to the Quilkin pod ip or GameServer pod ip.
Here is a graph for when I run 3 clients in parallel, 120 ping/second each, 10000 messages each.
The latency numbers where (seconds):
# target 50% 0.000620712
# target 75% 0.000816828
# target 90% 0.000934497
# target 99% 0.120323
# target 99.9% 0.172

Here is a graph over processing time for this run:

Btw, what does the quilkin_packets_processing_duration_seconds_bucket measure? How do I best display it with promql?

Another run I did looks like below, where I had a peak in the middle of the run:

Oh, it's the label read that is significantly higher than write.

quilkin_packets_processing_duration_seconds is a histogram.
This is how we show it in our example grafana dashboards:
https://github.com/googleforgames/quilkin/blob/df9ffe11f24f7588d1b188e6c7c0132c7974d491/examples/grafana-dashboards/dashboards/dashboard-gameservers.yaml#L576-L615

You can see a sample dashboard here:
https://github.com/googleforgames/quilkin/blob/main/examples/grafana-dashboards/quilkin-general.png
Which bottom right is the graph of processing time, which is my usual experience - around p99 500us

Which bottom right is the graph of processing time, which is my usual experience - around p99 500us

Could what I experience have to do with the token routing? Or are there any config parameters regarding pool sizes, buffers, etc that I should tweak?

Can you run a histogram_quantile(0.99,sum(rate(quilkin_session_duration_secs_bucket[$__rate_interval])) so we can see the histogram breakdown please for the 99 percentile?

Well, for the time period around the last graph, this is all I have. It doesn't make much sense to me :)

An interesting observation I made today is that since I started running more tests via Quilkin I regularly get liveness probe fails in the logs:
Liveness probe failed: Get "http://<IP_ADDRESS>:9091/live": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

Can you do me a favour, since pasting promQL back and forth isn't quite working out - can you install our example dashboard on a graphana instance? It has a performance graph baked in.
https://github.com/googleforgames/quilkin/tree/main/examples/grafana-dashboards
Also, do you see any errors in the Quilkin logs, any restarts in the pods, anything like that?

I'll do it first thing next week, and get back to u.
Regarding errors, the only I see is the liveness probe error I wrote about in my last message.

@markmandel here are a couple of screenshots from that dasboard.
The first one is covering the times when I was running the tests before reporting this issue, the second one shows an overview of the day after when I was running other tests.

FWIW, I do also occasionally see similar spikes of latency. However they're not on the same order of magnitude. Most of the case processing time is 250 microseconds, with occasional spikes to 500 microseconds. Can you share your filter configuration, that would be helpful in diagnosing what's causing the spike.

@XAMPPRocky here is my filter:
version: v1alpha1
filters:
  - name: quilkin.filters.capture.v1alpha1.Capture
    config:
      suffix:
        size: 7
        remove: true
  - name: quilkin.filters.token_router.v1alpha1.TokenRouter

I have tested two other setups in the same cluster, towards the same gameservers as before.
With quilkin configured to simply forward directly to the gameserver:
proxy --to <IP_ADDRESS>:7654,
I get the following latencies (seconds):
# target 50% 0.000594626
# target 75% 0.000749476
# target 90% 0.000842386
# target 99% 0.000898132
# target 99.9% 0.000903707

And with quilkin configured with token routing, but using a static config without the xDS server:
        filters:
        - name: quilkin.filters.capture.v1alpha1.Capture
          config:
              suffix:
                  size: 7
                  remove: true
        - name: quilkin.filters.token_router.v1alpha1.TokenRouter
        clusters:
          default:
            localities:
              - endpoints:
                  - address: <IP_ADDRESS>:7654
                    metadata:
                        quilkin.dev:
                            tokens:
                            - YWJjMDEyMw==

I get the following latencies:
# target 50% 0.000735039
# target 75% 0.00088105
# target 90% 0.000968656
# target 99% 0.00286538
# target 99.9% 0.00347547

Ie, from my perspective the occasional high latencies seems to be related to the management server integration.

Thanks for that! That's really comprehensive! Appreciate the efforts.
I'm at GDC this week, but will be keen to look into this on my return (unless @XAMPPRocky beats me to it).
Do you have a test suite you are running? I would like to be able to replicate this locally.
As @XAMPPRocky mentioned #657 may be required to finish to see what is causing those latency spikes. I'm guessing it's a lock somewhere being annoying.

My latest findings:
Running on a setup where the proxy gets conf from the xds server, and the xds server use a static conf from file gives these results:
$> fortio load -c 3 -qps 360 -n 9000 -payload abc0123abc0123 udp://<IP_ADDRESS>:7000
# target 50% 0.00062651
# target 75% 0.000813421
# target 90% 0.000925568
# target 99% 0.000992856
# target 99.9% 0.000999585

When using the same setup except I configure the xds server to erad from Agones, I get these numbers:
$> fortio load -c 3 -qps 360 -n 9000 -payload abc0123abc0123 udp://<IP_ADDRESS>:7000
# target 50% 0.000617083
# target 75% 0.000815371
# target 90% 0.000934344
# target 99% 0.0378431
# target 99.9% 0.058

So, something fishy is going on when the management server gets it's config from Agones. It's a bit weird that it leaks into the proxy, almost as if a blocking call to the mgmt server sometimes is made during a read/write call.
I use https://github.com/fortio/fortio for testing.

Found the issue @markmandel and @XAMPPRocky :)
The problem occurs when the xds server returns hostnames as endpoint addresses, which cause the proxy to do ip lookup on the hostname. Which takes time...
We've verified with a local build where the xds server converts to ip addresses immediately in the agones integration, so the proxy always gets ip addresses.
A better fix is to make the name->ip lookup async in the proxy somehow.

Oh wow! That's some serious investigative work!
Everything I do airways uses IPs, so that would also explain why I never see this.

I wonder if it would work to convert the hostname to an IP in the xDS server before sending it to the proxy?

Well that would eliminate some of the benefit of using DNS for your upstream if we only check once, because part of the reason to use DNS, is so you can have a single address that can be shared amongst multiple addresses, and maybe you can't rely on it always being the same address due to the cloud or ISP provider.
I think the solution is to have a registry of hostnames to IPs that is TTL'ed similar to session map, so that the resolution is cached for frequent use, but if enough time has passed the value is refreshed.

Yeah, I agree - also this should all happen in the proxy, since a hostname could come from anywhere - static configuration, xDS, wherever. So it makes sense to do it where it lands, not at a level above.
So I disagree with my original idea as well 😁

Hi, this is the workaround we are using for now: https://github.com/goalsgame/quilkin/pull/1/files

How come this code path has impact on the proxy latency at all?

Well you need to resolve a DNS address to an IP address to figure out where you're sending the packets. Currently it's impacting quite a bit because we're relying on the OS to resolve and cache the DNS on each worker. We just need to change it so that the resolution is cached in our program. However even with that optimisation (which I think will help a lot), using IP addresses will always be faster than DNS because it's simply one less step to do.
If you want to have optimal routing ideally your upstream is going to be a set of stable IPv6 addresses for each of the servers, that would provide the lowest overhead to time to first packet. Of course that's not always possible which is why DNS is available.

Currently it's impacting quite a bit because we're relying on the OS to resolve and cache the DNS on each worker.

I think the question is why this is preventing the proxying of request to happen. Shouldn't this be done in parallell with proxying before applying saving the new mapping from token to ip in a map? Or doens't that work for some reason?

I think the question is why this is preventing the proxying of request to happen. Shouldn't this be done in parallell with proxying before applying saving the new mapping from token to ip in a map? Or doens't that work for some reason?

The issue is that the tokio API for resolving DNS entries is actually a blocking API, so another improvement we can add here is to move the resolution to be handled asynchronously.

@andersroos Would you be able to try the image from #721? It should no longer result in high latency.
us-docker.pkg.dev/quilkin/ci/quilkin:0.6.0-dev-d95ab70

@XAMPPRocky Yes, will get back to you with the result.

@XAMPPRocky We get much lower p99.9 latency (2.5ms) with this PR compared to main (~100ms) with 5 game servers, so all good.
Our patched code with dns lookup in the manager have even lower p99.9 latency (around 1ms) but I think 2.5 will be fine for gameplay.

@XAMPPRocky I've done a quick smoke test, and the TTL cache improved things.
I was running 3 concurrent clients, each running 100 ping/s for 3000 messages (fortio load -c 3 -qps 300 -n 9000)
direct to gs
# target 99% 0.000992007
# target 99.9% 0.000999807

via quilkin, xds provisioned 1 endpoint in cluster
# target 99% 0.000992776
# target 99.9% 0.000999912

via quilkin, xds provisioned 5 endpoints in cluster
# target 99% 0.000993136
# target 99.9% 0.001

via quilkin, , xds provisioned 10 endpoints in cluster
# target 99% 0.000994109
# target 99.9% 0.00207945

via quilkin, xds provisioned 20 endpoints in cluster
# target 99% 0.000993159
# target 99.9% 0.002


🪲 BUG During reflector

Issue
I'm error that Only 3 reflector are allowed ? why and how to solve it ? is anyone facing this issue ?
Version and model info
AIDER V.50.1
MODEL : DEEPSEEK

Thanks for trying aider and filing this issue.
You can just ask it to try again. But if it get stuck for 3 retries, you may want to run /clear before asking again for the change. The model may have gotten itself confused.

i will try and share experiences thanks for your kind reply 😊 you are doing great work this project have helped me alot i have zero knowledge of programming and i have successfully built a good program. now I'm just about to finish it but due to large volume of codes it is maybe confusing

it's works now after /clear and my file had 1000+ line codes that's why model was confusing . now i have split them in 4 i will update if i still found that error thanks @paul-gauthier for this awesome project.

I'm going to close this issue for now, but feel free to add a comment here and I will re-open or file a new issue any time.


Code license?

I would like to use this code and need to know the licensing terms. I can not find a license file here. Will someone please check in the license terms?

You can find the license for this SDK here:
https://github.com/dropbox/dropbox-sdk-dotnet/blob/master/dropbox-sdk-dotnet/LICENSE


Full-width centered taskbar

Describe the solution you'd like
Full-width centered taskbar, the taskbar automatically grows when it's not full-width, how about adding an option to do the same for full-width? Kind of like Windows 11's
Additional context
Something like this

FYI I implemented this in https://github.com/Kissaki/cairoshell/tree/f/taskbar-settings
I will have to clean up/split the commits though, and implement non-fullwidth handling of the alignment setting. Then I will submit a PR on this repo.
On your screenshot you have the left and right buttons on the far left and right rather than next to the taskbar items. Is that how you would expect it?
If those are on the far end, what's your expectation/reasoning about moving the quicklaunch items to the center too rather than the left?

If those are on the far end, what's your expectation/reasoning about moving the quicklaunch items to the center too rather than the left?
I don't really have a reasoning, it just feels more natural to me, they're centered right now and I use them more than the far left and right buttons. It's also like that in Windows 11, though it's with the pinned items instead of a quick launch.


Update godot version again and future proof version numbers stuff

Can someone explain to me why in the windows export godot failed to create a connection to wayland but in linux export it just worked

Not me, sorry.

Why is it trying to use X11 or wayland at all. It should be using headless one...

It's not my fault: godotengine/godot/issues/94755
Funny that one export failed and the other didn't.

Fixed for Godot 4.3.rc2!

Export seems to all work now. Downloaded windows export and it works fine too

Thanks!
/\__/\
(˶ᵔ ᵕ ᵔ˶)
/ > :heart:<\


Removed non-applicable information from LICENSE file

I think these entries fall under the "unnecessary information" section of the release policy so removing them makes sense.

That's my take on it as well.


Bump to annobin-annocheck >= 12.66

Resolves #129

Seems the build
https://bodhi.fedoraproject.org/updates/FEDORA-2024-3598ea9717
is not yet synced to all mirrors. Let's wait a bit.


release 23

Nice! Excited to try out some of this.
I think if I were to make a video demonstrating a defensive ship-to-ship missile platform that makes use of the radar programmable block work, put it on the reddit, that would pique some interest.

Let me know if I can help.

@Rynchodon could you release (or just send me) the world you used for the screenshots in this
http://steamcommunity.com/sharedfiles/filedetails/?id=391453613 as a starting point?

Here is the world you requested:
http://steamcommunity.com/sharedfiles/filedetails/?id=424988459
I do not think that there is much there that would be helpful. I could email you some other worlds, or add them to git.


Can't fully remove Mail and Packages from HA

I installed this package but my wife didn't find it as exciting as I did so decided to remove it.
I went into HACS and uninstalled and removed the sensor info from configuration.yaml. Restarted the HA but am getting notifications after each restart of:
Invalid config
The following integrations and platforms could not be set up:
mail and packages
If I go to Configuration - Integrations, I see mail and packages there. I clicked the 3 dots and was able to delete the 14 entries individually but cannot delete the package itself.
Appreciate some advice.

You'll have to dig around in the .storage directory for the config_entries to remove.
If I recall the file is called core.config_entries.

For future reference the proper way to uninstall 3rd party integrations is the following:

Remove Integration from Integration menu
Uninstall via HACS
Restart Home Assistant

Thank you very much - right on both counts. I was scared to edit the entries file so I simply reinstalled Mail and Packages via HACS, went to Configuration - Integrations and deleted then uninstalled from HACS
Appreciate the really quick reply!


[Bug]: "Error: Execution context was destroyed" exception throw in IsolatedWorld is not caught

Minimal, reproducible example
Unfortunately, there's not a simple reproducible example, as this is caused after many pages are loaded and functions bindings applied, but we do have this stack trace:
file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorld.js:72
            throw new Error('Execution context was destroyed');
                  ^

Error: Execution context was destroyed
    at file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorld.js:72:19
    at file:///app/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.js:1936:31
    at OperatorSubscriber2._this._next (file:///app/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.js:993:9)
    at Subscriber2.next (file:///app/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.js:696:12)
    at listener (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js:351:24)
    at file:///app/node_modules/puppeteer-core/lib/esm/third_party/mitt/mitt.js:36:7
    at Array.map (<anonymous>)
    at Object.emit (file:///app/node_modules/puppeteer-core/lib/esm/third_party/mitt/mitt.js:35:20)
    at EventEmitter.emit (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js:77:23)
    at [nodejs.dispose] (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/IsolatedWorld.js:151:23)

Background
It seems the callback triggered from a Symbol.dispose handler in Node can result in this exception being thrown and not caught, resulting in an unhandled exception crash.
This might be caused by function bindings in a target that are closed before, seeing some errors like this before the unhandled exception:
2024-09-06T07:28:19.542Z puppeteer:error [
  TargetCloseError: Protocol error (Runtime.callFunctionOn): Session closed. Most likely the page has been closed.
      at CdpCDPSession.send (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:61:35)
      at #evaluate (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js:355:50)
      at ExecutionContext.evaluate (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ExecutionContext.js:270:36)
      at Binding.run (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Binding.js:132:22)
      at async #onBindingCalled (file:///app/node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Page.js:595:9)
]

Expectation
Puppeteer should ensure this exception is caught and not crash the Node process as an unhandled exception.
Reality
There is no exception handler for that stack trace, resulting in this exception crashing the process.
Puppeteer configuration file (if used)
No response
Puppeteer version
23.0.2
Node version
20.17.0
Package manager
yarn
Package manager version
1.22.22
Operating system
Linux

Hi, could you please try to create a minimal reproducible example? This error usually happens if a closed page is being interacted with (perhaps it's crashed).

The error in #onBindingCalled looks caught and the uncaught error seems to be thrown for some pending evaluate/evaluateHandle calls which might not be coming from Puppeteer internally so it would be really helpful if you could provide some examples of how you call Pupppeteer.

There's not an easy repro step unfortunately, but the usage pattern is to call evaluate() on the iframes on the page to extract links, a simplified version is:
try {
   await Promise.allSettled(
          frames.map((frame) => frame.evaluate(extractLinks, options)))
 } catch (e) {
    console.log("link extraction failed");
 }

Even though the promise rejection is caught, the above stack trace / crash still happens. Since the frame.evaluate() calls are happening in parallel, it's possible that the page has crashed, yes. I suppose could try calling these in sequence rather than in parallel if you think that is the issue, though this happens very rarely and after some time, so pretty hard to repro. The stack trace points to the [nodejs.dispose] so I assume this has to do with the new resource management / dispose semantics which are now supported in Node, and perhaps another exception handler can be added there somewhere in IsolatedWorld to catch this?

The dispose only dispatches an event to which puppeteer/cdp/IsolatedWorld.js:72 (waiting for execution context) rejects. I think the stacktrace might not be quite correct here since the actual place it throws is whether #waitForExecutionContext started listening for the dispose event. Is there any way to replicate it by artificially closing the iframe randomly?

I am able to trigger the same error with:
import puppeteer from "puppeteer";

const browser = await puppeteer.launch();

const page = await browser.newPage();

await page.goto('https://example.com');

async function iframes() {
  const handle = await page.evaluateHandle(() => {
    const iframe = document.createElement('iframe');
    iframe.src = 'https://example.com';
    document.body.append(iframe);
    return iframe;
  });
  await new Promise(resolve => setTimeout(resolve, 100));
  await handle.evaluate((el) => {
    el.remove();
  });
  iframes();
}

for (let i = 0; i < 10; i++) {
  iframes();
}

async function test() {
  try {
    console.log(await Promise.allSettled(
      page.frames().map((frame) => frame.evaluate(() => {
        return true;
      }))));
  } catch (e) {
    console.log("link extraction failed");
  }
  test();
}

test();

await new Promise(resolve => setTimeout(resolve, 6000));

await browser.close();

but it is properly caught and I do not experience an uncaught error.

The above example has a rejected promise in a different part of the code, here:
https://github.com/puppeteer/puppeteer/blob/main/packages/puppeteer-core/src/cdp/ExecutionContext.ts#L532
which is indeed caught. The above stack trace has an uncaught exception thrown from here:
https://github.com/puppeteer/puppeteer/blob/main/packages/puppeteer-core/src/cdp/IsolatedWorld.ts#L145
This one is not caught unfortunately, resulting in node crashing. If you could just add a try/catch handler in the above stack trace, perhaps here: https://github.com/puppeteer/puppeteer/blob/main/packages/puppeteer-core/src/cdp/IsolatedWorld.ts#L260
I think this would solve the issue, though I'm not familiar with how the dispose chain is supposed to work - maybe there's a better place for it.

@ikreymer could you please check where the #waitForExecutionContext() that throws in https://github.com/puppeteer/puppeteer/blob/main/packages/puppeteer-core/src/cdp/IsolatedWorld.ts#L145 was called in your code? rxjs would should catch it and it was not caught it means that the caller of #waitForExecutionContext() is not catching it.

With https://github.com/puppeteer/puppeteer/pull/13139 the stack trace should be correct for this case. Could you try to reproduce it again if you have a chance? thanks!

With #13139 the stack trace should be correct for this case. Could you try to reproduce it again if you have a chance? thanks!

Thanks for the update and all your help trying to debug this! I was able to repro it with the examples above, by add something like page.title() after the page crashes, but in our codebase so far (everything appears to be caught).


C++ Code formatter: Inconsistent behavior with curly braces

The default c/c++ formatter turns an initializer list from this
{
{1, 30},
{21, 20}
};
into this
{
{1, 30},
{21, 20}};
Putting the last curly brace not below the first is inconvenient for two reasons:

It doesn't look good and is harder to read.
It is inconsistent with the behavior in functions and loops, where matching braces are placed in the same column.
Some codechecks like Vera insist on the braces being in the same column, effectively making the otherwise great formatter unusable.

VSCode Version: 1.30.2
OS Version: Linux x64 4.4.0-141-generic

Steps to Reproduce:

Create a .cpp file with an initializer list as in the example above
Format the file with the default VSCode C++ formatter.

Does this issue occur when all extensions are disabled?: No, C/Cpp extension specific

Please report the issue here: https://github.com/Microsoft/vscode-cpptools


Bring back the multiple extensions formats for Configuration

This changeset migrates to the fresh modelCompiler, which in turn runs on top of ProtoData <IP_ADDRESS>.
As far as the <IP_ADDRESS>. ProtoData is now able to process the repeated fields in Protobuf extensions, this PR also brings back the multiple Configuration formats. Previously, this feature was stripped out in #69 to allow the compilation pass successfully.
This PR depends on the latest mc-java changeset.
The version of ProtoData modules is set to 0.2.6.

@dmdashenkov PTAL.


[qtmultimedia] build failure

Operating system
Windows 11
Compiler
MSVC
Steps to reproduce the behavior
`vcpkg install  qt qtcharts qtserialport qttranslations qtbase[sql-mysql,concurrent,gui,widgets,network,thread,zstd,concurrent] qtsvg qtgrpc qtlocation quazip qtmultimedia[core,qml,widgets] --triplet x64-windows --recurse --x-buildtrees-root=c:\B
`

Failure logs
qtbase:x64-windows is already installed
qtcharts:x64-windows is already installed
qtgrpc:x64-windows is already installed
Installing 1/30 qtmultimedia:x64-windows...
Building qtmultimedia[core,ffmpeg,gstreamer,qml,widgets]:x64-windows...
-- Using cached qtmultimedia-everywhere-src-6.6.0.tar.xz.
-- Cleaning sources at C:/B/qtmultimedia/src/here-src-6-2cf991993d.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/git/vcpkg/downloads/qtmultimedia-everywhere-src-6.6.0.tar.xz
-- Applying patch remove_unistd.patch
-- Applying patch remove_export_macro.patch
-- Applying patch static_find_modules.patch
-- Applying patch fix_avfoundation_target.patch
-- Using source at C:/B/qtmultimedia/src/here-src-6-2cf991993d.clean
-- Found external ninja('1.10.2').
-- Configuring x64-windows
-- Building x64-windows-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:134 (message):
Command failed: C:/git/vcpkg/downloads/tools/cmake-3.27.1-windows/cmake-3.27.1-windows-i386/bin/cmake.exe --build . --config Debug --target install -- -v -j17
Working Directory: C:/B/qtmultimedia/x64-windows-dbg
See logs for more information:
C:\B\qtmultimedia\install-x64-windows-dbg-out.log
Call Stack (most recent call first):
installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_build.cmake:74 (vcpkg_execute_build_process)
installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_install.cmake:16 (vcpkg_cmake_build)
installed/x64-windows/share/qtbase/qt_install_submodule.cmake:348 (vcpkg_cmake_install)
ports/qtmultimedia/portfile.cmake:77 (qt_install_submodule)
scripts/ports.cmake:168 (include)
error: building qtmultimedia:x64-windows failed with: BUILD_FAILED
Elapsed time to handle qtmultimedia:x64-windows: 1.3 min
Please ensure you're using the latest port files with git pull and vcpkg update.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+qtmultimedia
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?title=[qtmultimedia]+Build+error&body=Copy+issue+body+from+C%3A%2Fgit%2Fvcpkg%2Finstalled%2Fvcpkg%2Fissue_body.md
Additional context
No response

Please see https://github.com/microsoft/vcpkg/issues/30604 for how to report an issue.

Please provide the error log: C:\B\qtmultimedia\install-x64-windows-dbg-out.log.

You can download the log from here:
https://drive.google.com/file/d/1ECgbDqaXu54PVgoUBdbNl-p7e2ENsd4u/view?usp=sharing

C:\B\qtmultimedia\src\here-src-6-2cf991993d.clean\src\plugins\multimedia\ffmpeg\qffmpegwindowcapture_uwp.cpp(163): error C2065: 'IGraphicsCaptureSession3': undeclared identifier
C:\B\qtmultimedia\src\here-src-6-2cf991993d.clean\src\plugins\multimedia\ffmpeg\qffmpegwindowcapture_uwp.cpp(163): error C2672: 'winrt::Windows::Foundation::IUnknown::try_as': no matching overloaded function found
C:\B\qtmultimedia\src\here-src-6-2cf991993d.clean\src\plugins\multimedia\ffmpeg\qffmpegwindowcapture_uwp.cpp(163): error C2974: 'winrt::Windows::Foundation::IUnknown::try_as': invalid template argument for 'To', type expected
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt\winrt/base.h(2059): note: see declaration of 'winrt::Windows::Foundation::IUnknown::try_as'
C:\B\qtmultimedia\src\here-src-6-2cf991993d.clean\src\plugins\multimedia\ffmpeg\qffmpegwindowcapture_uwp.cpp(163): error C2737: 'session3': const object must be initialized
C:\B\qtmultimedia\src\here-src-6-2cf991993d.clean\src\plugins\multimedia\ffmpeg\qffmpegwindowcapture_uwp.cpp(163): error C3536: 'session3': cannot be used before it is initialized

I am experiencing this exact error as well. Just cloned and built from the latest commit 3135b990681223c46d2bce0793e04036d88f307c.
I'm using Microsoft Visual Studio Community 2022 (64-bit) - Current Version 17.8.1 on Windows 11.

@ASxa86 @bzisl

C:\B\qtmultimedia\src\here-src-6-2cf991993d.clean\src\plugins\multimedia\ffmpeg\qffmpegwindowcapture_uwp.cpp(163): error C2065: 'IGraphicsCaptureSession3': undeclared identifier

The definition of this function belongs to Windows SDK, please install the latest Windows SDK. If possible, install uwp components on VS.

We hope your question was answered to your satisfaction; if it wasn't, you can ping me with more info and I will reopen.


No validation of JobFilter query parameters

I believe we decided the current behavior is okay, at least until we have a more comprehensive strategy in place for returning status codes for various input problems in our REST endpoints.


Brunswick High School

Maine High School with multiple courses in programming, namely Computer Programming in Python and AP Computer Programming in Java.
https://brunswicksd.org

@Furrure Please provide us with:

the school official website URL
the school street address, including city and country

116 Maquoit Rd, Brunswick, ME 04011, USA

Also, here is a link to the course descriptions, on page 11-12 are the computer science courses.
https://core-docs.s3.amazonaws.com/documents/asset/uploaded_file/1981172/2022-23_Course_Book.pdf

@Furrure Thank you very much for the clarification. Pull request merged.


Implement select op end to end.

Currently, we can't lower select op to mlir. We need this op for indexing when stride is 1. In general, indexing is done by matrix multiplication, but when stride is 1 it is ideal to use some kind of select.

@nvukobratTT fyi, we can discuss the priority.

This makes sense, no need for matmul + transpose(s) if we have stride 1. From what I see, ttnn doesn't have some sophisticated select/slice ops.
Let's chat around this one, and try to push it a bit further if we hit a model with it. In sum, indexing ops are probably a bit problematic to implement on tt-metal level. For now, we can sort this out using matmuls, but for further enhancement we'll for sure need more optimal approach.

On metal they have slice op that does the same thing as select. Takes some continuous subtensor (defined by start and end indices on each dimension). So the only question is this op covered well on metal side. We will know that when we start using it. I suggest we try implementing it end to end on forge-mlir side and start using it. In lama we already have bunch of indexing with stride 1, so this will have an impact.

Currently, this is just an optimization. LLama indexings are not that big, so they all work with matmul. So this is not a blocker...

Great, thanks @dgolubovicTT!
@sdjordjevicTT This is probably P2, but it'll be nice to have it, as we can simplify a good number of cases for the indexing ops. @dgolubovicTT once you create issues for slice support on MLIR, please link it in this issue as "Blocker" field, so we can easily track it :))

I will close this item, as we decomposed indexing op in ttmlir.


Add default and null info on hover

To get rid of annotate in my apps, the only missing thing in my opinion is displaying defaults and null information for the model on hover.
This small PR tries to solves this problem.

Please let me know if it needs improvements 🙂

Thanks for the review @andyw8 . I made the changes 🙂


temperature issue

Why my hue sensor get 21.5 and on air cond temp is 21? is there a way to set a temp with 0.5 plus? i checked my path file and logs, I see it all right. thanks

I suspect you're seeing the same issue that has been discussed in #421 and #401. I know that's not much help.
This branch doesn't appear to be in active development so I don't think we'll ever see a fix. If you can't find a work around, there may be another branch where someone else has fixed this issue.

If you have the output in the txt file, it's easy enough to use awk to round it for you:
awk '{printf "%.0f\n", $1}'

Please add this line: temperature = Math.round(temperature);
in the file "aircon.js". You can find it where you install your plugin. The path should look like:
.../node_modules/homebridge-broadlink-rm/accessories
Here is where I put the line in the original file. After adding it, I got the correct rounding of temp in the home app and siri
if (debug) log(\x1b[33m[DEBUG]\x1b[0m ${name} onMQTTMessage (raw value 2: ${temperature.trim()}));
temperature = parseFloat(temperature);

if (debug) log(`\x1b[33m[DEBUG]\x1b[0m ${name} onMQTTMessage (parsed temperature: ${temperature})`);

temperature = Math.round(temperature);  // added by Minh to round up the temp to the nearest integer
this.mqttValues[identifier] = temperature;
this.updateTemperatureUI();

I've been doing a bit of work on the aircon plugin myself lately.  I started by using @huongminh 's suggestion but I'd suggest a better fix is this.
At the bottom of aircon.js replace this (note the minStep):
this.serviceManager
      .getCharacteristic(Characteristic.CurrentTemperature)
      .setProps({
        minValue: minTemperature,
        maxValue: maxTemperature,
        minStep: 1
      });

With:
this.serviceManager
      .getCharacteristic(Characteristic.CurrentTemperature)
      .setProps({
        minValue: minTemperature,
        maxValue: maxTemperature,
        minStep: 0.1
      });

This will get Homebridge to pass the temperature with a decimal place so HomeKit can properly round the temperature, and show 0.5 increments.
Or, I'd suggest checking out @AlexanderBabel's fork and my pull request here: https://github.com/AlexanderBabel/homebridge-broadlink-rm/pull/30.
If you're interested, take a look at the fork (which also includes TV support) and my Pull Request. You can install straight from my pull request using:
npm install -g git+https://github.com/AlexanderBabel/homebridge-broadlink-rm#pull/30/head

Fixed in the latest release.


Update support email address for check

Context
This reverts commit e9509625518ec171f33a9f5d8005e40c77a12f05.
We're not going to use the new support initially.
Changes proposed in this pull request
Restore the original support email
Checklist

[x] Attach to Trello card
[x] Rebased main
[x] Cleaned commit history
[x] Tested by running locally

 Revert support email address change


Use translate3d to animate list styles

The performance when animating left and top properties was really bad in some cases, resulting in a lot of lag.
This PR changes to animate the translate3d property instead, which is more performant since the browser doesn’t need to repaint on every frame.
Tests are also updated accordingly.

+1

Can we make sure that we are supporting all the prefixes and falling back to left here?

No reason to add mozTransform I think. msTransform would add ie9 compatibility, so should do that. Should this lib support IE < 9?

this is very-very needed PR for us

Ok I'll review it locally tomorrow and get a version cut if everything checks out

Here's what i did for our local testing. Works as a charm in webkit-based browsers and desktop/mobile safari.
https://github.com/dmitry-sher/nuka-carousel/commit/e742600e535692c2af57867aeb5a4db963dcc612

Just let me know if I need to make any more updates to this. Would also love to see it landed!


Adding kube-proxy download and pulling image with crictl

Installing kube-proxy binary
Adding crictl
pre-pulling nanoserver image

/lgmt

/lgtm


Bf16 with tl.dot and tl.atomic_add

Currently some triton primitives like tl.dot and tl.atomic_add don't work with bf16. The straightforward workaround would be to convert to fp16 and cast it back. But that is a non-trivial performance overhead. Are there any planned updates or alternative strategies that could facilitate operations with bf16 data types using these primitives?
Thank you!

The last PR was rejected https://github.com/openai/triton/pull/2708


VehicleWheel do not collide with trimesh

Godot version
3.5.1
System information
Ubuntu 22.04
Issue description
VehicleWheel do not collide with trimesh

Steps to reproduce
You could use the project that i have zipped
Minimal reproduction project
Uploading Nuovo Progetto di Gioco.zip…

Project didn't upload. Also, IIRC this is expected and documented?

I need the mesh to be seen from the inside, or both sides, the trimesh is only used on the staticbody, the others meshes are convex. Any way to make them collide?

I have inverted normal inside the engine, i have import them correctly

I solved it by increasing the stiffness of the suspension, even if it still seems like a problem to me

I've thinked that i have solved that but was not true, someone can help me?

@Desagiato Please upload a minimal reproduction project to make this easier to troubleshoot.

Closing due to lack of response. Please comment if you can still reproduce this bug on the latest Godot version.
PS: Since no minimal reproduction project was included in the original bug report, please upload one as well to ease troubleshooting.


Nuxt plugin breaks theme

This one's much easier to demonstrate than explain:
https://codesandbox.io/s/vuetify-dialog-nuxt-theme-break-lkx7g
An explanation of the problem is in included in the demonstration itself, but here's a slightly longer version.
One of my Nuxt projects includes a "theme switching" feature, where the user can switch to different color palettes while using the site.
In the code, I do this palette change by simply changing the values of $vuetify.theme.currentTheme.primary, $vuetify.theme.currentTheme.secondary, etc. This method is specifically described in the Vuetify documentation on dynamic theme customization
That's been working fine for a while. I added vuetify-dialog to the project, and that works great as well :)
But at some point I realized that after any call to $dialog.* (e.g. $dialog.notify.info('Hi!') ), the palette changing no longer works.
The codesandbox demonstration is a minimal installation of Nuxt + Vuetify + vuetify-dialog that demonstrates the problem.

Hi, @snelg
THank you for sandbox with your issue
I suppose the problem is not with @dialog
You try to change primary, but $dialog.notify.info uses info color
Look
https://codesandbox.io/s/vuetify-dialog-nuxt-theme-break-forked-qbb8i?file=/pages/index.vue
I changed to notify.warning and tried to change warning color - and dialog color changes with the project

Can you try to write this issue to vuetify team? Maybe they will help... at least with advice. I suppose problem will be in framework logic, but I don't know for sure how. They know how works framework inside. I see that reactivity works (text color changes)

As I investigated vuetify changes own style block in header, and after dialog shows - it stoped to do this

I also reached that conclusion.
I just noticed this from the Vuetify docs
"Vuetify doesn’t support multiple isolated Vuetify instances on a page. v-app can exist anywhere inside the body of your app, however, there should only be one and it must be the parent of ALL Vuetify components."
Oh, well.
I do have a hacky workaround: Every time I change a theme color, if I also trigger the reactivity of $vuetify.theme.dark by setting it to its own current value, then vuetify does rebuild that <style> header.
$vuetify.theme.dark = $vuetify.theme.dark

I prefer clean solutions, but I can live with hacky workarounds when necessary :)

Yeah
This hack works because of
https://github.com/vuetifyjs/vuetify/blob/56f5668d27b6ac0a52c792fb9745164155faa8e3/packages/vuetify/src/services/theme/index.ts#L118
  public setTheme (theme: 'light' | 'dark', value: object) {
    this.themes[theme] = Object.assign(this.themes[theme], value)
    --> this.applyTheme()
  }

Just target is to call applyTheme() method somehow.
Maybe then better to call
this.$vuetify.application.framework.theme.applyTheme();

see https://codesandbox.io/s/vuetify-dialog-nuxt-theme-break-forked-v01yx?file=/pages/index.vue
I close this issue because it cannot be fixed and we have solution


Allow CiliumNetworkPolicy to specify a list of rules

@tgraf It would be nice to be able to specify multiple rules as a single kubernetes CiliumNetworkPolicy. This would make it easier for an automated process/script to replace an existing policy without worrying about which rules already exist. It might look something like this:
- apiVersion: cilium.io/v1
  kind: CiliumNetworkPolicy
  description: Multiple rules
  metadata:
    name: my-policy
  spec:
    - endpointSelector:
        matchLabels:
          env: prod
          app: db
      ingress:
        - fromEndpoints:
            - matchLabels:
                env: prod
                app: web
          toPorts:
            - ports:
                - port: 80
                  protocol: TCP
              rules:
                http:
                  - method: GET
                    path: /private
    - endpointSelector:
        matchLabels:
          env: dev
          app: db
      ingress:
        - fromEndpoints:
            - matchLabels:
                env: dev
                app: web
          toPorts:
            - ports:
                - port: 80
                  protocol: TCP
              rules:
                http:
                  - method: GET
                    path: /private

This is doable, whoever the CiliumNetworkPolicy spec needs to be changed.
This will allow accepting the old policy a the new policy with a list.
type CiliumNetworkPolicy struct {
	metav1.TypeMeta `json:",inline"`
	Metadata metav1.ObjectMeta `json:"metadata"`
	Spec api.Rule `json:"spec"`
	Rules api.Rules `json:"specs"`
}

@aanm I started on this and thought about calling it a CiliumNetworkPolicySet which carries a api.Rules as spec. That way it's always clear which is which.

I was already re-writing the unit tests. FYI this was what I had in mind:
type CiliumNetworkPolicy struct {
	metav1.TypeMeta `json:",inline"`
	// +optional
	Metadata metav1.ObjectMeta `json:"metadata"`

	// Spec is the desired Cilium specific rule specification.
	Spec *api.Rule `json:"spec,omitempty"`

	// Rules is a list of cilium rules
	Rules api.Rules `json:"rules,omitempty"`
}

The user could choose Rules and Spec to specify a list or a single rule.

// Spec is the desired Cilium specific rule specification.
Spec *api.Rule json:"spec,omitempty"
// Rules is a list of cilium rules
Rules api.Rules json:"rules,omitempty"

Isn't this completely against k8s API best practices? What if we add a Status field? What does it apply to?

@tgraf I'm currently working on this, there's one problem. We store the name of the policy as a label in the rule. If we have multiple rules, we can't we store multiple rules with the same label... Any suggestions to solve this? I was thinking on adding a new label with the rule position in the policy specs slice.
rule 1:
labels {
io.cilium.k8s-policy-name=foo,
io.cilium.k8s-policy-position=1,
}
rule 2:
labels {
io.cilium.k8s-policy-name=foo,
io.cilium.k8s-policy-position=2,
}

@tgraf I'm currently working on this, there's one problem. We store the name of the policy as a label in the rule. If we have multiple rules, we can't we store multiple rules with the same label... Any suggestions to solve this? I was thinking on adding a new label with the rule position in the policy specs slice.

Each rule must have unique labels or insertion will fail. A list of rules will only be applied if all labels are unique. The only purpose is to allow insertion of n rules atomically. Maintaining uniquness of the a position label will become very hard.


Penalty layer choice

Hi,
From the paper (Table 2), it seems $\lambda_l = exp(\frac{1}{|L|-l})$  yields the best results but from the code, it seems you $\lambda_l = exp(\frac{1}{l})$. Can you confirm which penalty function is used in your experiment ?
Thanks!

You said in the paper that the penalty factor scales with l, but in the implementation it seems that the higher the layer is, the lower the penalty factor becomes: exp(1/l), so layer 2 loss is multiplied by 2 to the power of 1/2 and layer 1 loss by 2 to the power of 1.


Zip bugfix

Fix issues with selection after adding zip-region data.
Closes #122
Closes #131

Reviewers currently OOO - pushing PR.


Typo with the Preview Feature name

There seems to be a typo with the Preview Feature name
"SFTP support in Azure Blob Storage" -> "SFTP support for Azure Blob Storage"

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

ID: e7d93704-cc4c-04a0-beb4-84983853cbb1
Version Independent ID: c999a603-b02d-a56d-1bef-0cd4916b6a2b
Content: Connect to Azure Blob Storage using SFTP (preview)
Content Source: articles/storage/blobs/secure-file-transfer-protocol-support-how-to.md
Service: storage
Sub-service: blobs
GitHub Login: @normesta
Microsoft Alias: normesta

@abondoa Thank you for your feedback . We believe this should be correct as the SFTP feature is incorporated within the Azure Blob storage product However we will review this with the content author to check the same and update the thread accordingly .

Hi @abondoa - you are correct, the feature as it appears in the preview features list in the Azure portal shows the use of "for" instead of "in". I'm investigating. Thank you!

Hi @abondoa - the Azure portal UI is being adjusted to use "in" instead of "for". We'll keep the doc as is and await the portal change. Thanks for raising.
#please-close


Roll Flutter from 93c0c043cf2c to cb09fa239be3 (5 revisions)

https://github.com/flutter/flutter/compare/93c0c043cf2c...cb09fa239be3
2022-02-17<EMAIL_ADDRESS>Roll Engine from 7d33de0a372c to 345a04b11f96 (1 revision) (flutter/flutter#98678)
2022-02-17<EMAIL_ADDRESS>Roll Plugins from 136f49b3e8ec to ed29396208cd (12 revisions) (flutter/flutter#98666)
2022-02-17<EMAIL_ADDRESS>Roll Engine from 754478998b5b to 7d33de0a372c (1 revision) (flutter/flutter#98646)
2022-02-17<EMAIL_ADDRESS>Upgrade android sdk for ci.yaml tests to 31 (flutter/flutter#98638)
2022-02-17<EMAIL_ADDRESS>Roll Engine from 57d4a350dea8 to 754478998b5b (1 revision) (flutter/flutter#98634)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-plugins
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Plugins: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Audit for problems similar to #723 and #844

#723 and #844 are essentially the same bug: Newsboat's internals assume that strings are represented in UTF-8, but Newsboat doesn't always check the encoding of its inputs. We now fixed the urls file and the config file, and RSS/Atom parsers should be okay too, but we have a few more files to check:

queue file handled by QueueLoader and QueueManager classes
history files (search and cmdline) handled by History class

We should check if those classes have the same bug, and fix it there.

[x] Cover all classes with tests, to ensure we don't break anything later.

[x] QueueLoader (#1426)
[x] QueueManager (#1578)
[x] History (has complete coverage already)

[ ] Add a Utf8String type which is a wrapper over std::string with the following methods:

constructor from std::string which checks if the input is in UTF-8
constructor from std::string which expects input in locale charset and converts it to UTF-8
getter for the internal UTF-8 string
getter that returns the string encoded to the locale charset

[ ] Convert class members from std::string to Utf8String
[ ] Go through all methods and functions that take or return std::string, and make them use Utf8String internally

This is laborious, but pretty easy, since all the reasoning is local to the function

[ ] Replace std::string with Utf8String in all signatures
[ ] Write tests that verify the new behaviour (Newsboat should now be able to read files in locale charset, and write them in locale charset)
[ ] Think of ways to handle non-UTF-8 data in databases (#1514, #1547)

Our existing solution to #723 and #844 is more of a stopgap than a fix: we refuse non-UTF-8 input instead of transcoding it. We did that because the alternative (crashing the app) is worse than an error message.
Working on #1426 makes me believe that it'd be faster to go straight to the fix. This is faster because we won't have to introduce and then remove the error codes. I'll add a more detailed plan to the top comment.
I do plan to finish this before 2.23, but I said the same about this issue and 2.22, so take it with a grain of salt :)

Our existing solution to #723 and #844 is more of a stopgap than a fix: we refuse non-UTF-8 input instead of transcoding it. We did that because the alternative (crashing the app) is worse than an error message.
Working on #1426 makes me believe that it'd be faster to go straight to the fix. This is faster because we won't have to introduce and then remove the error codes. I'll add a more detailed plan to the top comment.
I do plan to finish this before 2.23, but I said the same about this issue and 2.22, so take it with a grain of salt :)

#1514 and #1547 show that the problem is much more pervasive. It affects the database as well as the text files. So I guess the solution has to be adjusted, too.
I think we should annotate all strings with their encoding. Or, to put it the other way, we should have our own string type. Let's call it Utf8String. It should be a wrapper over std::string, with the following methods:

constructor from std::string that checks that the input is valid UTF-8
constructor from std::string in a locale charset that converts it to UTF-8
accessor to the internal UTF-8 string
a way to get out a string encoded to the locale charset

The idea is that on the "perimeter" (UrlReader, Cache, QueueLoader etc.) we'll read files in locale charset and construct Utf8String, which is then passed around the program. When it comes time to write something to a file or the screen, we convert the string back into the locale charset.
It'd be a chunk of work — git grep | wc -l tells me there are over 1500 uses of std::string in our codebase. However, this work will ensure that we really use UTF-8 internally, and will also guarantee that any code ported to Rust won't suddenly start panicking on us because of the encodings.
Once we got that, we can think of ways to tackle the database problem.

@juntuu took a stab at this in https://github.com/newsboat/newsboat/pull/2264, and suggested a way to make the transition simpler: implicit conversions from std::string to Utf8String and back. In other words, passing an std::string to a function that expects Utf8String is not an error; neither is passing Utf8String where std::string is expected. These are just "training wheels"; they would be removed once all the classes and functions are converted to Utf8String.
However, this approach can hide some bugs until the very end of conversion. Imagine a module that only works with std::string and doesn't uphold any guaurantees about the encoding. With implicit conversions, it's possible to use such a module in the middle of code that only uses Utf8String. This is bad because the resulting construct can break the encoding. We might catch the mistake if our testing is thorough enough, but there's no guarantee.
We discussed it a bit and eventually realized that we can use implicit conversions if there is no way for them to introduce such bugs. This becomes possible when we can guarantee that any std::string in the codebase must contain UTF-8. Currently, this is not true, because std::string is also used for filepaths and text in locale charset. But if we add new "string-like" classes for those corner cases, the remaining std::strings can be safely converted into Utf8String.
We also briefly discussed how Utf8String::from_utf8(std::string) should behave on invalid (non-UTF-8) input. It may just exit(), or throw an exception, or replace invalid codepoints with U+FFFD. We could also have multiple versions of the method that do different things. We should see where the method is called, and decide then.
It's pretty much the same that Rust does with its split between String, PathBuf, and OsString.
I'll open two new issues with some more details about new classes, and update the top post to note that this issue is now blocked on those new ones.


I got an error message "Request failed with status code 429"

I got an error message "Request failed with status code 429" when I want it to check a piece of my c snippet.
the steps of what I did

select a piece of snippet.
press ctrl+f1
type "correct the code" at the diaglog box
it returned "Request failed with status code 429"

btw:I've filled up th org-id,and api-key.

State 429 is too many request I believe. Each organisation limited to 20 request per minute. Also I found that sometimes when the server is too busy, that happen to. I will add proper error message next release.
For full list of rate limit, please check here:
https://help.openai.com/en/articles/5955598-is-api-usage-subject-to-any-rate-limits


Add a optional tracer implementation loader.

Sync the OT version up-to-date, 0.20.4
Sync the gprc version up-to-date, 1.0.2
Add a TracerLoader to get tracer instance by spi. It just a optional choose.

@bensigelman , I can't choose a reviewer, just @ you instead.

I signed it!

@bensigelman , updated. But the comments on README are very easy, just mention the spi mechanism. I think maybe it's enough, because it's just optional.

@bensigelman , is there anything else to change?


Invalid parameter: messages with role 'tool' must be a response to a preceeding message with 'tool_calls'.

Hi i'm using the same exemple in the read.md and have this issue: Invalid parameter: messages with role 'tool' must be a response to a preceeding message with 'tool_calls'. I triple check and i don't see why this issue should appear since i use the exact same config and code as the exemple...

Thanks for reporting @takefy-dev, sounds like one of our examples is broken. Which example in particular were you using?

@takefy-dev could you try this example script instead? https://github.com/openai/openai-go/blob/main/examples/chat-completion-tool-calling/main.go

it says 404 no found ... could you give me the url please

oh sorry it looks like there's a github app breaking the links, I've edited it

it works have you edited something?

Nice! The example in the readme wasn't entirely complete, it'll be updated in the next release to make that more clear and link to the full example scripts we have

Thanks a lot 🙂↔On 11 Sep 2024, at 23:42, Robert Craigie @.***> wrote:
Nice! The example in the readme wasn't entirely complete, it'll be updated in the next release to make that more clear and link to the full example scripts we have
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Gatsby

Gatsby
Description
What is Gatsby? How is it better than a CMS like WordPress or a static site generator like Jekyll?
Potential guest(s)
@KyleAMathews
Info
If you haven't heard of Web of Tomorrow before, it's a podcast all about the web, JavaScript, coding, design, and technology. For more information about being a guest, see this file. Note: we also have and enforce a Code of Conduct for the show.
If you've been listed as a potential guest above, please comment on this issue about whether you're interested in coming on to talk about the subject and when would be a good time to schedule to record the episode.
If you're interested, I'll need a little information from you for the website. Episode planning happens on the GitHub repo issues. Please comment on this issue with the following information (if you'd prefer, you can DM this info to @adamCoder):
Your name (as you want it on the site)
An email address to share a Google Doc with you
Your twitter handle
Thanks!

Hey, this sounds really fun! Perhaps we could do this around the same time Gatsby 1.0 comes out? That'll be in another month or so.

Sounds good. I'll keep an eye on the 1.0 milestone. Ping me when it's getting close and we'll schedule a time. Be sure to let me know what timezone you're in as well.

👍
On Tue, Jan 3, 2017, 2:05 PM Adam Harris<EMAIL_ADDRESS>wrote:

Sounds good. I'll keep an eye on the 1.0 milestone. Ping me when it's
getting close and we'll schedule a time. Be sure to let me know what
timezone you're in as well.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aharris88/weboftomorrowpodcast.com/issues/14#issuecomment-270224519,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEVh-d9qSS3PEoePmKzYDN_uSfIht3Jks5rOrgtgaJpZM4LV5Hy
.

@KyleAMathews Congrats on Gatsby 1.0! Let me know if you we can schedule something this weekend or next week to record a podcast episode about Gatsby. You can reach me on here or at twitter.com/adamCoder.

Thanks! It took a little while than planned haha. This weekend is busy but
next week there should be some time.
On Fri, Jul 7, 2017 at 12:07 PM Adam Harris<EMAIL_ADDRESS>wrote:

@KyleAMathews https://github.com/kyleamathews Congrats on Gatsby 1.0!
Let me know if you we can schedule something this weekend or next week to
record a podcast episode about Gatsby. You can reach me on here or at
twitter.com/adamCoder.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aharris88/weboftomorrowpodcast.com/issues/14#issuecomment-313767600,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEVh0w1iqNko_ys5B_rFHg7gz_VFFkvks5sLoHdgaJpZM4LV5Hy
.


ClientTlsConfig not support skipping certificate validation

Does ClientTlsConfig currently not support skipping certificate validation, Can you add this feature.

I would use the https://github.com/hyperium/tonic/tree/master/examples/src/tls rustls examples here and modify them with your own custom settings. Since these just use rustls directly you dont need to use tonic's config to achieve what you want.


More unify

I went ahead and unified pulseaudio and raw in a single executable.
ALSA should not be too difficult, but isn't moved yet.
Please test, since I didn't test all combinations of receiver and output

I like the way this is turning out, good job. I'll made sure to test it later today.
Maybe linux is not the best choice for the folder name because the pulseaudio receiver works on any platform where pulseaudio works, including bsd and mac os (in theory even windows)
I know from previous bug reports that at least a few users use the receiver on mac os, it's worth checking if it still compile and works there too.
I also think that we should be aware that we are introducing a breaking change renaming binaries and changing command line parameters for users and package maintainers. For an example of such packages see issue #77
I know I've already mentioned this in #76 but I think it's important to clarify in our README.md that we are changing things to not confuse end users.

ALSA is now moved too, and I changed the folder name from linux/ to unix/.
I did notice underruns happening on ALSA using the defaults, but I see the same behaviour with the old client. Maybe my machine.. Upping the latency fixes the issue. Maybe setting a higher default would be smart.

I think the changes could be described in the Changelog/Release Notes when a new release is made.

Great. Works as well on my debian bullseye

I've tested the network version too, both alsa and pulse (both linux and osx) and as far as I can tell everything is working as expected. Good job.
If @duncanthrax doesn't have anything to add I think this can be merged safely.

Great work, thank you guys.
There are no binary releases for the receivers, so I'll just update the README to reflect the new state.

Hi, can you do a new release with these changes?

Hi, can you do a new release with these changes?

I agree. If only just a tag on current master, that would help distributions pin on a known good version.

I get the point. Not yet sure if I add a release branch or just make a "blind" new release of the driver to let github create a new tag ...


Documentation update

Corrected paths for requirements files
Added tox package to test-requirements file
Added more detail to installation instructions

So, finally I come to close the PRs (the next release is right in front, and it will be the start to a proper open source project management and a stable software architecture).

One other thing, since, requirements are installed by tox when testing or generating documentation, then the
pip install -r deps/tests-requirements.txt
...
entries no longer make sense, right?

They make sense, cause they will be called by tox commands. But Tox and pyDataverse are already installed, when the different requirement files are called.

This reminds me, that I should write down the politics and scope of the project and its documentation, so it's easier in the future for others to make contributions. Maybe you are interested in doing it together, @j-n-c ??

Sure! How do you propose to proceed?

Cause I did a lot of changes since the last version and the code (including tests and data) are way more mature now, I think it's best to move on, and work in a more organized way from now on. Thanks for your contribution. It started interesting questions and