Spack-stacks on Hera with gnu/13.3.x and openmpi/4.1.6 built for Rocky8

Issues have been reported with Weather Model runs on Hera, with Gnu compiler, after transition to Rocky8.
https://github.com/ufs-community/ufs-weather-model/issues/2200
The compiler used was still gnu/9.2.0
** Offering a solution **
To build an updated gnu and openmpi on Rocky 8 system.
A new installation of gnu/13.2.0 compiler suite (gcc, g++, gfortran) is built on Hera/ Rocky 8 system, in a separate role.epic location. Openmpi/1.4.6 is built with this new gnu/13.2.0 compiler as well.
Installation locations for gnu and openmpi:
/scratch2/NCEPDEV/stmp1/role.epic/installs/gnu/13.2.0
/scratch2/NCEPDEV/stmp1/role.epic/installs/openmpi/4.1.6
Modules to be loaded as following:
module use /scratch2/NCEPDEV/stmp1/role.epic/installs/gnu/modulefiles
module load gnu/13.2.0
module use /scratch2/NCEPDEV/stmp1/role.epic/installs/openmpi/modulefiles
module load openmpi/4.1.6

Building spack-stack-1.5.1 environment in
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/envs/uni fied-env-rocky8.
The following modules need to be loading the modules before building the spack-stack environment:
module use /scratch1/NCEPDEV/nems/role.epic/modulefiles
module load qt mysql ecflow
module use /scratch2/NCEPDEV/stmp1/role.epic/installs/gnu/modulefiles
module load gnu/13.2.0
module use /scratch2/NCEPDEV/stmp1/role.epic/installs/openmpi/modulefiles
module load openmpi/4.1.6

(NB: order of modulepaths matter here, as the /scratch1/NCEPDEV/nems/role.epic/modulefiles has another openmpi/4.1.6 modulefile from an earlier installation and compiler)
94 packages were successfully built in this unified-env-rocky8 environment, but getting some errors in others, i.e., proj-8.1.0. These errors could be likely related to different standards for c++, as shown below. The option -std=c++11 is currently used as appears in the logs, and I wonder if -std=c++98 could possibly help.
A question: is it a good idea to try setting -std=c++98 for the entire stack build, or try specifying it only for certain packages that report errors? Any other ideas?
Most recent log file:/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/envs/unified-env-rocky8/log.install.unified-env.003
(cache cleaned up, however, to have other options tested)
Errors as following:
In file included from /scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-proj-8.1.0-ycbrsv4ltfamsxni6n5prycyk5nnpukh/spack-src/src/proj_json_streaming_writer.cpp:34:
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-proj-8.1.0-ycbrsv4ltfamsxni6n5prycyk5nnpukh/spack-src/src/proj_json_streaming_writer.hpp:42:14: error: 'int64_t' in namespace 'std' does not name a type
   42 | typedef std::int64_t GIntBig;
      |              ^~~~~~~
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-proj-8.1.0-ycbrsv4ltfamsxni6n5prycyk5nnpukh/spack-src/src/proj_json_streaming_writer.hpp:43:14: error: 'uint64_t' in namespace 'std' does not name a type; did you mean 'wint_t'?
   43 | typedef std::uint64_t GUInt64;
      |              ^~~~~~~~
      |              wint_t
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-proj-8.1.0-ycbrsv4ltfamsxni6n5prycyk5nnpukh/spack-src/src/proj_json_streaming_writer.hpp:93:14: error: 'GIntBig' has not been declared
   93 |     void Add(GIntBig nVal);
      |              ^~~~~~~
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-proj-8.1.0-ycbrsv4ltfamsxni6n5prycyk5nnpukh/spack-src/src/proj_json_streaming_writer.hpp:93:10: error: 'void osgeo::proj::CPLJSonStreamingWriter::Add(int)' cannot be overloaded with 'void osgeo::proj::CPLJSonStreamingWriter::Add(int)'
   93 |     void Add(GIntBig nVal);
      |          ^~~
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-proj-8.1.0-ycbrsv4ltfamsxni6n5prycyk5nnpukh/spack-src/src/proj_json_streaming_writer.hpp:91:10: note: previous declaration 'void osgeo::proj::CPLJSonStreamingWriter::Add(int)'
   91 |     void Add(int nVal) { Add(static_cast<GIntBig>(nVal)); }
      |          ^~~
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-proj-8.1.0-ycbrsv4ltfamsxni6n5prycyk5nnpukh/spack-src/src/proj_json_streaming_writer.hpp:94:14: error: 'GUInt64' has not been declared
   94 |     void Add(GUInt64 nVal);

... (more similar errors)...
make[2]: *** [src/CMakeFiles/proj.dir/build.make:695: src/CMakeFiles/proj.dir/proj_json_streaming_writer.cpp.o] Error 1
make[2]: Leaving directory '/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-proj-8.1.0-ycbrsv4ltfamsxni6n5prycyk5nnpukh/spack-build-ycbrsv4'
make[1]: *** [CMakeFiles/Makefile2:282: src/CMakeFiles/proj.dir/all] Error 2
make[1]: Leaving directory '/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-proj-8.1.0-ycbrsv4ltfamsxni6n5prycyk5nnpukh/spack-build-ycbrsv4'
make: *** [Makefile:159: all] Error 2
==> Error: ProcessError: Command exited with status 2:
  '/usr/bin/make' '-j1'

Attached is the most recent spack.lock and the installation build log.
spack.lock.hera.rocky8.txt
log.install.unified-env.003.txt
######### Summaries on building gnu/13.2.0, openmpi/4.1.6:
Hera.Rocky8.gcc-13.2.0.txt
Hera.Rocky8.openmpi.4.1.6.txt

Found issues reported with spack building proj-8.1.0:
https://github.com/spack/spack/issues/42775
"Installation issue: proj #42775"

