Eliminate Homebrew dependency in ios-usb-dependencies.py LUCI recipe

In order to simplify acquiring the build tools and build environment, I wrote the LUCI recipe which pre-builds our libimobiledevice related binaries to use a custom Homebrew tap which builds from source.
Long-term, eliminating the dependency on Homebrew would ensure that their upstream can't break our infrastructure.

We can do this if we just install the build dependencies on a devicelab bot.

Since we control our own physical macOS bots for the devicelab, another option would be to pre-install the required build dependencies on a particular devicelab bot (or all of them, these are relatively lightweight).
Specifically, compiling libimobiledevice (and related libraries) requires autoconf, automake, libtool, and pkg-config (Homebrew formula). These tools assume they are installed in the system root.
Once a bot is configured with these, the recipe can be simplified to simply call:
./autogen.sh
./configure --disable-dependency-tracking \
                          --disable-silent-rules \
                          --without-cython \
                          --enable-debug-code \

# Note, using the flag --prefix=$path may allow us to use a custom sysroot

After this, the recipe would also have to patch the libray links, which this WIP CL implements: #24460. This would be a smaller setup cost than custom GN build rules.
We have decided to implement this as the easiest and most straightforward solution.

Confirmed devicelab mac bots are with these packages. E.g. on mac-25:
flutter@flutter-devicelab-mac-25 ~ % which autoconf
/usr/local/bin/autoconf
flutter@flutter-devicelab-mac-25 ~ % which automake
/usr/local/bin/automake
flutter@flutter-devicelab-mac-25 ~ % which libtool
/usr/bin/libtool
flutter@flutter-devicelab-mac-25 ~ % which pkg-config
/usr/local/bin/pkg-config

Once the libimobiledevice binaries are rebuilt on a newer version of Xcode than the config is using now, that should give us part of https://github.com/flutter/flutter/issues/69157 for free since release versions of the binaries will contain arm64 and x64.  Which will get us closer to our users not needing to install Rosetta on arm64 macs.

Once a bot is configured with these, the recipe can be simplified to simply call:

./autogen.sh
./configure --disable-dependency-tracking \
                          --disable-silent-rules \
                          --without-cython \
                          --enable-debug-code \

# Note, using the flag --prefix=$path may allow us to use a custom sysroot

make

