[PT Run][New Plugin] Time zone plugin

Summary of the Pull Request
What is this about:
Time Zone plugin for PT Run
Features:

Search for country, like Kamchatka, Prince Edward Island, France
Search for time (zone) name , like Pacific, Mountain, Central
Search for shortcuts, like WEST, UTC, PST
Search for offset, like  -12:00, -7, 5, 9:30
Search for military time zone name (must activate in plugin settings)
Support DST (Daylight Saving Time)
Copy current time in the timezone to clipboard
Tool-tip with all timezone info (names, shortcuts, countries)

What is include in the PR:

New PT Run plugin
RESX file
JSON with all time zones that are currently used by countries (only one entry for each time zone)
JSON schema for the JSON with the time zones

How does someone test / validate:
Manual testing
Quality Checklist

[x] Linked issue:  #4599
[ ] Communication: I've discussed this with core contributors in the issue.
[ ] Tests: Added/updated and all pass
[x] Installer: Added/updated and all pass
[x] Localization: All end user facing strings can be localized
[x] Docs: Added/ updated
[x] Binaries: Any new files are added to WXS / YML

[ ] No new binaries
[x] YML for signing for new binaries
[x] WXS for installer for new binaries

Contributor License Agreement (CLA)
A CLA must be signed. If not, go over here and sign the CLA.

We could user default time symbol or we may create a new icon form clock and globe.

@TobiasSekan
I suggest

to have this subtitle: Current zone time: ... - Time shift: +9:30
to add a copy button for Current zone time.

@TobiasSekan
Does the plugin have a zone for UTC?

i like this plugin very much

I have seen that I can't take only the first letters of the name of a Time-Zone to match the Time-Zone shortcut (like UTC),
so I will add a separate JSON to match all possible shortcuts and the official cities of the time zones.
I hope i can finished this in the next month (it is a lot of work).
Stay tuned
BTW: What should I do about cities that have more than one Time-Zones? Any Ideas?

My opinion is just leverage basic date time shifts.  Time zone stuff is NP hard problem IMO

@TobiasSekan do you need anything from us to wrap this up?

Sorry for long down time, I will work the next days on this draft to bring it into PR state, happy holidays
@crutkas You can checkout the draft an test the search results and I need a new symbol from @niels9001

@TobiasSekan
Here's a dark and light version of an icon that should work for this plugin :).

Its now in Preview State, I have make a fresh rebase and first comment is up to date.

Would be interesting to be able to copy the time zone info to clipboard if someone need a list of countries or something else.

@crutkas I have no idea how can I fix the Spell checking / Spell checking (pull_request_target)

Would be interesting to be able to copy the time zone info to clipboard if someone need a list of countries or something else.

There a many information in a tool-tip of a time zone, should we copy all into the clipboard?

Would be interesting to be able to copy the time zone info to clipboard if someone need a list of countries or something else.

There a many information in a tool-tip of a time zone, should we copy all into the clipboard?

May have a copy simple and copy all button.

@crutkas I have no idea how can I fix the Spell checking / Spell checking (pull_request_target)

@jsoref these words are in except.txt. Why does the bot still flag them?

@crutkas I have no idea how can I fix the Spell checking / Spell checking (pull_request_target)

@jsoref these words are in except.txt. Why does the bot still flag them?

Some fixes to spell check were added recently to main. Merging main into this branch may help here. Here's hoping there are no conflicts.
@TobiasSekan , here are some git commands that might be helpful for you. They will update your local main branch and then try to merge main into your "TimeZonePlugin" branch.
git checkout main
git pull origin main --ff-only
git checkout TimeZonePlugin
git merge main