Another package build fails: odc-1.4.6
spack-build-out.txt
Some of the errors:
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-odc-1.4.6-mxdwbhg42464z62avdq3rn2np6qfbzbo/spack-src/src/odc/api/StridedData.h: In member function 'void odc::api::StridedDataT<value_type>::fill(int, int)':
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-odc-1.4.6-mxdwbhg42464z62avdq3rn2np6qfbzbo/spack-src/src/odc/api/StridedData.h:190:40: error: 'uint64_t' does not name a type
 190 |             std::fill(reinterpret_cast<uint64_t*>(get(sourceRow+1)),
     |                                        ^~~~~~~~
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-odc-1.4.6-mxdwbhg42464z62avdq3rn2np6qfbzbo/spack-src/src/odc/api/StridedData.h:23:1: note: 'uint64_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
  22 | #include "eckit/exception/Exceptions.h"
 +++ |+#include <cstdint>
  23 |
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/cache/build_stage/spack-stage-odc-1.4.6-mxdwbhg42464z62avdq3rn2np6qfbzbo/spack-src/src/odc/api/StridedData.h:190:48: error: expected '>' before '*' token
 190 |             std::fill(reinterpret_cast<uint64_t*>(get(sourceRow+1)),
     |                                                ^

Updates:

Spack-stack are built successfully with either gnu/13.2.0 and openmpi/4.1.6 with system-wide installs and with EPIC-installs, with modules accessible from /scratch2/NCEPDEV/stmp1/role.epic/installs/[gnu/openmpi]/modulefiles. Updated ESMF/8.1.6 and MAPL/2.46.0 were also tested with gnu/13.2.0.

Spack-stack/1.6.0 for ufs-wm-env and ufs-srw-env (not the entire unified-env) were built successfully for custom-installed gnu-13.2.0 and openmpi-4.1.6, as well as with system-wide installation of gnu-13.2.0 and openmpi-4.1.6. These included esmf/8.1.6 and mapl/2.46.0.
Building ufs-weather-model, however, gives internal compiler error (ICE) while either of these two stacks is used.
Searched for the bug list in https://gcc.gnu.org/bugzilla, found a similar one that appears to be resolved when gnu-14.1.0 is used.
Built the gnu/14.1.0 under
/scratch2/NCEPDEV/stmp1/role.epic/installs/gnu/14.1.0, and the openmpi/4.1.6.
However, building spack-stack with this combination produced another error.
Opened a bug report in
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115107

Reinstalled gnu/14.1.0 (a previous installation got corrupted) and openmpi/4.1.6 , revised configuration of spack-stack. Still the same error with [-Wimplicit-function-declaration], which came up as a warning in gnu/13.2.0. Details in a compiler bug report listed above.

module use /scratch2/NCEPDEV/stmp1/role.epic/installs/gnu/modulefiles
module load gnu/14.1.0
module use /scratch2/NCEPDEV/stmp1/role.epic/installs/openmpi/modulefiles
module load openmpi/4.1.6_gnu14

Found a workaround for gnu/14.1.0 gcc warnings/errors issues: using cflag="-Wno-implicit-function-declaration ..." helped to avoid errors during the build.
The following "cflags" was needed to build successfully a package (wgrib2, in particular) that had troubles being compiled:
cflags="Wno-deprecated-declarations -Wno-implicit-function-declaration -Wno-incompatible-pointer-types -Wno-implicit-int"

Building gcc and intel packages in the same spack environment does not appear to work. Due to additional flags for the linking stage including gcc libraries, linking fails for the intel.
I'm currently building separate environments for the gcc/14.1.0 and intel on Hera.

Locations of the spack-stacks (NB: packages for UFS-WM and UFS-SRW only!)
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13.3/envs/ufs-wm-srw-rocky8
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.5.1/envs/ufs-wm-srw-rocky8/
Added a comment on ufs-weather-model repository on the tests with spack-stack/1.5.1 and spack-stack-1.6.0 (for ufs-weather-model and ufs-srweather-app packages only):
https://github.com/ufs-community/ufs-weather-model/issues/2263#issuecomment-2135461979

Update for ufs-weather-model, spack-stack-1.6.0 with gnu/13.3.0 and openmpi/4.1.6:
Hera regression tests passed successfully for GNU:
https://github.com/ufs-community/ufs-weather-model/pull/2093#issuecomment-2143694396

Is this all done, can the issue be closed?

Is this all done, can the issue be closed?

This was built only for the UFS WM and SRW packages. Still needs solutions for a couple of other packages for the ue-dev, getting back to the issue!

Well, I built the unified environment with gcc@13 and committed the spack submodule pointer updates. The only thing missing is to bump odc from 1.4.6 to 1.5.2, which I am doing in #759.

Well, I built the unified environment with gcc@13 and committed the spack submodule pointer updates. The only thing missing is to bump odc from 1.4.6 to 1.5.2, which I am doing in #759.

Oh, that's awesome! On which platforms is the unified env. installed with the gcc@13, where could I check the logs how the installation issues were resolved??. I wonder if the issue with the gcc@13 could be considered solved with the gcc.gnu.org/bugzilla...

I did that on my laptop (repeatedly)

I did that on my laptop (repeatedly)
Oh, was it for CentOS, or Rocky, and with what MPI version? openmpi/4.1.6 ?

Rocky Linux 9
<EMAIL_ADDRESS><EMAIL_ADDRESS>

Finding the same error as found earlier with odc/1.4.6 when built with the<EMAIL_ADDRESS>.6-cg3l6ixmpiwjwpq25xainaluso43s5ef/spack-src/src/odc/api/StridedData.h:190:40: error: 'uint64_t' does not name a type
  190 |             std::fill(reinterpret_cast<uint64_t*>(get(sourceRow+1)),
      |                                        ^~~~~~~~
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13/cache/build_stage/spack-stage-odc-1.4.6-cg3l6ixmpiwjwpq25xainaluso43s5ef/spack-src/src/odc/api/StridedData.h:23:1: note: 'uint64_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
   22 | #include "eckit/exception/Exceptions.h"
  +++ |+#include <cstdint>
   23 |
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13/cache/build_stage/spack-stage-odc-1.4.6-cg3l6ixmpiwjwpq25xainaluso43s5ef/spack-src/src/odc/api/StridedData.h:190:48: error: expected '>' before '*' token
  190 |             std::fill(reinterpret_cast<uint64_t*>(get(sourceRow+1)),
      |                                                ^
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13/cache/build_stage/spack-stage-odc-1.4.6-cg3l6ixmpiwjwpq25xainaluso43s5ef/spack-src/src/odc/api/StridedData.h:190:48: error: expected '(' before '*' token
  190 |             std::fill(reinterpret_cast<uint64_t*>(get(sourceRow+1)),
      |                                                ^
      |                                                (
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13/cache/build_stage/spack-stage-odc-1.4.6-cg3l6ixmpiwjwpq25xainaluso43s5ef/spack-src/src/odc/api/StridedData.h:190:49: error: expected primary-expression before '>' token
  190 |             std::fill(reinterpret_cast<uint64_t*>(get(sourceRow+1)),
      |                                                 ^
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13/cache/build_stage/spack-stage-odc-1.4.6-cg3l6ixmpiwjwpq25xainaluso43s5ef/spack-src/src/odc/api/StridedData.h:191:40: error: 'uint64_t' does not name a type
  191 |                       reinterpret_cast<uint64_t*>(get(finalRow+1)),
      |                                        ^~~~~~~~
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13/cache/build_stage/spack-stage-odc-1.4.6-cg3l6ixmpiwjwpq25xainaluso43s5ef/spack-src/src/odc/api/StridedData.h:191:40: note: 'uint64_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13/cache/build_stage/spack-stage-odc-1.4.6-cg3l6ixmpiwjwpq25xainaluso43s5ef/spack-src/src/odc/api/StridedData.h:191:48: error: expected '>' before '*' token
  191 |                       reinterpret_cast<uint64_t*>(get(finalRow+1)),
      |                                                ^
/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13/cache/build_stage/spack-stage-odc-1.4.6-cg3l6ixmpiwjwpq25xainaluso43s5ef/spack-src/src/odc/api/StridedData.h:191:48: error: expected '(' before '*' token
  191 |                       reinterpret_cast<uint64_t*>(get(finalRow+1)),
  ....
  make[2]: *** [src/odc/CMakeFiles/odccore.dir/build.make:471: src/odc/CMakeFiles/odccore.dir/core/DecodeTarget.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13/cache/build_stage/spack-stage-odc-1.4.6-cg3l6ixmpiwjwpq25xainaluso43s5ef/spack-build-cg3l6ix'
...

The odc build is made with -std=gnu++11 option.
I attempted to set a higher-version standard, i.e., -std=c++14 by adding cxxflags in ./common/packages.yaml as follows:
odc:
version: ['1.4.6']
variants: ~fortran
require:
- any_of: ['cxxflags="-std=c++14"']
It did record the flag during concretization:
 -   cg3l6ix          ^odc<EMAIL_ADDRESS>cxxflags="-std=c++14" ~fortran~ipo build_system=cmake build_type=Release generator=make arch=linux-rocky8-haswell

However, odc was still being built with the "-std=gnu++11" during the install phase.
Any suggestions will be helpful!

I mentioned this a few comments above! You need to bump odc to 1.5.2 - the spack-stack PR that does the update still hasn't been merged.

@climbfuji - thank you, all is great now! I haven't realized bumping odc to 1.5.2 was part of the solution. The unified environment for spack-stack-1.6.0 has built successfully to completion on Hera Rocky 8<EMAIL_ADDRESS>openmpi@1.4.6). The env. is located: /scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13/envs/ue-gcc13-openmpi146
I've tested this environment for building SRW and launched a single test;  it is successfully running.
This issue could be closed.

@climbfuji - thank you, all is great now! I haven't realized bumping odc to 1.5.2 was part of the solution. The unified environment for spack-stack-1.6.0 has built successfully to completion on Hera Rocky 8<EMAIL_ADDRESS>openmpi@1.4.6). The env. is located: /scratch2/NCEPDEV/stmp1/role.epic/spack-stack/spack-stack-1.6.0_gnu13/envs/ue-gcc13-openmpi146
I've tested this environment for building SRW and launched a single test; it is successfully running.
This issue could be closed.

More than happy to do that! Thanks for testing in spack-stack-1.6.0.


version 1

@JedWatson just pushed the first version to a v1 branch. Let me know what you think of the API.
I've expanded it to include some very useful methods.
In a nutshell, the API's:

pre

post

hookup Sets up a hook.
field.hookup('pre:save', fn);
//equals:
field.pre('save', fn);

hookable (used to be register)
field.hookable('pre:save'); //only allows 'pre:save' hooks
field.hookable('save'); //allows 'pre:save' and 'post:save' hooks

hooks iterates over all hooks

emit calls hooks
field.emit("pre:save", foo, bar); // all "pre:save" hooks called with foo and bar as parameter

unhook removes a hook
 //removes `onFieldSave` as a `pre:save` hook
 field.unhook( 'pre:save', onFieldSave );
 //removes ALL hooks for `pre:save`
 field.unhook('pre:save');
 //removes ALL `pre` hooks
 field.unhook('pre');
 //removes ALL hooks, i.e. `pre` AND `post`
 field.unhook();

hooked wraps a method with pre and post emissions
field.save = function(){
	console.log('SAVE');
}
field.hooked("save");
field.pre("save", function(){
  console.log("pre:save called");
});
field.save();
//outputs:
//pre:save called
//SAVE

Tests aren't finished yet and I need to add a few more sanity checks

Updated API and tests. WARNING: this depends on an unpublished version of asyncdi where all my PR's have been merged into.

@JedWatson good to go I think, but the new version of asyncdi needs to be published first. I assumed it'll be v1.1.0 ...

Nice work! Merging for final review / collaboration / release :smile:


Issue with Scenario Outline example

After finishing one example, it throws error. Asynchronous timeout.
Wanted to close the browser for each example and open next example in a new fresh browser.
Is there any way to instantiate browser for every example?

Hi @AbhineetSharmax!
It's hard to tell why the test is experiencing a timeout without seeing the code... To answer your question - Protractor is in control of the browser session, so in order to restart the browser you'll need to set restartBrowserBetweenTests to true in the protractor.conf.js;
Please bear in mind that restarting the browser can significantly affect the amount of time it takes to run a test, so you might need to consider an alternative such as clearing any state that might hang around in the browser after a test instead - clear the coookies, clear local storage, etc.
Hope this helps!
Jan


Added README section for Helm charts and examples

@sfxworks, does this work as a compromise for https://github.com/itzg/docker-minecraft-server/pull/460 ?

Looks good to me! I'll continue working on the charts


Dynamic/on-demand content loading

The Climate Action Projects product has really shone a light on this issue - they use a LOT of pretty large images in the Storylines product. In my Firefox console, it seems every single image is getting downloaded completely, leaving the maps in a long "loading" mode while the client waits to download the mapping assets.
Is there a way to make the downloading of assets an "on-demand" feature, that is, the client only downloads the content if they navigate to that slide? Instead of downloading everything up front?

Duplicate #313, more urgent now due to upcoming projects with huge images.


Include Chrome Beta in web browsers

Include paths to Chrome Beta in webbrowser.yaml

@pirxthepilot thanks for the suggested additions I'll take a look as soon as time permits

@joachimmetz thank you!


getting-started-guides for coreos not working

It seems "<master-private-ip>" in master.yaml needs to be replaced with the actual IP as well, whereas the current documentation says to only do the substitution for node.yaml. On the master I'm getting the following in journalctl:
May 07 20:11:08 master systemd[1]: Starting etcd2...
May 07 20:11:10 master etcd2[599]: 2015/05/07 20:11:10 etcd: listen tcp: lookup <master-private-ip>: no such host
May 07 20:11:10 master systemd[1]: etcd2.service: main process exited, code=exited, status=1/FAILURE
May 07 20:11:10 master systemd[1]: Unit etcd2.service entered failed state.

Yes you need to replace "" it is not a variable like $private_ipv4 or $public_ipv4 as you can see in this coreos multinode guide.

This issue is about master.yaml
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/getting-started-guides/coreos/cloud-configs/master.yaml.
The guide says to do the substitution only for node.yaml.
On Fri, May 8, 2015 at 1:12 AM, MCyprien<EMAIL_ADDRESS>wrote:

Yes you need to replace "" it is not a variable like $private_ipv4 or
$public_ipv4 as you can see in this coreos multinode guide
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/getting-started-guides/coreos/coreos_multinode_cluster.md#edit-nodeyaml-1
.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/7913#issuecomment-100145237
.

Fixed in https://github.com/GoogleCloudPlatform/kubernetes/pull/8015


Update to 1.20.2 and 1.20.6 would be amazing

Just letting you know there'd be a happy user if you could get this to 1.20.2 and 1.20.6, but please don't feel pressured to do so by his.

You're not the only one :) The main reason why I haven't updated it past 1.20.1 is because of the changes made in 1.20.2. It changed how the hotbar is rendered, which is why the armor HUD is bugged for those later versions. I'm relatively new to modding, and I have no idea how to work around it while making sure that it can still adapt to resource packs.

Update, the mod has now been updated to 1.20.2-1.20.4. Not sure when 1.20.6 might be ready, but after the success of updating it to 1.20.2, I have a bit more motivation to get it working for 1.20.6.

The mod has now been updated to 1.20.5-1.20.6 :)


Bug 300: When an operationId has already been used; append a postfix...

…to get a unique one. This provides a resolution for issue #300 and at least ensures that a valid Swagger spec is produced.
Many thanks for your fantastic work on Swashbuckle; i've used it many times and would love to make a contribution - let me know if any further work is required!

Hi,
From swagger 2.0 spec:

Tools and libraries MAY use the operationId to uniquely identify an operation, therefore, it is recommended to follow common programming naming conventions.

I have not looked into the PR but I guess the operationId for a spesific method may change if methods are re-ordered or new ones are placed in between?

Well, the order is actually not guaranteed but yes will usually depend on the order of declaration. So changing that order may change the designated id given.
What makes a method unique in C# is of course the signature as a whole; so perhaps a better approach would be to concatenate method name and the names of parameter types? This would be pretty ugly so you would only want to do this for overloaded methods.

Had a quick look - it would be pretty trivial to change the FriendlyId to include the parameter types for all methods; slightly less trivial to do this for overloaded methods only - as you'd need to collect duplicates first ahead of creating friendly names. I'm happy to look into either but will probably wait for feedback from the maintainer first. :smile:

+1 for using argument names.  I think the meta used to generate the path should be enough to create a predictable operationId because Swashbuckle already throws if a non-distinct method name is found within a single path :)

Great addition...
When can we expect this to be merged in?

No problem! I've force pushed a rebase for the original pr; appending an incrementing integer to the end of the name.
There is an unrelated failing test SwaggerUITests.It_returns_correct_asset_mime_type.

Awesome!, I hope this makes it soon...
Did you noticed that they are looking for Maintainers: #1053 ?

... and I just tested your changes all test are passing

Thought about it and I agree; a less specific test is more useful here.

@sjmelia - I know it's been a while and I apologize for not providing feedback sooner.
The operationId is most commonly used as a method/function name in client libraries that are generated from the Swagger description. Although your solution does result in a valid spec. (a good thing for sure) it would result in some confusing method names in those client libraries.
In the ASP.NET Core version of Swashbuckle, I'm generating operationId from a combination of the URI (including path and query params) and HTTP verb instead of the C# method name. This prevents the conflict and hides implementation detail. The code is relatively straightforward:
https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/master/src/Swashbuckle.AspNetCore.SwaggerGen/Generator/ApiDescriptionExtensions.cs#L35
If we're going to solve the conflicting operationId in this version of Swashbuckle, then I'd like to follow a consistent approach.
In addition, I'd like to make it optional and defaulted to the old approach, to maintain backwards compatibility in auto-generated clients unless the service provider explicitly applies this option. This should be highlighted in the docs.
Any chance you'd be interested in submitting a new PR with this approach. I'll try my best to be more responsive this time around :)


How to pass client_id and redirect_uri values in checksession (iframe) http request?

We've developed an application using WSO 2 identity server as the "OP" and Angular 7 with oidcclientjs as "RP".
The "OP" (WSO2 IS) expects client_id and redirect_uri to be sent in check session(iframe) http request as  "https:///oidc/checksession?client_id=&redirect_uri=".
Could you please help us know , how we can update the checksession iframe src to include client_id and redirect_uri.

That's not something described in the spec, so it's a WSO2 proprietary requirement.

I was just writing a question about this when I saw this post.  I can live without check session, but it would be nice to see an option added to support this (some time in the future).
(Something like extraCheckSessionParams similar to the extraQueryParams option that allows Azure Support for resource.)


feature: support custom fetch implementation

Add support for passing a custom fetch function, with default still being globalThis.fetch.
See @microsoft/fetch-event-source for a similar implementation.

Hey @chadsr, thank you!
The change looks great and makes sense to me!
Merged it and released it here: https://www.npmjs.com/package/extended-eventsource/v/1.5.0


(Docker not running) xauth:  file /tmp/.docker.xauth does not exist

Hi, I have a problem after I installed python 3.11 recently. I still have python 3.10 in my system as default python3
Now that I try to run my docker, it fails. Sharing terminal logs below:
Namespace(packages=['local_llm'], prefer=['local', 'registry', 'build'], disable=[''], user='dustynv', output='/tmp/autotag', quiet=False, verbose=False)
-- L4T_VERSION=36.2.0  JETPACK_VERSION=6.0  CUDA_VERSION=12.2.140
-- Finding compatible container image for ['local_llm']
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/rajesh/jetson-containers/jetson_containers/tag.py", line 58, in <module>
    image = find_container(args.packages[0], prefer_sources=args.prefer, disable_sources=args.disable, user=args.user, quiet=args.quiet)
  File "/home/rajesh/jetson-containers/jetson_containers/container.py", line 501, in find_container
    local_images = find_local_containers(package, **kwargs)
  File "/home/rajesh/jetson-containers/jetson_containers/container.py", line 413, in find_local_containers
    local_images = get_local_containers()
  File "/home/rajesh/jetson-containers/jetson_containers/container.py", line 351, in get_local_containers
    status = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
  File "/usr/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['sudo', 'docker', 'images', '--format', "'{{json . }}'"]' returned non-zero exit status 1.
-- Error:  return code 1
localuser:root being added to access control list
xauth:  unable to rename authority file /tmp/.docker.xauth, use /tmp/.docker.xauth-n
chmod: changing permissions of '/tmp/.docker.xauth': Operation not permitted
+ sudo docker run --runtime nvidia -it --rm --network host --volume /tmp/argus_socket:/tmp/argus_socket --volume /etc/enctune.conf:/etc/enctune.conf --volume /etc/nv_tegra_release:/etc/nv_tegra_release --volume /tmp/nv_jetson_model:/tmp/nv_jetson_model --volume /var/run/dbus:/var/run/dbus --volume /var/run/avahi-daemon/socket:/var/run/avahi-daemon/socket --volume /home/rajesh/jetson-containers/data:/data --device /dev/snd --device /dev/bus/usb -e DISPLAY=:1 -v /tmp/.X11-unix/:/tmp/.X11-unix -v /tmp/.docker.xauth:/tmp/.docker.xauth -e XAUTHORITY=/tmp/.docker.xauth --device /dev/video0 --device /dev/video1 -e SSL_KEY=/data/key.pem -e SSL_CERT=/data/cert.pem -v /home/rajesh/jetson-containers/packages/llm/local_llm:/opt/local_llm/local_llm python3 -m local_llm.agents.video_query --api=mlc --verbose --model liuhaotian/llava-v1.5-7b --max-new-tokens 32 --video-input /dev/video0 --video-output display://0 --prompt 'Describe the image concisely.'
docker: unknown server OS: .
See 'docker run --help'.

@dusty-nv - any help?

Tried removing entire docker and then followed your guide to reinstall it.

But when I do sudo systemctl restart docker.service it fails

Logs from journalctl -eu docker
Feb 26 00:13:57 jetson-agx systemd[1]: Failed to start Docker Application Container Engine.
Feb 26 00:16:43 jetson-agx systemd[1]: Starting Docker Application Container Engine...
Feb 26 00:16:43 jetson-agx dockerd[5339]: unable to configure the Docker daemon with file /etc/docker/da>
Feb 26 00:16:43 jetson-agx systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Feb 26 00:16:43 jetson-agx systemd[1]: docker.service: Failed with result 'exit-code'.
Feb 26 00:16:43 jetson-agx systemd[1]: Failed to start Docker Application Container Engine.
Feb 26 00:16:45 jetson-agx systemd[1]: docker.service: Scheduled restart job, restart counter is at 1.
Feb 26 00:16:45 jetson-agx systemd[1]: Stopped Docker Application Container Engine.
Feb 26 00:16:45 jetson-agx systemd[1]: Starting Docker Application Container Engine...
Feb 26 00:16:45 jetson-agx dockerd[5352]: unable to configure the Docker daemon with file /etc/docker/da>
Feb 26 00:16:45 jetson-agx systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Feb 26 00:16:45 jetson-agx systemd[1]: docker.service: Failed with result 'exit-code'.
Feb 26 00:16:45 jetson-agx systemd[1]: Failed to start Docker Application Container Engine.
Feb 26 00:16:47 jetson-agx systemd[1]: docker.service: Scheduled restart job, restart counter is at 2.
Feb 26 00:16:47 jetson-agx systemd[1]: Stopped Docker Application Container Engine.
Feb 26 00:16:47 jetson-agx systemd[1]: Starting Docker Application Container Engine...
Feb 26 00:16:47 jetson-agx dockerd[5365]: unable to configure the Docker daemon with file /etc/docker/da>
Feb 26 00:16:47 jetson-agx systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Feb 26 00:16:47 jetson-agx systemd[1]: docker.service: Failed with result 'exit-code'.
Feb 26 00:16:47 jetson-agx systemd[1]: Failed to start Docker Application Container Engine.
Feb 26 00:16:49 jetson-agx systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
Feb 26 00:16:49 jetson-agx systemd[1]: Stopped Docker Application Container Engine.
Feb 26 00:16:49 jetson-agx systemd[1]: docker.service: Start request repeated too quickly.
Feb 26 00:16:49 jetson-agx systemd[1]: docker.service: Failed with result 'exit-code'.
Feb 26 00:16:49 jetson-agx systemd[1]: Failed to start Docker Application Container Engine.

OK, so I have this issue resolved.
I could see that the docker wasn't able to run and from there I followed the error message [Cannot connect to the Docker daemon at unix:/var/run/docker.sock. Is the docker daemon running?](https://stackoverflow.com/questions/44678725/cannot-connect-to-the-docker-daemon-at-unix-var-run-docker-sock-is-the-docker)
I reinstalled the docker and this time noticed a new error -
failed to start daemon: Error initializing network controller: error obtaining controller instance: unable to add return rule in DOCKER-ISOLATION-STAGE-1 chain.....
Found out that this has something to do with iptables. After this, I ran the below mentioned two commands -
sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy

And then restarted my system. This resolved the issue with my docker.
I don't know what really caused this problem but surely if someone else comes through this, we have a solution here!
Thanks

@rajeshroy402 I think it's the same issue as https://forums.developer.nvidia.com/t/docker-gives-error-after-upgrading-ubuntu/283563

@rajeshroy402 I think it's the same issue as https://forums.developer.nvidia.com/t/docker-gives-error-after-upgrading-ubuntu/283563

Yes, it's the same issue.
Thanks, @dusty-nv


sorry not related to this but this is the only place i cound find to send a message

about the archive repo you made, i'm not deleting the bytebeat website, i'm just taking it off github. microsoft has been training ai models off various repos without permission, they're going to force 2fa soon, etc. just various annoying and unethical things.
i already have the new website up at bytebeat.ficial.net, and it should be permanent since i own the domain and will be using it for many things. i'll have all the code in a public and documented place soon enough.
i don't think i really want the repo archived especially without a link to the new website because it implies that i've stopped working on it. i'd rather people just find the new website.
you also didn't really archive the repo either, it's missing most of the branches (which contain important things!) and has no issues or pull requests

oh alright, i guess i will have to delete that one then. also i did see the warning message on your bytebeat composer that you would soon put the source code there on the new website.


Integrating LLMService with weight splitting

This PR allows LLMService to be used, and weight splitting to be achieves when using the appropriately configured model name.

This is great and clean!
/lgtm


Initialize random numbers generator at start

When model is being loaded / rebuild, Torch's random numbers generator is not yet initialized with manual seed, which makes always random images with NIN ImageNet model, even with "-seed" option.
Because NIN ImageNet model uses dropout layer with random values.
Placing RNG initialization at start allows repeatable results (with manual seed) with NIN ImageNet model, like with VGG models.

Good find. Makes me think further that a dropout layer probably does not do any good in style transfer. Shouldn't we omit them altogether like I did in neural-mirage by adding
 if layer_type ~= "nn.Dropout" then

here https://github.com/jcjohnson/neural-style/blob/master/neural_style.lua#L130
Perhaps this is the reason that NIN has been considered to give poor results?

@htoyryla, this dropout layer seems to be a way to additionallly randomize an image.
When process is initialized with source image (not random noise):

VGG models (not using dropout layer) make identical images with any seed number.
NIN ImageNet without dropout layer makes identical images too.
NIN ImageNet with dropout layer makes different images for different seeds.

Here is an example with and without dropout layer (NIN ImageNet, L-BFGS optimizer), at 150, 600 and ~2400 iterations.
Some features appear without dropout, other features vanish. It looks like dropout doesn't affect optimization speed or improve the image, it simply makes different variation of style:

I know. The Dropout layer is a random mask. Usually used for training to prevent overfitting. That is why I suggested that leaving it out might improve the quality when using NIN or any other model with Dropout between conv layers.
Then, as I also noted in my previous comment, using the Dropout layer produces variations for the same reason as using selected channels only which I experimented with recently (as Dropout masks away random outputs in each channel).
So I was not arguing against using Dropout really; both using dropout and leaving it out makes sense. And so does adding a dropout into a VGG model. As long as one can choose.


Pandera integration

Pandera Integration
This PR adds a pandera integration to the schemas.py module, allowing users to specify dataframe schemas using the pandera class-based API
Type

[ ] Bug Fix
[ ] Feature
[X] Plugin

Are all requirements met?
TODO: testing

[X] Code completed
[ ] Smoke tested
[X] Unit tests added
[ ] Code documentation added
[ ] Any pending items have an associated Issue

Complete description
Add pandera plugin and register PanderaTransformer to the type engine.
Example script:
import pandas as pd
from flytekit import task, workflow
from flytekit.types import pandera as pa
from pandera.typing import DataFrame, Series

class InSchema(pa.SchemaModel):
    hourly_pay: Series[float] = pa.Field(ge=7)
    hours_worked: Series[float] = pa.Field(ge=10)

    class Config:
        coerce = True

class IntermediateSchema(InSchema):
    total_pay: Series[float]

    @pa.dataframe_check(name="foo")
    def check_total_pay(cls, df: DataFrame) -> Series[bool]:
        """Run-time validation check."""
        return df["total_pay"] == df["hourly_pay"] * df["hours_worked"]

class OutSchema(IntermediateSchema):
    worker_id: Series[str]

@task
def total_pay(df: DataFrame[InSchema]) -> DataFrame[IntermediateSchema]:
    return df.assign(total_pay=df.hourly_pay * df.hours_worked)

@task
def add_id(df: DataFrame[IntermediateSchema], id: str) -> DataFrame[OutSchema]:
    return df.assign(worker_id=id)

@workflow
def pandera_workflow() -> DataFrame[OutSchema]:
    worker_id = 100
    df = pd.DataFrame(
        {
            "hourly_pay": ["12.0", "13.5", "10.1"],
            "hours_worked": [30.5, 40.0, 41.75]
        }
    )
    return add_id(df=total_pay(df=df), id=worker_id)

if __name__ == "__main__":
    print(f"Running {__file__} main...")
    result = pandera_workflow()
    print(f"Running wf(), returns dataframe\n{result}\n{result.dtypes}")

Output:
Running example.py main...
Running wf(), returns dataframe
   hourly_pay  hours_worked  total_pay worker_id
0        12.0         30.50    366.000       100
1        13.5         40.00    540.000       100
2        10.1         41.75    421.675       100
hourly_pay      float64
hours_worked    float64
total_pay       float64
worker_id        object
dtype: object

Tracking Issue
TODO: make an issue for this PR
https://github.com/lyft/flyte/issues/
Follow-up issue
NA

@cosmicBboy you may want to take my latest PR, cleans up a lot of the concepts around schema. https://github.com/lyft/flytekit/pull/267/files

Cool, I'll take a look and wait 'til those changes are merged

just rebased changes onto the up-to-date annotations branch, and added a few tests. Not sure how to organize the plugin, for now it's being imported in types/__init__.py so users can access the pandera package namespace with from flytekit.types import pandera, which should also register the PanderaSchemaTransformer on the type engine.

I don't have permissions to merge anymore (getting them back once it moves to linux foundation).  @anandswaminathan please?

Hey @cosmicBboy, this is awesome! Thank you for making this work. In my mind, however, such plugins (type, tasks... etc.) should ideally live closer to the origin (or generally outside of FlyteKit)... in this case, should this integration live in Pandera codebase? so that whoever imports flyte kit and Pandera (so they are aware of both), they can use it... while if they are just writing plain panda dataframes or whatever, they don't need to pull in Pandera library as well... Thoughts?

Hey @EngHabu, that's a good question, based on my conversation with @kumare3 and @wild-endeavor my impression was that pandera would be integrated into the flytekit typing system, so that's where I started for this proof-of-concept.
I haven't delved into the flytekit codebase too much, but how does the plugin system work and are there conventions around how to write them? It looks like currently there are notions of "schemas" for spark, pandas, and the FlyteSchema class, which applies to pandas dataframes (?). As pandera is a run-time validation tool for pandas, I just figured it would make sense to have it in the pandas_schema.py module as an alternative syntax for expressing pandas schemas.

whoever imports flyte kit and Pandera (so they are aware of both), they can use it... while if they are just writing plain panda dataframes or whatever, they don't need to pull in Pandera library as well

This would be ideal, but I didn't immediately find a clever way of registering the PanderaTransformer into the type engine without having to explicitly import pandera from flytekit.types. As flytekit is out of my domain of knowledge I'd defer to the flytekit team as to how to achieve this.

@cosmicBboy how are the checks run? Are they run automatically? (I don't think so - but just checking)

@kumare3 yes, validation checks are run automatically in the to_python_value method.
also, need to close this PR, since the pandera integration was merged here: https://github.com/flyteorg/flytekit/pull/354


Would it be hard to pipe a webpage to fltrdr?

Perhaps I'm the only one interested in that, but I wonder if it would be feasible to make fltrdr fetch the content of a webpage (with 0 depth on links of course) or even a div (if there are anchor URL available) with fltrdr <url>? Perhaps that is already doable with some other UNIX commands to fetch the text content and pipe it to fltrdr with command <url> | fltrdr?
I wonder if lynx and readability-cli could be used for that.

Okay, this seems to work pretty well with readability-cli using readable <url> -p title,text-content | fltrdr. Maybe I could just work out an alias to make that easier to type if you think it's not worth being integrated as a fltrdr option.

Sadly, the sole thing I think fltrdr is missing is the option to traverse a text paragraph- and sentence-wise. But piping it in seems fine enough, I usually use less or any other spritz reader, but it works fine with this too lynx -dump https://en.wikipedia.org/wiki/Special:Random  | fltrdr

@Kabouik
I think it would be best to keep fltrdr as just a reader, and leave the content wrangling to other dedicated programs, unless it would offer some advantage that couldn't be acheived otherwise.
Maybe a section could be added to the README.md listing ways to read content from different sources such as a website, pdf, etc.

@communistkiro
It's currently possible to traverse text by sentence using H to go to the previous sentence and L to go to the next sentence.
Traversing text by paragraph is not currently a feature, but it could be added. Since all newlines get removed when the text gets parsed, a lookup table could be built during parsing to then be reffered to later, storing the index of each newline. If you would like this feature to be added, could you open this as a new issue?


token : null using new Google_Client();

I am unable to get token from Google_Client(),  I want to implement Google HomeGraph  for request sync. I am using laravel as my PHP framework. In the code below I load the json config file but it always fails to get a proper token. I am unable to find a documentation that I can follow to solve this issue

       $path = storage_path() . "/gapi_key.json";
        putenv('GOOGLE_APPLICATION_CREDENTIALS='.$path);
        $client = new Google_Client();
        $client->useApplicationDefaultCredentials();
        $client->setAuthConfig($path);
        $client->authorize();
        dd($client);

This results in the response as shown below

What happens when you try to make a request using the client? Do you get an error?

Hi @jdpedrie ! im working together with @dmsherazi. I tried to make a request im having this error
{ "error": { "code": 400, "message": "Request contains an invalid argument.", "errors": [ { "message": "Request contains an invalid argument.", "domain": "global", "reason": "badRequest" } ], "status": "INVALID_ARGUMENT" } }

I don't believe that there are specific examples for PHP, however if you follow the API reference closely, you should find that it maps well to the PHP client.
agentUserId is required, so we must set it in the request.
$request = Google_Service_HomeGraphService_RequestSyncDevicesRequest;
$request->setAgentUserId(Auth::user()->id);

$homegraph = new Google_Service_HomeGraphService($client);
$response = $homegraph->devices->requestSync($request);

Thank you so much! i got it now.


crono not maintaned - CVE-2020-26235 in time

crono depends on vulnerable version of time and it seems not to be well maintained. Could you maybe replace it completely with some newer version of time as suggested here.

Let's go!!! We need to fix this crate up: https://github.com/softprops/json-env-logger/pull/15


"Publish to GitHub Packages" is lying

https://github.com/linkedin/kafka-monitor/blob/8d8a33b9052ef6d2418f241266bf87b1f4482fb0/.github/workflows/gradle-publish.yml#L29
It doesn't publish in GitHub Packages: https://github.com/orgs/linkedin/packages?repo_name=kafka-monitor
On the other side, something is still publishing in Bintray (https://bintray.com/linkedin/maven/kafka-monitor)
Therefore, the USERNAME and TOKEN are useless for the moment.
==> https://docs.github.com/en/free-pro-team@latest/packages/using-github-packages-with-your-projects-ecosystem/configuring-gradle-for-use-with-github-packages#example-using-gradle-groovy-for-a-single-package-in-a-repository

Thanks zigran, should we remove Publish to GitHub Packages workflow?

I don't know, if the goal is to publish in GitHub packages, then better to make it work.


No CommandOnCooldown error handling for Application commands

Error handling for "CommandOnCooldown" works if %rm is used (an embed is successfully posted with a message stating the command is on cooldown) but not if /room is used (the bot simply displays "[bot name] is thinking" until the cooldown is over).

Fixed with commit 19456e1


the video with drm appears on the black screen.

Have you read the FAQ and checked for duplicate open issues?
yes
What version of Shaka Player are you using?
3.0
Can you reproduce the issue with our latest release version?
yes
Can you reproduce the issue with the latest code from master?
yes
Are you using the demo app or your own custom app?
yes
If custom app, can you reproduce the issue using our demo app?
/
What browser and OS are you using?
Mac OS
Using the drawimage() method, the screen of the video is being drawn on the canvas.
However, the video with drm appears on the black screen.
I looked it up to solve it, and they said it was because of the drm policy.
Is there any way to solve this problem?

Due to the security policy applied by DRM, it is not possible to view a video with DRM on a canvas. So it is not possible to do what you need.
This is a non-ShakaPlayer issue, we can give you support, but it is a limitation of the browser-drm conjunction.


Create elements manager ab test. Place test ad in right slot.

What does this change?

Create elements manager ab test. This is mirrored in frontend.
When in the test:

Don't load opt-out or googletag
Load an example ad in an iframe in the right slot.

To test, not that you will need to run elements manager on port 3002 to see the ad.
Why?
This is a step towards using elements manager to place elements on the page.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.911%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
631

Relevant Lines:
665

💛  - Coveralls


Getting Error While Running

Here is the error
./osmedeus.py -t example.com
Traceback (most recent call last):
File "./osmedeus.py", line 182, in
main()
File "./osmedeus.py", line 97, in main
config.banner(version, author)
File "/root/Osmedeus/core/config.py", line 54, in banner
""".format(C, G, P, R, B, GR, version, author))
UnicodeEncodeError: 'ascii' codec can't encode character '\xaf' in position 1005: ordinal not in range(128)

It's really weird. Did you run it with python3? And btw what's your OS?

yes running with python3 and os is Debian GNU/Linux 9 (stretch)

Can you run ./osmedeus.py -hh to make sure the error is in the print banner function

Hi
i got the following error
Traceback (most recent call last):
File "./osmedeus.py", line 182, in
main()
File "./osmedeus.py", line 97, in main
config.banner(version, author)
File "/root/Osmedeus/core/config.py", line 54, in banner
""".format(C, G, P, R, B, GR, version, author))
UnicodeEncodeError: 'ascii' codec can't encode character '\xaf' in position 1005: ordinal not in range(128)

I still have no idea why this happened.
The only way I can think of is you comment this line https://github.com/j3ssie/Osmedeus/blob/master/osmedeus.py#L97 from osmedeus.py file.

commenting out that line fixed the issue but still throwing some error
Traceback (most recent call last):
File "core/app.py", line 128, in
app.run(host=host, port=port, debug=debug, ssl_context=(cert_path, key_path))
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 943, in run
run_simple(host, port, self, **options)
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 1009, in run_simple
inner()
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 962, in inner
fd=fd,
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 805, in make_server
host, port, app, request_handler, passthrough_errors, ssl_context, fd=fd
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 723, in init
self.socket = ssl_context.wrap_socket(sock, server_side=True)
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 611, in wrap_socket
**kwargs
File "/usr/lib/python3.5/ssl.py", line 1069, in wrap_socket
ciphers=ciphers)
File "/usr/lib/python3.5/ssl.py", line 691, in init
self._context.load_cert_chain(certfile, keyfile)

well I got it, you need at least python 3.6 so maybe update your python will resolve this.

Hi
I am also facing the same issue and my python version 3.6.9
Pls Help

commenting out that line fixed the issue but still throwing some error
Traceback (most recent call last):
File "core/app.py", line 128, in
app.run(host=host, port=port, debug=debug, ssl_context=(cert_path, key_path))
File "/usr/local/lib/python3.5/dist-packages/flask/app.py", line 943, in run
run_simple(host, port, self, **options)
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 1009, in run_simple
inner()
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 962, in inner
fd=fd,
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 805, in make_server
host, port, app, request_handler, passthrough_errors, ssl_context, fd=fd
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 723, in init
self.socket = ssl_context.wrap_socket(sock, server_side=True)
File "/usr/local/lib/python3.5/dist-packages/werkzeug/serving.py", line 611, in wrap_socket
**kwargs
File "/usr/lib/python3.5/ssl.py", line 1069, in wrap_socket
ciphers=ciphers)
File "/usr/lib/python3.5/ssl.py", line 691, in init
self._context.load_cert_chain(certfile, keyfile)

Hi,
I am also facing the same issue and my python version is also 3.6.9
Pls help


exercise: "Bilden Sie Sätze"

Hey @inyono,
I have a working prototype of this exercise (drag & drop part), you can check it in this branch, the related component is located at src/components/DragAndDropExample.js - the code can be hard to read there, so please ask if there are any questions.
Please tell, if some things are working not exactly as they are supposed to, plus it would be great if you could leave some feedback about the whole component - maybe some things should be done in different way.


tools: add clean libvirt

Signed-off-by: Kyr Shatskyy<EMAIL_ADDRESS>

Would be good to have an option of filtering on the prefix, but as a tool this doesn't matter. Thanks :-)


enKrypt will override Metamask, when launching App

uniswap:

this is a major issue in ethereum eco system where you cant have 2 browser wallets at the same time, however there will be a fix for all wallets soon
https://eips.ethereum.org/EIPS/eip-6963
meanwhile you can temporarily disable Enkrypt by going to settings

turn off Ethereum for 1 hour


Create 2023-04-26-newsletter.md

Hi @bitschmidty , thanks for your review !

@Copinmalin it might help for clarity to title the PRs in the format of "Newsletter-248: translate into French" in the future


Make ping.10s.sh aware of network disconnection

It'd be nice to report it in red and with negative number. Right now it shows 0ms in white.

+1 - Would you like to have a go at this?


Open extension with lightning url

Extension can also be opened when the user clicks on lightning:bolt11 url, instead of explicitly opening the extension.
The bolt11 invoice is available in the url and saves the effort of copy-paste operation for the user.

Done.


🐛 BUG: build.upload dir doesn't default to dist

What version of Wrangler are you using?
0.0.17
What operating system are you using?
Linux
Describe the Bug
Not sure if this is a bug, but docs say [build.upload]'s dir is optional and defaults to dist.
https://developers.cloudflare.com/workers/cli-wrangler/configuration#modules
in wrangler2 this defaults to the project dir, so module users will need to manually add:
[build.upload]
dir = "dist"

to keep their custom builds working.
Not sure if we should change wrangler2 or the docs? Defaulting to dist in the first place is arguably confusing and maybe being explicit is preferable.

Yeah we definitely don't want ./dist to be the default, that's caused a lot of angst. Perhaps the thing to do here is to make build.upload.dir mandatory if you're using build.upload.main.
Overall, we want to move away from this and have a top level main field for both service worker and modules format workers (since we can now infer format and have a first class module system in w2).
Thanks for filing this issue!

Backward compat is hard...
If we are going to deprecate the build.upload.main/dir fields in favour of a top-level main/entry field, then perhaps we could leave dir defaulting to dist? But only if we work hard to move people off the build.upload approach.

Backward compat is hard...
If we are going to deprecate the build.upload.main/dir fields in favour of a top-level main/entry field, then perhaps we could leave dir defaulting to dist? But only if we work hard to move people off the build.upload approach.

I think this is a good idea. Existing configurations will work and we can fix this with a new entry or main field.


Multiple polymorphic associations

Hello!
I'm trying to configure this module with rails api.
In rails I have this models:

User
Comment
Attach

Comment belongs_to commentable, Attach belongs_to attachable, and User has_many comments as commentable and has_many attaches as attachable.
How to configure multiple polymorphic associations using your module in ember?
With this code I can set only one association, and I can't extend multiple models.
import Attachable from './attachable';

export default Attachable.extend({

Thank you for response!

I can't understand your question and it seems that you have not read documentation of Ember Data hasMany and polymorphic. Please be decent enough to provide a non-working solution so others could help you to improve your solution.

@mxrguspxrt, Thank you for response!
I've already read all this links and have a solution, which I'll try to explain below.
As I sad, in rails I have 3 models:

User
Attachment
Comment

It looks like this:
class User < ActiveRecord::Base
  has_many :attachments, as: :attachable
  has_many :comments, as: :commentable
end

class Attachment < ActiveRecord::Base
  belongs_to :attachable, polymorphic: true
end

class Comment < ActiveRecord::Base
  belongs_to :commentable, polymorphic: true
end

And I need to preload this associations in user#show request in order to speed up my website. My json response to user#show looks like that:
"user": {
  "id": 1,
  "comments": [ {
    "body": "qwe",
    "commentable_id": 1,
    "commentable_type": "User"
  }],
  "attacments": [ {
    "source_url": "...",
    "attachable_id": 1,
    "attachable_type": "User"
   }]
}

Now, I need to setup ember models. As I read in this discussion, I need to implement 2 models: Attachable and Commentable and User model should extend them, so:
// models/attachble.js
import DS from 'ember-data';

export default DS.Model.extend({
  attachments: DS.hasMany('attachment')
});

// models/commentable.js
import DS from 'ember-data';

export default DS.Model.extend({
  comments: DS.hasMany('comment')
});

Next, I implement my polymorphic models, as it specified in documentation to active-model-adapter:
// models/attachment.js
import DS from 'ember-data';

export default DS.Model.extend({
  source: DS.attr(),
  attachable: DS.belongsTo('attachable', {polymorphic: true})
});

// models/comment.js
import DS from 'ember-data';

export default DS.Model.extend({
  body: DS.attr(),
  comment: DS.belongsTo('commentable', {polymorphic: true})
});

And then I implement my User model. If I have only one polymorphic association inside user:
// models/user.js
import Attachable from './attachable'

export default Attachable.extend({
});

it works great. But I don't know how to add second association. There are lots of examples with single association, but I can't find examples with multiple polymorphic associations in one model. Problem is that I can't extend multiple models.
Am I missing something?
Thank you!

I think your Rails models are too complicated in this scenario. I usually try to avoid polymorphic associations at any cost  (If I need them, I usually specify owner_id and owner_type manually and create 3 lines of code for finding or setting it on my own.)
You need EmbeddedRecordsMixin (http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.html) in you want to load them instantly - but in my experience, this does work unexpectedly (or not at all) with ActiveModelSerializer.
In my 2 years of Ember experience, I recommend to avoid complicated models (REST API exposes only 1 resource, meaning no sideloads in same request.) Speed up your page load time using JSON serialized cache in the EngineX, Apache2 or Redis. Also use ember-cli-fastboot - your initial request is rendered as pure HTML on server side on first page load.
Use lazy loading and linked resources in API, whenever possible.

@mxrguspxrt, So, if I understand you correctly, if I want more than single polymorphic associations in one model, I need to set entity_id and entity_type on my own, right?
Thank you for sharing your experience, I'm new in Ember and I'll follow your advice.

No, I am saying that EmbeddedRecords and Polymorphic assocations are broken in Ember with ActiveModelSerializer, and that EmbeddedRecords suck (in REST APIs overall) and should not be used at all (because reasons listed in previous response).
Use linked resources and fastboot and saveyourself from weeks of wasted time.

@mxrguspxrt, Thank you very much!
Closing question.

Links are actually worse for a lot of cases ActiveModelSerializers in rails handles for you: sideloading. Even if your records get sideloaded, Ember Data will do an additional request. This usually ends up being worse from an end user perspective, and on mobile. I'll re-read the issue but this sounds like a bug; I don't think the correct answer is "things suck don't use them" (although I tend to agree WRT embedded record serializer), but I don't think Embedded Records are required here.

@Toshegg I think a workaround may be to use this format:
"id": "1",
"attachable": {
  "id": 1,
  "type": "attachment"
}

For your records that have an attachable relationship.
You should be able to do this in AMS in rails:

```ruby
class CommentSerializer < ActiveModel::Serializer
  attributes :id, :name, :body, :attachable

  def attachable
    {
      id: object.attachment.id,
     type: object.attachment.class.name.underscore
  end
end

@fivetanley Does this format works out of the box with active-model adapter?
As I sad, problem is that when I implement User model, i need to extend Attachable and Commentable helpers, what doesn't seem possible because of inability of multiple inheritance.

Yes, that does work, and is the preferred format. The one you are using now is also supported. I think the real problem here is maybe Ember's inheritance model's documentation not being clear.
If you want the code to be reusable between classes, you can create mixins instead.
// app/mixins/attachable-serializer';
import DS from 'ember-data';
import Ember from 'ember';
export default Ember.Mixin.create({
  attachable: DS.belongsTo('attachable', {polymorphic: true})
});

// app/mixins/commentable-serializer';
import DS from 'ember-data';
import Ember from 'ember';
export default Ember.Mixin.create({
  commentable: DS.belongsTo('attachable', {polymorphic: true})
});

then in your model:
// app/models/comment
import DS from 'ember-data';
import Commentable from '../mixins/commentable-serializer';
import Attachable from '../mixins/attachable-serializer';

export default DS.extend(Commentable, Attachable, {
  // regular model attributes here
});

You can create as many mixins as you want, and pass them to extend. This is semantically different than multiple inheritance, but I think will allow you to do what you need.

@fivetanley That is exactly what I want! Thank you, I'll try to implement mixins.

@fivetanley

Do I understand correctly that EmbeddedMixin is not required for embedded json any more?
How constructing a string is slower than loading associations (because Rails uses lazy loading)?
What would be good approach to avoid slowness when he wants to get index of users instead of one user? (Could it be to specify on index and show different sideloads? Would it make code conditional that in one case sideload is async, in other case it is not, and all hell brokes loose?)

This is true for the embedded case (still required), but not the sideloaded case.
If you research "N+1" queries, you can see why ember data often recommends sideloading. However, it's not always a great idea to sideload if nobody is looking at the data or doing it on index (all records) endpoints. In this case it's usually better to send IDs and have a backend that can find multiple ids at once. Links don't really have this notion of caching (e.g. if you load a post with id of 1, it should not trigger an additional request. A Link would always do an additional request).
The answer is "it depends" on the use case/backend implementation.

Thank you for your response.

So you can sideload in object root? Ok, that is cool! I always thought you need different keys for different objects. :)
I understand that from EmberJS perspective, cache as such using ID-s is better approach. I claim that when you will have 10000 associations, you are in a headache with this approach.

You do need different keys for different object types.
Yes, the answer is "it depends, but most people don't tend to have a large number of associations per object, and if they do, they can choose an alternate strategy".

Cool! I learned something today. Thank you for this discussion. All the best. :)

@fivetanley, I tried to setup models as you sad and I've failed.
Here's my models and mixins:
// mixins/attachable.js
import DS from 'ember-data';
import Ember from 'ember';

export default Ember.Mixin.create({
  attachments: DS.hasMany('attachment')
});

// models/comment.js
import DS from 'ember-data';
import Attachable from '../mixins/attachable';

export default DS.Model.extend(Attachable, {
  body: DS.attr()
});

// models/attachment.js
import DS from 'ember-data';

export default DS.Model.extend({
  attachable: DS.belongsTo('attachable', {polymorphic: true})
});

When I try to do
this.attachment.set('attachable', this.comment);

I get following error:

Also, I've found solution to set Ember.MODEL_FACTORY_INJECTIONS to false, but it doesn't solve the problem.
I will be very grateful to any advice how to solve this problem, can't find solution in Google.

I forgot that it needs to be a mixin, and needs to go in app/models/attachable.js.

@fivetanley, Thank you for quick response! Now I have
// models/attachable.js
import DS from 'ember-data';
import Ember from 'ember';

export default Ember.Mixin.create({
  attachments: DS.hasMany('attachment')
});

And with this json response:
"comment": {
  "id": 123,
  "attachments": [{
    "id": 131,
    "attachable": {
      "type": "Comment",
      "id": 123,
    }
   }]
}

I have following error:

It disappears when I comment out belongsTo('attachable', {polymorphic: true}) inside Attachment model.
Thank you!

I do not know, that this format works. In your response, I think you need to use EmbeddedRecords, or you need to have:
{
comment: {
...
attachments: [1, 2, 3]
},
attachments: [...]
}
Everything is written in previous posts.

If Attachment is a model, it needs to be a DS.Model. it looks like "attachable" and "attachment" are two different things. The mixin should only have the relationship code and should never be instantiated from the store.
It might be easier for you to copy the relationship code in every model
export default DS.Model.extend({
  attachable: DS.belongsTo('attachable', { polymorphic: true })
});

And then have an attachable mixin in app/models/attachable. But keep in mind Attachment and Attachable are two different things in your app so they need their own file.


Strange colors in PDF

I have this PDF (below), which contains the "triangle" at the bottom part, filled with a Gradient between light blue and dark blue (it is the only gradient in the whole PDF).
The gradient function is FunctionType 3  between
/C0: [1, 0.02745099924504757]
/C1: [0.49411800503730774, 0.03137259930372238]
Color Space info says, that this is ["/Cyan", "/Yellow"], and the color-space function (of FunctionType 4) converts them to  CMYK  [0.49411797523498535, 0, 0.03137260675430298, 0]  and CMYK  [1, 0, 0.027450978755950928, 0]
But these CMYK values correspond to more "Cyan" colors, like this: https://imgur.com/zCtVtth . So why pdf.js renders it as much "bluer" blue?  https://imgur.com/5duPx6j  Should there be any other color processing, that I am missing?
WEBSITE-ZLONIN-uprava.pdf

The is how Adobe Reader renders the file:

This is how PDF.js, version 2.0.451 (the latest as of this writing), renders the file:

At least to my eye, there's nothing really separating Adobe Reader and PDF.js here; hence it's not really clear what (if anything) is the problem here!?
Furthermore, most of the information requested in https://github.com/mozilla/pdf.js/blob/master/.github/ISSUE_TEMPLATE.md is missing. Also, if this is a problem with a custom implementation of PDF.js you'll need to provide access to a working example the demonstrates the problem; as described in https://github.com/mozilla/pdf.js/blob/master/.github/ISSUE_TEMPLATE.md.

I didn't expect you to use the output of Adobe Reader as a proof of correctness.
I think the information from Issue Template is not relevant in this case. I am trying to learn the PDF format and I am curious why it works as it worsk. I would like to find somebody, who could tell me, how the colors (in pdf.js or in Adobe Reader) were achieved. According to my understanding of the specifications, the colors should be different.

The web doesn't really support CMYK so it is converted to RGB using https://github.com/mozilla/pdf.js/blob/24f766b14d84b6776c1b3b6952b097bd8f865a5d/src/core/colorspace.js#L668

Oh, ok, that was it. My error was just in the CMYK to RGB conversion.
I expected the simple conversion R=1-C;  G=1-M;  B=1-Y;   But your transformation matrix gives the corresponding result. Thanks!


About Region Encoder

Hi,YiF.I have read the literature with reference to your open source code in the past two days, and have the following questions about the Region Encoder part:

H^W=N, then N is the number of tokens, do h and w change with the changes of H and W?
For a 512^512 image, H^h=512, W^w=512?
h and w are both 4 in your source code, so for a 512^512 image, H=W=128 and N=16384, is that too much?

Hi @wanghr-git ,

In fact H and W never change (for a specific model), h and w can be changed to adjust output resolution;
In the default setting, we do not output the full resolution segmentation map, which I believe is a common practice of the community. e.g, for RegProxy-Ti/16, we set H = W = 512 / 16 = 32 and h = w = 4, then the output is of Hh * Ww = 128 * 128.
Hence, H and W are not large numbers. The output resolution is decided by h and w. Moreover, increasing h, w (to increase output resolution) only introduce very little overheads (see Table 8 in appendix), enabling our model to produce arbitrarily fine output with limited cost.

Thank you for your reply! Best wishes!


fix(hardware-testing): Change 96ch pipette name in photometric calibration protocols

Calibration protocols for the 96ch pipette were using p1000_96 as the name. This needs to be changed to flex_96channel_1000.

Overview

Test Plan

Changelog

Review requests

Risk assessment

this PR might be outdated now


Add the policy tax trackingEnabled

Details

This PR adds the policy.tax.trackingEnabled property so we copy what is in the db policy object
Fixed Issues

$ https://github.com/Expensify/App/issues/36176
Tests

Make sure Tax is enabled in Old Dot.
Add some tax policies in Old Dot.
Add a member to your workspace.
select a user from your workspace with enabled policies.
Click on request money as either manual or scan.
enter amount.
click on Show More and select tax rate.
Verify it worked fine

[ ] Verify that no errors appear in the JS console

Offline tests

N/A
QA Steps

Same as tests

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos
simple change, works fine

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@ishpaul777 ok please go ahead, I think you will need to have the Collect policy set up

yep that should be it, you need to invite in another user to the policy btw to get the workspace chat

@ishpaul777 thanks! updated!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/thienlnam in version: 1.4.42-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/chiragsalian in version: 1.4.42-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Difference between read and unread e-mails not easily noticeable anymore

Checklist

[X] I have used the search function to see if someone else has already submitted the same bug report.
[X] I will describe the problem with as much detail as possible.

App version
6.902
Where did you get the app from?
F-Droid
Android version
13
Device model
moto g52
Steps to reproduce

Open the app.

Expected behavior
The difference between read and unread e-mails should be easily noticeable.
Actual behavior
Since the last update, the difference between read and unread e-mail is not as easily noticeable anymore and I have to actively look, which takes a lot more effort, to notice which ones are read and unread, so that is not very great.
Logs
No response

The Material 3 theme in 6.9xx versions is still in alpha state and we're working on fine tuning it.
Did you experience this for the light or dark theme, or both?

I'm on 6.903 and I second this. I can barely see which mail is unread or read. I'm using dark mode:

Just re-adding the two screenshots from #8234 to have a visual reference of how it was solved in K9 compared to current Thunderbird:
K9 6.804

Thunderbird 8.0b1


duel arena chat command

Fixes #8909
https://i.imgur.com/ZHfe2oh.png

add a test case to ChatCommandsPluginTest wiith the duel messages
remove the mode modifications to the keyboard listener and skill abbreviations
maybe pack both wins and losses into one int so avoid having to do 2x web requests?

The issue with part 3 is that duel area messages are in two lines, not sure if it is possible for onChatMessage to see previous chat messages.

Another advanced feature this could have is to keep track of streaks, like how many you win in a row. But this may also increase web requests.

I just implemented the win/losing streak functionality, but it calls a total of 3 web request. Here are images of how they look
I haven't pushed it yet though

Yeah I knew how to do it but didnt know I only had to do it for the chatClient versions of submitkc

I also should refactor the bitpacking into two separate functions

I certainly wouldn't bitpack the wins/losses in the config, that was just a suggestion for abusing the kc service. Maybe it would be worth adding a separate endpoint for duels.

Yeah this is a working version, but it could definitely can be improved

I added support for a separate end point for the duels command, the plugin no longer works but if the web api is updated then all should be good.

Okay. It's not too hard to setup the api in intellij to run if you want to do that to test it. I will try to look at this tomorrow.

This is missing all of the changes to http-service required for the api to work.

Did you run http-service to test this?

@RALEx147 have you confirmed the varbit value is correct when outside of ba?


CRD and controller for OS versions

In order to be able to select available versions to upgrade our nodes into from UI or either kubectl, we need a generic ManagedOSVersion CRD/controller and a ManagedOSVersionChannel CRD to represent the version we want to upgrade into, and how we get all the lists of available versions. This will also help us later on with moving image validation steps inside the kubernetes cluster with a kubewarden policy (as we can validate releases both while fetching new ones, and while applying them)

[x] #67
[x] https://github.com/rancher-sandbox/os2/issues/59
[x] https://github.com/rancher-sandbox/rancheros-operator/pull/7
[x] https://github.com/rancher-sandbox/os2/issues/78
[x] https://github.com/rancher-sandbox/os2/issues/64
[x] https://github.com/rancher-sandbox/os2/issues/63
[x] https://github.com/rancher-sandbox/os2/issues/84
[ ] https://github.com/rancher-sandbox/os2/issues/85
[x] https://github.com/rancher-sandbox/os2/issues/86
[x] https://github.com/rancher-sandbox/os2/issues/87
[x] https://github.com/rancher-sandbox/rancheros-operator/issues/16
[x] https://github.com/rancher-sandbox/rancheros-operator/issues/17
[x] https://github.com/rancher-sandbox/rancheros-operator/issues/18
[ ] https://github.com/rancher-sandbox/cOS-toolkit/issues/1183

Notes
API defintions: https://github.com/rancher-sandbox/os2/blob/master/pkg/apis/rancheros.cattle.io/v1/os.go#L28

Closing this as we have the mechanism in place. we have already follow-ups for the low-hanging fruit work


Added CORS support on supervisor endpoints

Fix: Implemented CORS support on supervisor endpoints.

Thanks !
Can we use the version of aiohttp-cors shipped in Debian ?
https://packages.debian.org/bullseye/python3-aiohttp-cors
Should we remove the duplication with a custom decorator that wraps custom_cors(...) ?


@import css bug

Given this main.less stylesheet:
@import "reset.less"
@import "base.css"

and a directory structure that looks like this:
project
---styles
------main.less
------reset.less
------base.css

When I use LESS in Node everything is fine - main.less can import base.css. But when I use less.js in the browser, it can't find it because it's no longer looking relative to the main.less file, but relative to the index.html where less.js is used.

@cloudhead this is still broken in LESS 1.2.2. Importing CSS is a very common use case. Mind taking a look at the pull request by @maranomynet ?


mysql: Incorrect returned value when calling stored procedure

Bug description
I'm executing a raw query like so:
 return ctx.prisma.raw('CALL increaseShopCounter("2f58dbe793ad4d821fe");')
It executes the query correctly in the DB but the returned value is incorrect.
It always returns "1"
{
  "data": {
    "requestAppointment": "1"
  }
}

Expected behavior
When I execute the stored procedure against mysql it returns

Prisma information

Prisma version:

@prisma/cli          : 2.0.0-beta.3, 2.0.0-beta.2, 2.0.0-beta.1
Current platform     : debian-openssl-1.1.x
Query Engine         : query-engine 2fb8f444d9cdf7c0beee7b041194b42d7a9ce1e6 (at<EMAIL_ADDRESS>Migration Engine     : migration-engine-cli 2fb8f444d9cdf7c0beee7b041194b42d7a9ce1e6 (at<EMAIL_ADDRESS>Introspection Engine : introspection-core 2fb8f444d9cdf7c0beee7b041194b42d7a9ce1e6 (at<EMAIL_ADDRESS>

Node.js version: v10.16.3

Hi,
Thanks for reporting this! It has already been reported before, so I am going to close this as a duplicate of https://github.com/prisma/prisma/issues/2208
Basically right now, query-engine only returns data if your query start with a select statement. Please see https://github.com/prisma/prisma/issues/2208#issuecomment-616086097 for more details


Added upload-progress role.

Add role to install the uploadprogress extension -- https://pecl.php.net/package/uploadprogress
role :: https://github.com/beetboxvm/ansible-role-beetbox-upload-progress

@geerlingguy done -- there's no specific Ubuntu tasks so should support all platforms.

Also no worries if you wanted to maintain this as geerlingguy.upload_progress we'd also switch over to use it as we only want to maintain project roles -- https://github.com/beetboxvm/beetbox/blob/master/provisioning/ansible/config/beetbox.config.yml#L58

Whilst we don't necessarily want to maintain roles we're more than happy to push PRs upstream and have made it really easy to do this by checking out roles directly from the source repo in debug mode.
https://github.com/beetboxvm/beetbox/blob/master/provisioning/ansible/playbook-roles.yml#L32-L38

@thom8 - If you're willing to maintain the role (it seems it would be relatively minimal... but it does take a little effort over time), I'm okay with using it (I use arknoll for selenium :) )—the main thing is if there's ever a bug/problem, I just want to make sure I can help work through it quickly.
If you're not interested in maintaining the role, I'd be willing to fork it and take it over, but only if you don't want it.

Don't mind either way just thought that you're probably better placed to
support multiple platforms.
It's very similar to your xdebug and xhprof roles.
@thom8 https://github.com/thom8 - If you're willing to maintain the role
(it seems it would be relatively minimal... but it does take a little
effort over time), I'm okay with using it (I use arknoll for selenium :)
)—the main thing is if there's ever a bug/problem, I just want to make sure
I can help work through it quickly.
If you're not interested in maintaining the role, I'd be willing to fork it
and take it over, but only if you don't want it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/geerlingguy/drupal-vm/pull/788#issuecomment-231569627,
or mute the thread
https://github.com/notifications/unsubscribe/AAUOveYkONb1bxO-NeYeE5vckZow-w3cks5qUHCHgaJpZM4JIgH1
.

I'm happy to maintain it so I'll transfer it to my account and update tests for both platforms.

@geerlingguy what would you recommend as your best role for multi platform tests?

All done & tests are passing on CentOS 7, Ubuntu 12.04 & 14.04
https://travis-ci.org/thom8/ansible-role-php-upload-progress

It looks like 1.0.1 isn't available on Galaxy yet:
[WARNING]: - thom8.php-upload-progress was NOT installed successfully: ERROR!
- the specified version (1.0.1) of thom8.php-upload-progress was not found in
the list of available versions ([{u'name': u'1.0.0', u'created':
u'2016-07-12T10:35:16.650Z', u'url': u'', u'release_date':
u'2016-07-09T07:20:59Z', u'modified': u'2016-07-12T10:35:17.005Z', u'related':
{}, u'id': 16514, u'active': True, u'summary_fields': {u'role': {u'id': 10928,
u'name': u'php-upload-progress'}}}]).

https://galaxy.ansible.com/thom8/php-upload-progress/
Note that you can have Travis push updated tags directly to Galaxy if you get your travis token from your Travis CI settings page (on left side near top), then go to Galaxy, 'My Roles', then click on the settings widget for your role and add in the token.
Then you add the notifications config to .travis.yml (see one of my roles for copy-paste example), and Travis will push tags automatically.

Thanks -- rebuilding now

@geerlingguy - anything outstanding on this one?

I promise I'll get back to this soon. Sorry for the delays in review!

I promise I'll get back to this soon. Sorry for the delays in review!

Says the guy who keeps putting it off... I'm working on a 3.6.0 release very soon—any chance you can fix the conflicts, @thom8 ?

@geerlingguy done -- also changed to be conditionally installed and included v1.0.1 of the role in the PR :)

Beautiful! Thanks for your work on this. It may become a default at some point... but maybe not, since it's one of those things that people don't often add in (if they don't get it OOTB) unless they actually need it.


Test that we don't pollute compiler output in case of javac API incompatibility

Tested, found the problem and fixed it.


Need a way around AppArmor

Hi,
I gave this and the gutenprint printer app a try using the distributed snap.  I couldn't get either to work; Apparmor kept blocking it.
Here's the log output:
Dec 31 19:20:25   audit[3020]: AVC apparmor="DENIED" operation="open" class="file" profile="firefox" name="/proc/29423/oom_score_adj" pid=3020 comm="firefox" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000
Dec 31 19:20:25  kernel: audit: type=1400 audit(1704068425.420:1673): apparmor="DENIED" operation="open" class="file" profile="firefox" name="/proc/29423/oom_score_adj" pid=3020 comm="firefox" requested_mask="w" denied_mask="w" fsuid=1000 ouid=1000
What's the best procedure to work around this issue?
Thanks!

Are you sure that these AppArmor messages have actually to do with The Printer Applications? Looks more like from Firefox (which at least on Ubuntu is also a Snap).
Also what did you do exactly and how did you come to the conclusion that it does not work and why these denials could have caused it?

You'll need to add the apparmor-utils and whitelist firefox, cupsd and cups-browsed

Thank you!Sent from my iPhoneOn Apr 26, 2024, at 05:27, Panagiotis Chalatsakos @.***> wrote:
You'll need to add the apparmor-utils and whitelist firefox, cupsd and cups-browsed
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


Make sure account is unlocked when revoking

Description
Revoke was failing because we don't make sure the account is unlocked

this was an old version problem 😞


feat: Get org by id or login

Closes #1722
Changelog

[ ] Update endpoint to access id value in addition to login values
[ ] Requires org logins to include at least one char in [a-zA-Z]

Path param as a String OR Integer
The REST API server generated does not support specifying an integer when the parameter is defined as a string in the API description.
Example:
GET {{basePath}}/organizations/1

HTTP/1.1 500
{
  "title": "An exception occured",
  "status": 500,
  "detail": null,
  "type": null
}

The same occurs when using Swagger UI:

anyOf
I tried to define the path parameter as:
name: org
in: path
description: The unique identifier of the organization.
required: true
schema:
  oneOf:
    - $ref: ../../schemas/OrganizationLogin.yaml
    - $ref: ../../schemas/OrganizationId.yaml

The OA generator for Java replace the initial string type by creating this interface.

Note The name of this interface is not very elegant. Another issue is that this interface is used in code generated in the api folder but this interface is not imported by default.

package org.sagebionetworks.openchallenges.organization.service.model.dto;

import java.util.*;
import javax.annotation.Generated;
import javax.validation.constraints.*;

@Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
public interface GetOrganizationOrgParameterDto {}


Kitazb hw03

Followed the instructions and answered questions.md on my own copy, and add a code to draw a house in my own Python copy Python file.

Code looks great Besher. The last three tasks are:

Remove file.py... it should not have been pushed.
Add your Google Doc to the PDFs folder.
Add your hw03_questions.md file to the Answers folder. Name it kitazb_hw03_questions.md

We need to move some files:

The kitazb_hw03_questions.md should be in the Answers folder.
The Google Doc should be uploaded to the PDFs folder.


change to frontpage to be /repositories

It seems like there is one additional click all the time.. from / to /registry or is this configurable by now?

No, this is not configurable (yet) but don't hesitate to code something and create a PR. We can discus it then. The correct suffix is #/repositories not /registry.  This might be a starting point https://www.google.com/search?q=angular+hashtag+url

I've solved this issue by adding a 'RewriteRule ^/?$ /repositories/ [L,R]' to /etc/apache2/sites-enabled/docker-site.conf
It's a workaround, of course, but easy to implement.


[CircularProgress] Add static variant

Solve https://github.com/mui-org/material-ui/pull/10079#issuecomment-363425079

https://github.com/mui-org/material-ui/pull/10228/files#diff-9af45edb58497daf91d08f07b344ad15R184
"The value of the progress indicator for the determinate and static variants."

I was about to open an issue but this is exactly what I was looking for! I'll be waiting for beta.34 release :)


Subscription callback stop receiving new values after writing bytes to the same characteristic

The callback (OnValue in the below example) stops receiving new values after writing bytes to the characteristic using the Write method (OnButtonAClick in the below example).
using System.Collections;
using System.Collections.Generic;
using Android.BLE;
using TMPro;
using UnityEngine;
using UnityEngine.UI;

public class DemoDevice : MonoBehaviour
{
    public string DeviceAddress;
    public TextMeshProUGUI InfoText;
    string serviceUuid = "ffe0";
    string charactersticUuid = "ffe1";
    Coroutine scanningRoutine = null;
    BleGattCharacteristic characteristic = null;
    BleGattService service = null;

    void Start()
    {
        StartScanning();
    }

    void Update() { }

    public void StartScanning()
    {
        scanningRoutine = StartCoroutine(ScanForDevices());
    }

    IEnumerator ScanForDevices()
    {
        int scanDuration = 5;
        InfoText.text = "Scanning...";
        while (true)
        {
            BleManager.Instance.SearchForDevicesWithFilter(
                scanDuration * 1000,
                OnDeviceFound,
                deviceMac: DeviceAddress
            );
            yield return new WaitForSeconds(scanDuration + 0.1f);
        }
    }

    private void OnDeviceFound(BleDevice device)
    {
        InfoText.text = "Device Found";
        device.Connect(OnConnected, OnDisconnected);
    }

    private void OnConnected(BleDevice device)
    {
        InfoText.text = "Connected";
        StopCoroutine(scanningRoutine);
        scanningRoutine = null;
        service = device.GetService(serviceUuid);
        characteristic = service.GetCharacteristic(charactersticUuid);
        characteristic.Subscribe(OnValue);
    }

    private void OnDisconnected(BleDevice device)
    {
        InfoText.text = "Disconnected";
        characteristic = null;
        service  = null;
        StartScanning();
    }

    private void OnValue(byte[] value)
    {
        string receivedString = System.Text.Encoding.UTF8.GetString(value);
        InfoText.text = $"Received Value: {receivedString}";
    }

    public void OnButtonAClick()
    {
        if (characteristic != null)
        {
            byte[] bytes = System.Text.Encoding.UTF8.GetBytes("ABCD");
            characteristic.Write(bytes);
        }
    }

}

Hi, thanks for reporting this bug. It looks like you are using the new project-overhaul branch. This branch is still being developed, so it's probably not production ready. But reports like this are really helpful for testing, so please keep helping us test.
I'm curious about using a characteristic as both a subscription and a writable. What's the usecase?

Thanks for the quick response! I can confirm that the bug is no longer present in version 0.0.5. I was initially using 0.0.3-alpha-1 when I encountered the issue, but after updating to the latest 0.0.5 release, everything is working as expected.
Regarding the use case, I'm working on a project to remotely control a sensor using a Bluetooth module. The characteristic serves as both a subscription for receiving sensor data and a writable for sending control commands.


feat(tier4_autoware_utils): faster sin and cos

Description
I have implemented a faster sin ans cos calculation.
Calling sin_and_cos is faster than calling sin and cos separately.
It is useful, for example, for DistortionCorrector.
I found that around 35% of CPU time in DistortionCorrector is occupied by sin and cos,
and I have confirmed 10~20% latency improvement with faster sin_and_cos. cc @vividf
Tests performed
I have written a test code and the test has passed.
Effects on system behavior
Interface changes
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@soblin
It invoked the following clang-tidy warning
/__w/autoware.universe/autoware.universe/common/tier4_autoware_utils/src/math/trigonometry.cpp:63:5: warning: do not use 'else' after 'return' [readability-else-after-return]
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
  } else if (discrete_arcs_num_90 <= idx && idx < 2 * discrete_arcs_num_90) {
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Do you think we should avoid it?
In my opinion, we can ignore it.


Session.IsConnected  not detecting disconnection

When a session loses connection, the Term.Run returns  ErrConnectionClosed error, however
the Session.IsConnected method still reports that connection is alive (even after the failed Run).

Hello,
Session.IsConnnected reports if any nodes are connected, not particularly that failed query. Anyway, between Term.Run and Session.IsConnected connection can be reconnected. And connections also are pooled.

What I was trying to achieve was checking connection before trying to run the query, but I guess it's better to check for Run errors and retry in case of ErrConnectionClosed.
Btw, Session.IsConnected reports that connection is alive even after shutting down the rethinkdb server (there's a single server, no cluster) .

Hello,
I've done some more testing, it turns out Session.IsConnected never  returns false once connected.
here's a sample code to check (run it, then shut down rethinkdb server):
package main

import (
	"fmt"
	"time"

	"gopkg.in/rethinkdb/rethinkdb-go.v6"
)

func main() {
	session, _ := rethinkdb.Connect(rethinkdb.ConnectOpts{
		Address: "localhost:28015", InitialCap: 1, MaxOpen: 1})

	for {
		_, err := session.Server()
		fmt.Printf("err:%s connected:%t\n", err, session.IsConnected())
		time.Sleep(time.Second)
	}
}

the output is:
err:%!s(<nil>) connected:true
err:%!s(<nil>) connected:true
err:rethinkdb: the connection is closed connected:true
err:rethinkdb: the connection is closed connected:true
err:rethinkdb: the connection is closed connected:true
...

Also looked at the code, seems like session.IsConnected  relies on len(Cluster.GetNodes()) , but nodes are never removed ( Cluster.removeNode is not used anywhere in the code)

Hi, should be fixed in 6.2.0

Hi,  just  tested 6.2.1  with the same code (https://github.com/rethinkdb/rethinkdb-go/issues/472#issuecomment-596958554)  , only the error message has changed,  now it's   dial tcp <IP_ADDRESS>:28015: connect: connection refused  instead of rethinkdb: the connection is closed ,  but  IsConnected still  returns true.

Hello, I want to develop a project with the Betconstruct API. Do you have any projects? Thank you

Merhaba, Betconstruct API ile proje geliştirmek istiyorum. Herhangi bir projeniz var mı? Teşekkür ederim

Did you find the example?