(See https://flutter-mirrors.googlesource.com/homebrew-flutter/+/refs/heads/master/Formula/libimobiledevice-flutter.rb)
Could you elaborate on this? what repo/source codes are those commands running against? /cc @christopherfujino
Also the linked url seems broken.

Never mind, found these are inside the corresponding repos.

Never mind, found these are inside the corresponding repos.

Here are the formulae: https://flutter.googlesource.com/homebrew-flutter/+/refs/heads/master/Formula/

Where I got stuck on this last time is that in order to compile, for example, the iproxy target in the libimobiledevice repo, libraries from--for example--libplist must be present on the system in order to dynamically link against. These are the paths that we want to overwrite later, since at runtime we'll be linking against all our dependencies.
The problem is that it won't be present on the libimobiledevice builder. The two solutions I can think of are:

install the homebrew versions just so the code will compile
merge all the builders into a single libimobiledevice builder and compile the dependency graph from the leaves up, with iproxy last.

I believe you can compile the dependencies sequentially in this order:

libplist (depended on by libimobiledevice & usbmuxd)
libtasn1 (depended on by libimobiledevice)
libusb (depended on by usbmuxd)
usbmuxd (depended on by libimobiledevice)
openssl (depended on by libimobiledevice)

I am playing around with these repos. As for libtasn1, by following: https://flutter.googlesource.com/homebrew-flutter/+/refs/heads/master/Formula/libtasn1-flutter.rb#17, I got below error when make install:
/bin/sh ../build-aux/ylwrap ASN1.y y.tab.c ASN1.c y.tab.h `echo ASN1.c | sed -e s/cc$/hh/ -e s/cpp$/hpp/ -e s/cxx$/hxx/ -e s/c++$/h++/ -e s/c$/h/` y.output ASN1.output -- bison -y -Wno-yacc
/opt/flutter/xcode/13f17a/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bison: invalid option -- W
Try `/opt/flutter/xcode/13f17a/XCode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/bison --help' for more information.
make[3]: *** [ASN1.c] Error 1
make[2]: *** [install-recursive] Error 1
make[1]: *** [install-recursive] Error 1
make: *** [install] Error 2

@christopherfujino Do you know have any insight here?

I bet the Xcode toolchain version of bison is too old. On Xcode 13.4 it's 2.3.  Homebrew has 3.8 https://formulae.brew.sh/formula/bison, not sure when the --warnings option was introduced.

I bet the Xcode toolchain version of bison is too old. On Xcode 13.4 it's 2.3. Homebrew has 3.8 https://formulae.brew.sh/formula/bison, not sure when the --warnings option was introduced.

Per the git blame, this flag has been in the makefile since 2019--but yeah, you're probably right.

Per the git blame, this flag has been in the makefile since 2019--but yeah, you're probably right.

2.3 was released in 2006.

Thanks for @jmagman @christopherfujino . It is indeed the bison too old. With latest 3.8, it works.
Tried the whole process locally, and it went through. A couple of things to note:

libusb is not necessary
a higher version of bison is needed
libimobiledevice-glue is needed to install libimobiledevice
env variables (LIBRARY_PATH, PKG_CONFIG_PATH, PATH) need update

Will work on a recipe to implement the changes.
To clarify, we still want to upload all packages to gcs in corresponding locations as of now, right? /cc @christopherfujino  Now, we are supporting below list based on gcs:
ideviceinstaller
ios-deploy
libimobiledevice
libplist
libzip
openssl
usbmuxd

Thanks for @jmagman @christopherfujino . It is indeed the bison too old. With latest 3.8, it works.
Tried the whole process locally, and it went through. A couple of things to note:

libusb is not necessary
a higher version of bison is needed
libimobiledevice-glue is needed to install libimobiledevice
env variables (LIBRARY_PATH, PKG_CONFIG_PATH, PATH) need update

Will work on a recipe to implement the changes.
To clarify, we still want to upload all packages to gcs in corresponding locations as of now, right? /cc @christopherfujino Now, we are supporting below list based on gcs:

ideviceinstaller
ios-deploy
libimobiledevice
libplist
libzip
openssl
usbmuxd

The tool no longer caches ideviceinstaller, but the others are needed. Note, ios-deploy is already built without homebrew in a separate flow.

libusb is not necessary

I'm pretty sure it is needed; I'm guessing the machine you tried it already had it installed? Just pointing this out in case the final bots these build on are configured differently.

@keyonghan @christopherfujino can we close this one?

I have a last piece of related config CL to review: https://flutter-review.googlesource.com/c/infra/+/32821

Now both the builder and recipes changes have been landed (a successful build)
Closing.

I'm going to reopen this.  While homebrew is no longer a dependency, the library loader paths are incorrect and still point to absolute paths on the luci builder, which is the reason we started this project, see go/flutter-macos-binary-verification
$ otool -L flutter/bin/cache/artifacts/usbmuxd/iproxy
flutter/bin/cache/artifacts/usbmuxd/iproxy:
	/opt/s/w/ir/x/w/src/libusbmuxd_install/lib/libusbmuxd-2.0.6.dylib (compatibility version 7.0.0, current version 7.0.0)
	/opt/s/w/ir/x/w/src/libimobiledeviceglue_install/lib/libimobiledevice-glue-1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
	/usr/local/opt/libplist/lib/libplist-2.0.3.dylib (compatibility version 7.0.0, current version 7.0.0)

These library  must instead be relative to the loader_path, not absolute paths from the builders.
https://github.com/flutter/flutter/issues/42969#issuecomment-553225752
https://github.com/flutter/flutter/issues/42969#issuecomment-933725997
Additionally, libimobiledevice-glue is the wrong library name, it should be libimobiledevice-1.0.6.dylib.
dyld[34105]: Library not loaded: '/opt/s/w/ir/x/w/src/libimobiledeviceglue_install/lib/libimobiledevice-glue-1.0.0.dylib'
  Referenced from: '/Users/magder/Projects/flutter/bin/cache/artifacts/usbmuxd/iproxy'
  Reason: tried: '/opt/s/w/ir/x/w/src/libimobiledeviceglue_install/lib/libimobiledevice-glue-1.0.0.dylib' (no such file), '/usr/local/lib/libimobiledevice-glue-1.0.0.dylib' (no such file), '/usr/lib/libimobiledevice-glue-1.0.0.dylib' (no such file)

@keyonghan do you want me to file a new issue, or track in this one?  The recipe needs to be updated to patch the relative loader paths, from go/flutter-macos-binary-verification
"After this, the recipe would also have to patch the library links, which this WIP CL implements: #24460. This would be a smaller setup cost than custom GN build rules."

"After this, the recipe would also have to patch the library links, which this WIP CL implements: #24460. This would be a smaller setup cost than custom GN build rules."

Is this something you want to continue to work based on https://flutter-review.googlesource.com/c/recipes/+/24460 @christopherfujino ? I may need more time to digest what's needed to implement.

Tried a bit install_name_tool with libplist:
install_name_tool -change /Users/swarming/libimobiledevice/libplist_bin/lib/libplist-2.0.3.dylib<EMAIL_ADDRESS>Usage: /Library/Developer/CommandLineTools/usr/bin/install_name_tool [-change old new] ... [-rpath old new] ... [-add_rpath new] ... [-delete_rpath old] ... [-id name] input

What is expected for input?

input is the path to the binary.
https://github.com/flutter/flutter/issues/42969#issuecomment-933725997 has some details where I ran it locally:
Example:
install_name_tool -change "/b/s/w/ir/k/homebrew/opt/libplist-flutter/lib/libplist-2.0.3.dylib"<EMAIL_ADDRESS>iproxy

What would be the artifact used in the ios-usb-dependencies recipes? We have been building several packages:
libplist, libtasn1, libusb, usbmuxd, openssl, libimobiledevice

Is the artifact same, or different based on the dependencies: https://github.com/flutter/flutter/issues/36019#issuecomment-1155794058?

It's only needed for the binaries that live in the artifacts, the numbers might not match:
libimobiledevice-1.0.6.dylib
idevicescreenshot
idevicesyslog
libplist-2.0.3.dylib
libcrypto.1.1.dylib
libssl.1.1.dylib
iproxy
libusbmuxd-2.0.6.dylib

I guess I understand now.
Take libplist for example, I tried locally:
otool -L libplist-2.0.3.dylib
libplist-2.0.3.dylib:
	/Users/swarming/libimobiledevice/libplist_bin/lib/libplist-2.0.3.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)

install_name_tool -change /Users/swarming/libimobiledevice/libplist_bin/lib/libplist-2.0.3.dylib<EMAIL_ADDRESS>libplist-2.0.3.dylib

otool -L libplist-2.0.3.dylib
libplist-2.0.3.dylib:
	/Users/swarming/libimobiledevice/libplist_bin/lib/libplist-2.0.3.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)

The output of otool before and after is the same. Is this expected?

Looking at https://github.com/flutter/flutter/issues/42969#issuecomment-933725997 again the list should actually be:
idevicescreenshot
idevicesyslog
libcrypto.1.1.dylib
iproxy

It's only for binaries where, if you run otool -l path/to/binary, LC_LOAD_DYLIB is set to an absolute path like:
Load command 13
          cmd LC_LOAD_DYLIB
      cmdsize 104
         name /opt/s/w/ir/x/w/src/libimobiledevice_install/lib/libimobiledevice-1.0.6.dylib (offset 24)

Those need to be swapped out for relative paths.
libplist doesn't need to be changed because it doesn't have any absolute LC_LOAD_DYLIB paths.

Two more following up questions:

with otool -l libplist-2.0.3.dylib (instead of -L), it also returns something similar

Load command 4
          cmd LC_ID_DYLIB
      cmdsize 96
         name /Users/swarming/libimobiledevice/libplist_bin/lib/libplist-2.0.3.dylib (offset 24)
   time stamp<PHONE_NUMBER> Thu Sep 22 13:22:12 2022
      current version 7.0.0
compatibility version 7.0.0

shall we do the relative path change?

should the relative path change be executed and applied to the binary list on the client bot (user's bot)? The binary path varies from bot to bot and the absolute path is also different:
devicelab bot: /Users/swarming/libimobiledevice/libplist_bin/lib/libplist-2.0.3.dylib
my personal mac: /opt/homebrew/Cellar/libusbmuxd/2.0.2/lib/libusbmuxd-2.0.6.dylib

I am trying to understand how the relative path change from package build (from recipes) would affect the user's local binary path.

I think I mis-understood artifacts/binaries that need the path change. Now it's clear.
Following what's suggested, and also referencing https://flutter-review.googlesource.com/c/recipes/+/24460, I put up https://flutter-review.googlesource.com/c/recipes/+/34240.
Based on LED build, corresponding paths are updated to relative ones (check the *after patch steps, e.g. iproxy)
As for libimobiledevice-glue question asked earlier, it is needed to successfully build several packages, and the lib is now uploaded to GCS as well.
Please let me know if everything looks good now.

Arm64 versions of these binaries already available on Homebrew. If Flutter depended on these binaries instead of bringing its own, just like the old versions, it would be arm ready without Rosetta emulation by now.

Flutter set up used to require installing brew and installing these dependencies manually, and then enforced in doctor.  It was a mess, people couldn't figure out how to install brew, lots of PATH issues, developers bailing on even trying to install Flutter because there were too many installation steps.  A constant source of pain users always complained about (same with CocoaPods now), particularly for new developers.
We started bundling these ourselves in the SDK in 2019 and haven't looked back https://github.com/flutter/flutter/pull/34669

I believe after https://flutter.googlesource.com/recipes/+/8597fcfbef6c3953793f60b6ffcfade3dbb03cba this is resolved. That gatekeeper is still not happy is being tracked in https://github.com/flutter/flutter/issues/42969.

I was about to file a Technical Support Incident with Apple, but the relative paths still look incorrect.
When I run ./libimobiledevice/idevicescreenshot I get:
dyld[89533]: Library not loaded<EMAIL_ADDRESS>  Referenced from: '/Users/m/Projects/flutter/bin/cache/artifacts/libimobiledevice/idevicescreenshot'
  Reason: tried: '/Users/m/Projects/flutter/bin/cache/artifacts/libimobiledevice/../libimobiledevice-1.0.6.dylib' (no such file), '/usr/lib/libimobiledevice-1.0.6.dylib' (no such file)
zsh: abort      ./libimobiledevice/idevicescreenshot

otool -L libimobiledevice/idevicescreenshot shows:
libimobiledevice/idevicescreenshot:
	@loader_path/../libimobiledevice-1.0.6.dylib (compatibility version 7.0.0, current version 7.0.0)
	@loader_path/../libusbmuxd-2.0.6.dylib (compatibility version 7.0.0, current version 7.0.0)
	@loader_path/../libimobiledevice-glue-1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
	@loader_path/../libplist-2.0.3.dylib (compatibility version 7.0.0, current version 7.0.0)
	@loader_path/../libssl.3.dylib (compatibility version 3.0.0, current version 3.0.0)
	@loader_path/../libcrypto.3.dylib (compatibility version 3.0.0, current version 3.0.0)

But it's missing the subdirectories:
	@loader_path/libimobiledevice-1.0.6.dylib (compatibility version 7.0.0, current version 7.0.0)
	@loader_path/../libusbmuxd/libusbmuxd-2.0.6.dylib (compatibility version 7.0.0, current version 7.0.0)
	@loader_path/../libimobiledeviceglue/libimobiledevice-glue-1.0.0.dylib (compatibility version 1.0.0, current version
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
	@loader_path/../libplist/libplist-2.0.3.dylib (compatibility version 7.0.0, current version 7.0.0)
	@loader_path/../openssl/libssl.3.dylib (compatibility version 3.0.0, current version 3.0.0)
	@loader_path/../openssl/libcrypto.3.dylib (compatibility version 3.0.0, current version 3.0.0)1.0.0)

I previously thought @loader_path was the path to the binary, but it's actually the directory containing the binary.

Closing this as finished


How to change the size of the bottom labels of Bar Chart?

Hi!
I want to change the label sizes of my bar chart. Because the default size is bit large and it's showing only part of the label. Is there any way to adjust that?

Hello,
The labels use the subhead property of your TextTheme. Changing the subhead style will change how the labels are displayed.
I've noticed subhead has been deprecated and that now subtitle1 should be used. I'll try to update it the coming days.
https://api.flutter.dev/flutter/material/TextTheme-class.html

@fgcan10  Thank you, Anyway changing the Text Theme will be affecting to the whole application right?

Yes, exactly.

That's the problem. It's better we can change it from outside as well

I agree with you.
I'll add a property to the next release.

Thank you


fix: Fall back to timestamp + size CodeIds on Windows

Awesome, ready to land?

I really don't have any opinion, I don't really have a good intuition on how to handle codeid/debugid corner cases other than "do whatever makes microsoft's symbol server work the most".

I would say to not over-sanitize these, and rather take the occasional bad CodeId.

sgtm


Create 2024-03.md

Starting the draft of the next newsletter (closes #37 when merged).
There's a few bits and bobs where I could help with:

The ISCBacademy events: @nlharris would you be the right person to ask for links to the recordings on YouTube?
The CWL conference in the Netherlands: @mr-c you added it into the last newsletter as 'save the date', is there a registration or any updates worth putting into this one?

Tentatively, this should go out in early March (but I'm not sure prior to March 5, the date of the ISCBacademy talk is realistic?)
In any case, if you have any topics that you'd like to add as community updates, please leave a comment here or reach out via Mastodon/email, etc.

ooh - would y'all be interested in a shout-out to cohort-based open science 101 NASA training? applications currently open :) https://openlifesci.org/nasa/

@yochannah sure, that sounds great! What's the application deadline for those trainings? As I think most realistically the newsletter won't go out before early March (I hope it doesn't take that long, but just to tone down expectations 😂 )

The CWL conference in the Netherlands: @mr-c you added it into the last newsletter as 'save the date', is there a registration or any updates worth putting into this one?

Updated website: https://www.commonwl.org/conferences/2024/
The 2024 Common Workflow Language Conference will be held primarily on the campus of VU Amsterdam, in the Netherlands, on Wednesday & Thursday May 15th & 16th. Following is a contribution-a-thon on that Friday. The conference talks will be also presented online, and there will be two online-only sessions the week prior at times convenient elsewhere in the world.
The call for submissions will open later in February 2024 with signups for attendance to follow.

Thanks, added it in @mr-c!

😁 Thanks Bastian! @iramosp, could you work out a nice cohort advertising blurb? I guess it'll be for Cohort 2 onwards...

Here is our contribution:
Join the Nebula Open Science Program by OLS and NASA
The Nebula program is a dynamic 6-week online training designed for individuals and teams eager to integrate open science practices into their research. In collaboration with NASA TOPS, OLS will offer five cohorts per year. Benefit from expert guidance, hands-on learning and tailored support to advance your projects. The next round of applications opens in late March.

Thanks, added it in!

Thanks all!

Oh sorry @JulieDeMan, I fear the newsletter went out yesterday evening (UTC)! The next newsletter will probably go out around the timing of BOSC (#40), if you have any things that would be relevant in June/July we'd be happy to add those!


Backport #1028: Use base class name for reification and add fractional second precision to test db

Use base class name for reification of associations
Add explicit precision on datetime columns to enable fractional second precision on mysql

Backport to 8.2.0

Released as 8.1.2


instructions incorrect, wrong variable name

I was unable to get the exercise to work with the provided variable name myfloat. The test is seeking myDecimal. I can only get the exercise to work by saying myDecimal, so change the instructions?

Challenge http://beta.freecodecamp.com/challenges/creating-decimals has an issue. Please describe how to reproduce it, and include links to screenshots if possible.

Sorry thanks for spotting this i had changed it just before launching will sort now!

Closing as stale


Data annotation

It says that Data Annotations cannot be used to specify a key, but what about [Key] data annotation?

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

ID: 1a38fe8f-c674-0673-a13f-b87a7a9edf78
Version Independent ID: fad97301-bb2b-f974-bf1c-c80c9d143b3d
Content: Primary Keys - EF Core
Content Source: entity-framework/core/modeling/relational/primary-keys.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @rowanmiller
Microsoft Alias: avickers

No relational database specific aspects of a primary key can be configured using Data Annotations.

Only relational aspects cannot be specified. KeyAttribute can be used to configure a key but you cannot specify a name for it using annotation.


[MODORDERS-820]-Added intigration tests.

Purpose
Describe the purpose of the pull request.
https://issues.folio.org/browse/MODORDERS-820
Approach
How does this change fulfill the purpose?
TODOS and Open Questions

[ ] Use GitHub checklists. When solved, check the box and explain the answer.

Learning
Describe the research stage. Add links to blog posts, patterns, libraries or addons used to solve this problem.


Support nested fields in Rails::Form

I submitted a PR here that might be a step in the right direction for supporting nested fields. Let me know your thoughts.

I created the Cadillac of form helpers at https://github.com/rubymonolith/superform that supports nested fields and uses Phlex components to render the inputs.


Follower Commands Don't Work.

There is no need to elaborate on the problem here.
We know that there are commands for followers such as kill, come, stay and these are heard by the follower closest to us. But when the player types ALL , all the followers around him should obey the command. But there is no such thing :) Even if you type Kill or All Kill, only the follower closest to you hears the command.  BUT! The player once typed ALL KILL and the closest follower attacked. Then if the player types ALL KILL again, all followers attack. I think there is a small query error.
[translate DeepL]

It looks like working for me , I spawn 5-6 horses around and when I type ALL KILL all of them start attacking, are you sure it's not a script-side bug? Could you reproduce it with an clean sphere?

i tried it also myself. as non gm, surrounded by many untamed animals and my tamed animals. they did attack the target

in the past though i did report some issues, and i believe they were resolved, at least it appears that way as of current.

There is a bug in CChar::NPC_Act_Follow, it the pet follow his master, it uses m_Act_UID else it uses m_Fight_Targ_UID even if the pet is not in combat!
I can fix this

I tried again with the info you gave, I used all kill, attacked all npcs to the one target, then used all come and they start following me, used that way many times even tried to change all kill target, they always listen what I told and changed their target, even stop and following me etc, but all command range looks a bit small maybe this makes player to think it doesn't working, I will check the range

Thats is great to hear!!! I will comment my custom commands and try it again!
Also "All guard me" should work too right? automatically attacking what im attacking.

Yes, I tested all guard me and it works fine too, as soon as I tried to attack, every npcs around me start attacking it


Update FAQ for auto failover

http://www.rethinkdb.com/docs/architecture/#availability-and-failover has a section on "Availability and Failover" which needs to be updated for RethinkDB 2.1.

In addition to the "Availability and failover" section being out of date, there are some smaller things that need to be updated:

In the event of a netsplit, what matters is which side of the netsplit has a majority of voters, not which side has the primary replica.
RethinkDB now uses the Raft protocol instead of semilattices to store and propagate cluster configuration in most cases, but we still use semilattices in a few situations. When we do use semilattices, we use timestamps rather than vector clocks.

The https://github.com/rethinkdb/docs/blob/v2.1/0-about-rethinkdb/faq.md refers to useOutdated and "the upcoming release of RethinkDB (2.1)". These should be updated.

https://github.com/rethinkdb/docs/blob/v2.1/0-about-rethinkdb/limitations.md also refers to "the upcoming release of RethinkDB (2.1)".

https://github.com/rethinkdb/docs/blob/v2.1/0-about-rethinkdb/technical-comparison-tables.md should mention that we now support fully automatic failover too.


failed to open psvr device

I have compiled everything successfully on windows 10 but when i run simple.exe i get the following output:
OpenHMD version: 0.3.0
Error: OVRService failed to stop, please try running with Administrator rights
num devices: 5

device 0
  vendor:  Sony
  product: PSVR
  path:    0
  class:   HMD
  flags:   04
    null device:         no
    rotational tracking: yes
    positional tracking: no
    left controller:     no
    right controller:    no

... [some more default null devices here] ...

opening device: 0
[II] 054c:09af \\?\hid#vid_054c&pid_09af&mi_04#7&1c76c77b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}

[II] opening

... [listing some null devices here] ...

[EE] Could not open device with index: 0, check device permissions?
failed to open device: Could not open device with index: 0, check device permissions?

I'm running as administrator from power shell. But the same error happens whether i'm admin or not. Not sure if it's related at all.
Any ideas?
Thanks

Could this be the usb permissions?
I'm having good results in linux VR with PSVR
https://forums.x-plane.org/index.php?/forums/topic/157332-xplane-vr-on-linux/
Only "pull request" I would make is that PSVR version 1 needs a tweak to the code to stop excessive drifting

No its a bit more difficult.
Windows requires sending some information as raw usb calls where we normally would use hid calls, this due to the HID implementation not fully being implemented by the PSVR.
For Linux/Mac/BSD that seems to be fine, but Windows does not like it a lot.
Currently i am working on expanding our HIDAPI fork to be able to send bulk usb messages to handle these kind of edge cases.

Not quite, Linux will also not work with the PSVR if you try to use the in kernel hidraw driver. But if you are using hidapi-libusb it will work, because something in that code handles the faulty package (or more likely just accepts it).
In order word, the native HID drivers in both Linux and Windows drops packages making it unusable. Using the libusb base libhidapi to talk to the device works around that problem.

This is currently fixed with some HIDAPI additions for Windows allowing bulk transfer through usb.
Unfortunately I need to find some time to merge this into our hidapi master and expose the same functionality for the Linux, Mac and BSD backends.


Support for top-level await in ESModule

When the kysely.config.ts file contains top-level await or imports a file that has top-level await, and the package.json type field is set to module, running kysely migrate:make <migration name> errors-out with the following message

SyntaxError: await is only valid in async functions and the top level bodies of modules

In my case, this top-level await is used to fetch the database password from a secret manager.
Repro repository: https://github.com/DominicRoyStang/kysely-ctl-async-bug

Hey 👋
Thanks for raising this and providing a reproduction.

Try this preview build:
npm i https://pkg.pr.new/kysely-org/kysely-ctl@07e409c

Same. The new build works for me!

Should be resolved in https://github.com/kysely-org/kysely-ctl/releases/tag/v0.10.0.


/quests list not working

Hi.
I do use "translate subcommands" but for some reason /quests list dows not work in english. but i also doesnt work in german (quests liste) . It tells me command not found..

the german lang file must be so messed up. for example the help page (on /quests) tells me i can use /quests quit if i do so it recomends me to to / quests NULL ...

Have you tried regenerating the language file?

@FlyingPikachu i just. regenerated all lang files and the problem is still there.
/quests list doesnt work and /quests liste doesnt work
can you fix this pls?

Maybe its caused by this:
20:51:42 ERROR]: [Quests] The enchantment name 'Unbreaking' is invalid. Make sure quests.yml is UTF-8 encoded
[20:51:42 ERROR]: [Quests] The enchantment name 'DepthStrider' is invalid. Make sure quests.yml is UTF-8 encoded
[20:51:42 ERROR]: [Quests] The enchantment name 'Infinity' is invalid. Make sure quests.yml is UTF-8 encoded
[20:51:42 ERROR]: [Quests] The enchantment name 'Infinity' is invalid. Make sure quests.yml is UTF-8 encoded
[20:51:42 ERROR]: [Quests] name-TRIPWIRE_HOOK:amount-1:enchantment-Infinity 1:displayname-&9TardisKey inside items-to-deliver: inside Stage 3 of Quest Der Doktor is not formatted properly!
[20:51:42 ERROR]: [Quests] The enchantment name 'Infinity' is invalid. Make sure quests.yml is UTF-8 encoded
i will try to fix it and see if it works after

@FlyingPikachu i cant fix this error message. the file IS in UTF-8 and the enchentments seems to be ok actually. Any idea?

Weird: Now i reloaded quests and the errors about enchentments are gone.
But "/quests list" and "quests liste" still doesnt work when using the german language. so his is a bug for sure.

I’m currently at work and will be able to assist you in about an hour.

thx alot ;) its just the /quests list.
ignore the rest
cu later

What version of the plugin are you on? On 3.2.7, /quests liste worked just fine for me.

3.2.7 latest snapshot. did u try with german lang file?

Correct. This is the response I get:

what command?

/quests liste

weird. i do the same but i get "Unbekannter befehl...." (unknown command...)
from quests
and no errors in console.
can you try with quest-titles containing ÄÖü characters?

accept-timeout: 60
allow-command-questing: true
allow-command-quests-with-npcs: false
allow-quitting: true
ask-confirmation: true
convert-data-on-startup: false
generate-files-on-join: true
ignore-locked-quests: false
kill-delay: 600
language: de-DE
max-quests: 0
npc-effects:
enabled: true
new-quest: note
redo-quest: angry_villager
show-requirements: true
show-titles: true
translate-subcommands: false
use-compass: true
quester-blacklist:

UUID
UUID
UUID
debug-mode: false
show-npc-effects: true
npc-effect: note

@FlyingPikachu or do you wanna join my server so i can show u?

still there? :(

I see you have translate-subcommands set to false. Doing so means we should use /quests list (not liste). However, testing it like that still doesn't show any issues for me.
Could you upload or Pastebin your /lang/de-DE/strings.yml file?

sure just wait a moment

@FlyingPikachu
https://pastebin.com/1gF1p8fd

@FlyingPikachu found anything?

I just found /quests quit is not working aswell :S

Think I found the problem. I highly recommend backing up your quests.yml before using the following dev build. (There's a new feature in development which could break something, although unlikely.)
http://ci.ac3-servers.eu/job/Quests/285/

Think I found the problem. I highly recommend backing up your quests.yml before using the following dev build. (There's a new feature in development which could break something, although unlikely.)
http://ci.ac3-servers.eu/job/Quests/286/

works! thank you so much!

@FlyingPikachu But how can i set he redo delay in this version??


Analyzer incorrectly identifying 'always abstract' methods

When analyzing a class that uses both extends and with, a method defined in both will incorrectly identify if the super implementation is abstract.
The hint received:
[hint] The method 'method' is always abstract in the supertype. (test.dart, line 13, col 11)

The code:
main() {
  var thing = new Thing();

  thing.method();
}

class Thing extends ThingParent with ThingMixin {
  void method() {
    super.method();

    print('this method was also executed');
  }
}

abstract class ThingParent {
  void method() {
    print('this method was executed');
  }
}

abstract class ThingMixin {
  void method();
}

The output of executing test.dart:
this method was executed
this method was also executed

+1

https://codereview.chromium.org/2469643003/

add the mixin with AutomaticKeepAliveClientMixin to the state class then you can call the super.build(context);


Another server crash error

I get these kind of crashes 3 days on a row now.
Anyone got an idea what might be the cause?
http://mcmonkey.org/haste/22928

@GomaTerzu it looks like you're doing something with an inventory in an unloaded chunk? Most likely in an async thread, possibly in an "on server list ping" event?

I stopped using the "unique ping" counter in BlackCoyotes script and had no crash in 3 days now. I am using a bungeecord setting and the "on server ping" won't work with that. Maybe this caused the errors. You can close this if you have no clue if you can find a fix or not.

I had to delete my previous comment. It happened again at 2:40 am this night.
http://mcmonkey.org/paste/23025

@GomaTerzu Can you please post all scripts that use list ping events that you still have active?

Only this from BlackCoyote. I just overlooked that it of course still uses the event ..I only deactivated logging...
http://mcmonkey.org/denizen/repo/entry/58

I have to inform you, that I did not have a single crash for this reason in almost two weeks now. So the only thing I changed was remove blackcoyotes script and webizen.

;(


Error when registering commands

This is an awesome library! Thank you so much for your great work.
I am running into a small issue when trying to registar commands.
> tsc && node register.js

node:internal/modules/cjs/loader:1078
  throw err;
  ^

Error: Cannot find module '/register.js'
    at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)
    at Module._load (node:internal/modules/cjs/loader:920:27)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47 {
  code: 'MODULE_NOT_FOUND',
  requireStack: []
}

I followed the guide in the docs.
Thank you!

Hi! Sorry for the late reply.
Try to make tsconfig.json the same as the example for this problem.
Also add "type": "module", to package.json.
If that does not solve the problem, please let me know.


Quick Start Link Broken

Description
The quick start link does not resolve to the guide from here https://github.com/zopencommunity/meta?tab=readme-ov-file#installation-and-sample-usage
Severity
Sev 4 - Low
Expected Behavior
No response
Actual Behavior
No response
z/OS Version
No response
zopen package manager version
No response
Additional Information (Optional)
No response
Network or Security Configuration (Optional)
No response

Are you able to provide the associated link?

Sorry I had a copy/paste failure. The link is under here: https://github.com/zopencommunity/meta?tab=readme-ov-file#installation-and-sample-usage

Closed as part of commit https://github.com/zopencommunity/meta/commit/2b9516e4829105c969831ee32afab83cf10485e3


About nested chat messages query efficiency

Hi, I have a nested chat messages query, it need query out base by roomId, and the replied messages as well.
Currently as suggest by community, I have a worked version like this:
 Stream<List<DbMessageWithDbContactOrRoomMember>>
      getMessagesWithRoomMemberByRoomId(String roomId,
          {int perPage = 25, int pageNum = 0}) {
    // debugPrint("[dao] roomid: $roomId, perPage: $perPage, pageNum: $pageNum");
    final outerMessages = alias(messages, 'm');
    final replies = alias(messages, 'i');
    final selectReplies = selectOnly(replies)
      ..addColumns([
        FunctionCallExpression('json_group_array', [replies.id])
      ])
      ..where(replies.originalId.equalsExp(outerMessages.id));
    final replyIds = subqueryExpression<String>(selectReplies);
    final query = select(outerMessages).join([
      leftOuterJoin(
          roomMember,
          roomMember.id.equalsExp(outerMessages.fromId) &
              roomMember.roomId.equalsExp(outerMessages.roomId))
    ])
      // ..limit(perPage, offset: pageNum * perPage)
      ..limit((pageNum + 1) * perPage, offset: 0)
      ..addColumns([replyIds])
      ..where(outerMessages.roomId.equals(roomId))
      ..orderBy([
        OrderingTerm(
            expression: outerMessages.sendTime, mode: OrderingMode.desc)
      ]);
    return query.watch().map((rows) {
      final messageById = {
        for (final row in rows)
          row.read(outerMessages.id)!: row.readTable(outerMessages),
      };

      return rows.map((row) {
        final id = row.read(outerMessages.id)!;
        DbMessage dbMessage = messageById[id]!;
        final original = switch (dbMessage.originalId) {
          null => null,
          var id => messageById[id],
        };
        final childIds =
            (json.decode(row.read(replyIds)!) as List).cast<String>();
        DbMessageExtra dbMessageExtra = DbMessageExtra.fromDbMessage(
          dbMessage,
          // originalityMessage: null, repliedMessages: null
          originalityMessage: original != null
              ? DbMessageExtra.fromDbMessage(original,
                  repliedMessages: null, originalityMessage: null)
              : null,
          repliedMessages: [
            for (final childId in childIds)
              if (messageById.containsKey(childId))
                DbMessageExtra.fromDbMessage(messageById[childId]!,
                    repliedMessages: null, originalityMessage: null)
          ],
        );
        // print(dbMessageExtra);
        return DbMessageWithDbContactOrRoomMember(
          dbMessageExtra,
          roomMember: row.readTableOrNull(roomMember),
        );
      }).toList();
    });
  }

But currently I found it caused efficiency issue on my app when messages up to about 500 messages.
If message not too many, it's faster with a blink, but if messages more than about 500, need to load 1s.
However, i have using limited to 25 per query.
Can u guide me some way to make it faster? At least it won't takes too many time when limit to 25

Why did you comment out offset: pageNum * perPage? Isn't that required for pagination?
To the actual issue, nothing obvious stands out. Are you using foreign keys for originalId and roomId? Did you enable foreign keys with a pragma? That would generate some indexes which might make this query faster.
Alternatively, you could add an index on the originalId column to find replies more efficiently - but I don't know if that's the actual bottleneck. If you use the profiler from the DevTools, doe calls in the sqlite3 package stand out to be particularly slow? (if we spend a second on the query, it should be visible in the profiler)

@simolus3  the reason why I not using pageNation, but simple just query 20, 40, 60, 80 etc, because I can not judge whether the data was last batch, the UI side so complicated to judge, so simple query them all.
But this is not the question, since the laggy happen only first batch, which is only 25 element queried out.
I didn't using foregin key, the originalId is just a table field of messages, not foregin key design.
To be more specically:

the slow only happens when one room messages more than 500 so, if just 100-200 messgaes, it's fast and blink to query out;

Alternatively, you could add an index on the originalId column to find replies more efficiently

will this more faster?
I think roughly this code can work, but I wanna it be a little bit more faster,

the slow only happens when one room messages more than 500 so, if just 100-200 messgaes, it's fast and blink to query out;

This sounds like the runtime query might be quadratic with the amount of messages looked up. A missing index on originalId is one possible explanation for this, since for every message found, sqlite3 will have to iterate over all messages again just to check whether they are a response.
So you can try adding an index on originalId and see if it improves things. You can also pull the database file from the device and run the query locally (or use EXPLAIN) to see what sqlite3 is doing.

@simolus3 thank u sir.

A missing index on originalId is one possible explanation for this

Seems no index on originalId can caused repeatly query, make it quadratic.
Do u know how can I add such index in my table? Need to do migrate?

Also, I thought a little bit, this line could cause very serious repeated query, no matter what first batch I query, this will query through all data:
final selectReplies = selectOnly(replies)
..addColumns([
FunctionCallExpression('json_group_array', [replies.id])
])
..where(replies.originalId.equalsExp(outerMessages.id));

Do u know how can I add such index in my table?

Add a @TableIndex annotation to your Messages table class, like
@TableIndex(name: 'messages_original_id', columns: {#originalId})
class Messages extends Table {

Need to do migrate?

Yes, you need to increment the schema version and run m.create(messagesOriginalId) to create the index after adding it to the table.

Also, I thought a little bit, this line could cause very serious repeated query, no matter what first batch I query, this will query through all data:

Databases apply a bunch of optimizations to the query. When this subquery is executed, the outerMessages.id value is already known. So the database shouldn't have to go through all messages, just the one with a matching originalId. But since there is no index, it doesn't have a mechanism of just looking up matching messages. So my assumption is that, after adding an index, that part of the query will be much faster.
But it's important to know that this is just an assumption. To analyze seemingly slow queries, you need to run an EXPLAIN statement to see whether the assumptions about the missing index are actually true. The easiest way to do that is to use the sqlite3 command line tool on the database in the app.

@simolus3 Hi, I ended with created a new table which stores message_id and original_id (for current message replys and the messages replied to current message).
the speed is fast now.
However, my solution seems not same as yours. Possiably your solution maybe even more faster?

I don't think so, it's likely that your solution sped it up because sqlite3 will create indices automatically for foreign keys. So your solution is essentially the same as mine.


Adds pool to front-of-job-queue metrics

Changes proposed in this PR

adding pool name to the front-of-job-queue-mem and front-of-job-queue-cpus metrics

Why are we making these changes?
This is another PR in a series to incorporate pool into metrics where it makes sense to separate by pool.

This was taken care of in another PR


Keep running the check when one endpoint fails

What does this PR do?
Catch a broader exception when hitting the query data monitoring endpoint so that we don't stop the check if the endpoint isn't reachable.
Motivation
Sometimes the endpoint is expected to fail, for example when you have multiple pods in a k8s cluster and only some of them actually exposes the url configured with query_monitoring_url, so failure is expected.
Review checklist

[ ] PR has a meaningful title or PR has the no-changelog label attached
[ ] Feature or bugfix has tests
[ ] Git history is clean
[ ] If PR impacts documentation, docs team has been notified or an issue has been opened on the documentation repo

Additional notes
The logic was isolated in a class method to ease testing and make the code more readable.

Codecov Report

Merging #2638 into master will decrease coverage by 6.6%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2638      +/-   ##
==========================================
- Coverage    83.9%   77.29%   -6.61%
==========================================
  Files         644        7     -637
  Lines       36468      348   -36120
  Branches     4439       60    -4379
==========================================
- Hits        30597      269   -30328
+ Misses       4555       48    -4507
+ Partials     1316       31    -1285


Fix WebHook response headers (appear to be IDictionary<string, string[]>)

Long overdue but this LGTM after diving into watchers code base. Thank you @aochsner :+1:


Scottwhi sitemultiplier

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingAds/hotel-ads/release-notes.md
:white_check_mark:Succeeded

BingAds/hotel-service/reference.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Feature/initialize project

Hi there!! 🙌🙌
I'm sendig this pull request for you to please review my code! Thanks in advance for your feedback. 😎
For this feature, I have done the following:

[ ] Use Gitflow ✔
[ ] Install react ✔
[ ] Generate React components and generate the initial structure ✔
[ ] Add a form for input of new books ✔
[ ] Generate two paths using React Routes ✔
[ ] Add a Navbar to appear in each route ✔
[ ] Install PropTypes ✔
[ ] Add Readme file ✔

@tufoinnkuo10 Thanks for your feedback!


Sets cifmw_openshift_setup_kubeconfig for rdo crc-base jobs

This PR has:

[ ] Appropriate testing (molecule, python unit tests)
[ ] Appropriate documentation (README in the role, main README is up-to-date)

/approve

/lgtm


DEBUG: Atodorov/feature/csub 264+feature/csub 304

Codecov Report

Merging #769 (a97a4ca) into dev (a4d5c10) will decrease coverage by 0.72%.
The diff coverage is 94.87%.

@@            Coverage Diff             @@
##              dev     #769      +/-   ##
==========================================
- Coverage   79.97%   79.25%   -0.73%
==========================================
  Files          50       64      +14
  Lines       10056    10237     +181
==========================================
+ Hits         8042     8113      +71
- Misses       2014     2124     +110

Impacted Files
Coverage Δ

node/src/service/nonce_monitor.rs
0.00% <0.00%> (ø)

pallets/creditcoin/src/migrations/mod.rs
0.00% <0.00%> (ø)

pallets/creditcoin/src/ocw.rs
96.00% <ø> (-0.50%)
:arrow_down:

pallets/creditcoin/src/ocw/errors.rs
61.53% <0.00%> (-16.24%)
:arrow_down:

pallets/creditcoin/src/types.rs
92.17% <0.00%> (-2.49%)
:arrow_down:

pallets/task-scheduler/src/tasks/error.rs
0.00% <0.00%> (ø)

pallets/task-scheduler/src/tasks/macros.rs
0.00% <0.00%> (ø)

runtime/src/lib.rs
24.06% <66.66%> (+0.02%)
:arrow_up:

pallets/creditcoin/src/types/collect_coins.rs
79.66% <79.66%> (ø)

pallets/creditcoin/src/types/transfer.rs
91.66% <91.66%> (ø)

... and 35 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Fix Replace task always writing to file

The Replace task is always writing to file regardless whether any changes were made or not. This can bring the taskrunner into an inifinite loop if a replaced file is being watched.

thanks


EventHandlers content should have js coloring

Refs #16526
Event handler values should have javascript coloring. Currently it is colored as a string but all the js funcitonality is there. As a user would not expect this to work due to string coloring - thus it will be hard to find the nice intelli-sense support you have there

Not easy to implement as this would drag in a whole Java grammar. But not the original one, but one that uses HTML escaping rules.

Would have to go into the textmate grammar we use (https://github.com/textmate/html.tmbundle)

This issue was moved to textmate/html.tmbundle#50


Base build for meteor app

Build meteor app using demeteorizer
Install meteor and demeteorizer as dependencies
Create function findFile
Remove checking for npm test script

[ ] test locally
[ ] build RC image
[ ] test on staging

get-version had some errors in it that causes the build to fail. Currently have a PR open for this fix here.

Should all the files in the bin directory have executable permissions?

I have this image on the pc-image-builder with one manual change to get-version. Besides this, the build process completes. Once this PR gets merged and an updated version get's published, I can rebuild the image and complete my testing


implement touching edges for graph nodes

We should think about a way to implement a method getTouchingNodes() for an AbstractNode.
The behavior should be as follows:

for undirected graphs: return list of neighbor nodes
for directed graphs: return list of nodes touching the current node (nodes with in or outgoing edge to the node)

@cleberecht
After careful consideration and study of the Bonnici paper, I think this is the most elegant way towards resolving issue #82. I am not entirely sure whether this works, but its worth a try. If you find time, please implement this in a feature branch, forked from current version of development branch. You are more into the design of the core graph implementation than me. Then, I will give it a try to resolve issue #82.

Sorry I'm a bit late to the party.
Thank you for considering to fix #82. I will have a look at this.

I have added the requested method to the Graph interface getTouchingNodes(NodeType node) as default.
It is not possible to implement this on node level since implementations are not requred to hold references to their containing graph. Since getting touching nodes required traversal of edges of the graph, the method can only be implemented on a level where the edges are known in any case. Obviously, this has has a higher runtime than getting the actual neighbours for most implementations, so use this only if it is actually required.
Hope this helps :)

Thank you! Directed graph isomorphism should now be supported as of be54129 😍


retry 500 and 503 errors against kinesis

Fixes part of https://support.imply.io/hc/en-us/requests/5701
Description
We ran into an issue whereby a 500 when getting records from kinesis would cause the thread to stop until the end of taskDuration. This would cause our ingestion to fall behind. We filed a support ticket with AWS regarding the 500s and were basically told that those should be retried by the client and they should be expected in the normal operation of Kinesis. The same advice is echoed at https://aws.amazon.com/premiumsupport/knowledge-center/kinesis-data-stream-500-error/

The only change here is errors with status codes 500 and 503 are now considered retryable.

LGTM, thanks for the fix!

thanks @jon-wei , it looks like the code at https://github.com/apache/druid/blob/master/extensions-core/kinesis-indexing-service/src/main/java/org/apache/druid/indexing/kinesis/KinesisRecordSupplier.java#L802-L812 can also use the same treatment since it's also calling getRecords and it only retries ProvisionedThroughputExceededException, but all 500 and 503 errors should be retried there as well right? Should I put a fix to that in a follow up PR or attach it to this one?

@harshpreet93 Let's add that additional fix to this PR, since they're related

For the test coverage failures:

I think isServiceExceptionRecoverable has enough coverage
For the change in getSequenceNumber, it looks like we don't have any existing unit tests that cover the case where the record supplier throws an exception there, so it's up to you if you want to address that, I'm fine with merging this without, I can look into adding one later.

@jon-wei I'm fine with leaving it without unit test coverage for now

likely fixes #8615


Incomplete Documentation for Configuring Custom Metrics in Horizontal Pod Autoscaling (HPA)

Description:
The current documentation for setting up Horizontal Pod Autoscaling (HPA) with custom metrics lacks sufficient details and examples, making it difficult for users to implement. Expanding this section with more information and practical examples would be beneficial.
Location:

Page: HPA Walkthrough
Section: "Support for Custom Metrics"

Problem:

The steps for setting up HPA with custom metrics are not detailed enough.
Missing examples of creating and configuring the custom metrics API adapter.
Lack of troubleshooting tips for common errors encountered while implementing custom metrics (e.g., error messages or metric scraping issues).

Expected Solution:

Expand the existing documentation with a step-by-step guide to set up HPA using custom metrics.
Include a working example for configuring the custom metrics API adapter, along with sample YAML files.
Add a troubleshooting section for common errors or misconfigurations when working with custom metrics in HPA.
Link to any external tools or relevant repositories (e.g., Prometheus, custom metrics adapter setup) to provide additional resources.

Impact:
Improved clarity will help Kubernetes users more easily configure custom metrics in their autoscaling workflows, potentially reducing errors and support requests. This update would also make it easier for users new to Kubernetes HPA to understand how to leverage custom metrics.
Additional Information:

Kubernetes Version: v1.22
OS/Platform: Ubuntu 20.04
Tools in use: Prometheus, kube-metrics-adapter

/language en
/sig autoscaling

/assign


Node16

Hello,
Node 12 has been out of support since April 2022.
This generates a warning in the github actions.
Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: bcoe/conventional-release-labels
Could you update to version 16?
Thanks

Hi @bcoe and thanks for your repo!
I have this issue as well on my project. Sadly I'll have to opt out of this action if is not fixed before summer 😢

Node 20 now <3 I'm just hoping it keeps working and future runtimes don't bring any breaking changes at this point.


Provided journald.conf assumes /run/log/journal exists, often doesn't.

internal/buildscripts/packaging/fpm/etc/otel/collector/fluentd/conf.d/journald.conf
references /run/log/journal which actually may not always exist. This results in td-agent.log filling up errors.
2023-03-07 22:25:13 +0000 [warn]: #0 Systemd::JournalError: No such file or directory retrying in 1s
Issue seen on both Ubuntu 18.04 and AL2.

@mkohner-repay Please refer to the post-install configuration note in https://github.com/signalfx/splunk-otel-collector/blob/main/docs/getting-started/linux-installer.md#fluentd-configuration:

By default, Fluentd will be configured to collect log events from many popular services, like the systemd journal. Check the .conf files in this directory for the default configuration of the included sources. Note: The paths defined within these sources may need to be updated for the system or service.

Also, please see #516 for why we set the default path to /run/log/journal.

Closing as answered. Please reopen or comment if more work is required.


Private Registry

What happened?
Performed docker login to private , on premises docker registry then trying to initialize devspace
What did you expect to happen instead?
to succesfully allow registration to private docker registry
How can we reproduce the bug? (as minimally and precisely as possible)
devspace init --reconfigure
 ____              ____
|  _ \  _____   __/ ___| _ __   __ _  ___ ___
| | | |/ _ \ \ / /\___ \| '_ \ / _` |/ __/ _ \
| |_| |  __/\ V /  ___) | |_) | (_| | (_|  __/
|____/ \___| \_/  |____/| .__/ \__,_|\___\___|
                        |_|

? Which Kubernetes cluster do you want to use?
Use current kubectl context (no server-side component)
? Which namespace should the app run in? devspace
? How do you want to initialize this project?
Use the Dockerfile in ./Dockerfile
? Which registry do you want to push to? ('hub.docker.com' or URL) A.B.C:5000
X Sorry, your reply was invalid: Answer has to match pattern: ^[a-zA-Z0-9./-]{4,90}$
? Which image name do you want to push to? (A.B.C:5000/michalip/devspace)
During devspace dev I get the below response
The push refers to repository [docker.io/library/devspace]
27391a3bcbd4: Preparing
e6192b5f4642: Preparing
55d28d9718f1: Preparing
f450f57e2182: Preparing
8fa3d8cf28af: Preparing
68e6f5460b61: Waiting
183481e8e1d0: Waiting
ee854b6a598a: Waiting
d2cbb69f1406: Waiting
8d267010480f: Waiting
270f934787ed: Waiting
02571d034293: Waiting
[fatal]  Error building image: Error during image build: Error during image push: denied: requested access to the resource is denied
Local Environment:

Operating System: linux
Deployment method: kubectl apply

Kubernetes Cluster:

Cloud Provider: google K8s on premises
Kubernetes Version: [use kubectl version]

Anything else we need to know?
Not sure what values are expected because its not connecting to the private registry ...

/kind bug

Hi @michalip. Thanks for reporting this issue. The problem is related to the regex we use to check if the image you enter is correct. Unfortunately, the regex does not allow : within an image name but your registry needs : to specify the port. That should be an easy fix. We will release a new version with the fix very shortly.

Hi Lukas, thanks for checking this. I believe it will be beneficial to others using on premises clusters too


Unity + Parse + iOS NSURLErrorDomain error -1012

Hello!
I try to integrate parse into my iOS game.
When I try get info from DB I get exception
Exception: {"error":"The operation couldn’t be completed. (NSURLErrorDomain error -1012.)"}
Here is my code:
var query = ParseObject.GetQuery(ParseTableName).WhereEqualTo("DeviceId", SystemInfo.deviceUniqueIdentifier);
var res = query.FindAsync();
while (!res.IsCompleted)
yield return null;
if (res.IsFaulted)
{
print("Parse exception: " + res.Exception.Message);
foreach (var excep in res.Exception.InnerExceptions)
print("Exception: " + excep.Message);
yield break;
}
Does anybody know what is my problem?
Thanks!

Hi there. Thank you for your report.
The last time it happened to me was because I was using a combination of Unity 4.x + IL2CPP + running it on device + accessing HTTPS. Can you try updating your Unity into 5.x, preferably 5.2 and try to compile it without IL2CPP backend?
Thanks!

Hallucinogen:
I use Unity 5.2.3p2

Are you compiling using IL2CPP? What device are you using to test the game? Can you execute a simple save?
var obj = new ParseObject("SomeClass");
obj.SaveAsync();

I think I find out solution: I didn't create class in Parse console.
When I created, then error dissapear.

But now I have another problem: no data save to Parse. Only ObjectId, createdAt, updatedAt and ACL.
Any ideas?

Have you saved the data properly? Have the object that you said only have ObjectId, CreatedAt, UpdatedAt and ACL been saved properly? How did you verify that the object only contain those data? Try the following code:
var obj = new ParseObject("SomeClass");
obj["foo"] = "bar";
obj.SaveAsync().ContinueWith(_ => {
  var query = ....; // Do the query here
  return query.FindAsync();
}).Unwrap().ContinueWith(result => {
  // Print result.result here.
});

And FYI, if you save a field called fieldName in a ParseObject, you can access it by calling obj["fieldName"] - not obj.fieldName. This is stated in Parse documentation: https://parse.com/docs/unity/guide#objects-retrieving-objects

Hello, hallucinogen.
Thanks for reply!
This works fine:
var obj = new ParseObject ("SolitaireWithFriendsiOS");
obj ["foo"] = "bar";
obj.SaveAsync ().ContinueWith (t =>
{
print ("Result: " + t.IsCompleted);
});
This throws exception NSURLErrorDomain error -1012:
IEnumerator ParseSave()
{
var obj = new ParseObject ("SolitaireWithFriendsiOS");
obj ["foo"] = "bar";
var query = obj.SaveAsync ();
while (!query.IsCompleted)
	yield return null;

if (query.IsFaulted) {
	print ("Parse exception: " + query.Exception.Message);

	foreach (var excep in query.Exception.InnerExceptions)
		print ("Exception: " + excep.Message);
} else
	print ("RESULT: " + query.IsCompleted);

}

Not sure about this. Both essentially do the same thing (though your code is not actually doing query, but only saving).
NSURLErrorDomain error -1012 happens usually if there're internal WWW error from Unity. In my previous case it was because Unity couldn't handle HTTPS, but it was fixed in 5.2. I suggest to look around on the usage of Unity WWW using co-routine/generator function since it seems the code fails while executing a network request inside a co-routine.


CSGPolygon doesn't follows path properly

Godot version
3.x (edbfaa1d80716499e9f91515acceadec73800219)
System information
Windows 10
Issue description
Using a CSGPolygon with a Path does not nicely follow a path.
As shown by the line, the path should be straight, with a small curve, straight again, small curve, and straight again:

As shown in this screenshot, the mesh is properly subdivided, settings are also shown:

Steps to reproduce
Create a CSGPolygon node and a Path node
On the CSGPolygon node set the mode to Path, assign the path node, set the interval node to subdivide with a suitable interval, and set the path rotation to path follow
Create a path with the path node preferably with some bezier curves.
Minimal reproduction project
n/a

It's late and I'm stupid, the culprit was the default value for baked interpolation on the path. The default is 0.2 so I'm getting a baked point every 20cm, not enough precision for an object that is designed as 50cm x 50cm....
Maybe this default should be set to something more sensible but it's no biggy to change


Extension host terminated unexpectedly. Please reload the window to recover.

VSCode Version: 1.15.1
OS Version: windows 10

Steps to Reproduce:

install 64 bit VS Code
Open a file

Reproduces without extensions: Yes
having uninstalled and cleaned this system and registry and disabled extensions.. I am at a loss..
Extension host terminated unexpectedly. Please reload the window to recover.
e.doShow @ /C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:28
/C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:29 Extension host terminated unexpectedly. Code:<PHONE_NUMBER>  Signal:  null
t.onExit @ /C:/Program Files/Microsoft VS Code/resources/app/out/vs/workbench/workbench.main.js:29

@johnashu
The exit code<PHONE_NUMBER> is the Windows error code C0000005 or ACCESS_VIOLATION.
This unfortunately doesn't tell us a lot about the root cause of the crash, except that it happens in native code. At this time, we also don't have any easy way to extract the memory dump / crash data from an extension host process (@ramya-rao-a perhaps we could have a command line flag to enable this for such troubleshooting purposes?). To find out if this is a systematic problem, may I kindly ask you that you try out downloading the following zip versions of VS Code:

1.15.1 - 32 bit
1.15.1 - 64 bit
1.16.0-insider (30.08.2017) - 32 bit
1.16.0-insider (30.08.2017) - 64 bit

You can try launching them one at a time. Is it that in all cases the extension host crashes on startup? If the extension host process starts up successfully and crashes only after certain actions, have you found what those actions are?

@alexandrudima
I just checked again and I realised that when I opened code using
code --disable-extensions
I actually opened it with this command
code --disable-extensions
With extensions disabled it runs fine..
I will troubleshoot my extensions and create a new issue if I get stuck.
I will attempt to post the offender if I can successfully catch the problem extension
Thanks again!


How to force 1 page only to be rendered on mobile?

I want to make my flipbook a little bit more responsive. Kind of hard to do.
For mobile, ideally I'd want it to just render 1 page instead of two since it's too small if it renders two pages in a small width.

Looking for an answer for this as well.

 I was able to solve it!

I honestly have no idea how to make a smaller-scale example of this. But this is the rough code for this that does work.
Few things to note here that really made this w
ork:

I have a width and height from a state (this might not be necessary for your case but I wanted to have dynamic )

<div
  style={{ width: width! * 2, height: height }}
  className="relative bg-primary-100 pointer-events-auto border"
>
  <HTMLFlipBook
    key={`${width}-${height}-${isPortrait}`}
    style={{
      minHeight: 0,
     height: height,
   }}
   usePortrait={isPortrait}
   width={width!}
   height={height!}
   maxShadowOpacity={0.2}
   showCover
   onFlip={onPageFlip}
 >
   {renderedPages}
 </HTMLFlipBook>
</div>

   usePortrait={isPortrait}

Hey @Blankeos excellent implementation of react page flip, where can i find the full implementation of this library, is it possible for you to share your full code?

@Blankeos can you show entire code for this?


Not working with perspective

I noticed that perspective rotated elements seem to disappear 'inside' an element below them. It would seem they somehow need to be further away on the Z index or something? But there seems to be no workaround since there is no Z index.  The style code is:
transform: [{ perspective: 1000},{rotateY:'50deg'}],
Here is the element simple above an image background:

Here is same text with the same style code but now above a Linear Gradient element:

Its been cut in half because half of it is somehow inside the gradient.

+1 , too same
That plugin doesn't work with using transform based on rotate.

After added useAngle={true} worked.


tests: add test_backup_volume_list to make sure that listing volume does not fail even there are bad names in backups folder

test_backup_volume_list() make sure that instead of erroring the backup list should ignore the badly named files in backups folder.
longhorn/longhorn#1410

And remember to correct the commit name.

corrected the commit name


[FEAT]: More search engines

I am extremely grateful for creating such an excellent tool which enables me to utilize my local Large Language Models and explore the potential of agents. Given that Google is inaccessible for me due to certain reasons, could you consider adding more search engine options? For instance, this project offers a choice for Sogou Search Engine.

Is that the one specifically you would like to use? Is Serper.dev also unavailable for you? (2,500 free requests only)

We have the option to utilize the Yahoo search engine. I recall incorporating it as a secondary search engine in one of my projects, especially when I reached the limit of my free tier in the Google search engine.

Is that the one specifically you would like to use? Is Serper.dev also unavailable for you? (2,500 free requests only)

@Vinitrajputt @timothycarambat We commonly use search engines such as Bing, Baidu, and Sogou. However, like Yahoo and Google are inaccessible to us.

Then Bing could be a viable option. I will explore the possibility of integrating it into the project.

Thank you very much! I believe that using local LLMs for online question answering is a fantastic tool, which can effectively unleash the capabilities of 7B-level models.

Glean would be awesome - especially custom ones like mycustomgroup.glean.com :)

is there a way now to use Brave Search ?

https://github.com/ItzCrazyKns/Perplexica?tab=readme-ov-file#using-as-a-search-engine


Feature/kg 135 add swagger UI

added swagger ui, still not done

I have removed the unnecessary lines, now LGTM


Login - Validation

Incorrect username or password:
Password validation help text:
Use 8 or more characters with a mix of letters, numbers & symbols

Password invalid:

Confirm password don't match:

@tejash-jl @Renuka-S Please confirm if are having forgot password flow in Admin portal. For DIVOC usecase, its going to be "Request username/password from administrator"

[ ] To confirm the 'forgot password' flow


Interim WG Meeting request "series" with "add session" does not work

Describe the issue
We got a report from a WG Chair (Barry Leiba) that when he attempted to add a series of interim meetings the tool would not let him add a second session, so he added each meeting instance to the datatracker separately. I (Amy Vezza) tried to mock add a series of interims for a random WG and the add session button did not work for me either.
Thank you!
Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

What does it mean to have a second session in a series of interim meetings? That each day in the series there would be two sessions?

No. As the tool states "Use Series for a series of separate meetings, such as periodic interim calls."  From here:
https://datatracker.ietf.org/meeting/interim/request
if you choose "meeting type" as "series," fill in all the bits and pieces, and choose the "+ add session" button at the bottom, it should pop up with another session request so you can add the second interim meeting in the series - so for WGs like CBOR or CORE that do regular biweekly interims, it gives them a way to add them all - and this is conjecture - but I think the intent was to announce them with one announcement instead of six all at the same time. The most recent guidance for interim meetings has this as a bullet point:
"Recurring meetings may be scheduled together, with a single announcement."
However, it is ENTIRELY possible this sentence is a remnant from when interim meeting announcements were hand-crafted by the Secretariat when such a thing was normal, but holding a series of interim meetings was somewhat rare. The datatracker, with needing to create a space for meeting materials for each meeting and especially the integration with Meetecho makes announcing a series of six in one email a bit more complicated, maybe.


refactor: derive funcargs dbodor

The function used by derive does not always require additional arguments, so it would be nice to make the func_args argument optional. See e.g. here

I have one remarks. I don't think this should be called a hotfix. Hotfixes are for issues breaking functionality.

You're right. There was no issue for it yet, so I named the branch hotfix in lieu of a issue number, and then didnt change it for the PR. I did point it at dev on purpose.
I now called it a refactor, which I'm not sure is technically fully correct either, as it changes functionality slightly. But I think this is close enough.


Server crash

---- Minecraft Crash Report ----
// Everything's going to plan. No, really, that was supposed to happen.
Time: 7/20/20 11:11 AM
Description: Exception in server tick loop
java.lang.ClassCastException: E£( cannot be cast to co.aikar.timings.TimingHandl
at co.aikar.timings.TimingsManager.tick(TimingsManager.java:77)
at co.aikar.timings.FullServerTickHandler.stopTiming(FullServerTickHandler.java:51)
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:835)
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666)
at java.lang.Thread.run(Unknown Source)