Thanks, you've found a bug. In principle, the command it's suggesting is correct and will resolve things. But, ideally it shouldn't have given you a failing status.
Specifically because you have both FOF and fof in the expect.txt file, and there are no instances of fof left, the spell checker lumped FOF and fof together, then flagged fof as not being present, and then suggested adding FOF. Running the script should remove fof (and harmlessly ensure FOF is present) and thus result in a happy state. (The same applies to the other items as well.)
I'll see about fixing this bug today or tomorrow. (I have a simple test case for this, which is great.)
Of course, in the adventures of reproducing bugs, I hit 2 other bugs (one in rancher-desktop -- PR filed; one in act -- I'm pretty sure I know roughly where it's going wrong and roughly why, but I'm not quite sure about the fix, and while I have a general sense of how to trigger the bug, I want to generate a proper issue for it) .

@TobiasSekan we just merged in the .NET 6 upgrade and that is causing the failure now.

@TobiasSekan
I have reused your plugin settings class in WindowWalker. Currently I am working on some improvements to dedup informations and code. I will ping you if it's ready.

@TobiasSekan I have reused your plugin settings class in WindowWalker. Currently I am working on some improvements to dedup informations and code. I will ping you if it's ready.

@TobiasSekan
Done. Here you find the improved code: #16325

@TobiasSekan I have reused your plugin settings class in WindowWalker. Currently I am working on some improvements to dedup informations and code. I will ping you if it's ready.

@TobiasSekan Done. Here you find the improved code: #16325

There is a CS8602	Dereference of a possibly null reference. leftover, it would change it to
            var settingsValue = option?.Value
                ?? GetAdditionalOptions().FirstOrDefault(x => x.Key == name)?.Value
                ?? default;

@TobiasSekan I have reused your plugin settings class in WindowWalker. Currently I am working on some improvements to dedup informations and code. I will ping you if it's ready.

@TobiasSekan Done. Here you find the improved code: #16325

There is a CS8602	Dereference of a possibly null reference. leftover, it would change it to
            var settingsValue = option?.Value
                ?? GetAdditionalOptions().FirstOrDefault(x => x.Key == name)?.Value
                ?? default;

Why not seeing this local and in pr? 🤔

e.g. typing "&+3" does not show +3 time zone (I have to type "&+03"), but for negative offsets it work (e.g. "&-3" works)

I have fix the search
Not it its easier to find time zones like -xx:30 or xx:45 by simple type -30 or +45 etc.

Hi @TobiasSekan , I've opened a PR to fix the remaining installer build error and spellchecker error. TobiasSekan#2
Please review and merge it or apply the changes to your branch? Thank you, in advance.

Thank you 👍

Does it convert time zones? ie. 9 am Palestine to United kingdom?

Does it convert time zones? ie. 9 am Palestine to United kingdom?

Google

not in this way as I know

Can I ask, why there is no Ukraine, but there is Transnistria, DPR, Abkhazia and other not recognized countries? Picture

why is there no ukraine?

Can I ask, why there is no Ukraine, but there is Transnistria, DPR, Abkhazia and other not recognized countries? Picture

apparently because Ukraine is not in timezones.json at all lmao
https://user-images.githubusercontent.com/34442450/221358855-4c56b82b-d84a-4de1-b5bf-e96764709616.mp4

Was this plugin removed from PowerToys? How do I install this plugin on the most recent release?

hi, is this plug-in still part of PowerToys, and how do I access it if so


Resolve merge conflicts

f4b3d5873f7dc4db5ec53d7fbe9a5f06693de148 introduced files with commit merge messages in them, this PR Resolves this issue.

Merge before #608


Send Key and Pointer events in a single packet

For KeyEvent and PointerEvent messages, it sends it as 4 packets (04) (00) (00) (00 00 00 60) in the example below for key 96. I was suspicious that this was causing Xvnc to get confused, but I couldn't demonstrate it. But it seems like a worthwhile performance optimization when running over the internet anyway.
02:24:35.257813 IP localhost.33927 > localhost.5900: Flags [P.], seq 215380:215381, ack 322802389, win 18935, options [nop,nop,TS val 26393028 ecr 26393028], length 1
    0x0034:  04
02:24:35.257821 IP localhost.33927 > localhost.5900: Flags [P.], seq 215381:215382, ack 322802389, win 18935, options [nop,nop,TS val 26393028 ecr 26393028], length 1
    0x0034:  00
02:24:35.257825 IP localhost.33927 > localhost.5900: Flags [P.], seq 215382:215383, ack 322802389, win 18935, options [nop,nop,TS val 26393028 ecr 26393028], length 1
    0x0034:  00
02:24:35.257833 IP localhost.33927 > localhost.5900: Flags [P.], seq 215383:215384, ack 322802389, win 18935, options [nop,nop,TS val 26393028 ecr 26393028], length 1
    0x0034:  00
02:24:35.257837 IP localhost.33927 > localhost.5900: Flags [P.], seq 215384:215388, ack 322802389, win 18935, options [nop,nop,TS val 26393028 ecr 26393028], length 4
    0x0034:  0000 0060

👍


Added Guilded

Guilded is a Discord competitor that is primarily focused on video gaming communities, such as those focused on competitive gaming and esports. It provides features intended for video gaming clans, such as scheduling tools and integrated calendars.
Guilded's UI is almost identical to Discord, which makes it easier for users to switch. When it comes down to it, Guilded is actually very different from Discord because it offers more for free.

No commits to main


Fix "env": { "es6": true }

Coverage remained the same at 100.0% when pulling 62632d1a1d33cec4dc852b0b497529e9bf8382bf on NameFILIP:patch-3 into<PHONE_NUMBER>3c39851adb64932a38320ce177b4e6 on uber-web:master.


libdap: 3.19.1 -> 3.20.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/libdap/versions.
meta.description for libdap is: '"A C++ SDK which contains an implementation of DAP"'.

Checks done (click to expand)

built on NixOS
/nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin/getdap passed the binary check.
/nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin/getdap4 passed the binary check.
/nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin/dap-config passed the binary check.
/nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin/dap-config-pkgconfig passed the binary check.
4 of 4 passed binary check by having a zero exit code.
1 of 4 passed binary check by having the new version present in output.
found 3.20.0 with grep in /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0
directory tree listing: https://gist.github.com/bdc1590e78c8bb9ed123f354d1d11f93
du listing: https://gist.github.com/5ba9a2435d7e0a392696b9252e764466

Instructions to test this update (click to expand)

One-time optional setup to skip building using Cachix:

Install cachix from https://cachix.org/
Use r-ryantm's cache:cachix use r-ryantm

Test this update by entering a nix shell, seeing what is inside the
result, and if applicable, running some binaries:
nix-shell --pure -I nixpkgs=https://github.com/r-ryantm/nixpkgs/archive/4d5827b456f40a89243afd21b0f96be0dce70672.tar.gz -p libdap
ls -la /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0

cc @bzizou for testing.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: libdap
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: libdap
Partial log (click to expand)
shrinking /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/lib/libdapclient.so.6.1.8
shrinking /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/lib/libdapserver.so.7.6.8
gzipping man pages under /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/share/man/
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/lib  /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin
patching script interpreter paths in /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0
/nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin/dap-config: interpreter directive changed from " /bin/sh" to "/nix/store/nii7pk6pv4x4as7vsxbvwyzjn67vax6r-bash-4.4-p23/bin/sh"
/nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin/dap-config-pkgconfig: interpreter directive changed from " /bin/sh" to "/nix/store/nii7pk6pv4x4as7vsxbvwyzjn67vax6r-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0...
/nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0

Success on aarch64-linux (full log)
Attempted: libdap
Partial log (click to expand)
shrinking /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/lib/libdapclient.so.6.1.8
shrinking /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/lib/libdap.so.25.1.0
gzipping man pages under /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/share/man/
strip is /nix/store/428gs2z4b8f9byvghzlpbjwjb3a7jwxx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/lib  /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/bin
patching script interpreter paths in /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0
/nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/bin/dap-config-pkgconfig: interpreter directive changed from " /bin/sh" to "/nix/store/017xymp5i03qzigafnfx7sgf6602gmzq-bash-4.4-p23/bin/sh"
/nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/bin/dap-config: interpreter directive changed from " /bin/sh" to "/nix/store/017xymp5i03qzigafnfx7sgf6602gmzq-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0...
/nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0

Success on x86_64-linux (full log)
Attempted: libdap
Partial log (click to expand)
shrinking /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin/getdap
shrinking /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin/getdap4
gzipping man pages under /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/share/man/
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/lib  /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin
patching script interpreter paths in /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0
/nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin/dap-config: interpreter directive changed from " /bin/sh" to "/nix/store/nii7pk6pv4x4as7vsxbvwyzjn67vax6r-bash-4.4-p23/bin/sh"
/nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0/bin/dap-config-pkgconfig: interpreter directive changed from " /bin/sh" to "/nix/store/nii7pk6pv4x4as7vsxbvwyzjn67vax6r-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0...
/nix/store/fhgmjjiws27xnyaqz78qbj1m2kvb8w8q-libdap-3.20.0

Success on aarch64-linux (full log)
Attempted: libdap
Partial log (click to expand)
shrinking /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/lib/libdapclient.so.6.1.8
shrinking /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/lib/libdap.so.25.1.0
gzipping man pages under /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/share/man/
strip is /nix/store/428gs2z4b8f9byvghzlpbjwjb3a7jwxx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/lib  /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/bin
patching script interpreter paths in /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0
/nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/bin/dap-config-pkgconfig: interpreter directive changed from " /bin/sh" to "/nix/store/017xymp5i03qzigafnfx7sgf6602gmzq-bash-4.4-p23/bin/sh"
/nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0/bin/dap-config: interpreter directive changed from " /bin/sh" to "/nix/store/017xymp5i03qzigafnfx7sgf6602gmzq-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0...
/nix/store/wzzwkybdijz9f8hxazdldhmh5dk27l7a-libdap-3.20.0

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: libdap
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


I do create f64 field, it creates text field

I do create f64 field, it creates text field
sandbox/samples/tantivy » tantivy new -i csmobile-index2                                                                                130 ↵

Creating new index
First define its schema!

New field name  ? price
Choose Field Type (Text/u64/i64/f64/Date/Facet/Bytes) ? f64
Should the field be stored (Y/N) ? Y
Should the field be indexed (Y/N) ? Y
Should the term be tokenized? (Y/N) ? Y
Should the term frequencies (per doc) be in the index (Y/N) ? Y
Should the term positions (per doc) be in the index (Y/N) ? Y
Add another field (Y/N) ? N

[
  {
    "name": "price",
    "type": "text",
    "options": {
      "indexing": {
        "record": "position",
        "tokenizer": "en_stem"
      },
      "stored": true
    }
  }
]

I found the reason in this commit:  https://github.com/tantivy-search/tantivy-cli/pull/47/commits/27e340557094d9bcdc8fbbec254e3149162f49fe
Left F64 in comments, as it's already in tantivy master branch, but hasn't been
published yet

Added a todo list on our way to integrating tantivy-cli as a subcrate in core tantivy

But at now, F64 was published more than 1 year, I guess we should uncomment it.

Thank you @lvheyang


Double quotes for string, single quotes for char

Should we have a test? Seems like should.

Should we have a test? Seems like should.

Test for what?

Are there any tests for displaying strings with escaped quotes and escaped \s inside? I expected to see those getting modified in this PR as well.

This. But I just looked again and saw them. Weird. Sorry. 👍


BUG: raw.filter with picks that include all data channels

Should set e.g. info['lowpass']

cc @espressofiend we'll fix this soon


Feat: Add markdown-oxide lsp

Add initial support for https://github.com/Feel-ix-343/markdown-oxide

Awesome; works on my end!

Hey @glepnir I don't think the single_file_support is working. There are some issues open on my repo saying that the LS doesn't start unless there is a git repo -- in which case root_dir would be sent. I think single_file_support is supposed to send the root_dir but as of neovim 0.9.5 and nightly, root_dir is not being sent (unless there is a git repo).
I believe the solution for neovim 0.9.5 is to send the cwd(), and for nightly to send the vim.uv.cwd()
Shall I open a new PR?

emm sure. but i may take a look code of there .forget some code on how neovim initialize client when root is emtpy. :p . most work on neovim core rencently ..


Don't apply default values to data transformation fields (core-metadata)

#855

Removes default values for data transformation fields when creating a device profile
Marks json properties as omitempty in the PropertyValue MarshalJSON() function.

LGTM. @iain-anderson I'll give you the final word.

LGTM, thanks


Container culling

Right now most containers in content are ensured which means they're never default and always get written to yaml.
For prototypes with large entity counts (lights for example) it's probably worthwhile to add the ContainerContainer component onto the prototypes already as it will save several thousand lines of yaml across all of the maps.

Would it make sense to have some sort of test that ensures that if entity prototypes are spawned into a pre-map-init map and then serialized, that the yaml entry is empty except for maybe transform/metadata?

Would it make sense to have some sort of test that ensures that if entity prototypes are spawned into a pre-map-init map and then serialized, that the yaml entry is empty except for maybe transform/metadata?

Probably yeah, I think it's worthwhile enough to enforce containers aren't ensured most of the time IMO. Same with signal transmitters and the likes.

I think this got covered by #10274.


Share button

Just in case it's useful to someone else, I've added a "Share" button to the current canvas.
I shall use it a lot to send quick drawings to docs and colleagues.

It seems this PR is no problem.
But I don't know much about FileProvider.
Please give me some time to learn it and I'll accept after that.

I understand now and LGTM.


ComposeUIViewController is broken since 1.6.0-beta01 - iOS 16

Describe the bug
1.6.0-beta01 broke ComposeUIViewController usage on iOS 16.4.
The app crashes when the view using ComposeUIViewController is removed from the screen hierarchy.
Affected platforms

iOS

Versions

Kotlin version*:  1.9.22
Compose Multiplatform version*: 1.6.0-beta01, 1.6.0-beta02, 1.6.0-rc01
OS version(s)* (required for Desktop and iOS issues):  iOS 16.4.0, 16.6.0
OS architecture (x86 or arm64): arm64?

To Reproduce

Go to this reproduction sample (I've updated chat sample a little bit, just updated the compose version and changed the navigation logic.
Launch it on iOS 16.4 simulator.
Click two times on 'Toggle' button in the center of the screen. (First click switches from SwiftUI screen, the second one switches back and there is the place where crash occurs)
See error.

The usual stack trace of this issue is:
Uncaught Kotlin exception: kotlin.IllegalStateException: ComposeUIViewController.view should be attached to window
    at 0   Chat                                0x1050d3c73        kfun:kotlin.Throwable#<init>(kotlin.String?){} + 119
    at 1   Chat                                0x1050cd40f        kfun:kotlin.Exception#<init>(kotlin.String?){} + 115
    at 2   Chat                                0x1050cd62f        kfun:kotlin.RuntimeException#<init>(kotlin.String?){} + 115
    at 3   Chat                                0x1050cdaa3        kfun:kotlin.IllegalStateException#<init>(kotlin.String?){} + 115
    at 4   Chat                                0x105771a27        kfun:androidx.compose.ui.window.ComposeContainer.<get-windowContainer>#internal + 567
    at 5   Chat                                0x105773aff        kfun:androidx.compose.ui.window.ComposeContainer#objc:viewWillLayoutSubviews + 739
    at 6   Chat                                0x1057799e7        _6f72672e6a6574627261696e732e636f6d706f73652e75693a75692f6f70742f6275696c644167656e742f776f726b2f383339343731666333323931333563372f636f6d706f73652f75692f75692f7372632f75696b69744d61696e2f6b6f746c696e2f616e64726f6964782f636f6d706f73652f75692f77696e646f772f436f6d706f7365436f6e7461696e65722e75696b69742e6b74_knbridge130 + 195
    at 7   UIKitCore                           0x12160e867        -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 939
    at 8   QuartzCore                          0x109ce8527        _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 439
    at 9   QuartzCore                          0x109cf3287        _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 127
    at 10  QuartzCore                          0x109c1d12f        _ZN2CA7Context18commit_transactionEPNS_11TransactionEdPd + 439
    at 11  QuartzCore                          0x109c480f3        _ZN2CA11Transaction6commitEv + 635
    at 12  QuartzCore                          0x109c49517        _ZN2CA11Transaction25flush_as_runloop_observerEb + 67
    at 13  CoreFoundation                      0x1087d0c0f        __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 31
    at 14  CoreFoundation                      0x1087cb57b        __CFRunLoopDoObservers + 511
    at 15  CoreFoundation                      0x1087cba1f        __CFRunLoopRun + 947
    at 16  CoreFoundation                      0x1087cb253        CFRunLoopRunSpecific + 583
    at 17  GraphicsServices                    0x10f82bc9b        GSEventRunModal + 159
    at 18  UIKitCore                           0x12116afef        -[UIApplication _run] + 867
    at 19  UIKitCore                           0x12116ef3b        UIApplicationMain + 123
    at 20  SwiftUI                             0x110fd334b        OUTLINED_FUNCTION_54 + 499
    at 21  SwiftUI                             0x110fd31eb        OUTLINED_FUNCTION_54 + 147
    at 22  SwiftUI                             0x1107cb473        OUTLINED_FUNCTION_16 + 87
    at 23  Chat                                0x10491713b        $s4Chat6iOSAppV5$mainyyFZ + 39
    at 24  Chat                                0x1049171eb        main + 11 (/Users/alexey/StudioProjects/tmp/compose-multiplatform/examples/chat/iosApp/iosApp/iOSApp.swift:<unknown>)
    at 25  dyld                                0x1074d5513        0x0 +<PHONE_NUMBER>
    at 26  ???                                 0x10763df27        0x0 +<PHONE_NUMBER>
    at 27  ???                                 0xf811ffffffffffff 0x0 + -571394202722631681

Statements:
This behaviour doesn't work fine on iOS 16 since 1.6.0-beta01.
This behaviour works fine on iOS 17+ on any 1.6.0 version
This behaviour works fine on iOS 16 using 1.6.0-alpha01 and older.
Expected behavior
I expect everything to work without exceptions like on version 1.6.0-alpha01.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Reproduction link

@alaegin Thanks for the report.
Before the fix, you can disable a new behavior for Popup/Dialog (that requires that window reference to put these elements into it) via ComposeUIViewControllerConfiguration.platformLayers flag

jfyi the fix was landed too late for 1.6.0-rc02, we'll prepare rc03 for that

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


The-federation.info register route being spammed

I've had to firewall block already 3 hubzilla instances, macgirvin.com, albigro.com and hub.somatom.com, due to DoS of my server where the-federation.info is set up. Basically constant register route calling, at least 1/s.
I assume this is set somehow in the Diaspora plugin of Hubzilla, which might be malfunctioning with some kind of crazy loop?

I'll check periodically if the traffic stops.

I've found an issue in hubzilla/red where the cron_daily callback was being executed more than once a day - up to once every cron interval (15 minutes if you use the recommendations).  I will also change the register callback to happen on cron_weekly events; it was done more frequently to trigger a daily refresh of any changes in the followed tags list by site members, but you've indicated previously this may be unnecessary.
I found log events on my site consistent with this explanation. Let me know if you saw it from my site at the same high rate, because I don't see log events to back that up.
This should fix macgirvin.com and somatom.com as soon as Mario picks up the changes. albigro.com appears to be seriously mis-configured. Will try to contact the owner.

@jaywink do you still see this issue?

I finally got to review my server logs (this loop also DoS'ed my box) and i can confirm the loop.

@zotlabs i think i found the issue:
https://github.com/redmatrix/hubzilla-addons/blob/dev/statistics/statistics.php#L60
statistics => total_users never got set in my config. I got a statistics_json => total_users though which must be there from ancient times (current master).
I think we need to look for system => channels_total_stat here.

Here is my fix: https://github.com/redmatrix/hubzilla-addons/commit/76510670e8a5e1312c43694794fdd2c81b616c11

@jaywink i think you can now safely unblock hub.somaton.com again

I've removed all the IP blocks and will monitor the logs. Thanks all!


[js_interop] Allow module-scoped exports for top level members

Problem
There is currently no way to export a function or class to the module scope, rather than the global scope. Module-scoped functions and classes are the defacto ways of sharing code between modules, and slight tweaks to the compilation process would enable js interop within multiple environments beyond the Browser.
Description
I'm working on a node_interop  experiment using the latest Dart js_interop library. Though Dart has generally only been concerned with running Dart in browser environments and as the primary client, I've been pleasantly surprised that it was not difficult to get Dart to run on a local machine as a module (i.e. called from another script) using Node.js, and that little work is required to enable such environment-agnostic js compilation.
Part of my node_interop experimentation includes creating a VSCode extension using Dart. VSCode requires defining a module as entrypoint, which is expected to expose an activate and deactivate function. I've managed to get a Dart VSCode extension working by defining the following entrypoint script that calls into the generated dart code.
// [index.js]

// creates a `self` object on preamble, and adds `self` to global scope
const preamble = require('./node_preamble.js');

// run dart2js compiled javascript
require('./gen/extension.dart.js');

// extract the new exports created by `extension.dart.js`
const generatedExports = preamble.self.exports;

// add to module scope
module.exports = generatedExports;

Dart code:
// [bin/extension.dart]

Future<void> main() async {
  _activate = allowInterop(activateImplementation).toJS;
}

@JS('exports.activate')
external set _activate(JSExportedDartFunction func);

@JS('exports.activate')
external void activate(ExtensionContext context);

void activateImplementation(ExtensionContext context) {
  print('Congratulations, your extension "vscode_interop" is now active!');

  var disposable = commands.registerCommand(
      'vscode_interop.helloWorld',
      () {
        window.showInformationMessage('Hello from Dart!');
      }.toJS);

  context.subscriptions.push(disposable);
}

This separate package:build issue is regarding allowing a preamble to be added to the beginning of the generated js script, while this issue targets the second half of the index.js script. Both solutions together would enable dart2js compilation to multiple environment targets without a separate main script.
A related problem is that the ergonomics around defining a top level function are quite poor. Dart currently requires defining three separate functions: a setter to set the function using allowInterop, the actual implementation (activateImplementation above), and (optionally) the Dart-callable exported function declaration.
Proposed Solution
There are two separate problems with their own proposed solutions:

allow exporting to the global module object available in Node.JS runtimes, via a module getter, similar to globalThis
allow more elegant exporting of methods or functions

Using a new @JSModuleExport annotation, the above Dart code would be reduced by 50% to the following:
@JSModuleExport()
void activate(ExtensionContext context) {
  print('Congratulations, your extension "vscode_interop" is now active!');

  var disposable = commands.registerCommand(
      'vscode_interop.helloWorld',
      () {
        window.showInformationMessage('Hello from Dart!');
      }.toJS);

  context.subscriptions.push(disposable);
}

or alternatively using extension types:
@JSModuleExport()
extension type activate(JSExportedDartFunction func) implements JSFunction {
  void call(ExtensionContext context) {
    print('Congratulations, your extension "vscode_interop" is now active!');

    var disposable = commands.registerCommand(
        'vscode-interop.helloWorld',
        () {
          window.showInformationMessage('Hello World from Dart!!!');
        }.toJS);

    context.subscriptions.push(disposable);
  }
}

Note the following improvements:

functions are exported to the module scope, without the need of a index.js export-extraction script
no main() function requirement - the existence of an @Export annotation should imply an entrypoint to the compilers
remove the pattern of needing to write an external getter, external setter, and concrete implementation

Total tangent: @pattobrien – please reach out to me (you can DM me on Twitter). I see all of these places you're poking. I want to know what you're building!

Consuming Dart output as modules is probably not intended but might just work. I think a lot of this depends on if that is something we want to support. cc @sigmundch
IIUC, you're not looking for separating Dart output into multiple modules (one per library) but rather one module. In a sense, this is the inverse of https://github.com/dart-lang/sdk/issues/53783 where instead of consuming modules, you're producing one.

allow exporting to the global module object available in Node.JS runtimes, via a module getter, similar to globalThis

This is an interesting proposal. It seems like module is the node.js global that is specific to that module, so if the Dart output were a usable module, presumably this top-level:
@JS()
external JSObject get module;

could just be that member?
I think having an annotation to tell the compiler to export some functions could work, although we'd need to figure out where in the Dart code the call to export the functions go.

_activate = allowInterop(activateImplementation).toJS;

P.S. you're doing the same operation twice. :) Function.toJS is roughly equivalent to allowInterop - it just produces a separate static type, so you can remove the allowInterop.

@kevmoo awesome! just sent you a DM on twitter :)

IIUC, you're not looking for separating Dart output into multiple modules (one per library) but rather one module.
presumably this top-level could just be that member?

That's right. As long as the js compilers are designed to compile the entire program into a single js file, then a single top-level module getter would be sufficient. I don't see significant pros/cons to going one way or the other (vs. an annotation).

P.S. you're doing the same operation twice. :)

Wow, and I came up with that after spending an embarrassing amount of time getting JSExportedDartFunction to work at all! Thanks for this tip :)


adaptable footer

Wanted the footer to adapt to what content it had in it. So if there are no blogs and 2 vizzies the vizzies take up the horizontal space instead of stacking on top of each other, at least until mobile.
Tested a bunch of different combos and am pretty happy with the results I'm seeing.

Coverage remained the same at 77.17% when pulling 0f3c0c5e42ec4d831a593378fe360a941b7d5a4c on mwernimont:master into 4f4b1be164c8a36796067ec2fb9fa62b40f32ad7 on USGS-VIZLAB:master.

Can you change the target of this pull request to the 0.2.x branch? I missed this on your last PR, but we wanted to avoid messing up master with these larger changes.

@jiwalker-usgs right branch?

Yup, that is where we want it.


EGCP 471 -> Completed  2/10/23

Today we reassembled the prototype and did test runs on the railing system.
No progress on coding today, but we did find good examples of Python
that can run Tensor-flow model on Google Coral Dev Board
We will expand the libraries on Python, since PyCoral is not working in Linux
environment.
https://user-images.githubusercontent.com/31228460/218235257-5be39c9e-64e6-4411-84d5-363eaad962af.mov

Running, prototype, with LEDs and Webcam for objection installed today.


is nodejs client working with .pem files?

          @blerest

I tested your certs (in C++, not in nodejs) and it fails as well. It has to do with the fact that all your certs have the same subject which confuses the openssl cert chain builder (best guess).
If you change the lines in your script that assign identities to:
openssl req -passin pass:1111 -new -x509 -days 365 -key ca.key -out ca.crt -subj  "/C=FR/ST=Paris/L=Paris/O=Test/OU=Test/CN=ca"

openssl req -passin pass:1111 -new -key server.key -out server.csr -subj  "/C=FR/ST=Paris/L=Paris/O=Test/OU=Server/CN=localhost"

openssl req -passin pass:1111 -new -key client.key -out client.csr -subj  "/C=FR/ST=Paris/L=Paris/O=Test/OU=Client/CN=localhost"

And change your client code to really use the CA cert as the CA as opposed to the server cert:
let credentials = grpc.credentials.createSsl(fs.readFileSync('./ssl/ca.crt'), fs.readFileSync('./ssl/client.key'), fs.readFileSync('./ssl/client.crt'));

Things should work (at least they do in C++). Please let me know if that's not the case.
Originally posted by @jboeuf in https://github.com/grpc/grpc/issues/6757#issuecomment-264617793

I've code a nodejs grpc client and is not working against a go grpc server  deployed on VPS accessed publicly through domain name.
I've created a grpc go client to test if connection to server was fine and It works good.
Same certificates used, same domain name and port used... I don't know what is happening.
const server_cert = fs.readFileSync(process.env.SERVER_CERT);
		const client_key = fs.readFileSync(process.env.CLIENT_CERT_KEY);
		const client_cert = fs.readFileSync(process.env.CLIENT_CERT);

		const credentials = grpc.credentials.createSsl(
			server_cert,
			client_key,
			client_cert,
		);

		this.grpcClient = new downloadProto.DownloadService(
			`${GRPC_SERVER}:${GRPC_PORT}`,
			credentials,
			{
				"grpc.ssl_target_name_override": GRPC_SERVER,
				"grpc.default_authority": GRPC_SERVER,
			},
		);
		this.grpcClient.Read(
			{ id: "some_video_url" },
			(err, video) => {
				if (err) {
					console.error("error when read: ", err);
				}
			},
		);

No connection established is the output error displayed on consle

https://github.com/grpc/grpc-node is what you want I think


Export history in esm version

Needed for support of Recommendation feature with headless (which uses the es module version).
For the es module version, I've also removed the terser() plugin step (minification), since it causes slowdown downstream when we try to tree shake/optimize bundle.
It is generally best practice not to minimize es bundle.

Codecov Report

Merging #220 into master will decrease coverage by 0.10%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #220      +/-   ##
==========================================
- Coverage   89.64%   89.54%   -0.11%
==========================================
  Files          25       25
  Lines         850      851       +1
  Branches      114      114
==========================================
  Hits          762      762
- Misses         58       59       +1
  Partials       30       30

Impacted Files
Coverage Δ

src/coveoua/headless.ts
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


[ci] downgrade Xcode version on Azure

Refer to https://github.com/Microsoft/LightGBM/pull/1740#issuecomment-429195138.
Use the lowest possible version of Xcode on Azure.
To be honest, I'm not sure whether it's good decision or not... macOS users tend to use the latest version of the OS. So maybe it's better to focus on the latest AppleClang version?

@guolinke What's your opinion on this?

@StrikerRUS I think as long as the higher version xcode can use the binaries, and the runtime are the same, it is okay.

Do you have a quick access to macOS with installed, let say, Xcode 10 to check the binaries from this branch?

@StrikerRUS
can we test this in CI ?
That is, building it with low version xcode, but run it with high version.

@guolinke OK, I'll try.


Show compact diff

"if I apply a one line change in big YAML for helm_release, in the output I'll see two gigantic documents with one different line which makes the output near unreadable.
I think, if you will able to make compact but informative output it may be a big plus."
by @AntonChekunov

I had the same thought.  https://github.com/dineshba/tf-summarize is what you want, here.


Regarding the issue of excessive data size in RecExplainer.

Hello, I would like to ask why I always get the prompt "Token indices sequence length is longer than the specified maximum sequence length for this model (2636 > 1024). Running this sequence through the model will result in indexing errors" when running "recexplainer_data_pipeline.sh". This issue has been bothering me for several days.

This warning will not cause any problems when running "recexplainer_data_pipeline.sh". Because the sequence length used for training our model is 1024, so we truncate some cases that are too long during the data processing stage.

The translation of the provided Chinese text into English is: "Excuse me, in which Python file is sequence truncation implemented? The truncation is not working on my end.

Sorry for the late reply. Could you please provide the complete error message, including which line of the Python file caused the error?

In fact, the only problem here is "python: can't open file '/root/RecExplainer/preprocess/preprocess/gpt_api.py': [Errno 2] No such file or directory.".  The reason for this error is that gpt_api.py is actually in path '/root/RecExplainer/preprocess/gpt_api.py'.
Others like "Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained. Token indices sequence length is longer than the specified maximum sequence length for this model (2636 > 1024). Running this sequence through the model will result in indexing errors." are warnings that you don't need to worry about.
The problem will be fixed by #77.
In addition, we have unified the file paths in different scripts in this PR. You can refer to the Dataset Preparation for Target Recommender Model, Training and Inference with the Target Recommender Model, and Dataset Preparation for RecExplainer Model sections in the latest readme to reorganize your data files.

Here is the English translation of the provided text:
"Thank you very much for your reply, it was very helpful to me, and I successfully modified the path. This time, after I ran 'bash shell/recexplainer_data_pipeline.sh', I got an AttributeError: 'NoneType' object has no attribute 'startswith'. So I set the model to 'export MODEL=gpt-3'. But this time the error message is:"
Traceback (most recent call last):
File "/root/miniconda3/envs/recexplainer/lib/python3.10/site-packages/pandas/core/indexes/range.py", line 413, in get_loc
return self._range.index(new_key)
ValueError: 9 is not in range
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/root/RecExplainer/preprocess/amazon_generate_v3.py", line 209, in
gen_uid2text(user_items, meta_infos, args)
File "/root/RecExplainer/preprocess/amazon_generate_v3.py", line 103, in gen_uid2text
answer = query_profile.loc[uid-1, 'target']
File "/root/miniconda3/envs/recexplainer/lib/python3.10/site-packages/pandas/core/indexing.py", line 1183, in getitem
return self.obj._get_value(*key, takeable=self._takeable)
File "/root/miniconda3/envs/recexplainer/lib/python3.10/site-packages/pandas/core/frame.py", line 4221, in _get_value
row = self.index.get_loc(index)
File "/root/miniconda3/envs/recexplainer/lib/python3.10/site-packages/pandas/core/indexes/range.py", line 415, in get_loc
raise KeyError(key) from err
KeyError: 9
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Token indices sequence length is longer than the specified maximum sequence length for this model (2636 > 1024). Running this sequence through the model will result in indexing errors。
train_uid2hist_intention: 10530, valid_uid2hist_intention: 391, train_uid2hist_both: 10530, valid_uid2hist_both: 391
Traceback (most recent call last):
File "/root/miniconda3/envs/recexplainer/lib/python3.10/site-packages/pandas/core/indexes/range.py", line 413, in get_loc
return self._range.index(new_key)
ValueError: 9 is not in range
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/root/RecExplainer/preprocess/mf_amazon_video_games_generate.py", line 210, in
gen_uid2text(user_items, meta_infos, args)
File "/root/RecExplainer/preprocess/mf_amazon_video_games_generate.py", line 104, in gen_uid2text
answer = query_profile.loc[uid-1, 'target']
File "/root/miniconda3/envs/recexplainer/lib/python3.10/site-packages/pandas/core/indexing.py", line 1183, in getitem
return self.obj._get_value(*key, takeable=self._takeable)
File "/root/miniconda3/envs/recexplainer/lib/python3.10/site-packages/pandas/core/frame.py", line 4221, in _get_value
row = self.index.get_loc(index)
File "/root/miniconda3/envs/recexplainer/lib/python3.10/site-packages/pandas/core/indexes/range.py", line 415, in get_loc
raise KeyError(key) from err
KeyError: 9。
Is this still a matter of the data being too large? Is there a solution to this problem?

In fact, the uid2summary part uses gpt to generate a summary of the user history for each user. It seems that the reason for the error is that you did not generate all the data in recexplainer_data_pipeline.sh line 24-31, resulting in an index error when the subsequent script is run.
You can check the generated $PROCESS_DATA_DIR/gpt4_data/test_response.csv file to see if it is complete.
If you want to run the script without using gpt to generate data, you can comment out amazon_generate_v3.py line 91-112

If GPT is not used, the quality of generated explanations by the trained LLM may be relatively low, and the ability to summarize the preferences of user embeddings is insufficient.
Regarding the index out of range error you mentioned, based on the error message you gave earlier
File "/root/RecExplainer/preprocess/mf_amazon_video_games_generate.py", line 104, in gen_uid2text answer = query_profile.loc[uid-1, 'target']
If you have commented lines 91-112 in amazon_generate_v3.py out, you won't get this error.
I'm not sure what the error is now, you may need to check it further


SDWire: only takes milliseconds to change

Currently the code reads:
    async toggleMux(state: string): Promise<void> {
        if(state === 'host'){
            console.log('Switching SD card to host');
            await execAsync('sd-mux-ctrl --ts -v 0');
            // it can take some time before the mux is toggled - so just to be sure, we can add some delay here
            await delay(5000);
        } else if(state === 'dut'){
            console.log('Switching SD card to DUT');
            await execAsync('sd-mux-ctrl --dut -v 0');
            // it can take some time before the mux is toggled - so just to be sure, we can add some delay here
            await delay(5000);
        }
    }

SDWire takes just a few milliseconds to switch. If the delay is expressed in milliseconds I would say reduce that to 500.

@rcooke-warwick @vipulgupta2048 Seems I can not assign issues, so pinging  you here.

@balena-ci I self-certify!

@balena-ci I self-certify!

Yes, I had to try ;-)

