text:
Chromecast ultra problem

Im just setting up a Chromecast ultra. It's registered at Google Dev and multicast can see it and adopt it. Even preview channel on it works. But it's not sending anything the the Chromecast. Is there anything special about the 4k because when I tested it with a normal Chromecast V3 it worked fine.

might be a selfconflicting problem.... logged in remote from home and could see I had messed up the network interface of my virtual server, so it had incorrect internet access. Will test it tomorrow to see if this fixed the problem.
Will close issue if it fixed it.
though strange the multicast server could see the chromecast as "registered" if it hadnt internet?

i dont get it....
I can ping it,
I can cast to it from my phone,
I can see it in multicast server,
When I click preview I can see the channel preview,
but it wont send the channel to the chromecast.
any good ideas?

is the channel defined via an IP or via a dns name? I've had difficulty getting greenscreen (the old version of this project) to work as the chromecast defaults to google dns. You can get it working via dns, but it's simpler to define channels via IP if it's a local webserver. Or are you having trouble getting multicast to takeover the chromecast altogether? might be an issue with the appid you registered being defined by a dns name that doesn't externally resolve (same issue, different layer).

the channel is defined via ip. The firewall rules are those only for the server or are they for the router?

The firewall rules should be applied to the server running Multicast (so the Ubuntu VM in your case).
If it's working correctly at home and not at work, you're likely running into some issues with your work's network configuration - these are the hardest to diagnose and the worst to debug since they're so specific to your exact network setup.
If you're running Multicast from within a VM, maybe try playing around with other network modes? The Chromecast needs to be able to interface with your Multicast instance directly, and it may be blocked from doing so if the ports aren't correctly forwarding from your VM host to the VM itself.

Thx for clarifying that it comunicates directly in the lan network with the client. Then I know where to tweak my office network.

Finally got i sorted, sort of.....
Retried at home, and suddenly it didnt work.
Removed the mongodb, and reinstalled.
And removed the "application id" and readded it at google dev.
Reinstalled multicast, and reconfigured it.
Rebooted a few times
Rebooted after adding chromecasts, and then it worked again.
Back to my workplace and tried the same thing and after some struggle it worked too.
So it was not a firewall problem.

authors: LBegnaud superhawk610 thomasvjohansen


text:
[Ant.Button] - Disabled button depends on User Agent styles for greyish background color and text color

Disabled buttons are currently depending on default UA styles to provide the disabled button with a greyish background color.

Desired Outcome

Explicitly specify a background color for disabled buttons
Explicitly specify a font color for disabled buttons

Another example:

https://ellie-app.com/bMqTZfWWvhha1

source: gharchive/issue

repo: supermacro/elm-antd

license: MIT

license_type: permissive

license_source: github-api


text:
🛑 Node - jp6 is down