Not appropriate place to report errors like this, but we do not support the environment you are running. You have some bad plugin causing this. So you need to remove any plugin that touches timings.


Use master branch of monasca-transform

Now that kubernetes metrics aggregation is now available and the late metrics
aggregation timing is merged to master we can simplify the docker image
generation to just use the master branch of monasca-transform.

This looks fine to me, thanks!
As an aside, if you're not opposed, I'd eventually like to port over some of the optimizations from our other Dockerfiles (e.g. layering optimizations, improved git checkouts, configuration from environment, etc) to this component (+spark) as well.


Show product overview in the popup dialog

When user click on the Quick View button on an item in the product list will show a popup contains overview information of the product.
Add an config option in the admin to enable or disable this feature

I will be working on this story.

@thiennn the page for product details is Modules\SimplCommerce.Module.Catalog\Views\Product\ProductDetail.cshtml, do you think to move it to shared view folder so we can reuse it with model window?

Sine this is only going to show product overview, I am assuming it has different content with product detail. I will get modal window works first and then let us review what information would be displayed in overview page.

Yes, it is a simplify version of product details. I think it should contain name, images, variants, short description, prices, add to cart button, add to wishlist, add to compare.

Pull request #561 created.

Working on SampleTheme


Defer verification of domain-specific config options for --cron