hey @vipulgupta2048 @perezmeyer , here's my opinion on this change:

I agree that 5000ms/5s is too long of a delay, and we could reduce it
I think that reducing it to half a second may be too short. I'm sure the MUX itself does toggle much faster than that, but before, when these command line commands have been wrapped in node subprocesses as they are here, I've seen pretty inconsistant behaviour
To put things into perspective, the test suite in full takes over an hour on the faster device types. This optimisation that saves 10 seconds, is a negligable improvement to that time - but if reducing the delay to so "small" an amount introduces unpredictable behaviour some of the time, it may not be worth it.

Well, that sounds like a bug in node code... but OK, I'll increase it to 1s


oci: Skip symlinks found in upstream artifacts

Do not error out when upstream artifacts contain symlinks in the contents of the tar+gzip layer, instead skip all symlinks during decompression.
This allows Flux users to make use of OCI artifacts that may have symlinks in their contents which is the case when artifacts are created by other means than flux push artifact.
Ref: https://github.com/fluxcd/pkg/pull/655
Fix: https://github.com/fluxcd/pkg/issues/538
Fix: https://github.com/fluxcd/flux2/issues/4209

@rashedkvm if you have time, could you please test this with a container image that was failing before?

@rashedkvm if you have time, could you please test this with a container image that was failing before?