In 4ed806d, Node - jp6 (http://jp6.yalaso.top/api/v1/ping) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Node - jp6 is back up in f65807a.

repo: superrr-vpn/status


text:
Decimal place and separator

Hi,
thanks for this nice plugin. A small notation issue, which made much irritation on my side:
In the overview how much energy/co2 I produced, in my case, its written:
1.547 kWh
3.636 km of car drive
As a german I am used to have , as decimal seperator and . as thousands seperator. Therefore my first thought was: What the hell, nearly 4 thousand km of car drive???
My suggestion for this issue is:

the nice way of course would be a "translation" into local seperators, and maybe at the same time also a language translation
the quick fix: do not write so many decimal places. just write 1.5 kWh instead of 1.547 and 3.6 km. This would make it directly clear that this is NOT a decimal seperator and furthermore it is more realistic as you probably can not measure the kWh and the km with such a high precision, which would justify so many decimal places.

Thank you for the time you put into this project!
twain

Thank you for your feedback.
Interesting.
But we will need to manage values under 0.1
For example 0.001 can not be rounded to 0.1.
I will give a look.
If you want to contribute to the german version, you can create a de/messages.json based on this file https://github.com/supertanuki/Carbonalyser/blob/master/_locales/en/messages.json

I would love to contribute more but sadly I have no time right now.
I am curious, where do you need values with a precision of 0.001? I would doubt that it is possible to estimate the energy consumption with such a high precision. In the end the standard errors should be relative high, right?

repo: supertanuki/Carbonalyser


text:
🛑 SS - Dirty Paws is down

In cbb4d2f, SS - Dirty Paws (https://dirtypa.superwebpros.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: SS - Dirty Paws is back up in 7274b35 after 14 minutes.

repo: superwebpros/uptime


text:
Implement semver tags in CI/CD workflows

misc: refactor actions

Remove unused -dev workflows.
Rename files for better readability (respectfully)
Changes workflows so that: - Each PR will take the highest tag from git and increment a patch level, a runner id, and a -dev after it, so that no image can be the same. - To publish a new artifact, a new ~tag has to be pushed~ release must be created.

Closes #68

@fopina anything against these changes? I know it involves a lot changes that are hard to test but I tried summarizing the ideas in the PR description.

I think the initial workflows were a bit of a mess (sorry), I don't have anything against trying to improve them 👌

All right. Merging this one, replicating across the other projects (where it makes sense) over the course of the next weeks. Cheers both.

source: gharchive/pull-request

authors: fopina gsilvapt

repo: surface-security/surface


text:
Feat/add repair for commit log

Description
This PR adds a repair method to recover from the corruption of the commit log due to checksum errors or partial writes failure.

Thank you for your valuable comments and review @emmanuel-keller @mumoshu @phughk !

repo: surrealdb/surrealkv


text:
Nested matrixdynamic functionality

Hello. I would like to ask how to implement (or mimic) a nested matrixdynamic behaviour. Basically, for each row I would like to select an option from a dropdown and to add few other options by inserting more rows into the parent row.

Select a location
Select a supermarket
How often do you visit it ?

One neghbourhood
MonsterMart
Daily

Farmer's stall
Once a week

Add supermarket

Add location

Current solution may be the following:

Select a location
Select a supermarket
How often do you visit it ?

One neghbourhood
MonsterMart
Daily

One neghbourhood
Farmer's stall
Once a week

Add row

The issue with this approach is that you have to choose the same location for each supermarket, which takes a question much longer to complete. Also if you have another column for a department, for example, the question is even larger since you need to select same location and same supermarket for each department.
Is there another way to implement such behaviour using panels, maybe ? Or any other ideas ?
Thank you very much.

@Kuhax Unfortunately, there is no way to have the first variant. An end-user have to set the "Select a location".
I may add an event onMatrixDymanicRowAdded - it will allow you to set the "Select a location" column value into new added row, based on the previous entered row value, for example.
Thank you,
Andrew

@andrewtelnov, your proposal of onMatrixDynamicRowAdded event sounds good to me.

@Kuhax I've just added the event. Here is the example of using it:
    survey.onMatrixRowAdded.add(function(survey, options) {
        var q = options.question;
        var newValue = {};
        //from the previous row till the first one
        for(var i = q.rowCount - 2; i >= 0; i --) {
            var rowValue = q.getRowValue(i);
            //if the value in this row is set then
            if(rowValue && rowValue["col1"]) {
                newValue["col1"] = rowValue["col1"];
                //set the value into the last, just added row
                q.setRowValue(q.rowCount - 1, newValue);
                break;
            }
        }
    });

Thank you,
Andrew

@Kuhax You may be interesting in this new functionality:

There is no followup for a long time. I am closing the issue.

authors: Kuhax andrewtelnov

repo: surveyjs/surveyjs


text:
Mobile Friendly

USER STORY:   Mobile Friendly
URL: https://github.com/suwebdev/wats2020-fq15/wiki/User-Story:-Mobile-Friendly
SIZE: Medium
PRIORITY LEVEL:  High
HOW DOES THIS FIT IN THE PROJECT?:  We are designing with a mobile-first approach. This will prevent developers from having to go back and rewrite code for mobile.
WHY THIS SPRINT: To prevent duplicate work.

The site has bootstrap built in.  I will continue to look at code added each week to make sure the code we are adding is utilizing the asset, which will help us develop a  responsive, mobile first project. Ongoing.

license: mit

license_source: bigquery


text:
DAGMC build cmake command failure

Good evening,
I am trying to install the CUBIT-plugin in my Windows PC using WSL2 - Ubuntu 20.04 LTS. I reached until the DAGMC Build section after executing the cmake command I get this error:
CMake Error at cmake/DAGMC_macros.cmake:222 (add_library): Cannot find source file: /home/nikos/plugin-build/DAGMC/DAGMC/src/pyne/pyne.cpp.
I have thoroughly followed the instructions in the previous sections, any ideas on how to proceed?
Best,
Nikos.

Hello,
We have some ongoing change on the DAGMC repo we haven't updated the documentation for it yet...
Pyne has moved into a git submodules, and cmake should take care of this for you, but we now have python as a dependencies for building dagmc...
To help debuging your dagmc build I would need to get a look at your full cmake output...
if you are looking for prebuilt Svalinn plugin for Cubit, you can take a look at the release page: https://github.com/svalinn/Cubit-plugin/releases that contains binaries for the plugin for ubuntu 18.04 20.04 and Mac OS for Cubit 17.1, 2021.3-2021.5....
we also have a beta version of the plugin for native windows installation (direct installation on windows) available here: https://uwmadison.box.com/s/rvjexbdbktby03ibfkgfar3cwzl68vk6

Hello,
okay the full output I get after executing the cmake command is:
-- Submodule update

-- CMAKE_BUILD_TYPE: Release

-- MOAB_CMAKE_CONFIG: /home/nikos/plugin-build/moab/lib/cmake/MOAB/MOABConfig.cmake
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- HDF5_INCLUDE_DIRS: /usr/include/hdf5/serial
-- HDF5_LIBRARIES_SHARED: /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so
-- HDF5_LIBRARIES_STATIC:
-- MOAB_INCLUDE_DIRS: /home/nikos/plugin-build/moab/include;/usr/lib/x86_64-linux-gnu/hdf5/serial/include;/usr/lib/x86_64-linux-gnu/hdf5/serial;/usr/include/eigen3
-- MOAB_LIBRARY_DIRS: /home/nikos/plugin-build/moab/lib
-- MOAB_LIBRARIES_SHARED: /home/nikos/plugin-build/moab/lib/libMOAB.so
-- MOAB_LIBRARIES_STATIC:
-- Found MOAB
-- Found OpenMP_C: -fopenmp
-- Found OpenMP_CXX: -fopenmp
-- Found OpenMP: TRUE

-- Building shared executables
-- INSTALL_RPATH_DIRS: /home/nikos/plugin-build/DAGMC/lib
-- CMAKE_C_FLAGS:
-- CMAKE_CXX_FLAGS: -D_GLIBCXX_USE_CXX11_ABI=0
-- CMAKE_Fortran_FLAGS:
-- CMAKE_C_FLAGS_RELEASE: -O3 -DNDEBUG
-- CMAKE_CXX_FLAGS_RELEASE: -O3 -DNDEBUG
-- CMAKE_Fortran_FLAGS_RELEASE:
-- CMAKE_C_IMPLICIT_LINK_LIBRARIES:
-- CMAKE_CXX_IMPLICIT_LINK_LIBRARIES: stdc++
-- CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES:
-- CMAKE_EXE_LINKER_FLAGS:
-- Building gtest

-- Building library: dagmc
-- LINK LIBS: /home/nikos/plugin-build/moab/lib/libMOAB.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so
-- Building executable: pt_vol_test
-- Building executable: ray_fire_test
-- Building executable: test_geom
-- Building unit tests: dagmc_unit_tests
-- Building unit tests: dagmc_pointinvol_test
-- Building unit tests: dagmc_rayfire_test
-- Building unit tests: dagmc_simple_test

/home/nikos/plugin-build/DAGMC/DAGMC/src/pyne/amalgamate_pyne.sh: line 12: python: command not found
-- PyNE AMALGAMATION FAILED: 127
-- Building library: pyne_dagmc
-- LINK LIBS: /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/x86_64-linux-gnu/libpthread.so;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libm.so;/home/nikos/plugin-build/moab/lib/libMOAB.so

-- Building library: uwuw
-- LINK LIBS: dagmc-shared;pyne_dagmc-shared
-- Building executable: uwuw_preproc
-- Building unit tests: uwuw_unit_tests
-- Building unit tests: uwuw_unit_tests_tally
-- Building unit tests: uwuw_unit_tests_preprocessor

-- Building library: makeWatertight
-- LINK LIBS: dagmc-shared
-- Building executable: make_watertight
-- Building executable: check_watertight
-- Building unit tests: make_watertight_cylinder_tests
-- Building unit tests: make_watertight_cone_tests
-- Building unit tests: make_watertight_no_curve_sphere_tests
-- Building unit tests: make_watertight_sphere_n_box_test

-- Building executable: overlap_check
-- Building unit tests: overlap_check_test

-- DAGMC cmake config file: /home/nikos/plugin-build/DAGMC/lib/cmake/DAGMCConfig.cmake
-- DAGMC cmake version file: /home/nikos/plugin-build/DAGMC/lib/cmake/DAGMCConfigVersion.cmake

-- Configuring done
CMake Error at cmake/DAGMC_macros.cmake:222 (add_library):
  Cannot find source file:

    /home/nikos/plugin-build/DAGMC/DAGMC/src/pyne/pyne.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
  .hpp .hxx .in .txx
Call Stack (most recent call first):
  src/pyne/CMakeLists.txt:30 (dagmc_install_library)

CMake Error at cmake/DAGMC_macros.cmake:222 (add_library):
  No SOURCES given to target: pyne_dagmc-shared
Call Stack (most recent call first):
  src/pyne/CMakeLists.txt:30 (dagmc_install_library)

CMake Generate step failed.  Build files cannot be regenerated correctly.

In parallel I will proceed downloading the prebuild Svalinn Cubit-plugin you provided.
Note that I would like to import CAD files to cubit in order to produce .h5m files and then follow instructions in order to import the converted CAD geometry to FLUKA. In my understanding it is not sufficient to download Cubit from the official Coreform-cubit website because I failed to export a .h5m file following this links tutorial:
https://svalinn.github.io/DAGMC/usersguide/codes/fludag.html.
Last but not least, I have succesfully installed FluDAG so as far as I understand the only piece missing is the Cubit-plugin in order to perform the aforementioned conversions.
Best,
Nikos.

/home/nikos/plugin-build/DAGMC/DAGMC/src/pyne/amalgamate_pyne.sh: line 12: python: command not found
-- PyNE AMALGAMATION FAILED: 127
this is the root of your problem building the plugin: you need a python interpreter.

Nevertheless, I am not sure if building the plugin from source is the right solution. If you are using the pre-compiled version building is not necessary...
This is correct that you need to install the plugin in addition to the Coreform-Cubit, recent instruction can be found here:
https://github.com/svalinn/DAGMC/blob/develop/doc/install/plugin.rst

Thank you for pointing out the reason behind the build fail. So that means that I will have to install a precompiled cubit-plugin.
Just to clarify, I have installed the latest version of cubit (Coreform-Cubit-2021.5-Lin64.deb) from the official website (https://coreform.com/products/downloads/) and I have extracted the precompiled plugin package that corresponds to my Cubit installation version (available plugin options can be found here: https://uwmadison.app.box.com/s/rvjexbdbktby03ibfkgfar3cwzl68vk6) to the Coreform-Cubit installation directory.
How can I check that everything works? Also, I guess I can discard the ${HOME}/plugin-build directory now that the cubit dependency built was not completed, right?
Thanks,
Nikos.

Yes and no,
Yes for the install of Cubit and getting it form Coreform website.
But the plugin you'll need can be found here: https://github.com/svalinn/Cubit-plugin/releases
yes you an discard the plugin-build and the Cubit-plugin repo that you downloaded before...

the plugin you install need to match the version and platform you installed cubit for.
if you install the Cubit on native windows system you'll need to get the plugin from: https://uwmadison.box.com/s/rvjexbdbktby03ibfkgfar3cwzl68vk6
in you install cubit  Coreform-Cubit-2021.5-Lin64.deb in you WSL environment (basically linux) you will need to install a linux plugin you'll get from: https://github.com/svalinn/Cubit-plugin/releases

Thank you for your patience. After successfully installing Coreform-Cubit-2021.5-Lin64.deb and the corresponding linux plugin from the link you provided, I tried to run coreform_cubit and got the errors below:
`Error loading component:
libcoreformcae.ccg
Error loading component:
libcubitcomp.ccl
Error loading component:
libcubitcompgui.ccg
Error loading component:
libflexcomp.ccl
Error loading component:
libflexgui.ccg`
do those errors have to do with the plugin installation?

this looks like idependant of our plugin, have you try to run Cubit before installing the plugin ?

You are right those errors existed prior to the plugin installation, which is strange because I just followed these 4 commands listed in the official coreform-cubit website:
`Download the .deb file.
extract the collapsing-contents of the .deb file
ar vx Coreform-Cubit-202x.x-Lin64.deb
install the data files (the files will go into /opt)
sudo tar -zx --directory=/ -f data.tar.gz
extract the control files
tar zxvf control.tar.gz
setup the license manager and desktop shortcuts
sudo ./postinst`
for the installation and no errors occurred...
Furthermore even after the plugin installation the expected message:
Loaded Svalinn plugin. -- DAGMC export command available. -- iGeom_test command available. -- MCNP import command available. Journaled Command: undo on
does not appear. Should I proceed installing an older version of cubit along with its precompiled plugins for linux?

I am unfamiliar with those instructions but usually .deb linux package are installed using dpkg -I or apt-get install -y  (often preceded with sudo)

Standart installation instruction on linux. ( it is hidden in the Linux-specific issues section)
How to install Coreform Cubit using Linux commands.
Answer: You can install Coreform Cubit using the following teminal commands:
For Debian based Linux OS:
sudo dpkg -i ./Cubit-15.2.2-Lin64.deb
For Red Hat based Linux OS:
sudo rpm -ivh ./Cubit-15.2.2-Lin64.rpm````

Thank you @bam241 for the tip, Coreform-Cubit-2021.5 has been installed successfully and operates properly (no errors pop up when the coreform_cubit command is executed). I used this command:
tar -xf svalinn_plugin_windows_2021.5.tar -C /opt/Coreform-Cubit-2021.5
to extract the precompiled cubit plugin to the cubit installation directory. I am attaching a screenshot of the command window after executing coreform_cubit, the expected message doesn't appear...
Is another wat to check if everything is in place?
With appreciation,
Nikos.

Update: Managed to extract properly the precompiled plugins. I will create a different topic if I anything unexpected occurs with DAGMC in the next steps, thanks!

repo: svalinn/Cubit-plugin


text:
Follow guideline on line break

以下のガイドラインに従って修正します。
https://github.com/svelte-jp/svelte-site-jp/blob/950f973e4219500cb496041db205a55f1aa9aeac/CONTRIBUTING.md#L157
改行が原文と一致しているかを厳密にチェックすることは簡単ではなさそうだったので、取り急ぎ、ファイルの行数が原文と一致してるかだけはチェックできるようにスクリプトを試しに作ってみてこちらに置いておきました。
https://github.com/knj4484/svelte-site-jp/blob/add-script-to-check-number-of-line/scripts/check-line-number-match.sh
以下のように実行すると、行数が原文と一致しないファイルが出力されます
sh ./scripts/check-line-number-match.sh

これはとても助かります！
今すぐにこのスクリプトを動かせる環境にアクセスできないので、今日の夜スクリプトの確認をしますね！

@knj4484 すいません、最新の master を fetch してもらえればコンフリクト解消すると思います。

authors: knj4484 myLifeAsaDog tomoam

repo: svelte-jp/svelte-site-jp


text:
Option for tailwindcss while creating project

Describe the problem
It would be a nice addition to have an option where there is for prettier but for tailwindcss. Making many projects and then having to go through the process is slow and annoying. Similar to having to change the @sveltejs/adapter-auto to one you like. having these options in the 'create svelte' script would be awesome
Describe the proposed solution
As above
Alternatives considered
No response
Importance
would make my life easier
Additional Information
No response

You should be able to do this today using the community package svelte-add running the command npx svelte-add@latest tailwindcss: https://github.com/svelte-add/tailwindcss

This has come up a few times before, in #9806, #3025, maybe other places. Is our position on this changing?
I'd strongly advise against adding CSS framework X to the create-svelte CLI, because we will then get people asking for CSS framework Y.

This is true. but i mean having the convenience of it being an option when creating a svelte package. and @Conduitry you are totally right. if you think it would be unwise to ill close the issue

Perhaps instead we can point to svelte-add in create svelte? That way it's easier for people who don't know/forget about svelte add to start quickly, and we don't run into people asking for X & Y

That’s a good solution. What about having options in the create script for certain adapters. For me I always am using vercel so it would save me changing it each project?

Perhaps instead we can point to svelte-add in create svelte? That way it's easier for people who don't know/forget about svelte add to start quickly, and we don't run into people asking for X & Y

We already do link to svelte-add after the wizard complete:

Having adapter options in the create script would be a separate request, but I don't think it's something we'd want to add -- whatever options we add to create-svelte is one more thing people will need to interact with/understand before setting up a new Svelte project, so we want to keep it minimal.

i understand both points yes. shall i close this issue then?

We already do link to svelte-add after the wizard complete:

Oh amazing!

I understand both points yes. shall i close this issue then?

Yea we can close this for now :pray:

authors: Conduitry bobbymannino dummdidumm geoffrich ghostdevv

repo: sveltejs/kit


text:
Forcing Runes with compilerOptions.runes and ignore node_modules

Describe the problem
I would like to make sure my new projects use runes exclusively in my code that I control. However I would also like to be able to use 3rd party libraries (SuperForms) that has not upgraded to Svelte5 yet.
Describe the proposed solution
Update the compiler options to allow an ignoreNodeModules flag for runes.
Or it ignores by default?
Alternatives considered
No response
Importance
would make my life easier
Additional Information
This would be nice for the transition to Svelte 5.

I see that this was already discussed here:
https://github.com/sveltejs/svelte/issues/9632
And there is a solution. Closing...


text:
Allow for matchers inside route code

Describe the problem
The new route matching feature is very nice 👍, but I think it is a touch cumbersome to have to define the matching function in an external javascript file.  When I first read about them I thought I could do:
<script context="module">
   export function match(params) {
     return something.with(params)
  }
</script>

which obviously doesn't work 🙄
Describe the proposed solution
Allow the above ?
I guess this would require the compiler to inspect the route and add the matcher if it has a matcher.
Alternatives considered
No response
Importance
nice to have
Additional Information
No response

Having this in external files was a conscious decision to avoid issues with treeshaking. We want to download all matchers as part of the route manifest with the initial page load from the server, but we don't want to download other code from any of the pages until the user actually visits them. If the matcher lived in the component, there would always be the risk of the bundler not seeing something as treeshakable, resulting in a lot of code from various pages ending up in the JS for the initial page load.

authors: Conduitry stephane-vanraes


text:
feat: add option to recursively consider server dirs in $lib

Closes #12732
This PR adds a new config option kit.files.nestedServerDirs that, when enabled, considers any modules inside any $lib/**/server/** directory a server module, rather than just $lib/server/**.

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Edits

[x] Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.

Instead of adding an option, can we instead make this the default? Would that be considered a breaking change?

Instead of adding an option, can we instead make this the default? Would that be considered a breaking change?

Yes because if for some reason I'm importing a module on the client from /server/nested/module.ts it will fail with this

authors: eltigerchino paoloricciuti rChaoz


text:
fix: ensure optional routes with matchers and catch-all match correctly

This is a continuation of #9979. Fixes #9974.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

GitHub's UI sucks, so I can't actually make this suggestion in a useful way, but we should replace the added tests with this:
const simple_tests = [
    {
        route: '/blog/[[slug]]/sub[[param]]',
        path: '/blog/sub',
        expected: {}
    },
    {
        route: '/blog/[[slug]]/sub[[param]]',
        path: '/blog/slug/sub',
        expected: { slug: 'slug' }
    },
    {
        route: '/blog/[[slug]]/sub[[param]]',
        path: '/blog/slug/subparam',
        expected: { slug: 'slug', param: 'param' }
    },
    {
        route: '/blog/[[slug]]/sub[[param]]',
        path: '/blog/subparam',
        expected: { param: 'param' }
    },
    {
        route: '/[[slug]]/[...rest]',
        path: '/slug/rest/sub',
        expected: { slug: 'slug', rest: 'rest/sub' }
    },
    {
        route: '/[[slug]]/[...rest]',
        path: '/slug/rest',
        expected: { slug: 'slug', rest: 'rest' }
    },
    {
        route: '/[[slug]]/[...rest]',
        path: '/slug',
        expected: { slug: 'slug', rest: '' }
    },
    {
        route: '/[[slug]]/[...rest]',
        path: '/',
        expected: { rest: '' }
    },
    {
        route: '/[...rest]/path',
        path: '/rest/path',
        expected: { rest: 'rest' }
    },
    {
        route: '/[[slug1]]/[[slug2]]',
        path: '/slug1/slug2',
        expected: { slug1: 'slug1', slug2: 'slug2' }
    },
    {
        route: '/[[slug1]]/[[slug2]]',
        path: '/slug1',
        expected: { slug1: 'slug1' }
    },
    {
        route: '/[[slug1=matches]]',
        path: '/',
        expected: {}
    },
    {
        route: '/[[slug1=doesntmatch]]',
        path: '/',
        expected: {}
    },
    {
        route: '/[[slug1=matches]]/[[slug2=doesntmatch]]',
        path: '/foo',
        expected: { slug1: 'foo' }
    },
    {
        route: '/[[slug1=doesntmatch]]/[[slug2=doesntmatch]]',
        path: '/foo',
        expected: undefined
    },
    {
        route: '/[...slug1=matches]',
        path: '/',
        expected: { slug1: '' }
    },
    {
        route: '/[...slug1=doesntmatch]',
        path: '/',
        expected: undefined
    },
    {
        route: '/[[slug=doesntmatch]]/[...rest]',
        path: '/foo',
        expected: { rest: 'foo' }
    },
    {
        route: '/[[slug1=doesntmatch]]/[slug2]/[...rest]',
        path: '/foo/bar/baz',
        expected: { slug2: 'foo', rest: 'bar/baz' }
    },
    {
        route: '/[[slug1=doesntmatch]]/[slug2]/[...rest]/baz',
        path: '/foo/bar/baz',
        expected: { slug2: 'foo', rest: 'bar' }
    },
    {
        route: '/[[a=doesntmatch]]/[[b=doesntmatch]]/[[c=doesntmatch]]/[...d]',
        path: '/a/b/c/d',
        expected: { d: 'a/b/c/d' }
    },
    {
        route: '/[[a=doesntmatch]]/[b]/[...c]/[d]/e',
        path: '/foo/bar/baz/qux/e',
        expected: { b: 'foo', c: 'bar/baz', d: 'qux' }
    },
    {
        route: '/[[slug1=doesntmatch]]/[[slug2=doesntmatch]]/[...rest]',
        path: '/foo/bar/baz',
        expected: { rest: 'foo/bar/baz' }
    },
    {
        route: '/[[slug1=doesntmatch]]/[[slug2=matches]]/[[slug3=doesntmatch]]/[...rest].json',
        path: '/foo/bar/baz.json',
        expected: { slug2: 'foo', rest: 'bar/baz' }
    },
    {
        route: '/[[a=doesntmatch]]/[[b=matches]]/c',
        path: '/a/b/c',
        expected: undefined
    },
    {
        route: '/[[slug1=matches]]/[[slug2=matches]]/constant/[[slug3=matches]]',
        path: '/a/b/constant/c',
        expected: { slug1: 'a', slug2: 'b', slug3: 'c' }
    },
    {
        route: '/[[slug1=doesntmatch]]/[[slug2=matches]]/constant/[[slug3=matches]]',
        path: '/b/constant/c',
        expected: { slug2: 'b', slug3: 'c' }
    },
    {
        route: '/[[slug1=doesntmatch]]/[slug2=matches]/[slug3]',
        path: '/a/b/c',
        expected: undefined
    },
    {
        route: '/[[lang=doesntmatch]]/[asset=matches]/[[categoryType]]/[...categories]',
        path: '/music',
        expected: { asset: 'music', categories: '' }
    },
    {
        route: '/[[lang=doesntmatch]]/[asset=matches]/[[categoryType]]/[...categories]',
        path: '/music/genre',
        expected: { asset: 'music', categoryType: 'genre', categories: '' }
    },
    {
        route: '/[[lang=doesntmatch]]/[asset=matches]/[[categoryType]]/[...categories]',
        path: '/music/genre/rock',
        expected: { asset: 'music', categoryType: 'genre', categories: 'rock' }
    },
    {
        route: '/[[lang=doesntmatch]]/[asset=matches]/[[categoryType]]/[...categories]',
        path: '/sfx/category/car/crash',
        expected: { asset: 'sfx', categoryType: 'category', categories: 'car/crash' }
    },
    {
        route: '/[[lang=matches]]/[asset=matches]/[[categoryType]]/[...categories]',
        path: '/es/sfx/category/car/crash',
        expected: { lang: 'es', asset: 'sfx', categoryType: 'category', categories: 'car/crash' }
    }
];

for (const { path, route, expected } of simple_tests) {
    test(`exec extracts params correctly for ${path} from ${route}`, () => {
        const { pattern, params } = parse_route_id(route);
        const match = pattern.exec(path);
        if (!match) throw new Error(`Failed to match ${path}`);
        const actual = exec(match, params, {
            matches: () => true,
            doesntmatch: () => false
        });
        expect(actual).toEqual(expected);
    });
}

@tcc-sejohnson Tests updated! Thank you

For some reason I can't open a PR targeting this branch, either

Not sure if this is what you tried, but you'd have to do it in the https://github.com/Vextil/kit repo probably since that's where the code lives, so I expect you couldn't do it in this repository

Not sure if this is what you tried, but you'd have to do it in the https://github.com/Vextil/kit repo probably since that's where the code lives, so I expect you couldn't do it in this repository

Yeah, tried that -- but it didn't show up as a valid base in the PR interface on GH, so I'm guessing it was either a permissions issue or some eventual consistency lag.

Yeah, tried that -- but it didn't show up as a valid base in the PR interface on GH, so I'm guessing it was either a permissions issue or some eventual consistency lag.

The way I do it is that I clone https://github.com/Vextil/kit. You can push directly to it or open a PR there. I've never tried to open a PR to something like https://github.com/Vextil/kit from the UI on https://github.com/sveltejs/kit

I'm going to merge this cause @tcc-sejohnson told me it was good. Everyone blame him if it breaks :stuck_out_tongue_closed_eyes: Only kidding...
I honestly haven't sat down to understand this section of code, but this PR looks pretty well tested, so as long as we keep adding good tests like this we should be reducing edge cases

authors: Vextil benmccann tcc-sejohnson


text:
Import issues with Svelte REPL

Describe the bug
I am able to use old versions of svelte-query in https://svelte.dev/repl/ using the following import:
import { QueryClient, useQuery } from '@sveltestack/svelte-query@1.1.0';

However if I try to import a newer version like @1.6.0 I see errors like
Error: Could not load https://unpkg.com/fs@0.0.1-security/index.js (imported by https://unpkg.com/broadcast-channel@4.11.0/dist/esnode/methods/node.js): Cannot find "/index.js" in fs@0.0.1-security

I'm not sure if this is an issue with the REPL, unpkg.com, or svelte-query, but as older versions work I think it will at least partially involve changes here.
Reproduction

Open a new REPL
add import { QueryClient, useQuery } from '@sveltestack/svelte-query@1.6.0'
watch for console errors

https://svelte.dev/repl/be8980cad4244f72b6eae7b6ab726c1c
Logs
Error
    at R (index.3fa06cef.js:21:834)
    at tn (index.3fa06cef.js:51:3364)
    at index.3fa06cef.js:51:21283
    at async tc (index.3fa06cef.js:51:4123)
    at async ic.addModuleSource (index.3fa06cef.js:51:9326)
Mp @ index.3fa06cef.js:60

Error: Could not load https://unpkg.com/crypto@1.0.1/index.js (imported by https://unpkg.com/broadcast-channel@4.11.0/dist/esnode/methods/node.js): Cannot find "/index.js" in crypto@1.0.1
    at index.3fa06cef.js:60:1469
    at async Object.load (index.3fa06cef.js:60:2977)
    at async index.3fa06cef.js:51:8510
    at async Zu.work (index.3fa06cef.js:51:2752)
Mp @ index.3fa06cef.js:60

System Info
This is in the REPL, and the browser shouldn't make a difference, but my user agent is
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36

Severity
annoyance

closing since the site has been rewritten. please file at https://github.com/sveltejs/svelte.dev/issues/new if the issue persists
I'd first recommend putting any packages that don't work into publint.dev

authors: benmccann pzcfg

repo: sveltejs/sites


text:
Status bar padding issue

There's an issue focusing a menu item from toolbar: the status bar padding is not taken into account.
The issue seems to be stemming from the RevealScope#revealable() where layoutCoordinates.positionInRoot() gets coordinates from a root composable which has a status bar padding, but then this coordinates are used inside Fullscreen composable which does not have status bar padding information and lays out the Balloon with incorrect top padding:

Currently there is no way of overriding this behavior via passing a Modifier instance from client side. The RevealScope.revealable() accepts PaddingValues but that one is for the internal padding and cannot be used to pad the Balloon from the top of the screen.

Hello Andranik, thank for your bug report. Could you please provide a sample project which demonstrates this issue? Thank you!

While trying to assemble the demo project I identified that the issues was that the theme of the activity had following flag declared:
<item name="android:fitsSystemWindows">true</item>

Removing this flag fixes the issue.
I think this github issue can be closed. Thanks!

authors: aazizbekyan svenjacobs

repo: svenjacobs/reveal


text:
java.io.NotSerializableException: com.svenjacobs.reveal.RevealCanvasState

Describe the bug
The exception only occurs rarely. So far it has only occurred when starting the app.
Unfortunately, I can't say much more about the problem.
If you other information, please feel free to ask.
Expected behavior
FATAL EXCEPTION: main
    Process: de.lehmansn.birthdays, PID: 29604
    android.os.BadParcelableException: Parcelable encountered IOException writing serializable object (name = [First Screen])
    	at android.os.Parcel.writeSerializable(Parcel.java:2797)
    	at android.os.Parcel.writeValue(Parcel.java:2563)
    	at android.os.Parcel.writeValue(Parcel.java:2362)
    	at android.os.Parcel.writeList(Parcel.java:1415)
    	at android.os.Parcel.writeValue(Parcel.java:2506)
    	at android.os.Parcel.writeValue(Parcel.java:2362)
    	at android.os.Parcel.writeList(Parcel.java:1415)
    	at android.os.Parcel.writeValue(Parcel.java:2506)
    	at android.os.Parcel.writeValue(Parcel.java:2362)
    	at android.os.Parcel.writeArrayMapInternal(Parcel.java:1298)
    	at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843)
    	at android.os.Bundle.writeToParcel(Bundle.java:1389)
    	at android.os.Parcel.writeBundle(Parcel.java:1367)
    	at android.os.Parcel.writeValue(Parcel.java:2479)
    	at android.os.Parcel.writeValue(Parcel.java:2369)
    	at android.os.Parcel.writeArrayMapInternal(Parcel.java:1298)
    	at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843)
    	at android.os.Bundle.writeToParcel(Bundle.java:1389)
    	at android.os.Parcel.writeBundle(Parcel.java:1367)
    	at android.os.Parcel.writeValue(Parcel.java:2479)
    	at android.os.Parcel.writeValue(Parcel.java:2369)
    	at android.os.BaseBundle.dumpStats(BaseBundle.java:1917)
    	at android.os.BaseBundle.dumpStats(BaseBundle.java:1954)
    	at android.app.servertransaction.PendingTransactionActions$StopInfo.collectBundleStates(PendingTransactionActions.java:123)
    	at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:139)
    	at android.os.Handler.handleCallback(Handler.java:958)
    	at android.os.Handler.dispatchMessage(Handler.java:99)
    	at android.os.Looper.loopOnce(Looper.java:205)
    	at android.os.Looper.loop(Looper.java:294)
    	at android.app.ActivityThread.main(ActivityThread.java:8177)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
    Caused by: java.io.NotSerializableException: com.svenjacobs.reveal.RevealCanvasState
    	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1240)
    	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1620)
    	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1581)
    	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1490)
    	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
    	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
    	at android.os.Parcel.writeSerializable(Parcel.java:2792)
    	at android.os.Parcel.writeValue(Parcel.java:2563)
    	at android.os.Parcel.writeValue(Parcel.java:2362)
    	at android.os.Parcel.writeList(Parcel.java:1415)
    	at android.os.Parcel.writeValue(Parcel.java:2506)
    	at android.os.Parcel.writeValue(Parcel.java:2362)
    	at android.os.Parcel.writeList(Parcel.java:1415)
    	at android.os.Parcel.writeValue(Parcel.java:2506)
    	at android.os.Parcel.writeValue(Parcel.java:2362)
    	at android.os.Parcel.writeArrayMapInternal(Parcel.java:1298)
    	at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843)
    	at android.os.Bundle.writeToParcel(Bundle.java:1389)
    	at android.os.Parcel.writeBundle(Parcel.java:1367)
    	at android.os.Parcel.writeValue(Parcel.java:2479)
    	at android.os.Parcel.writeValue(Parcel.java:2369)
    	at android.os.Parcel.writeArrayMapInternal(Parcel.java:1298)
    	at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1843)
    	at android.os.Bundle.writeToParcel(Bundle.java:1389)
    	at android.os.Parcel.writeBundle(Parcel.java:1367)
    	at android.os.Parcel.writeValue(Parcel.java:2479)
    	at android.os.Parcel.writeValue(Parcel.java:2369)
    	at android.os.BaseBundle.dumpStats(BaseBundle.java:1917)
    	at android.os.BaseBundle.dumpStats(BaseBundle.java:1954)
    	at android.app.servertransaction.PendingTransactionActions$StopInfo.collectBundleStates(PendingTransactionActions.java:123)
    	at android.app.servertransaction.PendingTransactionActions$StopInfo.run(PendingTransactionActions.java:139)
    	at android.os.Handler.handleCallback(Handler.java:958)
    	at android.os.Handler.dispatchMessage(Handler.java:99)
    	at android.os.Looper.loopOnce(Looper.java:205)
    	at android.os.Looper.loop(Looper.java:294)
    	at android.app.ActivityThread.main(ActivityThread.java:8177)
    	at java.lang.reflect.Method.invoke(Native Method)
    	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
    	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)

Smartphone (please complete the following information):

Device: Google Pixel 8
Android version:  Android 14

I have analyzed it further.
It happens when my smartphone is locked and I start the app from my IDE.
The deployment is finished and I am unlocking my smartphone. Then the exception is thrown.
It's not that bad, it's not a real scenario for users.

That's interesting, thanks @lehmansnDev. Are you somehow putting a RevealCanvasState in a rememberSaveable? Because that  is actually not supported.

Okay, good to know.
But I don't put it into a rememberSavable. It is just a parameter of the screen.
Maybe it is because I am using Voyager.
setContent {
        val revealCanvasState = rememberRevealCanvasState()
        val birthdaysScreen = rememberScreen(SharedScreen.Birthdays(revealCanvasState))

        BirthdaysTheme {
            RevealCanvas(
                modifier = Modifier.fillMaxSize(),
                revealCanvasState = revealCanvasState,
            ) {
                Navigator(birthdaysScreen) { navigator ->
                    SlideTransition(navigator)
                }
            }
        }
}

I would close the issue, because it is not really an issue for me.
Is that fine for you?

I will close this ticket because it seems to not affect apps in production.

Hey Sven,
The error occurs more often than I thought.
Whenever I put the app in the background, the exception is thrown.
It's due to Voyager, it only allows parameters that can be serialized.
I think RevealCanvasState is not serializable, so the app crashes at that moment.
Is it possible to make RevealCanvasState serializable?

@lehmansnDev I wonder how Voyager can force RevealCanvasState to be serialized when we only use remember and not rememberSaveable? Anyway, since RevealCanvasState contains a lambda I need to check if it's even possible to serialize this class. Is there no way in Voyager to exclude a class from serialization? Could you maybe post some example code?

Hello @lehmansnDev, did you see my questions above?

Okay, now I understand. You're passing RevealCanvasState into the constructor of a Screen implementation. So this is not strictly happening in a Compose context.
Please see the solution here. Can you try putting a @Transient to the RevealCanvasState argument?
However since the value is not restored by serialization, you might have the problem that Reveal isn't working anymore after the Voyager state was restored. You could store the instance of RevealCanvasState outside of Compose as a global variable and use it as a default value for the argument or ditch the constructor argument and straightforwardly use the global var. But I would have to open the constructor of the class because currently it is internal only.

I just released version 3.0.5 where I opened the constructors. It make take a while until it's available on Maven Central. Please check if the proposed solution above is working for you.

Nice, thank you @svenjacobs.
I like your solution 👍

Great, closing it! 🙂

authors: lehmansnDev svenjacobs


text:
MemoryPool despawn slow perfomance

Despawn function has a very slow performance. It takes 10 seconds to despawn 50k objects.
This is due to the following line
Assert.That(!_inactiveItems.Contains(item),
                "Tried to return an item to pool {0} twice", GetType());

The security should either be optional or refactored to provide a faster duplicate detection.
According to Microsoft Dispose pattern (https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/implementing-dispose), Disposable object should implement a boolean to avoid items being disposed twice. So I would argue that the security is unnecessary. However the memory pool documentation should be amended to include the proper dispose pattern.

Good point/catch!

authors: Mathijs-Bakker ttermeer-reboundcg

repo: svermeulen/Extenject


text:
Improve dependency management

The requirements.txt gets quite large and cluttered if we pin every dependency and every dependency of a dependency of a dependency.
Using https://pypi.org/project/pip-tools/ would make our actual dependencies more clear and reduce the maintenance effort for updating dependencies of dependencies, as this can be done with pip-tools.

Implemented by https://github.com/svpbde/svpb/commit/56194a3c1821e17feac50956d70479dd96a79d5a, still needs to be documented.

repo: svpbde/svpb


text:
upgrade to ZIO 2.0.0-M4

Please let me know if there is anything missing, or anything else I can do
It compiles and tests run successfully

I meant to write 2.0.0-M4 not 2.0.4 :)

Thanks for the contribution @yisraelU, looks good. The 2.12 builds seem to be failing, so if you could have a look at those.
I think it's best to wait until a bit closer to ZIO 2.0 release (the 1.0 RC phase took quite some time) before merging to master. If it's useful for you, we could modify the build to publish snapshots of zio-amqp for ZIO 2.0.

@svroonland
Thanks for looking at the PR so quickly.
The issue with Scala 2.12 is it doesn't like inferring to Type Any for the R parameter of the ZIO effect in the withChannel method
I can add type ascriptions explicitly to make the error go away.
Do you have a better solution?
Also i noticed the only lambda ever passed in is a Channel => Task[A] perhaps withChannel should fix the ZIO R param to Any

@yisraelU Channel => Task[A] is probably sufficient, let's try that

Thanks!

Woops, I didn't intend to merge. But ah well, not much harm for now.

authors: svroonland yisraelU

repo: svroonland/zio-amqp


text:
Add twitter module for JARVIS

A simple module for twitter.
You need a twitter API account and learn wit.ai to understand "twitter".
Twitter return a tweet based on both popularity and relevance.
Picture displayed is the media of the tweet itself, or the icon of the Author.
You can try on heroku platform here
A picture can be seen here
Thank you Jarvis ;)
EDIT : Travis tests won't pass until update of wit.ai

I modified my contribution with possibilities to switch, depending on the fetched request, between 2 API
"twitter topic " to look for popular tweet about a topic (search API)
"twitter @author" to look for the last tweet of a user (timeline API)
Also, the tests added are more accurate.

Any update on this @ZuZuD @swapagarwal

Still waiting for reviews.
Could update if relevant to someone interests.

Let's fix the conflicts first, please :)

Thanks for your feedback buddy @horrormyth !

authors: ZuZuD horrormyth

repo: swapagarwal/JARVIS-on-Messenger


text:
Test kimble

Test

Deposit stake to wallet address: 0x9999999999999999999000 and post the TxID in the conversation. (just a fake one for now)

repo: swarmfund/networkgovernance


text:
Broken links in documentation

Some links are broken in the documentation

This seems to happen only in prod, for links within the same folder

It seems the problem has disappeared 🤷🏻♂

authors: fargito guillaumeduboc

repo: swarmion/swarmion


text:
Optional libcap, systemd, elogind dependencies

Will by default attempt to find them and link to them. If they cannot befound, does not link to them.
Should do the right thing out of the box, but if not there's configurable feature flags.
Does this work with your setup @psychon?

Ah, thanks a lot. For $REASONS, I will not be able to test this at least until the 27th, possibly longer.

None of these things are exposed over the wlroots API, and would be considered a "private" dependency of wlroots (i.e. you don't need to link it yourself).
I'm not sure why a wrapper would need to do anything towards this.

Going to go ahead and merge then. If this is incomplete we can deal with it then.

authors: Timidger ascent12 psychon

repo: swaywm/wlroots-rs


text:
Shell surface view interfaces

Instead of using events for the shell surface requests and notifications to compositors, it might be a little cleaner to explicitly define interfaces for these things.
I don't think we can unify them all with a single view interface (like Weston does) because they are just different enough for this to cause problems. I also don't think it would be appropriate to have interfaces for communication from the compositor to the surface. The idea of a "desktop_surface" abstraction is not appealing to me because it removes some fine grain control over the behavior of surfaces and adds a lot of weird edge cases when the shell interfaces don't line up. This is likely to cause even more problems in the future because shells will come and go and our assumption about what a shell surface does is likely to change.
For instance, the xwayland view interface might look something like this:
struct wlr_xwayland_view_interface {
    void (*configure)(struct wlr_xwayland_surface *surface, int x, int y, int width, int height);
    void (*request_resize)(struct wlr_xwayland_surface *surface, uint32_t edges);
    void (*set_title)(struct wlr_xwayland_surface *surface, char *title);
    // and so on...
};

The compositor defines an implementation of this interface and then sets it on the shell surface when it is notified of its creation. Instead of emitting events, the shell surface calls the methods of the compositor implementation if they are present. The compositor responds to these calls in the same way it responds in the event handlers presently.
Advantages:

Interfaces are easier to document
Clearer what the compositor's responsibility is when implementing their views
Return values from interface methods, possibly for denying requests like maximization or state configuration
Get rid of all the event types for these things resulting in less types and cleaner code

Disadvantages:

Only one handler is allowed for view event

What do you guys think?

Only one handler is allowed for view event

I think this is a pretty substantial disadvantage. Many places within wlroots use listeners internally to communicate across the system.

I think this is a pretty substantial disadvantage. Many places within wlroots use listeners internally to communicate across the system.

The system was purposefully designed so the shells are leaves in the dependency tree. No shell-specific code should ever be in any other part of wlroots. They are written as if they are separate libraries and I think it should stay that way.
Anything in the shell that may legitimately need a signal should not be in this interface For instance, the destroy signal.

Well, many components of wlroots aside from the shells are meant to talk to each other. For consistency we should design them similarly unless it's well justified.

It's just a minor style thing so not a big deal if you don't like it. Let's wait to see if it is needed #343.
However, please don't write code deep in wlroots that responds to X11 protocol requests.

authors: SirCmpwn acrisci

repo: swaywm/wlroots


text:
libinput configuration

One of the things I'm missing right now when using rootson (/ need to test recent wlroots branch of sway), is libinput configuration.
I can use a script that runs some xinput commands at startup, but that wouldn't work without xwayland and I think it's rather kludgy compared to how far our XKB support has gotten.
My problem is that the libinput API is quite complex... https://wayland.freedesktop.org/libinput/doc/latest/group__config.html
There are plenty of function calls I do not really care about/need (calibration matrixes), some that I don't care about but should probably be done anyway (left handed etc), and in general the API is so large that I feel it's going to be pretty close to config parsing ultimately: I can't see how to abstract this easily.
I see rootston hooks on input_add.notify/input_remove.notify so should we just try to check if input is of proper type (e.g. pointer + libinput backend?) and leave it to rootston to try to set things then?
I'm not even sure how to check if the input is a libinput input or not at this point, but if that's fine I suggest we do a couple of arbitrary input settings in rootston just to illustrate and then do as many as we're comfortable having in sway?
Is there a better way I didn't think of?
(I'll have time to work on this starting next week, but might as well get some design plan first)

I see rootston hooks on input_add.notify/input_remove.notify so should we just try to check if input is of proper type (e.g. pointer + libinput backend?) and leave it to rootston to try to set things then?

That's the plan. This will be done in sway after https://github.com/swaywm/sway/pull/1505 is merged. See https://github.com/swaywm/wlroots/issues/482

Ok, had indeed missed #482.
I'm not sure why we need to wait for swaywm/sway#1505 though (except to not disperse too many efforts all around) so unless you've started I'll take a look at both soonish™

Let's keep the discussion about this at the original issue. I'll write up our current thinking of how this should work over there.
@martinetd read the requirements at the sway-input man page for the input pr and write an example config file for rootston. Any further suggestions for how this works is appreciated.

authors: acrisci emersion martinetd


text:
feat(testing): Generalize test_name with regex

Description:
This PR applies a regex that converts non-alphanumeric characters into underscores to test_name.
It resolves the error that occurs when the path of the fixture file contains special characters the existing source did not process individually.

BREAKING CHANGE: X

Related issue (if exists):

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant orionmiz

repo: swc-project/swc


text:
Remove un-actionable warning about not finding an external symbol

Bug/issue #, if applicable:
Summary
This removes an un-actionable warning. We've already removed a similar warning in #966. However, this warning is different in that there are real scenarios where we don't expect to resolve all external symbols, in which case this warning would be noise for expected behavior.
Dependencies
None.
Testing
None
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] ~Added tests~ Not applicable
[x] Ran the ./bin/test script and it succeeded
[x] ~Updated documentation if necessary~ Not applicable

@swift-ci please test

repo: swiftlang/swift-docc


text:
Change traverseModules to return modules with their dependencies

Companion of https://github.com/swiftlang/sourcekit-lsp/pull/1683

Opening the SourceKit-LSP workspace using a debug build of sourcekit-lsp takes about 35s because traverseModules generates about 800,000 callback calls. All SourceKit-LSP needs now are the modules and their dependencies, so we can refactor traverseModules to just return that information avoid visiting the same modules multiple times. With theses changes getting all modules and their dependencies only takes ~0.013s.
rdar://136107035

https://github.com/swiftlang/sourcekit-lsp/pull/1683
@swift-ci Please test

@swift-ci Please smoke test

https://github.com/swiftlang/sourcekit-lsp/pull/1683
@swift-ci Please test

https://github.com/swiftlang/sourcekit-lsp/pull/1683
@swift-ci Please testhttps://github.com/swiftlang/sourcekit-lsp/pull/1683
@swift-ci Please test

https://github.com/swiftlang/sourcekit-lsp/pull/1683
@swift-ci Please test

https://github.com/swiftlang/sourcekit-lsp/pull/1683
@swift-ci Please test Windows

https://github.com/swiftlang/sourcekit-lsp/pull/1683
@swift-ci Please test

repo: swiftlang/swift-package-manager


text:
[wip] Builtin.Vector

Add a primitive that can be used to represent uniform aggregates of contiguously-laid-out values, parameterized by a generic size and element type. Builtin.FixedArray gets all of its layout properties from its element type, and copies/moves/destroys elementwise.

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

What happened to the builtin's name?

@lorentey We can't call the compiler type BuiltinVectorType because that's already taken for the type representing Builtin.Vec. Several people noted they would rather have the source-level name of the builtin match the compiler-level type name, and it seems like it doesn't really matter that much since you're the only person who has to see it. The standard library can still call its type whatever it wants.

@jckarter If you say so. The new builtin is clearly a close relative of Builtin.Vec<N>x<T>; it seems weird to invent a radically new name for it. (And FixedArray is a curious choice.) The compiler indeed does have a venerable tradition of intentionally using radically different language than the stdlib; I don't think that helps communication, but who am I to question tradition. 😛

@swift-ci Please test

@swift-ci Please test Windows

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

authors: jckarter lorentey

repo: swiftlang/swift


text:
Rename the extension from sswg.swift-lang to swiftlang.vscode-swift

In preparation for the move in the VS Code marketplace, rename the extension ID and associated references in the documentation.

The soundness CI failure can be ignored, it is checking for broken links. The updated VS Code marketplace link doesn't exist yet but it will shortly after a new version of the extension is published.

repo: swiftlang/vscode-swift


text:
建议支持GRPC

Q
A

Bug report?
no

Feature request?
yes

Swoft version
1.0.8+

Swoole version
4.2.X+

PHP version
7.2+

Runtime environment
Win10/Mac/CentOS 7/Ubuntu/Docker etc.

Details
为了能够更方便的和其他中间件对接，建议增加GRPC支持，在配置文件中可选开启GRPC。

这个会涉及到对RPC组件比较大的改动，目前RPC的设计是相对固定的，无法绑定于不同协议的Server去进行处理

repo: swoft-cloud/swoft


text:
Not getting output for realtime using webcam

Can anyone please tell me which all options to use to get output using Webcam.
command is : python3 elg_demo.py --help
Mentioned options are:
Demonstration of landmarks localization.
optional arguments:
-h, --help            show this help message and exit
-v {debug,info,warning,error,critical}
logging level
--from_video FROM_VIDEO
Use this video path instead of webcam
--record_video RECORD_VIDEO
Output path of video of demonstration.
--fullscreen
--headless
--fps FPS             Desired sampling rate of webcam
--camera_id CAMERA_ID
ID of webcam to use
Thanks in advance.

I got to know how to give options.
i.e  --camera_id -1
it will work.

repo: swook/GazeML


text:
🛑 BestQA_GO is down

In 8d9103d, BestQA_GO (https://www.bestqa.net/go/bestqa_dev/up) was down:

HTTP code: 0
Response time: 0 ms

Resolved: BestQA_GO is back up in 183d6af.

repo: swuecho/upptime


text:
🛑 BestQA_GO_HEALTH is down

In 01f882d, BestQA_GO_HEALTH ($BESTQA_GO_HEALTH) was down:

HTTP code: 0
Response time: 0 ms

Resolved: BestQA_GO_HEALTH is back up in 3100515.


text:
初始化后selButton不变为高亮色

在generate函数中，第266行selBtutton=btn;之后，没有将selButton的titleColor颜色设置为titleSelColor。
修改为：
selButton=btn;
if(titleSelColor) {
     [selButton setTitleColor:titleSelColor forState:UIControlStateNormal];
}
else {
     [selButton setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
}

266和303两个位置


text:
🛑 API is down

In b635b93, API (https://api.adoptopenjdk.net) was down:

HTTP code: 0
Response time: 0 ms

Resolved: API is back up in a4d036c.

repo: sxa/aoupptime


text:
🛑 雙龍體育社區community is down

In d7670db, 雙龍體育社區community (http://community.ssangyongsports.eu.org/) was down:

HTTP code: 500
Response time: 827 ms

Resolved: 雙龍體育社區community is back up in 47d9701.

repo: sxadxsx/upptime


text:
feat: flavor

Docs here https://yazi-rs.github.io/docs/flavors/overview

The name 'flavor' is kind confusing to me. If we are going to make a 'flavor', would it be better if keymapping is also a part of a flavor? This isn't a feature request :P, just my random thoughts.
Maybe something off the topic, I encountered an unexpected error due to the new flavor feature. I am on NixOS and yazi is configured via home-manager. To match yazi's active development, I use xdg.configFile instead of the options provided by home-manager. I missed xdg.configFile..recursive which made $XDG_CONFIG_DIRS/yazi a read-only directory, which led to yazi's crash on boot due to the failure of flavor directory creation. I corrected my mistake, so yazi works as expected now. I switched to yazi right on the introduction of the plugins directory, I didn't encountered any similar issue (crash when missing the plugins directory) if I recall correctly. If anyone happens to have a read-only $XDG_CONFIG_DIRS/yazi, this might be confusing to him/her.
❯ RUST_BACKTRACE=full yazi
Backtrace (most recent call first):
  File "<unknown>", line 0, in better_panic::print_backtrace_info
  File "<unknown>", line 0, in better_panic::Settings::create_panic_handler::{{closure}}
  File "<unknown>", line 0, in yazi_shared::term::term::Term::goodbye
  File "<unknown>", line 0, in yazi::panic::Panic::install::{{closure}}

The application panicked (crashed).
  Failed to create flavor directory: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
in yazi-boot/src/boot.rs, line 108
thread: main

Hi, flavor is a pre-made theme used to define a color scheme, not including key bindings, see https://yazi-rs.github.io/docs/flavors/overview for more details.
This issue arises from the fact that in newer versions of Yazi, it defaults to creating two directories, ~/.config/yazi/plugins and ~/.config/yazi/flavors, to allow users to conveniently install plugins and flavors with just one line of git clone, without needing to mkdir first and then git clone.
Unfortunately, this affects users with a read-only file system, and there is a fix for this, https://github.com/NixOS/nixpkgs/pull/295846, but I'm not familiar with Nix, I cannot review it. Perhaps later I can create an issue to see if there are any Nix-savvy Yazi users who can help review it to prevent more people from encountering this issue.

repo: sxyazi/yazi


text:
Add support for NPF poll blocks

Opening https://pb.bloat.cat/garfieldildo/722604771204333568/have-you-ever-used-tumblr-live-before-yes-i gives a "Unsupported content placeholder: Hello! I'm a placeholder for the unsupported 'poll' type NPF content block. Please report me!":

Polls will definitely be added sooner or later. Right now, its main blocking point is just that I'm not exactly sure how to implement it API design wise 😅
Polls require an additional request in order to be able to fetch poll results, except npf-renderer is supposed to be its own thing and probably shouldn't be doing any additional requests. So I'm not exactly sure how that should be rectified.

One idea is to give the TimelinePost and TimelinePostTrail a polls: dict[str, PollResults] field (or perhaps a poll: Optional[PollResults] field, considering that there can only be one poll per post according to three seperate blogs), then you could do something like this for each post:
async def fill_polls(posts: list[Union[TimelinePost, TimelinePostTrail]]):
    for post in posts:
        for block in post.content:
            if block["type"] == "poll":
                poll_id = block["clientId"]
                poll = await request.app.ctx.TumblrAPI.poll_results(post.name, post.id, poll_id)
                post.polls[poll_id] = priviblur_extractor.parse_item(poll)

Afterwards, you can call npf_renderer.format_npf with the content, layout, and poll information. If you want, I can "verbalise" this with a patch/diff on Priviblur's side.

In the end I decided to go with a similar but different approach of having a callback function passed into format_npf that'll request the poll information when called.

authors: syeopite the-blank-x

repo: syeopite/npf-renderer


text:
does not work on mac mojave chrome Version 74.0.3729.131 (Official Build) (64-bit)

In case of bug report, please fill this template and remove italic lines
Otherwise, clear all and type :)
Tab Modifier version
Browser: Chrome or Opera
chrome
Extension version: X.Y.Z
Can be found here: chrome://extensions/?id=hcbgadmbdkiilgpifjgcakjehmafcjai
Expected behavior
select tab I want to reaname
write click on extension
fille in new name
What do you expect?
tab to display the name I entered before
Actual behavior
the old name is still displayed
What actually happen?
Steps to reproduce the behavior
Please describe the steps to help me to reproduce the actual behavior

Can you go the options page > settings > export and paste the JSON content here please.
Best

I think I haven seen this bug before.
Cause is that the contextMenu was created every time when the background script (re)loaded. Since it isn't persistent, this happen constantly.
So I put it like this:
chrome.runtime.onInstalled.addListener(function (details) {
		// create on intall and add listener every time; see: https://stackoverflow.com/questions/26245888/adding-context-menu-item-on-a-non-persistent-background-script
		chrome.contextMenus.create({
				id: 'rename-tab',
				title: 'Rename Tab',
				contexts: ['all']
		});

Will do a PR anyway. Let's see whether this solves this issue.

authors: AEDWIP MartinLichtblau sylouuu

repo: sylouuu/chrome-tab-modifier


text:
🛑 Bring Back Clean is down

In 1070893, Bring Back Clean (https://bringbackclean.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Bring Back Clean is back up in f500cec after 1 hour, 18 minutes.

repo: symapex/upsite


text:
🛑 The AZ Clean Expert is down

In 3fef6a2, The AZ Clean Expert (https://theazcleanexpert.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: The AZ Clean Expert is back up in 9e12abb after 10 minutes.


text:
🛑 Floor Bright Cleaning is down

In 525c93b, Floor Bright Cleaning (https://floorbrightcleaning.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Floor Bright Cleaning is back up in 91627f9.


text:
🛑 Rigid Ground Work is down

In e646ac0, Rigid Ground Work (https://rigidgroundwork.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Rigid Ground Work is back up in 2c51be4 after 1 hour, 46 minutes.


text:
🛑 The AZ Clean Expert is down

In 7e00597, The AZ Clean Expert (https://theazcleanexpert.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: The AZ Clean Expert is back up in c1b3adb after 10 minutes.


text:
🛑 Giveme Green is down

In 025e575, Giveme Green (https://giveme-green.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Giveme Green is back up in 26149f7.


text:
🛑 Translatium Houston is down

In a3fb457, Translatium Houston (https://translatium-houston.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Translatium Houston is back up in 7665598.


text:
🛑 Dragues Well Repair is down

In 740ad57, Dragues Well Repair (https://dragueswellrepair.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Dragues Well Repair is back up in a9304a3 after 1 hour, 43 minutes.


text:
🛑 Global Translation is down

In 19b590b, Global Translation (https://globaltranslationsrvs.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Global Translation is back up in e0fe133 after 47 minutes.


text:
🛑 Cleanwagon Ohio is down

In 881279f, Cleanwagon Ohio (https://cleanwagonohio.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Cleanwagon Ohio is back up in 9b3dfda after 47 minutes.


text:
🛑 Pest Scout Pros is down

In db5d618, Pest Scout Pros (https://pestscoutpros.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Pest Scout Pros is back up in c3d9bd6 after 10 minutes.


text:
🛑 Prism Carpet Cleaning is down

In 00cdf67, Prism Carpet Cleaning (https://prismcarpetcleaningtx.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Prism Carpet Cleaning is back up in 231e3c9.


text:
🛑 Shiny Car Clean is down

In c96a0da, Shiny Car Clean (https://shinycarclean.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Shiny Car Clean is back up in 1fcfd61 after 1 hour, 8 minutes.


text:
🛑 Cleanasium is down

In 1168649, Cleanasium (https://cleanasium.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Cleanasium is back up in d3a6d4f after 52 minutes.


text:
🛑 Cleanary Sandiego is down

In 99a4589, Cleanary Sandiego (https://cleanarysandiego.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Cleanary Sandiego is back up in e522906 after 28 minutes.


text:
🛑 Boon Wood Flooring is down

In 47522c9, Boon Wood Flooring (https://boonwoodflooring.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Boon Wood Flooring is back up in b99676a after 10 minutes.


text:
🛑 Cleanary Sandiego is down

In f9dcec0, Cleanary Sandiego (https://cleanarysandiego.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Cleanary Sandiego is back up in 0cf8c7f after 10 minutes.


text:
🛑 Shiny Car Clean is down

In 950f8a8, Shiny Car Clean (https://shinycarclean.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Shiny Car Clean is back up in ce7b5ef after 24 minutes.


text:
🛑 Translatium Houston is down

In 22e60f4, Translatium Houston (https://translatium-houston.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Translatium Houston is back up in 34e592e.


text:
🛑 Green View AZ is down

In 3d468b2, Green View AZ (https://greenviewaz.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Green View AZ is back up in aecf59a.


text:
🛑 AZ Brick Frames is down

In 4c23d7d, AZ Brick Frames (https://azbrickframes.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: AZ Brick Frames is back up in e4f9575 after 30 minutes.


text:
🛑 Blooming Pots Landscaping is down

In 9c736b2, Blooming Pots Landscaping (https://bloomingpotslandscaping.com/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Blooming Pots Landscaping is back up in 66d91d6 after 18 minutes.


text:
Bootstrap network improvements

This PR is the bootstrap changes required before the lerna split and symbol-network app.
There are several improvements.

custom preset cached on target
Renamed bootstrap preset for dualCurrency.  Added singleCurrency preset.
Removed unused genesis state files after generating
Nemesis seed is shared across the different nodes avoiding duplicated files.
Improved unit testing. Heavily tested using expected target zip with lots of network/assembly/customPreset combinations.

Fixes https://github.com/nemtech/symbol-bootstrap/issues/60
Fixes https://github.com/nemtech/symbol-bootstrap/issues/245
Fixes https://github.com/nemtech/symbol-bootstrap/issues/80

Why there are so many changes packed in a single review?

what is the status of this?

what is the status of this?

I'm a 2-3 of PRs away before dropping this branch. Once we have the other PRs merged, the first version of symbol-network would be able to use the official symbol-bootstrap lib.
https://github.com/fboucquez/symbol-network
https://hackmd.io/Ak7Sl1A6SkKV7ga0QW00LA
Eventually, if you are keen, symbol-network could be a submodule of symbol-bootstrap, similar to how this branch looks https://github.com/symbol/symbol-bootstrap/tree/multimodule

authors: fboucquez gimre-xymcity

repo: symbol/symbol-bootstrap


text:
Add Float to symengine.sympy_compat

And also alias it to RealNumber

@isuruf Is it to be aliased to RealDouble? Or a new class RealNumber is to be implemented?

Fixed via #140.

authors: ShikharJ isuruf


text:
Fix completion script affecting $IFS

Set COMP_WORDBREAKS instead of IFS.
More in-depth explanation:
IFS affects other things not related to programmable completion, such as how the shell breaks up argument lists.
For example, by default this splits the unquoted variable as-expected:
OPTION_LIST='foo bar'
for OPT in $OPTION_LIST; do printf '%s\n' "$OPT"; done
> foo
> bar

Changing IFS makes the variable not split as expected, printing all on one line:
IFS=$'\n'
for OPT in $OPTION_LIST; do printf '%s\n' "$OPT"; done
> foo bar

This PR changes it to use $COMP_WORDBREAKS which specifically affects how programmable completion works, instead of affecting and effectively poisoning how the user's shell works.

Thanks bot!
Migrated changes to symfony/symfony#47780

repo: symfony/console


text:
bug #2369 [LiveComponent] (Dynamic Form) Do not clear missing values on submit

Q
A

Bug fix?
yes

New feature?
no

Issues
Fix #2369  / https://github.com/SymfonyCasts/dynamic-forms/issues/26

License
MIT

If you have a LiveComponent for a form with dependent fields which have been implemented with the dynamic-forms bundle, it can happen that the pre-defined value disappears for fields that are displayed later. This is due to the $clearMissing parameter of the Symfony\Component\Form::submit function. This parameter is true by default and therefore I now set it to “false” so that the values are not cleared.
I can't assess whether this would have unwanted side effects. Please check it out and if you think it fits, you can merge it.

Thank you for this PR @momocode-de!
I took time to look at it and one question arises: does this only change solves your DynamicFormBundle problem ? Or is this only a step ?
Right now i'm a bit hesitant here...  if i(m not reading this badly, it would be a strong behaviour change:

When the second parameter $clearMissing is false, like with the "PATCH" method, the validation will only apply to the submitted fields. If you need to validate all the underlying data, add the required fields manually so that they are validated:

When submitting a form via a "PATCH" request, you may want to update only a few submitted fields. To achieve this, you may pass an optional second boolean argument to submit(). Passing false will remove any missing fields within the form object. Otherwise, the missing fields will be set to null.

https://symfony.com/doc/current/form/direct_submit.html
At least we would need some tests here, and a clear explanation of what would happen in the different scenario with some honest before/after.
Right now (and i'm very open to change my position)... i don't know... maybe you should first try to change this on your side? Because i'm not sure we should take this risk.. What do you think ?

Hi @momocode-de, does this really resolve the issue? I've come across this problem myself and tried locally your changes and unfortunately this solve didn't work for me. I understand we both have different environments, but this simple code snippet is still affected. Could you please provide an example of code that was fixed by your change? Maybe there were more steps to resolve the issue which I don't see.
$builder
  ->addDependent(
      name: 'value',
      dependencies: ['amount'],
      callback: function (DependentField $field, ?float $amount) {
          $field->add(
              type: NumberType::class,
              options: [
                  'required' => true,
                  'scale' => 2,
                  'disabled' => !$amount,
                  'data' => $amount ?? 0,
              ],
          );
      }
  )

authors: momocode-de smnandre stehled

repo: symfony/ux


text:
Remove obsolete UseAPIKey value

See syncthing/syncthing#4438. I didn't add the fswatcher values, as I don't know what how this works. I wanted to simply mimick rescanIntvs, but that is missing as well. I would appreciate if someone who knows this stuff could at some point do the necessary modifications.

So rescanIntvs seems to be discarded, we should fix that with your addition.
You can use int[] in the database, and https://godoc.org/github.com/lib/pq#Int64Array in the struct, which should work.
Alternatively, if you are lazy, you can use JSONB like I did for other things.

I was half tempted at some point to change this just to just store the incoming json  blobs directly (in an object db maybe) and then do all parsing later. Maybe that makes more sense when the UR changes more often. Maybe it's not worth the work.

The only problem I see is DOS by storing large garbage objects.

May I leave this including the watcher statistics to you? You already know about the system and its requirements, of which I have no clue.

This was my first commit to this repo, so I wouldn't say I "know" other than the 300 lines I had to read, unless you are referring to @calmh

authors: AudriusButkevicius calmh imsodin

repo: syncthing/usage-reporting


text:
feat: ✨ Improve support for tokens usage in LIT

Story

As a LIT component create using Synergy, I would like to have an easier way of importing style tokens.
Acceptance criteria

[ ] All DoD items successfully completed

I am not sure if this is a feature ticket, but more on the documentation side of things. The request was adding support for the provided css variables in the component (e.g. via LitElement.prototoype.styles for encapsulation. This is highly environment specific, as we do ship css files, but not JavaScript-Exports that are wrapped with lits css helper function. I am unsure if we want to support this at all, as this may lead to serious negative impacts:
1. Bundling:
When creating a component with scoped variables, you will have to to create a bundle of the variables by yourself (e.g. using the raw js imports as a base) or use your bundler to provide the raw css values that you will then use to wrap them via lit.css. This is different on a per bundler basis and leads to friction in the documentation.
2. Shadowing of declared variables
While it may be nice to have the variables scoped directly in the component by itself, this may lead to problems when adjusting from the outside. Consider someone setting a color option of --syn-primary-color-500 to red in an application (e.g. via Theming). As the web component would still use the scoped variable, it would not get updated. Its children wouldn´t either. The result would be a page with a red base layout, but with a blue one in the scope of the web component.

@tschuwaSICKAG please have a look

authors: klaarseSICKAG schilchSICKAG


text:
required field is not set error when running terraform plan (Azure)

Getting theses errors when trying to create the cluster, this is the output of terraform plan
Error: azurerm_virtual_machine_scale_set.data-nodes: "network_profile": required field is not set
Error: azurerm_virtual_machine_scale_set.master-nodes: "network_profile.0.ip_configuration.0.primary": required field is not set

The solution was to add primary = true under network_profile and network_profile.ip_configuration in masters.tf, datas.tf, and clients.tf

Thanks - can you submit a PR with the fix?

authors: jzalmanovich synhershko

repo: synhershko/elasticsearch-cloud-deploy


text:
Soc 0 / Soc 100 limits in dashboard settings

Hi, i realized today when trying to set Soc 0 on the dashboard that limits (soc 0 / Soc 100) are wrong (upper limit 1,000).

So when touching those, you can´t go back to somewhere near the original setting made through the app.

I've fixed this issue recently here #541
Please just flash your ESP another time. ESPHome will retrieve the most recent version of the implementation automatically.

thanks

repo: syssi/esphome-jk-bms


text:
i18n変換ミス(DevTools)

Summary

Expected Behavior

Actual Behavior

Steps to Reproduce

Environment

There is more: https://github.com/syuilo/misskey/search?q=%25i18n&unscoped_q=%25i18n

authors: incognico tearaikazuki

repo: syuilo/misskey


text:
Update https-proxy-agent など

Summary
web-pushでProxyを使用するように
https://github.com/syuilo/misskey/issues/2894#issuecomment-540052834
https-proxy-agentの脆弱性の対応
https://github.com/syuilo/misskey/issues/5099#issuecomment-538580300
https://github.com/syuilo/misskey/issues/5099#issuecomment-539536172
いちおうweb-push, AP request, ObjectStorageで動作確認済み

ありがとうございます！


text:
Datacratic MLDB results

This code gives an AUC of 0.7417 in 12.1s for the 1M training set on an r3.8xlarge EC2 instance with the latest release of Datacratic's Machine Learning Database (MLDB), available at http://mldb.ai/
from pymldb import Connection
mldb = Connection("http://localhost/")

mldb.v1.datasets("bench-train-1m").put({
    "type": "text.csv.tabular",
    "params": { "dataFileUrl": "https://s3.amazonaws.com/benchm-ml--main/train-1m.csv" }
})

mldb.v1.datasets("bench-test").put({
    "type": "text.csv.tabular",
    "params": { "dataFileUrl": "https://s3.amazonaws.com/benchm-ml--main/test.csv" }
})

mldb.v1.procedures("benchmark").put({
    "type": "classifier.experiment",
    "params": {
        "experimentName": "benchm_ml",
        "training_dataset": {"id": "bench-train-1m"},
        "testing_dataset": {"id": "bench-test"},
        "configuration": {
            "type": "bagging",
            "num_bags": 100,
            "validation_split": 0.50,
            "weak_learner": {
                "type": "decision_tree",
                "max_depth": 20,
                "random_feature_propn": 0.5
            }
        },
        "modelFileUrlPattern": "file://tmp/models/benchml_$runid.cls",
        "label": "dep_delayed_15min = 'Y'",
        "select": "* EXCLUDING(dep_delayed_15min)",
        "mode": "boolean"
    }
})

import time

start_time = time.time()

result = mldb.v1.procedures("benchmark").runs.post({})

run_time = time.time() - start_time
auc = result.json()["status"]["folds"][0]["results"]["auc"]

print "\n\nAUC = %0.4f, time = %0.4f\n\n" % (auc, run_time)

Fantastic results @nicolaskruchten, thanks for submitting (and congrats, @datacratic).
I added the code here:
https://github.com/szilard/benchm-ml/blob/master/z-other-tools/9a-datacratic.py
and the results here:
https://github.com/szilard/benchm-ml/blob/master/z-other-tools/README.md
I have some questions though:

validation_split = 0.5 seems to leave out part of the dataset. Can you re-run it with  validation_split = 0? (should take 2x longer (?))

random_feature_propn is usually the square root of the number of features, though it depends how you are treating categorical variables (one-hot encoding or something else). Can you play in a range and see how results change?

Re previous: Or maybe validation_split is the proportion of data not used for each tree in the forest?

validation_split=0.5 is a parameter for bagging, and causes each tree in the forest to run on a random 1/2 of the data.  It's called validation_split because the other half of the data is available to the weak learner to use for early stopping; it's not used by the decision tree classifier but is important for when you use boosting as a weak learner.  Were we to use validation_split=1.0, the only diversity would come from the selection of features in the weak learners.
In our experience using bagging in this manner gives better diversity for the trees and a better AUC for held out examples.  We'll double-check on the exact effect and get back here, with an extra result if appropriate.  I'm certain that It's not a holdout for the classifier experiment, and all of the training data is seen by the classifier training and incorporated into the output.
Categorical features are handled directly by the decision tree training, and aren't expanded as with a one-hot encoding (the decision tree training code does consider each categorical value separately, however, and so the effect is the same on the trained classifier).  Thus, the number of features is the same as the number of columns in the dataset, and so sqrt(num features) will be 3 or so, which is too low (it would be faster, but accuracy would suffer, especially with such deep trees).
Stepping back, we are running bagged decision trees to get an effect as close as possible to classical random forests.  This produces a committee of decision trees (like random forests) but has different hyperparameters and a different means of introducing entropy into the training set.  Typically we would use bagged boosted decision trees, something like 20 bags of 20 rounds of boosting of depth 5 trees, for such a task but that would be hard to meaningfully compare with the other results in the benchmark.

Thanks @jeremybarnes for comments and I guess for authoring JML https://github.com/jeremybarnes/jml - likely the main reason why MLDB is so fast
Wrt validation_split I misinterpreted it first, but then I soon realized it must be just the random subsampling of the data for each tree as in the standard random forest algo. Thanks for clarifications as well. So, to match the standard RF perhaps validation_split ~ 0.34 (the default in MLDB) is perhaps the best.
I see what you are saying on categorical data, that's what H2O does as well, and from what I can see it's a huge performance boost vs 1-hot encoding. sqrt(num features) would be 2 or 3 depending on rounding so random_feature_propn would be 1/2 or 1/3, right?
I think my understanding now fits what you are saying except a bit your last paragraph. I have the impression that with validation_split and random_feature_propn you can do exactly RF (or at least as close as other implementations), it's just that you call it bagging. If you want to simulate that with boosting I guess you would need min_iter = max_iter = 1 and somehow combine 100 of those.
I'm gonna try to run the code by @nicolaskruchten soon.

@jeremybarnes @datacratic @nicolaskruchten I'm trying to run your the code. I get the same AUC even if I change the params e.g. num_bags, validation_split  etc. (I tried only a few values, but still). E.g. num_bags = 100 or num_bags = 200 give same AUC: 0.7424885267.

That is strange.  Can you look at the stdout/err of the docker container?  You can see it finishing bags as it goes... The number should correspond to the parameter you set.
That leaves the possibility that there is a problem with the random selection and so each bag is the same.  That's something that we can look into over the weekend.

Yes, I can see in the output bags going up to 100 and 200 respectively. It also takes more time to train 200, but AUC is the same. Also the same AUC if I change some of the other numeric params:
            "num_bags": 100,
            "validation_split": 0.50,
            "weak_learner": {
                "type": "decision_tree",
                "max_depth": 20,
                "random_feature_propn": 0.5

I'm sure you guys can figure out what's going on 100x faster than I ;)

I'm running this:
docker run --name=mldb --rm=true -p 127.0.0.1:80:80 quay.io/datacratic/mldb:latest
and then the code by @nicolaskruchten:
https://github.com/szilard/benchm-ml/blob/master/z-other-tools/9a-datacratic.py
Feel free to submit pull request for the above code if you guys make corrections.

It took a little longer than anticipated to look into, but here are the conclusions:

The result holds.  In that, you can get the result above in the time above, and it uses all of the training data and is otherwise a valid data point.  But there are other tradeoffs between accuracy and speed possible... setting validation_split to 0 gives an AUC of 0.746 in about twice the time, for example.  More on this below.
For the problem of the AUC not changing, it's very likely the experiment procedure being confused by a previous run.  This can be verified by stopping and restarting MLDB between runs.  In my tests, the AUC did change when the parameters were modified.  We are working on ensuring that the system doesn't confuse multiple runs.
The bags are not all the same, so it's not a problem in randomization.
The bagging implementation does a double sampling (it partitions into a training and a validation set, then samples from the partition).  But it then discards the validation set.  This leads to a sparser set of examples than one would normally have.  It's not the end of the world, given that all of the data is used across the whole set of bags, but may not be directly comparable to other RF implementations.  I do recall doing this on purpose, but it was a very, very long time ago that the code was written (15 years or so for the original Matlab implementation) and I can't recall the justification.  It may have been to allow early stopping when "enough" bags had been trained and avoid a num_bags hyperparameter.  In any case, I was wrong about this being the only source of entropy in my comment above, and we should probably turn it off by setting validation_split=0; it does impact accuracy of the trained classifier.  This will be the default for the next MLDB release.
Interestingly enough, the AUC increases from random_feature_propn values all the way up to 0.8.  The algorithm is much faster at 0.3 , and substantially slower at 0.8, but accuracy increases as it goes up.  At 80% feature probability and 0% validation split, the AUC is at 0.753 but training is more like 40 seconds.

I would suggest that we re-submit with the parameters validation_split=0 and random_feature_propn=0.3 (~sqrt(10)) to provide the closest possible comparison with other systems for the purposes of this comparison.  Does that make sense?

Thanks Jeremy for clarifications (and yes, it makes absolutely sense).
It's amazing a 15-yr old tool can keep up so well while there are new machine learning tools written every day. I've been saying for a while that machine learning looks more like an HPC problem to me than a "big data" one.
@nicolaskruchten (or @datacratic) can you guys run it and resubmit the results here with the settings @jeremybarnes suggested above? Also would be great if you can update the code https://github.com/szilard/benchm-ml/blob/master/z-other-tools/9a-datacratic.py and send a PR.

I will do an MLDB release and then resubmit the results and code :)

Awesome, thanks.

Thanks for new results. I'm gonna try to verify in a few days.

@nicolaskruchten I was able to verify your latest results. Also it seem the "same AUC" problem has been fixed in the latest release. Thanks @datacratic @nicolaskruchten @jeremybarnes for contributing to the benchmark.

authors: jeremybarnes nicolaskruchten szilard

repo: szilard/benchm-ml


text:
Can fromDataURL and erase be used together?

Can fromDataURL and erase be used together? Set compositeOperation to destination-out for erasing. After erasing, white lines will appear on the background image. How can I solve this problem? Thank you

Unfortunately html canvas doesn't have a concept of layers. So your background image could be drawn just like the signature and it wouldn't know the difference. In other words erasing will erase everything regardless of whether it is an image or not. And there is nothing we can do in signature_pad to change that.
One thing you can do is instead of adding the image to the canvas make the canvas background transparent and put the image behind it with position absolute or some other css.

Thanks for your reply. If I set the image as the unit's label, then toDataURL will only have manually drawn content. If I want to get the image including the background, how can I do it?

Once you have the final signature you can create a new canvas with the image and signature and get the full image that way

Got it. Thank you.

6

authors: UziTech smalljop


text:
Modification for main modules compatibility

Fixes #816
Proposed Changes

modification for proper scheduler and optimizer handling
modification for proper onnx handling
GAN logger instance
adding model to the models registry

Checklist

[X] CONTRIBUTING guide has been followed.
[X] PR is based on the current GaNDLF master .
[X] Non-breaking change (does not break existing functionality): provide as many details as possible for any breaking change.
[X] Function/class source code documentation added/updated (ensure typing is used to provide type hints, including and not limited to using Optional if a variable has a pre-defined value).
[X] Code has been blacked for style consistency and linting.
[ ] If applicable, version information has been updated in GANDLF/version.py.
[ ] If adding a git submodule, add to list of exceptions for black styling in pyproject.toml file.
[ ] Usage documentation has been updated, if appropriate.
[ ] Tests added or modified to cover the changes; if coverage is reduced, please give explanation.
[ ] If customized dependency installation is required (i.e., a separate pip install step is needed for PR to be functional), please ensure it is reflected in all the files that control the CI, namely: python-test.yml, and all docker files [1,2,3].

Most of it is fine. Just 1 question to address.

Waiting for tests to pass, them will merge

What's the version of black you are using, BTW? Is it different from what's in setup.py?
Also, minor changes.

I have the same, but probably I have different line length settings - I am in the 79 length clan, I believe default is 120 line length? Should I change that back?

What's the version of black you are using, BTW? Is it different from what's in setup.py?
Also, minor changes.

I have the same, but probably I have different line length settings - I am in the 79 length clan, I believe default is 120 line length? Should I change that back?

How are you suggesting black to make that change? I am curious because I don't think GaNDLF is setting that in the linting configuration...

I am setting that in the vscode black plugin settings, I have it configured that vscode automatically formats the document upon saving

Codecov Report
Attention: Patch coverage is 49.20635% with 32 lines in your changes are missing coverage. Please review.

Project coverage is 88.09%. Comparing base (64962a1) to head (1ab1676).
Report is 32 commits behind head on master.

Files
Patch %
Lines

GANDLF/logger.py
21.87%
25 Missing :warning:

GANDLF/utils/modelio.py
53.84%
6 Missing :warning:

GANDLF/utils/tensor.py
80.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #31      +/-   ##
==========================================
- Coverage   95.04%   88.09%   -6.95%
==========================================
  Files         119      126       +7
  Lines        8288     8957     +669
==========================================
+ Hits         7877     7891      +14
- Misses        411     1066     +655

Flag
Coverage Δ

unittests
88.09% <49.20%> (-6.95%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

authors: codecov-commenter szmazurek

repo: szmazurek/GaNDLF


text:
Make LMTP accessible from the outside

Some applications like mailman use LMTP to interface with the SMTP server.
For this to work from/to the container host, LMTP access to the mailserver container is required.
Either

switch to tcp LMTL and forward LMTP ports to the host (to 127.0.0.1)
move LMTP sockets to /host

Done via container networking, and a contrib for integrating Mailman was added, too.

repo: t-lo/mailserver