The --cron option supports the loading of domain-specific config files (via the DOMAINS_D option in the global config file), but all configuration options are verified before the domain-specific config file is loaded, meaning that an otherwise-valid configuration split across both the global and domain-specific config files raises an error. I first ran into this problem when I set a domain-specific WELLKNOWN path and no value for WELLKNOWN on a system where the default directory /var/www/dehydrated didn't exist, and the resulting behaviour felt counter-intuitive after I'd specifically requested a particular WELLKNOWN path for that domain:
# dehydrated --cron --keep-going
# INFO: Using main config file /etc/dehydrated/config
 + Creating chain cache directory /etc/dehydrated/chains
Processing domain.com with alternative names: a.domain.com b.domain.com
 + Creating new directory /etc/dehydrated/certs/domain.com ...
ERROR: WELLKNOWN directory doesn't exist, please create /var/www/dehydrated and set appropriate permissions.

This PR defers verification of options that may be included in domain-specific config files until after any domain-specific config file has been read.

Sorry for the really really really late response... Closing this for now as I'm currently rewriting major parts of dehydrated, turning it inside-out (checking certificates and their specific config first, contacting CA later on), which makes this unnecessary.


Rename files by number of download to save the sequence

due to the need to download a full play list, it will be difficult to know on your device which one is the first in row... I added a numeric prefix to the download name prior to make unique name.