Yep, I will test it and share my finding.

@rashedkvm if you have time, could you please test this with a container image that was failing before?

Yep, I will test it and share my finding.

Validated fix using image with sim-link. Validation passed. Thanks @stefanprodan
k get ocirepositories.source.toolkit.fluxcd.io -n no-auth
NAME                    URL                                   READY   STATUS                                                                                AGE
ocirepository-no-auth   oci://ghcr.io/carto-run/hello-world   True    stored artifact for digest 'sha256:15bbfc70e91bd7daf4047a8a1244ac2b8c32e47f6d1c6b5795c3d043f5becf7f'   12s

I'm currently having this same issue on v2.12.
terraform-oci       oci://ghcr.io/tmayweather/manifests/terraform       False   failed to extract layer contents from artifact: tar file entry bin/arch contained unsupported file type Lrwxrwxrwx         15m


Restore P.R.L. 412 original properties

Describe the feature you'd like to see added
Hi! The P.R.L. 412 originally in the PS2 version was a more balanced weapon. The loading of the full charged laser shot it wasn't so fast, the laser shot was not homing, the laser shot did not hit objects and the laser shot also did not hit all the enemies on screen (i mean enemies out of laser sight range) Is it possible to make the P.R.L. 412 from RE4 UHD Steam like this? Thank you so much for your attention and for all your work on re4_tweaks, sorry for any inconvenience!
Here's a video demonstrating the P.R.L. 412 in the PS2 version
https://www.youtube.com/watch?v=_1kQFd7ShMU