Thanks, but it's just been implemented yesterday 😄

Yep i realized there is a conflict :)  happy to contribute anyway
On Sun, 15 Sep 2019, 12:55 Alexey Golub<EMAIL_ADDRESS>wrote:

Thanks, but it's just been implemented yesterday 😄
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Tyrrrz/YoutubeDownloader/pull/57?email_source=notifications&email_token=AC5EUUDAHVGBHN5ZMNNWWGTQJXZ6JA5CNFSM4IWZVCT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6XMLXQ#issuecomment-531547614,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC5EUUA3NUOKBEFGFWCMF5LQJXZ6JANCNFSM4IWZVCTQ
.


Bugfix: Must take polymorphic controls into consideration.

This made our code go bonkers, as we have several subtypes of Vertex and EdgeControl. We need subtyping, because we template them differently.

Thanks for an improvement!

Hello Alexander! Is any release due soon?

Had no plans but can do it a bit later. Would be nice if you'll remind me on weekend

Will do!

And thanks!

Ping! :)


Unable to create Provider (Typescript) : Invalid or unknown key

Describe the bug
I am trying to create a Provider for AzAPI using Pulumi Typescript SDK. I run into the following error when I try to create one with the following args:

clientId
clientSecret
environment
defaultLocation
subscriptionId
tenantId