this would be perfect as an option to the DLL as i prefer the old PRL alot more than the UHD versions PRL

I'm not sure why this suggestion is being downvoted. Having the option to restore its original balanced form would be cool just in case someone prefers to use it like that. I prefer the broken version of the weapon myself, but I'm definitely not against the addition of an option that makes it more balanced.

There seems to be many topics with no definitive answer or responses at all from re4 tweaks team.
Can re4tweaks team pls show a yes or no to topics more please? I think most people have no idea whether or not their ideas are technically even possible & are just left waiting. I never even knew about this prl412 weapon differences in the ps2. I always hated how op this weapon & others are like chicago typewriter & hand cannon. I'd love to see this work on the pc version!

They're doing this in their free time, for free. They've been hard at work on other features. Know that it takes time to go through these issues (there are 143 of them atm), not to mention to actually investigate if such things are possible. Just because they haven't responded doesn't mean they will never pick this up. I'd suggest you be more patient.

There seems to be many topics with no definitive answer or responses at all from re4 tweaks team.
Can re4tweaks team pls show a yes or no to topics more please? I think most people have no idea whether or not their ideas are technically even possible & are just left waiting. I never even knew about this prl412 weapon differences in the ps2. I always hated how op this weapon & others are like chicago typewriter & hand cannon. I'd love to see this work on the pc version!

They're doing this in their free time, for free. They've been hard at work on other features. Know that it takes time to go through these issues (there are 143 of them atm), not to mention to actually investigate if such things are possible. Just because they haven't responded doesn't mean they will never pick this up. I'd suggest you be more patient.

Calm yourself lol I'm well aware there's a lot going on.


Python 3.10 compability. fix error: "As of 3.10, the loop parameter was removed from Lock()"

Trying to fix #916

I'm sorry I don't know how to pass this CircleCI test. Not sure if this is relates to my commit.

Thanks for the pull request. I investigated this today and realized that it would require fairly extensive refactoring in tests. See #936.


tar-py

tar_py -
**The script will be able create, list and extract tarfiles using python ** -
Instructions

Create a new folder for your script and file/folder name should be appropriate.
Create a README.md (using this template) in your folder for program Instructions
add requirements.txt if needed

Programming Language

[x] Python

Happy Coding

please assign this to me


OServerPlugin/OServerPluginAbstract before and after client events not triggered for HTTP connections

OrientDB Version, operating system, or hardware.

v2.2.11

Operating System

[X] Linux
[ ] MacOSX
[ ] Windows
[ ] Other Unix
[ ] Other, name?

Expected behavior and actual behavior
On binary connections these events are called for user actions,  eg: "select from", but when using the studio the http connection does not trigger any events.
Steps to reproduce the problem
Followed the guide here http://orientdb.com/docs/2.2.x/Extend-Server.html and implemented all methods with simple log message statements.  Registered as-per guide in server.xml copied jar to lib/

That API is called only from binary protocol for binary connections. @tglman for v3.0 did you already think to any work here to be more coherent with API and protocols?

The way to intercept all the requests is to extend the class ONetworkProtocolHttpDb by defining your own. Example:
public class YourHttpProtocol extends ONetworkProtocolHttpDb {
  protected void beforeExecution() throws InterruptedException {
    return;
  }

  protected void afterExecution() throws InterruptedException {
    return;
  }
}

And then register it under orientdb-server-config.xml file:
<protocols>
  <protocol name="binary" implementation="com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary"/>
  <protocol name="http" implementation="your.protocol.impl.YourHttpProtocol"/>
</protocols>

hi,
We haven't modified anything in 3.0 in terms of plugin architecture, and there are not explicit plan on it.
Regards


Automated cherry pick of #3297: fix: esxi change vm instance type always timeout

Cherry pick of #3297 on release/2.11.
#3297: fix: esxi change vm instance type always timeout

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@1159ad7). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.11   #3299   +/-   ##
==============================================
  Coverage                ?   7.14%
==============================================
  Files                   ?     476
  Lines                   ?   77213
  Branches                ?       0
==============================================
  Hits                    ?    5514
  Misses                  ?   71236
  Partials                ?     463

Flag
Coverage Δ

#aFlag
7.14% <0%> (?)

Impacted Files
Coverage Δ

pkg/compute/guestdrivers/managedvirtual.go
0% <0%> (ø)

Continue to review full report at Codecov.

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

/approve
/lgtm


I created a fantasy console: LuaG console.

It is still under development, but I already created a game using it.
I will add a JavaScript version to run games.
If you consider it valid, I'd like you to add it to the list.
https://github.com/Vulcalien/LuaG-Console

Just a few quick questions. Does it get any specifications, i.e. screen size, code space size, sprite size, etc. Does it get built-in editors for code, sprite, map or whatever?

Screen size: 160x160 (px)
Code space: I decided to put no limit
Sprite size: there can be 256 sprites, each is 8x8.
Built-in editors: at the moment (the console is in beta, v0.5) there is just the map editor.
I am planning to add the sprite editor and the code editor in the next version, sound will come too.
Also, I'd like to create a browser version of it.

Here we are. Feel free to update it with further progress.

Thank you!
I will keep working on It.


Ubuntu 16.04 doesn't compile without -std=c++11 as compiler flag

Build doesn't complete successfully without -std=c++11 as additional compiler flag on a Ubuntu 16.04 based distro.

Resolved with Commit 86e5476085f6b141c68099a7bdaa12b35f7f9e8a
Thank You


feat(dart): add algolia_chopper_requester package

🧭 What and Why
In this PR I have created a custom Requester based on Chopper.
Why? Dio is great, but if my Flutter app uses http I now have to have 2 different clients. 🙈 On top of that Chopper gives the user the option to provide their own Client.
final Requester chopperRequester = ChopperRequester({
  /// Your Algolia Application ID
  required String appId,

  /// Your Algolia Search-Only API Key
  required String apiKey,

  /// Additional headers to send with the request
  Map<String, dynamic>? headers,

  /// The segments to include in the `User-Agent` header
  Iterable<AgentSegment>? clientSegments,

  /// The logger to use for debugging
  Logger? logger,

  /// The Chopper Interceptors to use for modifying the request
  Iterable<Interceptor>? interceptors,

  /// The HTTP client to use for sending requests
  /// Will use https://pub.dev/packages/http by default
  /// Accepts any [Client], for example https://pub.dev/packages/cupertino_http
  /// or https://pub.dev/packages/cronet_http
  Client? client,

  /// A custom JSON converter to use for serializing and deserializing JSON
  JsonConverter? converter,
});

Basic Usage
final String appId = 'latency';
final String apiKey = '6be0576ff61c053d5f9a3225e2a90f76';

final SearchClient _client = SearchClient(
  appId: appId,
  apiKey: apiKey,
  options: ClientOptions(
    requester: ChopperRequester(
      appId: appId,
      apiKey: apiKey,
    )
  ),
);

Future<SearchResponse> search(String query) => _client.searchIndex(
      request: SearchForHits(
        indexName: 'flutter',
        query: query,
        hitsPerPage: 5,
      ),
    );

Advanced Usage
To set the connect timeout one has to do that directly on the Client, i.e.
final requester = ChopperRequester(
  appId: appId,
  apiKey: apiKey,
  client: http.IOClient(
    HttpClient()..connectionTimeout = const Duration(seconds: 60),
  ),
);

Custom Interceptors
For interceptors please see the Chopper documentation.
Custom Clients
Via the client option users can use platform specific HTTP clients such:

cronet_http on Androidfinal requester = ChopperRequester(
  appId: appId,
  apiKey: apiKey,
  client: CronetClient.fromCronetEngine(
    CronetEngine.build(
      cacheMode: CacheMode.memory,
      cacheMaxSize: 50 * 1024 * 1024,
    ),
    closeEngine: true,
  ),
);

cupertino_http on iOS/macOSfinal requester = ChopperRequester(
  appId: appId,
  apiKey: apiKey,
  client: CupertinoClient.fromSessionConfiguration(
    (URLSessionConfiguration.defaultSessionConfiguration()
        ..timeoutIntervalForRequest = const Duration(seconds: 30)),
  ),
);

NOTE: Custom HTTP clients must be manully disposed of, i.e.
final http.Client client = IOClient(
  HttpClient()..connectionTimeout = const Duration(seconds: 30),
);

/// ... use client ...

client.close();

Parsing JSON in the background using Isolates
Parsing JSON in the background is a good idea if you don't want to block the main thread.
Please see the Chopper documentation on Decoding JSON using Isolate worker pools.
Changes included:

export AlgoliaAgent from algolia_client_core package
add new package algolia_chopper_requester

Full disclosure: I'm one of the maintainers of Chopper.
Supersedes https://github.com/algolia/algoliasearch-client-dart/pull/14

Since I've added a completely new package here there were a few defaults I chose, which should probably be modified in this PR:

the package's version is 1.0.0 and not 1.15.1 like the other of the Dart packages
the LICENSE of the package is MIT

Both of these should be reviewed and potentially changed.

Since I've added a completely new package here there were a few defaults I chose, which should probably be modified in this PR:

the package's version is 1.0.0 and not 1.15.1 like the other of the Dart packages
the LICENSE of the package is MIT

Both of these should be reviewed and potentially changed.

Ah nice I was actually commenting on that, do you want to do it with the pointers I've gave or should I take over this part?

@shortcuts I think I've done all the tasks. I'm just not sure about https://github.com/algolia/api-clients-automation/pull/3291/commits/d812167a58d39acfc587d088f84710062038d5bf 😅

The only annoying bit left to fix is the fact that the user has to provide their appId and apiKey twice now, i.e.
final SearchClient _client = SearchClient(
  appId: appId, // <-- here
  apiKey: apiKey, // <-- here
  options: ClientOptions(
    requester: ChopperRequester(
      appId: appId, // <-- and here
      apiKey: apiKey, // <-- and here
    )
  ),
);

If only there were a way for it to be passed down from the SearchClient to the ClientOptions.
CC/ @shortcuts @aallam

Looks like the query parameters in HttpRequest.queryParameters are already encoded. Chopper does not expect this, so I'll need to figure something out to prevent double-encoding.

The only annoying bit left to fix is the fact that the user has to provide their appId and apiKey twice now, i.e.
final SearchClient _client = SearchClient(
  appId: appId, // <-- here
  apiKey: apiKey, // <-- here
  options: ClientOptions(
    requester: ChopperRequester(
      appId: appId, // <-- and here
      apiKey: apiKey, // <-- and here
    )
  ),
);