Expected behavior
The provider should be created without any errors, as the args are correct according to the documentation here.
Actual behavior
However, I get the following errors:
    error: pulumi:providers:azapi resource 'azapi' has a problem: could not validate provider configuration: Invalid or unknown key. Examine values at 'azapi.clientId'.     error: pulumi:providers:azapi resource 'azapi' has a problem: could not validate provider configuration: Invalid or unknown key. Examine values at 'azapi.clientSecret'.     error: pulumi:providers:azapi resource 'azapi' has a problem: could not validate provider configuration: Invalid or unknown key. Examine values at 'azapi.defaultLocation'.     error: pulumi:providers:azapi resource 'azapi' has a problem: could not validate provider configuration: Invalid or unknown key. Examine values at 'azapi.environment'.     error: pulumi:providers:azapi resource 'azapi' has a problem: could not validate provider configuration: Invalid or unknown key. Examine values at 'azapi.subscriptionId'.     error: pulumi:providers:azapi resource 'azapi' has a problem: could not validate provider configuration: Invalid or unknown key. Examine values at 'azapi.tenantId'.

@MairaTariq16 thanks for reporting let me check on this.


Feature/Lists

This is a nested PR of the previous one, I'll review all the !important tags in a follow-up PR.


Return 400 for client errors and log stack traces for unhandled exceptions

WIP do not merge

Coverage decreased (-0.07%) to 86.69% when pulling 505b6c3f46b6b1af4ad7fb3b50669266ac384225 on lumberj:fix/log_errors into eca2fe934b7b4cec39923d7c480d6eac41e1ac92 on ripple:develop.

LGTM


Website text size got small sitewide

Bug Description
All the body text size in our website looks small, can we revert it back to what it use to be?
Steps to Reproduce
Steps to reproduce the behavior:
thenewboston.com
Expected behavior
Body font was 16px and 14px in leaderboard
Actual behavior
Everything looks either 14px or 12px.
OS and Browser
chrome

@thesanjeevsharma @angle943  did some investigation here 😟:
When inspecting through chrome, the :root style seems to not match with the global _font.scss values, since mostly our fonts utilises --font-size-regular, it became 14px instead of 16px:

ah realised what was the issue, it was because @thenewboston/ui package contains a font.css file which also sets the :root css for fonts. I believe what happen was the _font.scss file was loaded and parsed first before the font.css of @thenewboston/ui, which caused the latter to have a higher specificity 😧

Created a temporary solution which is to standardise the :root css in the @thenewboston/ui repo. However, this might not be the best solution as when one side changes, we will need to standardise with the other to prevent conflict.
A better solution may be just to make the @thenewboston/ui css local to itself.

@angle943 can you take a look at this issue? it may affect the App wide UI update


changing queue_size has no effect for the riak-repl realtime queue [JIRA: RIAK-1799]

Our app.config has the new value (1 GB):
root@riak-1:~# grep queue /etc/riak/app.config
{queue_size,<PHONE_NUMBER>}
But after a restart, the riak-repl status still shows the default (100 MB):
root@riak-1:~# riak-repl status | grep max_bytes
{max_bytes,104857600},

we found the following versions to be affected: 1.4.12+ and 2.0.5+

I believe the setting you need is rtq_max_bytes under riak_repl.
You can also 'do it live' with riak_repl_rtq:set_max_bytes(1073741824), but that won't survive a restart (or process crash).
In future, we should probably make JIRA file RiakEE issues against https://github.com/basho/riak_ee-issues.

@jonmeredith Thanks for! I was the one asking @cipy for help in this case :wink:
Just wanted to let you know that setting it live via riak attach does not seem to work with 1.4.12:
riak_repl_rtq:set_max_bytes(1073741824).
** exception error: undefined function riak_repl_rtq:set_max_bytes/1

However, I am happy that setting rtq_max_bytes works via app.config.

Apologies, got the wrong module... the price of rolling upgrade compatibility. riak_repl2_rtq:set_max_bytes(1073741824)