If only there were a way for these credentials to be passed down from the SearchClient to the ClientOptions.

Indeed, this could be improved; however, I think this should be done in a separate PR since it's not specific to this package

Indeed, this could be improved; however, I think this should be done in a separate PR since it's not specific to this package

Agreed.

Almost there to make CI work on forks! We will try to get that sorted out soon, thanks a lot for your contribution :D

Almost there to make CI work on forks! We will try to get that sorted out soon, thanks a lot for your contribution :D

@shortcuts any update on the CI thingy?
Regarding testing, I've been successfully using this package in my app for months now in order to get around some of the Dio limitations when it comes to invalid / self-signed SSL certificates etc and it works like a charm.


use gradle cache

Before this PR
To show auto complete we have to visit the remote repo, for some repositories this can be extremely slow.
After this PR
We can now use the local gradle cache to do auto complete for name and group. I opted not todo this for version as it changes at a much higher frequency.
This means the user gets auto suggestions nearly instantly.
The complexity with this change is that we dont know where packages in the gradle cache originated from so a particular project may not have access to a certain suggested package. To combat this the suggestions from the cache are labeled and will be overwritten by the remote suggestions when they have loaded.
Possible downsides?
It might be a bit confusing to see some suggestions labeled as from cache

I think the changelog (and also PR title) can be improved here. Something like "Use Gradle cache to source versions.props completions for better performance"

So I think this should be in a good state now - it still has no way of distinguishing between packages from different repos from the cache but I don't think thats to much of a concern

This has been superseded by https://github.com/palantir/gradle-consistent-versions-idea-plugin/pull/35 which reads the bin files to get all the information we need


Crash add playlist in dialog

In playlists
Swipe right to move item
Add playlist
Crash
Happens on DJ mixes > ambient

fixed in #245


PGP Atomic Encrypt & Sign operation docs

Need to add at some point that this operation is available since mule-module-security 1.9.


"Double tap" causes the animation to run twice and double rendering

Some people have fast fingers and some have slower devices.
I have noticed that if i tap a navigation link twice (before the animation has started), the animation runs twice, rendering the next route twice and "double stacking" the views. Obviously this is an issue... but i should imagine it would be a reasonably easy fix with an isAnimating hook to stop further requests after initial instruction?

Yes this is an issue. A fix could be to pass an isAnimating prop to the child components of the Route. I'd be open to any PRs implementing a fix!
A work around could be to make your links only tappable once, perhaps with some local state. Since in the current architecture of the Stack transitions triggered by a link aren't cancellable, and the stack will always unmount the previous route component and re-mount a new route component on every transition, that 'only tappable once' state would get re-set after every navigation action.

This issue also happen with react-navigation, I guess disable link before pushing is answer.
Yet a quick hotfix can be monkey patching history.push & pop and denounce them for 100ms & re enable after interactionManager signal end of animation

If it helps anyone, we created an Animation context that can inform touchable elements when the stack navigator is animating:

// Create context
const AnimationContext = React.createContext({
  stackNavIsAnimating: false,
  handleNavIsAnimating: null,
})

export interface State {
  stackNavIsAnimating: boolean
}

export class AnimationProvider extends React.Component<{}, State> {
  state = {
    stackNavIsAnimating: false,
  }

  public handleNavIsAnimating = (isAnimating: boolean): void => {
    this.setState({ stackNavIsAnimating: isAnimating })
  }

  public render() {
    const { stackNavIsAnimating } = this.state

    return (
      <AnimationContext.Provider
        value={{
          stackNavIsAnimating,
          handleNavIsAnimating: this.handleNavIsAnimating,
        }}
      >
        {this.props.children}
      </AnimationContext.Provider>
    )
  }
}

// Capturing Stack navigation state
<AnimationContext.Consumer>
  {({ handleNavIsAnimating, stackNavIsAnimating }) => {
   return (
    <Stack isAnimating={handleNavIsAnimating}>
   )
  }}
</AnimationContext.Consumer>

// Disable touchable element when stack nav is animating
<AnimationContext.Consumer>
  {({ stackNavIsAnimating }) => (
    <BackButton
      onPress={stackNavIsAnimating ? noop : history.goBack}
    />
  )}
</AnimationContext.Consumer>


Dynamic Routes

AKA routes that look like
<Route path='posts/:id' component={Post} />

The issue
We need dynamic routes to support creating an entire category of sties including blogs. However currently we don't have a way to turn something like posts/:id into a file directly. Normally we would have something like this:
posts/
  hellow-world.md
  second-post.md
  still-here.md

Which would generate the following HTML...
posts/
  hello-world.html
  second-post.html
  still-here.html

But in our case React Router has no way of knowing the contents of our posts/ directory so how would it know what files to generate?
Most static site generators would read the posts/ directory and then generate static sites from those files. However, that requires the user to either learn how to configure their generator or learn the conventions for creating dynamic content.
We could do the same thing:
fs.readdirSync('./posts').forEach(filename => {
  // 1. Read contents of file
  // 2. Generate a static HTML file for it
});

But then the user would have to know how to hook into this process. It is a first-class goal of this project to not force the user to learn some new technology. Just add this plugin to a webpack config and go. This is the issue I'd like to solve.

Update
Thinking out loud here. One possible approach is webpack contexts. For example, given a posts/ directory containing js files that export components to be rendered as blog posts we could do this:
// Import all necessary modules up here...

// Get a list of post components using webpack context
const context = require.context('./posts', false, /\.js$/);
const posts = context.keys().sort().map(context);

export const routes = (
  <Route path='/' title='App' component={App}>
    {/* Other router config here... */}
    {posts.map((module, i) => {
      const Component = module.__esModule ? module.default : module;
      return <Route key={i} path={String(i)} component={Component} />;
    })}
    <Route path='*' title='404: Post Not Found' component={NotFound} />
  </Route>
);

export default routes;

Another potential solution would be to expect directories to exist based on routes. For example, given the following router config:
// Import all necessary modules up here...

export const routes = (
  <Route path='/' title='App' component={App}>
    <Route path='posts' component={Posts}>
      <IndexRoute component={PostList} />
      <Route path=':id' component={Post} />
    </Route>
    <Route path='*' title='404: Post Not Found' component={NotFound} />
  </Route>
);

export default routes;

We would see the :id route and infer the that the user must have a directory on the filesystem containing the files necessary to generate these routes. In this case, we would look up the tree and see the parent route has a path of 'posts' so we would expect a posts/ directory at the project root.
Drawbacks:

What would the Post component look like? How would the data necessary to build the component be passed in?
Convention. Not necessarily bad, but again it's a first-class priority of this project not to require the user to learn a whole new system in order to take advantage of building static sites. The user would have to know to include that directory. We would throw meaningful errors if not found of course.
How could we customize output filename, i.e. the output file path? First step would just be to use the filename to generate the output, but it would be best to let the user configure it with a function.

Why not allow to pass path ([]) as option and then in https://github.com/iansinnott/react-static-webpack-plugin/blob/master/src/index.js#L83  merge the user one and the ones from the router.
That would remove any dependencies on file system or such and open it for other underlying logic to generate the paths.
---webpack.config.js
/*
* the variable could be generated from outside and then set dynamically.
* in my use case I fetch some json data (jenkins-plugins) and if that is fetched I want to invoke a static export of all the detail page of each plugin. So I would end up with an array of 1200+ and pass it to the plugin
*/
const paths = ['/', '/post/xxx', '...'];

new StaticSitePlugin({
      paths: paths,
      src: 'app',
      stylesheet: '/app.css',
      favicon: '/favicon.ico',
    }),

--index.js#L83
    const routerPaths = getAllPaths(Component);
    log('Parsed routes:', routerPaths);
    const { paths: userPaths } = this.options;
    const paths = Array.from(new Set(paths.concat(userPaths)));

Or are there some pitfalls that I do not see?