I understand this thread is very old, do anyone know how to do this in riak 2.2. It fails with,  ```[riak_repl2_rtq,{set_max_bytes,1073741824},infinity]}}
in function  gen_server:call/3 (gen_server.erl, line 188)``


CI JS

https://github.com/nim-lang/fusion/issues/63#issue-777521718

@juancarlospaco how about this:
in fusion.nimble:
  exec "nim c -r src/fusion/docutils " & srcDir
=>
  exec "nim c -r src/fusion/docutils " & srcDir & " --outdir:htmldocs_js -d:fusionJsDocs"
  exec "nim c -r src/fusion/docutils " & srcDir & " --outdir:htmldocs"

and then handle when defined(fusionJsDocs) properly in docutils.nim
=> then we end up with 2 top-level dirs for docs:
a js-only one
a regular backend-only one

@juancarlospaco how about this:
in fusion.nimble:
  exec "nim c -r src/fusion/docutils " & srcDir
=>
  exec "nim c -r src/fusion/docutils " & srcDir & " --outdir:htmldocs_js -d:fusionJsDocs"
  exec "nim c -r src/fusion/docutils " & srcDir & " --outdir:htmldocs"

and then handle when defined(fusionJsDocs) properly in docutils.nim
=> then we end up with 2 top-level dirs for docs:
a js-only one
a regular backend-only one

--styleCheck:error  can not be for now,
because theres stuff with broken style on Nim main repo on /lib/js/jsffi.nim and std/private/*.nim.

--styleCheck:error  can not be for now,
because theres stuff with broken style on Nim main repo on /lib/js/jsffi.nim and std/private/*.nim.

because theres stuff with broken style on Nim main repo on /lib/js/jsffi.nim and /lib/std/private/*.nim.

I see, you're hitting https://github.com/nim-lang/Nim/issues/10201

theres stuff with broken style on Nim main repo

=> https://github.com/timotheecour/Nim/issues/64#issuecomment-753691214

because theres stuff with broken style on Nim main repo on /lib/js/jsffi.nim and /lib/std/private/*.nim.

I see, you're hitting https://github.com/nim-lang/Nim/issues/10201

theres stuff with broken style on Nim main repo

=> https://github.com/timotheecour/Nim/issues/64#issuecomment-753691214

Can not reproduce, also works on the CI.

Can not reproduce, also works on the CI.

@juancarlospaco
as i predicted in https://github.com/nim-lang/fusion/pull/64#discussion_r551053905, passing explicitly -d:js is incorrect.
reduced case for the error i had in https://github.com/nim-lang/fusion/pull/64#discussion_r551068377 with nimble docs:
echo "discard" > z03.nim
XDG_CONFIG_HOME= nim doc -b:js -d:js z03.nim
/Users/timothee/git_clone/nim/Nim_devel/lib/system/jssys.nim(54, 1) Error: redefinition of 'getCurrentException'; previous declaration here: /Users/timothee/git_clone/nim/Nim_devel/lib/system.nim(2386, 8)
devel a0134671eeed3cfac1e9035568cbdec41825da8d: error
1.4.0: no error (might explain why you didn't get an error)
I'm not sure why CI doesn't show an error here (maybe another bug that hides this bug; we should investigate whether fusion CI actually also runs on latest nim devel instead of a cached version or a nightly), but the fix here is:
exec "nim c -r -d:fusionDocJs src/fusion/docutils " & srcDir & " -d:js -d:fusionDocJs"
=>
exec "nim c -r -d:fusionDocJs src/fusion/docutils " & srcDir

@juancarlospaco
as i predicted in https://github.com/nim-lang/fusion/pull/64#discussion_r551053905, passing explicitly -d:js is incorrect.
reduced case for the error i had in https://github.com/nim-lang/fusion/pull/64#discussion_r551068377 with nimble docs:
echo "discard" > z03.nim
XDG_CONFIG_HOME= nim doc -b:js -d:js z03.nim
/Users/timothee/git_clone/nim/Nim_devel/lib/system/jssys.nim(54, 1) Error: redefinition of 'getCurrentException'; previous declaration here: /Users/timothee/git_clone/nim/Nim_devel/lib/system.nim(2386, 8)
devel a0134671eeed3cfac1e9035568cbdec41825da8d: error
1.4.0: no error (might explain why you didn't get an error)
I'm not sure why CI doesn't show an error here (maybe another bug that hides this bug; we should investigate whether fusion CI actually also runs on latest nim devel instead of a cached version or a nightly), but the fix here is:
exec "nim c -r -d:fusionDocJs src/fusion/docutils " & srcDir & " -d:js -d:fusionDocJs"
=>
exec "nim c -r -d:fusionDocJs src/fusion/docutils " & srcDir

I can revert tests/tmatching.nim but CI wont be green, you literally passed the code to workaround it. :shrug:

I can revert tests/tmatching.nim but CI wont be green, you literally passed the code to workaround it. :shrug:

but CI wont be green

but I'm trying to understand why is CI green currently (before your PR) ?

but CI wont be green

but I'm trying to understand why is CI green currently (before your PR) ?

You already seen the test that wont pass with specific versions, etc.
I am just trying to make it more strict, cover JS too, even tried to enforce style.
:)

You already seen the test that wont pass with specific versions, etc.
I am just trying to make it more strict, cover JS too, even tried to enforce style.
:)

feel free to close it.

your PR is good, I'm just trying to understand that specific point; I'll do some experiments in https://github.com/nim-lang/fusion/pull/66 to understand what's going on with tests/tmatching.nim

feel free to close it.

your PR is good, I'm just trying to understand that specific point; I'll do some experiments in https://github.com/nim-lang/fusion/pull/66 to understand what's going on with tests/tmatching.nim

indeed, I was right to be suspicious about the changes to tests/tmatching.nim; see https://github.com/nim-lang/fusion/issues/68 and https://github.com/nim-lang/fusion/pull/67; they shouldn't be needed
(some changes that fix style are ok though)

indeed, I was right to be suspicious about the changes to tests/tmatching.nim; see https://github.com/nim-lang/fusion/issues/68 and https://github.com/nim-lang/fusion/pull/67; they shouldn't be needed
(some changes that fix style are ok though)

@timotheecour ping. Also https://github.com/nim-lang/Nim/pull/16630#issuecomment-756668463

@timotheecour ping. Also https://github.com/nim-lang/Nim/pull/16630#issuecomment-756668463


Support GET-only HTTP servers for image sources

Some HTTP services, notably GitHub Releases, do not support HEAD requests to their endpoints.
terraform-provider-libvirt will thus fail on something along the lines of:
resource "libvirt_volume" "centos7_volume" {
  name = "centos7"
  source = "https://github.com/moio/sumaform-images/releases/download/4.0.0/centos7.qcow2"
}

With:
libvirt_volume.centos7_volume: Error accessing remote resource: https://github.com/moio/sumaform-images/releases/download/4.0.0/centos7.qcow2 - 403 Forbidden

I observed this phenomenon in sumaform when trying to use images built with Packer in CircleCI (sumaform-images project).
This PR removes the assumption a HEAD request will succeed. If it doesn't, it will defer getting the Content-Length we need for the libvirt volume definition at GET time.
Test code has been adapted too, namely, the internal Web Server also sets Content-Length now.

Oooh how much more I like my patch now!
Thank you very much @wking!

For curiosity how @wking helped here? :) i am walking at moment i will merge all pr after including the wking one. Thx for prs

@MalloZup https://github.com/dmacvicar/terraform-provider-libvirt/pull/472#discussion_r232153699


Crash after monitor wake up

Regression?
Yes
System Info and Version
❯ hyprctl systeminfo
Hyprland, built from branch  at commit b03f41efec14273cf25c42d4cef326acc36cb319  ().
Date: 2024-07-09
Tag: , commits: b03f41efec14273cf25c42d4cef326acc36cb319

flags: (if any)

GPU information:
0a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT/7900 XTX/7900M] [1002:744c] (rev c8) (prog-if 00 [VGA controller])

Description
Hyprland crashes after waking up monitor.
How to reproduce

lock screen (using hyprlock)
disable monitor with dpms
wake monitor

It doesn't always happen but the backtrace is always the same, crashes on CKeybindManager::pinActive.
Crash reports, logs, images, videos
hyprlandCrashReport28369.txt

I have no clue why pin active is being called in the first place.


[api-server] fix typings, update dependencies

What's new

Fix typing issues, reduce use of casting.
Update rxpy (now called reactivex) to improve typings
Update fastapi to fix some typings

tortoise-orm and pydantic are pretty outdated as well. We should look into updating them soon.
Self-checks

[ ] I have prototyped this new feature (if necessary) on Figma
[ ] I'm familiar with and follow this Typescript guideline
[ ] I added unit-tests for new components
[ ] I tried testing edge cases
[ ] I tested the behavior of the components that interact with the backend, with an e2e test

Discussion

Moving forwards, should we be avoiding any use of typing (where possible), and try to stick to python's base types?

Yeah in general we should aim for that, but in practice it may be hard so I think it's not something that we need to enforce.

I did notice that the door and lift app is broken now, probably due to model changes. You can check by navigating to localhost:3000/robots

Thanks for pointing out, I will look into it.

I did notice that the door and lift app is broken now, probably due to model changes. You can check by navigating to localhost:3000/robots

Should be fixed now.


Fix erppeek version

To avoid:
Traceback (most recent call last):
  File "/home/erp/src/erp/server/bin/osv/osv.py", line 58, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/home/erp/src/erp/server/bin/osv/osv.py", line 132, in execute
    netsvc.SERVICES[service_name].close()
  File "/home/erp/lib/python2.7/site-packages/erppeek_wst.py", line 51, in close
    self._close(self.transaction_id)
TypeError: close() takes exactly 1 argument (5 given)

Related to #3


Cancelling subscriptions - additional scenarios/questions

Additional questions with regards to cancelling of subscriptions would be:
1 What if a cancelled subscription affects only a part of the resources of one capacity? Assume that there are 1x P1 and 1xP2 subscriptions (24 v-cores in total) and one premium capacity assigned with 16 V-cores (P2), additional 8 v-cores are free. What happens if the P2 subscription gets cancelled?
2. Is it possible to purchase a new premium subscription within 30 days to "re-activate" the expired capacity (any manual re-assignment of cores of the expired capacity needed?)
3. Is it possible to downsize other existing premium capacities (reduce the v-core/capacity SKUs) to free up v-cores?
4. If you have multiple premium licenses/subscriptions and multiple premium capacities set-up and only a part of the premium subscriptions are cancelled that only a part of the existing capacities would be covered by the remaining number of v-cores, how does Power BI decide which of the capacities to "deactivate"? Are premium capacities that are "out of licenses/v-cores" somehow marked/shown in the Admin portal/capacity settings?

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

ID: 4c351d62-f45d-908e-bbc5-bc9bdcbe8372
Version Independent ID: e6f1968c-a72b-7f79-9105-6d685e099af5
Content: How to purchase Power BI Premium - Power BI
Content Source: powerbi-docs/service-admin-premium-purchase.md
Service: powerbi
Sub-service: powerbi-admin
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment, @mpoeckl . This issue has been assigned to the doc author for review.

Old issue and article has been heavily updated. Closing.


Theme widget missing

On 1.4.1 RC, whilst editing the home folder, the theme widget mentioned in the documentation is missing. However, you can type a filename in and add it in order to create a new theme in your chosen location.

Can you be more specific? Looking at http://callimachusproject.org/docs/1.4/getting-started-with-callimachus.docbook?view it only says "Click the widget below Layout", which is the drop-down/input box below the label and is present.

Sorry - my misunderstanding. Of course the drop-down is a widget but I was looking for something like the icon beside authentication and credentials.

What change to the documentation would you suggest?

It might be worth avoiding the generic term "widget" and saying "drop-down" or "selector" since that is what it appears to be on first sight. The additional features of the widget are only exposed when you continue with the instructions.


Purge not working with Nginx 1.6.2

I have integrated the module with Nginx 1.6.2 in this project.
I build the project with this helper command:
./bin/build-container.sh

I start the container with Nginx inside with this helper command:
./bin/run-container.sh

Then I add the file into the cache with:
$ curl -i localhost:8080/test
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Thu, 02 Apr 2015 14:53:57 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 65
Connection: keep-alive
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Cache-Status: MISS

Current Time Is

2015.02.04 14:53:57

/test

After requesting it next time I see it's inside the cache (X-Cache-Status: HIT):
$ curl -i localhost:8080/test
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Thu, 02 Apr 2015 14:54:54 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 65
Connection: keep-alive
X-Xss-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Cache-Status: HIT

Current Time Is

2015.02.04 14:53:57

/test

When I try to purge it I get a 404:
$ curl -i -XPURGE localhost:8080/test
HTTP/1.1 404 Not Found
Server: nginx/1.6.2
Date: Thu, 02 Apr 2015 14:56:17 GMT
Content-Type: text/html
Content-Length: 168
Connection: keep-alive

<title>404 Not Found</title>

404 Not Found

nginx/1.6.2

Also the second way to purge doesn't work:
$ docker exec nginx-cache-example curl -i localhost/purge/test
HTTP/1.1 404 Not Found
Server: nginx/1.6.2
Date: Thu, 02 Apr 2015 14:57:47 GMT
Content-Type: text/html
Content-Length: 168
Connection: keep-alive

<title>404 Not Found</title>

404 Not Found

nginx/1.6.2

Here is the nginx.conf which I use.

I was also able to pass the provided tests. Below is are instructions how I approached it.
Login to the container:
docker exec -it nginx-cache-example bash

Create required symlink:
ln -s /usr/bin/cpan /usr/bin/cpanm

Install required libraries - test-nginx:
git clone https://github.com/openresty/test-nginx.git /tmp/nginx-installation/test-nginx
cd /tmp/nginx-installation/test-nginx
perl Makefile.PL
make
make install

Install required libraries - test-base-pm:
git clone https://github.com/ingydotnet/test-base-pm.git /tmp/nginx-installation/test-base-pm
cd /tmp/nginx-installation/test-base-pm
cpan Zilla::Dist
make install

Install required libraries - Spiffy (this takes some time):
cpan Spiffy

I then run the tests which pass without any iussues:
cd /tmp/nginx-installation/ngx_cache_purge-2.3
prove

The issue is with the $proxy_host variable, which is empty at the time cache purge runs.
Do you have any real reason for using it instead of the $host variable?

Hi Piotrek. Thanks for the quick feedback! I will use the $host variable.


Change config & Dockerfile to use Dogecoin software

Fixes # .
Searched coinbase/rosetta-bitcoin and replaced with rosetta-dogecoin/rosetta-dogecoin in several files.
Instead of building from source and copying binary in Dockerfile, added extraction of dogecoin-1.14.3-x86_64-linux-gnu.tar.gz to app/rosetta-dogecoin.
Open questions
Wondering if packages downloaded on line 69 in Dockerfile are necessary since we are not building from source?

Definitely will make those changes, should I close this and open a new PR or revert my local, fix the Dockerfile, commit and push?

I'm not sure why but the new line at EOF of Dockerfile is not being pushed.  I reverted back to the last commit for the PR you approved, merged with upstream and then just added my changes to the Dockerfile.  Hopefully this one works.

Just realized I did not do any work within the assets folder to reflect dogecoin.

docker run -d --rm --ulimit "nofile=10000:10000" -v "$(pwd)/dogecoin-data:/data" -e "MODE=OFFLINE" -e "NETWORK=TESTNET" -e "PORT=8080" -p 8080:8080 rosetta-dogecoin:latest

Just to clarify for those wanting to replicate either clone my repo or copy my Docker, replace dogecoin-data with bitcoin-data above.  I wanted to ask if this is a good idea or is this unnecessary?
I would have to add dogecoin-data to .gitignore and .dockerignore
Outside of that I got it running kind of!


DBZ-7878 Add test for GIS types during snapshot

related to: https://issues.redhat.com/browse/DBZ-7878

@mfvitale Applied, thanks