Hm, where would you get the `paths

@iansinnott the path you can inject or write them as I did in the above example. I will have a look now since I am may need to change how the plugin resolves the paths.
As short explanation I am ATM working on https://github.com/scherler/react-static-boilerplate/tree/redux the redux branch to add it to the boilerplate if you like it. However there is a problem in the way we normally would invoke the store vs. the export all routes.
If you look into the above branch you will find
    <Provider store={store}>
      <Router routes={routes} history={browserHistory} />
    </Provider>

To inject the store you need to to this in the top parent or you will need to do it in each route. I am still playing around to see whether I can move it around somehow, will let you know.

https://github.com/gatsbyjs/gatsby/blob/bd9654f480568dac724e60977dbc121af4feed3e/lib/isomorphic/create-routes.coffee

Hey @sidjain26 thanks for the ping. I haven't looked at this issue in a while, because for whatever reason I haven't yet run into the need for dynamic routes. I've been using this plugin extensively but it's all been for sites without dynamic routing.
In my own minimal testing in the past the context approach actually worked quite well. it's currently the option I favor because it is explicit and doesn't require the user to know any special configuration—this is a first class goal of this project.
What's also nice is that the require.context approach should work out of the box right now, because it doesn't require any specific configuration within this plugin. It's simply leveraging a feature of webpack. So although I don't currently have a guide for how to do this it should be a viable option for anyone wanting to implement dynamic routes.
Once I rewrite my blog using this plugin I will definitely figure out how to do dynamic routing.

@iansinnott how would you do something like this for I18n routes? e.g. /about and /fr/about?

@lifeiscontent I'm not sure, but my guess is that Webpack has a i18n solution. Have you tried internationalizing a web app with webpack yet?


Bump github.com/containerd/containerd to 1.6.10

Description of the change:
Bump github.com/containerd/containerd to 1.6.10 to remediate CVE-2022-31030
Details: https://github.com/advisories/GHSA-5ffw-gxpp-mxpf
Motivation for the change:
Remediate CVE
Architectural changes:

Testing remarks:

Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Bug fixes are accompanied by regression test(s)
[ ] e2e tests and flake fixes are accompanied evidence of flake testing, e.g. executing the test 100(0) times
[ ] tech debt/todo is accompanied by issue link(s) in comments in the surrounding code
[ ] Tests are comprehensible, e.g. Ginkgo DSL is being used appropriately
[ ] Docs updated or added to /doc
[ ] Commit messages sensible and descriptive
[ ] Tests marked as [FLAKE] are truly flaky and have an issue
[ ] Code is properly formatted

Looks like the unit test failure that is being reported also exists in the mainline branch: https://github.com/operator-framework/operator-lifecycle-manager/actions/runs/3584969022/jobs/6032331697#step:5:77

/retest
/lgtm

/approve


Hex dashboard for ingesting data and experimenting with metrics

What is it?

Dump the project data into a Hex notebook
Ingest OP Labs data for the various chains not currently on OSO
Potentially grab DeFi and NFT-specific metrics from 3rd parties like DefiLlama
Iterate on metrics for each category

https://app.hex.tech/00bffd76-9d33-4243-8e7e-9add359f25c7/app/9e285b40-dc83-41e4-9834-9e768d9b7aaa/latest

Currently happening here: https://github.com/opensource-observer/insights
Deadline for the notebook is Sep 14.

Available here: https://github.com/opensource-observer/insights/tree/main/community/sunny_metrics


Some tests fail with unhelpful "exceptions.OSError: [Errno 2] No such file or directory" error message when binaries not on PATH

My setup is the Flocker development Vagrant VM with a virtualenv in which I've run pip install -e .[doc,dev]
Running sudo $(type -p trial) --temp=/tmp/trial flocker is how I've been running the tests as root. This has numerous failures, one of which is flocker.volume.functional.test_service.RealisticTests.test_handoff. Running this test alone has the following unhelpful traceback:
Traceback (most recent call last):
  File "/home/vagrant/Envs/flocker-850/lib/python2.7/site-packages/twisted/internet/defer.py", line 139, in maybeDeferred
    result = f(*args, **kw)
  File "/vagrant/flocker/volume/service.py", line 247, in push
    getting_snapshots = destination.snapshots(volume)
  File "/vagrant/flocker/volume/_ipc.py", line 112, in snapshots
    volume.name.to_bytes()]
  File "/vagrant/flocker/volume/testtools.py", line 114, in get_output
    return ProcessNode.get_output(self, self._mutate(remote_command))
  File "/vagrant/flocker/common/_ipc.py", line 86, in get_output
    tuple(map(self._quote, remote_command)))
  File "/usr/lib64/python2.7/subprocess.py", line 568, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
exceptions.OSError: [Errno 2] No such file or directory

flocker.volume.functional.test_service.RealisticTests.test_handoff

Further inspection shows that this is because flocker-volume is not on os.getenv("PATH"). At least the error messages should say something like "flocker-volume not on path".
(noticed by Jean-Paul and Richard helped me look into it)

We are moving our development planning to JIRA. This is issue is now being tracked at https://clusterhq.atlassian.net/browse/FLOC-883. You are welcome to file additional issues in GitHub if that's easier for you.


Implement life change animation when attacking

https://github.com/keep-starknet-strange/tsubasa/assets/70894690/2c1a1b13-e90b-457d-a908-10ab9878813c

starting it


Invalid argument on writing artwork

What TMM version are you using?
2.9.15-SNAPSHOT and 2.9.14
release, pre-release, nightly, or directly from GitHub/branch?
Github/master, GitHub/devel, release
What is the actual behaviour?
When I try to change the artwork (poster, fanart) there is an error "Invalid Argument" and the artwork is not written.
What is the expected behaviour?
There should be a file in the directory of the movie.
Steps to reproduce:

edit movie
click on poster
select poster
ok
ok

Additional
I think that the mounted directory is the problem, but I'm sure, it worked some time before. Renaming the directory on the smb share works. The movie.nfo file is also written on the share.
OS: Ubuntu
Java: 1.8.0_191-b12
Error message: Downloading artwork failed: /run/user/1000/gvfs/smb-share:server=<IP_ADDRESS>,share=myvideo/mkv/Films/Angel of the Night (1998)/poster.jpg.1546176828159.part (Invalid argument)
My own stack trace:
14:23:37.626 WARN  org.tinymediamanager.core.MediaEntityImageFetcherTask - /run/user/1000/gvfs/smb-share:server=<IP_ADDRESS>,share=myvideo/mkv/Films/Angel of the Night (1998)/poster.jpg.1546176217564.part (Invalid argument) java.io.FileNotFoundException: /run/user/1000/gvfs/smb-share:server=<IP_ADDRESS>,share=myvideo/mkv/Films/Angel of the Night (1998)/poster.jpg.1546176217564.part (Invalid argument) 	at java.io.FileOutputStream.open0(Native Method) 	at java.io.FileOutputStream.open(FileOutputStream.java:270) 	at java.io.FileOutputStream.<init>(FileOutputStream.java:213) 	at java.io.FileOutputStream.<init>(FileOutputStream.java:162) 	at org.tinymediamanager.core.MediaEntityImageFetcherTask.run(MediaEntityImageFetcherTask.java:113) 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 	at java.lang.Thread.run(Thread.java:748)

Please do not use gvfs since that only brings problems..
I am sure it will work if you mount the share via /etc/fstab

The problem are the gvfs arguments in the path. See https://stackoverflow.com/a/23961074

Please do not use gvfs since that only brings problems..
I am sure it will work if you mount the share via /etc/fstab

Thank you, that works. But it's odd that some functions (like creating the nfo file) have no problem with the colon.

maybe these functions use any other internal ways to write a file..
but gvfs is really bad for massive access from/to a cifs share (tested it on my NAS and I got a really bad network performance). After I've switched to /etc/fstab everything works like a charm


mf1 backward compatibility bug on wordpress oriental theme

first discovered in snarfed/bridgy#563. related: #10, kartikprabhu/mf2py#45.

ooh, actually, mf2py parses this way differently from php-mf2 (above)! cc @kartikprabhu @kylewm. here are the two logs. the parsed mf2 doesn't actually have entry["properties"]["content"] at all, just entry["name"], which looks like it matches php-mf2's.
{"items": [{
  "type": ["h-entry"],
  "properties": {
    "name": ["New person-tag test\n\r\n\t\t\tPosted on December 4, 2015 by BrynLove \n\n\nWhen at first you don\u2019t like the way it looks, bugTantek \u00c7elik(t,f) and Ryan Barret(t).\n\n\r\n\t\tThis entry was posted in Uncategorized."]
  },
  ...
}

here's the HTML:

Person-tag experiment

      Posted on <time class="entry-date" datetime="2015-12-03T19:43:59+00:00" pubdate>December 3, 2015</time> by BrynLove

So this is me tagging Alex(t,f) and let’s try something else, by tagging Tantek(t,f)

    This entry was posted in Uncategorized.

we may have to recant. mf2py finds the right content, name, and URL when we fetch and parse manually, so something else is triggering this. we'll keep tracking in snarfed/bridgy #563.

Thanks for the report and followup @snarfed!


feat: New v0.9.0 feature blog post

Still have some work to fluff up the blog post

I forgot to add try in get_json_array examples, so please edit that

https://github.com/blue-build/template/pull/45#issuecomment-2522943018


Additional headers from raylib project

Relevant problem
Would be good to have at least the wrapper for raygui.h too (https://github.com/raysan5/raygui).
Reasons why this should be a part of the core library
Other languages have a more complete selection of bindings: raymath.h, rlgl.h, rmem.h, raygui.h...  Thinking that additionally raygui.h, would be good for the V community.

This is definitely planned, however it requires just as much effort as a complete port of one header, so no time frame is planned


Implement pubsub subscription filter

We are using cloudevents SDK with pubsub. It would be nice to implement subscription filtering as cloud.google.com/go/pubsub does. Refer to https://pkg.go.dev/cloud.google.com/go/pubsub#SubscriptionConfig

The PR from yesterday did this, correct?


[bar-chart] Fix issue with non-string names in series title

This PR fixes an issue when the name list could contain a non-string, i.e., when grouping by a column which is an integer. The fix is similar to the previous logic when there's a single metric by casting the name(s) to a string.
Note this PR also updates the logic to use six.text_type as opposed to str.
to: @graceguo-supercat @michellethomas @mistercrunch @timifasubaa

Codecov Report

Merging #5433 into master will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #5433      +/-   ##
==========================================
+ Coverage   59.09%   59.09%   +<.01%
==========================================
  Files         372      372
  Lines       23747    23745       -2
  Branches     2758     2758
==========================================
  Hits        14033    14033
+ Misses       9699     9697       -2
  Partials       15       15

Impacted Files
Coverage Δ

superset/viz.py
77.45% <0%> (+0.1%)
:arrow_up:

Continue to review full report at Codecov.

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

ping @graceguo-supercat @michellethomas @timifasubaa


doc: start generating docs

Starting with this PR when it lands, any future changes to master will trigger a CI job that re-builds documentation. A preview of what this would look like is available here.

@googleapis/node-team I think this is finally ready. PTAL.

It would be good to have docs. However, @kinwa91 has been thinking about doc generation more broadly across all the client libraries. I want to make sure this is not going to be divergent from that effort. /cc @JustinBeckwith .

I don't think we want to do something custom - would it be cool if we closed this out?

I'm not entirely certain that the documentation for this repository (along with other cloud-*-nodejs, supporting libraries etc) should end up together with the rest of the nodejs-* cloud client libraries.
We currently only have documentations for Cloud client libraries on cloud.google.com, and my proposal will gather them together and move them (back) to googleapis.github.io/google-cloud-node, just like other languages, which will ultimately move out of GitHub Pages.
If we want to, I can include the Stackdriver agents into the Cloud Client Libraries documentation site, or alternatively we can set them up under their own repo. Either way, can still have a single process for generating documentation across the GitHub org, regardless of where it is hosted.

@kjin @googleapis/yoshi-nodejs, this PR is a bit out of date.  Do we still need this?

I am not quite clear on what distinguishes an agent from a client library (e.g. take Error Reporting as an example). Even this repo offers a very very high level API abstraction over the Trace service (albeit only the 'patchTraces' endpoint). Also, this classification can be a point-in-time thing. In the future this library may (or may not) end with more endpoints supported and become less distinguishable from a client library.

Nope nope nope.  Whatever solution we come up with for the rest of our npm modules should be what we use here :) This repo (and the other cloud- ones) will be included in that process, which will land in Q1.  I suggest we close this out 🤷♂


502 Proxy Error on Documentserver

Steps to reproduce

Have Onlyoffice installed as Docker on your NC
Try to Access the url of your document server
Try to connect nextcloud app to onlyoffice

Expected behaviour
App should connect or you could see that the document server is up and running
Actual behaviour
App Error Bad Request or Timeout
Nextcloud Log:

Info
onlyoffice
Set opening in a same tab: false
2018-07-12T15:12:07+0200

Info
onlyoffice
Set default formats: {"docx":"true","xlsx":"true","pptx":"true","ppsx":"true","txt":"false","csv":"true"}
2018-07-12T15:12:07+0200

Error
onlyoffice
CommandRequest on check error: Bad Request oder Timeout Fehlermeldung
2018-07-12T15:12:07+0200

Error
PHP
file_get_contents(https://office.*********.de/coauthoring/CommandService.ashx): failed to open stream: HTTP request failed! HTTP/1.1 502 Proxy Error  at /var/www/nextcloud/apps/onlyoffice/lib/documentservice.php#351
2018-07-12T15:12:07+0200

Info
onlyoffice
Clear secret key
2018-07-12T15:12:07+0200

Info
onlyoffice
SetStorageUrl:
2018-07-12T15:12:07+0200

Info
onlyoffice
SetDocumentServerInternalUrl:
2018-07-12T15:12:07+0200

Info
onlyoffice
SetDocumentServerUrl: https://office.**********.de/

Website Error:
502 Proxy Error
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /.
Reason: Error reading from remote server
Apache/2.4.18 (Ubuntu) Server at office.***********.de Port 443
Server configuration detail
Operating system: Linux 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64
Webserver: Apache/2.4.18 (Ubuntu) (apache2handler)
Database: mysql 10.2.13
PHP version: 7.0.28-0ubuntu<IP_ADDRESS>
Modules loaded: Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, session, standard, apache2handler, redis, mysqlnd, PDO, xml, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, iconv, imagick, imap, intl, json, ldap, exif, mcrypt, mysqli, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, readline, shmop, SimpleXML, smbclient, sockets, sqlite3, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xmlreader, xmlwriter, xsl, zip, libsmbclient, Zend OPcache
Nextcloud version: 13.0.2 - <IP_ADDRESS>
**Where did you install Nextcloud from: Tech and Me
Signing status
Array

List of activated apps
Enabled:
 - activity: 2.6.1
 - admin_audit: 1.3.0
 - bruteforcesettings: 1.0.3
 - caniupdate: 0.1.2
 - comments: 1.3.0
 - dav: 1.4.6
 - federatedfilesharing: 1.3.1
 - federation: 1.3.0
 - files: 1.8.0
 - files_external: 1.4.1
 - files_fulltextsearch: 0.7.0
 - files_pdfviewer: 1.2.1
 - files_rightclick: 0.8.4
 - files_sharing: 1.5.0
 - files_texteditor: 2.5.1
 - files_trashbin: 1.3.0
 - files_versions: 1.6.0
 - firstrunwizard: 2.2.1
 - fulltextsearch: 0.7.1
 - fulltextsearch_elasticsearch: 0.7.0
 - impersonate: 1.0.4
 - issuetemplate: 0.3.0
 - logreader: 2.0.0
 - lookup_server_connector: 1.1.0
 - nextcloud_announcements: 1.2.0
 - notifications: 2.1.2
 - oauth2: 1.1.0
 - onlyoffice: 1.3.0
 - password_policy: 1.3.0
 - previewgenerator: 1.0.9
 - provisioning_api: 1.3.0
 - serverinfo: 1.3.0
 - sharebymail: 1.3.0
 - survey_client: 1.1.0
 - systemtags: 1.3.0
 - theming: 1.4.1
 - twofactor_backupcodes: 1.2.3
 - updatenotification: 1.3.0
 - user_ldap: 1.3.1
 - workflowengine: 1.3.0
Disabled:
 - calendar
 - contacts
 - encryption
 - files_videoplayer
 - gallery
 - passman
 - user_external

Configuration (config/config.php)
{
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "localhost",
        "<IP_ADDRESS>",
        "cloud.**********.de",
        "office.**********.de"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "overwrite.cli.url": "https:\/\/cloud.**********.de\/",
    "dbtype": "mysql",
    "version": "<IP_ADDRESS>",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "mysql.utf8mb4": true,
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "maintenance": false,
    "mail_smtpmode": "smtp",
    "log_rotate_size": "10485760",
    "memcache.local": "\\OC\\Memcache\\Redis",
    "filelocking.enabled": true,
    "memcache.distributed": "\\OC\\Memcache\\Redis",
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 0,
        "timeout": 0,
        "dbindex": 0,
        "password": "***REMOVED SENSITIVE VALUE***"
    },
    "htaccess.RewriteBase": "\/",
    "loglevel": "0",
    "log_type": "file",
    "logfile": "\/var\/ncdata\/nextcloud.log",
    "logtimezone": "Europe\/Berlin",
    "ldapIgnoreNamingRules": false,
    "ldapProviderFactory": "\\OCA\\User_LDAP\\LDAPProviderFactory",
    "theme": "",
    "data-fingerprint": "60a3bf463e787295b6bfaefe50b04866",
    "updater.release.channel": "production"
}

Are you using external storage, if yes which one: local/smb
Are you using encryption: no
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory

Hello @Rick26L, please specify some additional information about the issue:

Is the Document Server installed on the same server where NC or on different servers;
Do you see Document Server Welcome page when entering Document Server address in address tab of the browser?;
Send us a screenshot of the address settings of ONLYOFFICE application from your NC;
Try to check the accessibility of NC from inside of docker container with the Document Server (wget https://nextcloud_address). Then, if they are installed on different machines, from the server where Document Server is installed (wget https://nextcloud_address). Check also the accessibility of the Document Server from the server where NC is installed (wget https://documentserver_address).

Hey @alexanderonlyoffice ,

The Document Server is installed on the same server as a docker container.
I didn't see the Welcome Page. I get "502 Proxy Error"
----Proxy Error
----The proxy server received an invalid response from an upstream server.
----The proxy server could not handle the request GET /.
----Reason: Error reading from remote server
----Apache/2.4.18 (Ubuntu) Server at office.*********.de Port 443

Document Editing Service address: https://office.********.de/
Document Editing Service address for internal requests from the server: Blank (https:///)
Server address for internal requests from the Document Editing Service: Blank (https://cloud.********.de)
Secret: Blank

Docker DS to NC: Ok
Docker DS to Docker DS: 502: Proxy Error
NC to NC: Ok
NC to Docker DS: 502: Proxy Error
502 Proxy Error:
--2018-07-13 08:34:44--  https://office..de/
Resolving office..de (office..de)... <IP_ADDRESS>
Connecting to office..de (office.***********.de)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 502 Proxy Error
2018-07-13 08:34:44 ERROR 502: Proxy Error.

I am getting the same error and my setup is very similar. Using distro from Techandme.

Hi @alexanderonlyoffice ,
do you have any other ideas?
Thanks in advance!

Hi @Rick26L, I can see on the screenshot that address of the Document Editing Service for internal requests in the advanced server settings is blank.

Please try to add the address of the Document Server in this field, because when you use advanced server settings, only these settings are being used and it is not enough to specify just the Document Editing Service address.

Hello @nvgoldendog, please describe the issue in more details, send also a screenshot of the Document Server address settings.

Hi @alexanderonlyoffice ,
i have some NC with Onlyoffice running without using the advanced settings. There is nothing entered. It is blank. Should I try to enter the name or the internal ip adress

Hi,
i have updated the nextcloud to 13.0.4, deleted the onlyoffice app, installed a new docker container, reinstalled the onlyoffice app.... and now its working.
Thanks for your help!


Images: Rework concurrent download locking

Avoids checking for local images twice.
Related to #11636

jenkins: test this please

jenkins: test this please


Update PHP with streaming tests

This PR replaces https://github.com/googleapis/api-client-staging/pull/329 after testing/merging issues are resolved. This PR addresses comments made in https://github.com/googleapis/api-client-staging/pull/329

Toolkit PR is here: https://github.com/googleapis/toolkit/pull/1310


[BUG] Error message shows twice

Description
Opening the exercise tree without an api token throws an error message as expected, but it throws the message twice. This is not really a big problem, but it looks a bit glitchy.
Environment

OS: Windows 10 & Elementary OS
Plugin version: 1.0.0

This is caused by RootDataProvider.getChildren() executing twice upon initialization.

Test

Test


Linting with ruff

Hi @pekkaklarck
I have taken ruff and let it run over the Robot Framework code (src folder)
It had found a huge amount, of things, but not all of them are relevant, because they are more naming decisions.
Others may be real issues.
Others just New vs Old technique. (like pathlib.Path vs os.path)
Others are considered better style...
I have applied some of the rules and excluded others.
I have a pack of rules i would consider worth fixing, but want to talk to you first.

PTH100 os.path.abspath() should be replaced by Path.resolve()  (And their siblings)
B904 Within an except clause, raise exceptions with raise ... from err or raise ... from None to distinguish them from errors in exception handling
UP031 Use format specifiers instead of percent format
DTZ001 The use of datetime.datetime() without tzinfo argument is not allowed

Maybe you can find this valuable.

First of all, I'm not entirely sure is using an automatic formatter a good idea in general, because the code they produce isn't always that great. A formatter has a lot of benefits in environment where there are different people working in the same code base, though. Benefits are probably even bigger with an open source project where communicating project conventions to contributors is challenging.
I'm personally not too big fan of Black because it has so little configuration options. I find it annoying that projects are forced to same style even when their original style would be reasonable. Even bigger problem is that Black rules change now and then, and the lack of configuration options means that code changes as well. I hope the ruff formatter gets some more configuration options and would that way suite better for us.
Anyway, this is something we can discuss but time for that discussion is after RF 7.0 is out. Due to the time and budget constraints I don't want to spend much time for this now. Due to the amount of changes I believe the best time to take a formatter into use, assuming we consider it useful, is when RF 8.0 development starts.

@pekkaklarck
I think we have just found a bug in Robot Framework DotDict. 😉
This not a == b vs a != b was the reason the utest fail in the branch.
And i would consider this an actual bug in DotDict implementation?
from collections import OrderedDict
from robot.utils import DotDict

# Normal dict: the order isn't relevant
norm_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7}
norm_dict_reverse = {'g': 7, 'f': 6, 'e': 5, 'd': 4, 'c': 3, 'b': 2, 'a': 1}

norm_dict == norm_dict_reverse    # True
norm_dict != norm_dict_reverse    # False
not norm_dict == norm_dict_reverse    # False
not norm_dict != norm_dict_reverse    # True

# OrderedDict: the order is important
order_dict = OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 5), ('f', 6), ('g', 7)])
order_dict_reverse = OrderedDict([('g', 7), ('f', 6), ('e', 5), ('d', 4), ('c', 3), ('b', 2), ('a', 1)])

order_dict == order_dict_reverse    # False
order_dict != order_dict_reverse    # True
not order_dict == order_dict_reverse    # True
not order_dict != order_dict_reverse    # False

#DotDict : the order isn't relevant with == but is relevant with !=
dot_dict = DotDict({'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7})
dot_dict_reverse = DotDict({'g': 7, 'f': 6, 'e': 5, 'd': 4, 'c': 3, 'b': 2, 'a': 1})
dot_dict == dot_dict_reverse    # True because order is not relevant with ==
dot_dict != dot_dict_reverse    # True because order is relevant with !=
not dot_dict == dot_dict_reverse    # False
not dot_dict != dot_dict_reverse    # False