Build failures on vm-kernel-gcc-linux bot

build dart ia32 step fails with compile-time errors:
../../runtime/vm/object_graph_copy.cc:118:31: error: declaration of ‘using Object = const class dart::Object&’ [-fpermissive]
   using Object = const Object&;
                               ^
In file included from ../../runtime/vm/stub_code.h:10:0,
                 from ../../runtime/vm/native_arguments.h:12,
                 from ../../runtime/vm/dart_api_impl.h:12,
                 from ../../runtime/vm/dart_api_state.h:12,
                 from ../../runtime/vm/object_graph_copy.cc:6:
../../runtime/vm/object.h:291:7: error: changes meaning of ‘Object’ from ‘class dart::Object’ [-fpermissive]
 class Object {
       ^~~~~~
../../runtime/vm/object_graph_copy.cc:126:21: error: declaration of ‘using Class = const class dart::Class&’ [-fpermissive]
   using V = const V&;                                                          \
                     ^
../../runtime/vm/class_id.h:21:3: note: in expansion of macro ‘DO’
   V(Class)                                                                     \
   ^
../../runtime/vm/class_id.h:171:3: note: in expansion of macro ‘CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP’
   CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP(V)                         \
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../runtime/vm/object_graph_copy.cc:130:3: note: in expansion of macro ‘CLASS_LIST_FOR_HANDLES’
   CLASS_LIST_FOR_HANDLES(DO)
   ^~~~~~~~~~~~~~~~~~~~~~
In file included from ../../runtime/vm/stub_code.h:10:0,
                 from ../../runtime/vm/native_arguments.h:12,
                 from ../../runtime/vm/dart_api_impl.h:12,
                 from ../../runtime/vm/dart_api_state.h:12,
                 from ../../runtime/vm/object_graph_copy.cc:6:
../../runtime/vm/object.h:976:7: error: changes meaning of ‘Class’ from ‘class dart::Class’ [-fpermissive]
 class Class : public Object {
       ^~~~~
../../runtime/vm/object_graph_copy.cc:126:21: error: declaration of ‘using PatchClass = const class dart::PatchClass&’ [-fpermissive]
   using V = const V&;                                                          \
                     ^
../../runtime/vm/class_id.h:22:3: note: in expansion of macro ‘DO’
   V(PatchClass)                                                                \
   ^
../../runtime/vm/class_id.h:171:3: note: in expansion of macro ‘CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP’
   CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP(V)                         \
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../runtime/vm/object_graph_copy.cc:130:3: note: in expansion of macro ‘CLASS_LIST_FOR_HANDLES’
   CLASS_LIST_FOR_HANDLES(DO)
   ^~~~~~~~~~~~~~~~~~~~~~
In file included from ../../runtime/vm/stub_code.h:10:0,
                 from ../../runtime/vm/native_arguments.h:12,
                 from ../../runtime/vm/dart_api_impl.h:12,
                 from ../../runtime/vm/dart_api_state.h:12,
                 from ../../runtime/vm/object_graph_copy.cc:6:
../../runtime/vm/object.h:1866:7: error: changes meaning of ‘PatchClass’ from ‘class dart::PatchClass’ [-fpermissive]
 class PatchClass : public Object {
       ^~~~~~~~~~
../../runtime/vm/object_graph_copy.cc:126:21: error: declaration of ‘using Function = const class dart::Function&’ [-fpermissive]
   using V = const V&;                                                          \
                     ^
../../runtime/vm/class_id.h:23:3: note: in expansion of macro ‘DO’
   V(Function)                                                                  \
   ^
../../runtime/vm/class_id.h:171:3: note: in expansion of macro ‘CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP’
   CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP(V)                         \
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../runtime/vm/object_graph_copy.cc:130:3: note: in expansion of macro ‘CLASS_LIST_FOR_HANDLES’
   CLASS_LIST_FOR_HANDLES(DO)
   ^~~~~~~~~~~~~~~~~~~~~~
In file included from ../../runtime/vm/stub_code.h:10:0,
                 from ../../runtime/vm/native_arguments.h:12,
                 from ../../runtime/vm/dart_api_impl.h:12,
                 from ../../runtime/vm/dart_api_state.h:12,
                 from ../../runtime/vm/object_graph_copy.cc:6:
../../runtime/vm/object.h:2548:7: error: changes meaning of ‘Function’ from ‘class dart::Function’ [-fpermissive]
 class Function : public Object {
       ^~~~~~~~
../../runtime/vm/object_graph_copy.cc:126:21: error: declaration of ‘using TypeParameters = const class dart::TypeParameters&’ [-fpermissive]
   using V = const V&;                                                          \
                     ^
../../runtime/vm/class_id.h:24:3: note: in expansion of macro ‘DO’
   V(TypeParameters)                                                            \
   ^
../../runtime/vm/class_id.h:171:3: note: in expansion of macro ‘CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP’
   CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP(V)                         \
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../runtime/vm/object_graph_copy.cc:130:3: note: in expansion of macro ‘CLASS_LIST_FOR_HANDLES’
   CLASS_LIST_FOR_HANDLES(DO)
   ^~~~~~~~~~~~~~~~~~~~~~
In file included from ../../runtime/vm/stub_code.h:10:0,
                 from ../../runtime/vm/native_arguments.h:12,
                 from ../../runtime/vm/dart_api_impl.h:12,
                 from ../../runtime/vm/dart_api_state.h:12,
                 from ../../runtime/vm/object_graph_copy.cc:6:
../../runtime/vm/object.h:7541:7: error: changes meaning of ‘TypeParameters’ from ‘class dart::TypeParameters’ [-fpermissive]
 class TypeParameters : public Object {
       ^~~~~~~~~~~~~~
../../runtime/vm/object_graph_copy.cc:126:21: error: declaration of ‘using ClosureData = const class dart::ClosureData&’ [-fpermissive]
   using V = const V&;                                                          \
                     ^
../../runtime/vm/class_id.h:25:3: note: in expansion of macro ‘DO’
   V(ClosureData)                                                               \
   ^
../../runtime/vm/class_id.h:171:3: note: in expansion of macro ‘CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP’
   CLASS_LIST_NO_OBJECT_NOR_STRING_NOR_ARRAY_NOR_MAP(V)                         \
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../runtime/vm/object_graph_copy.cc:130:3: note: in expansion of macro ‘CLASS_LIST_FOR_HANDLES’
   CLASS_LIST_FOR_HANDLES(DO)
   ^~~~~~~~~~~~~~~~~~~~~~

Full log:
https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket.appspot.com/8840490320089195168/+/u/build_dart_ia32/stdout
@rmacnak-google @mkustermann

Should be fixed after https://dart-review.googlesource.com/c/sdk/+/207841


⚠ Bofrost.de has degraded performance

In 6023da2, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1112 ms

Resolved: Bofrost.de performance has improved in 21be2e3 after 20 minutes.


⚠ GitLab Server has degraded performance

In 07a5285, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 11700 ms

Resolved: GitLab Server performance has improved in 1437ffb.


Python: Bug:  Broken link in tutorial - semantic-kernel/python/samples/getting_started/05-using-the-planner.ipynb

Describe the bug
One step in the tutorial points to a broken link
To Reproduce
Steps to reproduce the behavior:
See the block:
The sequential planner is an XML-based step-by-step planner. You can see the prompt used for it here (https://github.com/microsoft/semantic-kernel/blob/main/python/semantic_kernel/planning/sequential_planner/Plugins/SequentialPlanning/skprompt.txt)
Expected behavior
Update the link:
(https://github.com/microsoft/semantic-kernel/blob/main/python/semantic_kernel/planners/sequential_planner/Plugins/SequentialPlanning/skprompt.txt)
See the path planning has been renamed to planners in the code, but not in the link above

@SeryioGonzalez, thanks for filing. Would you like to create a PR to fix it?

Sure! I actually tried pushing you a PR, but realize had no permits

The PR must be generated from a fork of the repo.


[ashes] Add new port.

Describe the pull request

What does your PR fix?
Fixes #13893 .

Which triplets are supported/not supported? Have you updated the CI baseline?
UWP, iOS and Android are not supported. x86 and arm platforms are unsupported.
I have tested x64-windows, x64-linux and x64-osx, and Ashes doesn't support static library linkage.
The CI baseline has been updated.

Does your PR follow the maintainer guide?
Yes.

Thanks for your contribution!


The disclaimer text in the stats website overlaps with the map at certain window sizes

Description
The disclaimer text in the stats website for dev, qa, test networks is overlapping with the map when the window size is decreased.
Threefold Capacity.webm

Steps to reproduce

Navigate to https://stats.dev.grid.tf (or qa, test)
Decrease the size of the window.

we can also please add "Net" the end of the ine.

Verified on devnet.
Now the text is above the map and it doesn't overlap with it under any conditions.


Genome Trackers terms

I don't think we would want a specific "swine heart food product" or "pork heart food product" . We already have "swine food product", and your "swine heart" could go under that. Swine is slightly more encompassing than pork, hence there is a "pork food product" as well, under which "pork heart" can go.

okay, yeah it makes sense. Actually we do have a separate branch 'sheep meat food product' and still we have 'sheep liver (raw)' under both 'sheep meat food product' and 'liver food product'. So thought to follow that, but I think you're right.

I see.  What should happen now anyways is that things like pork liver can be inferred under the liver food product class once basic reasoning is done on FoodOn.  Something to test out soon.

I see. What should happen now anyways is that things like pork liver can be inferred under the liver food product class once basic reasoning is done on FoodOn. Something to test out soon.

Agreed, that would definitely be great.


⬆ Update AiiDA version, docker, and post-init.sh

Fix and update the RenkuLab AiiDA template
This PR updates the AiiDA template for RenkuLab.
Regarding the broken profile creation on start-up, see PR #78.
Main changes

The Dockerfile is updated, and a new image pinned in renku.ini (using the latest renku 0.22 Python 3.10 base
image and an AiiDA v2.5.1 installation)
aiida-activate was removed as the repo is outdated
Instead, the AiiDA profile is set up via verdi profile setup in the post-init.sh script, where depending on the presence (absence) of the archive_url the sqlite_zip (sqlite_dos) backends are used
Currently, the AiiDA Postgres backend (psql_dos) cannot be used due to missing sudo access → For inspection sqlite_zip and sqlite_dos should be sufficient (frankly, I tried resolving that using the aiida-core Docker images/Dockerfiles for some time, but didn't manage to make it work, and the effort might not be worth it if we stick to the other backends)
RabbitMQ is working as expected as it is installed via the aiida-core.services conda package, the consumer_timeout variable is set, and the version warning disabled
Minor changes to the explore notebook and the README

Some further notes
Currently, the directory where the archive is downloaded is "repo", but one could also use the existing "data" directory instead? I think this ties in with our discussion about verdi init, @sphuber and @giovannipizzi. If we manage to merge these changes soon, we could update the setup here - for now it works in the classical way. Pinging @ltalirz and @khsrali here for info as well.
If somebody wants to take it for a spin before the merge, you can provide my repository URL and the latest commit SHA of this PR when creating a new RenkuLab project, and fetch the updated template (see screenshot below).
Would be happy about feedback or suggestions for improvement. We also had the idea of providing some additional custom code, which already gives some interesting information about the archive (e.g. as a pandas dataframe), though, I think this should be as agnostic of the structure of the data as possible and would warrant a separate PR either way.
Lastly, when trying to import this archive after the notebook is created (that is, not providing an archive_url initially), I'm getting a NotImplementedError (see screenshot below), while pure inspection via sqlite_zip without importing works. I haven't investigated it further so far, but could this be possibly a case in which an automatic migration is required, @superstar54?
Creating a project from the template

NotImplementedError on archive import

Lastly, when trying to import this archive after the notebook is created (that is, not providing an archive_url initially), I'm getting a NotImplementedError (see screenshot below), while pure inspection via sqlite_zip without importing works. I haven't investigated it further so far, but could this be possibly a case in which an automatic migration is required, @superstar54?

This is expected. The sqlite_zip backend is read only. When you are importing, you are trying to add new data to the storage, which is not supported. When you create a profile using sqlite_zip for an existing archive, you are essentially just "mounting" it as a read-only storage, you are not adding anything to it. So you either create an empty sqlite_dos profile and then import the archive, or you use sqlite_zip that just mounts the archive.

This is expected. The sqlite_zip backend is read only.

When no archive_url is provided, the profile is initialized with sqlite_dos, though, to enable archive import further down the line. jinja gets evaluated when the RenkuLab project is created from the template, so I'm checking if archive_url is set and depending on that, the post-init.sh script is set up accordingly:
https://github.com/GeigerJ2/contributed-project-templates/blob/8dfb01bf9543a2d0a3268b2b8357c6135fe9536b/aiida/post-init.sh#L48-L60:
{% else %}

# Without archive_url, generate profile using `core.sqlite_dos` backend
verdi profile setup core.sqlite_dos \
    --profile $aiida_profile \
    --first-name "$first_name" \
    --last-name "$last_name" \
    --email "$email" \
    --institution RenkuLab \
    --set-as-default \
    --non-interactive

{% endif %}

So the setup should be fine:

Just a ping if one of the maintainers can have a quick look here? Thanks!

I was in contact with @rokroskar when this started

Ah thanks for pinging me @ltalirz I missed this PR! Thank you @GeigerJ2 I'll have a look asap!

btw, for quickly creating a project with this PR, you can use this link.

btw there is also https://github.com/SwissDataScienceCenter/contributed-project-templates/pull/8 which would be great to either wrap up or close :)

Thanks, @ltalirz, for the ping to @rokroskar, and thanks to you for getting back quickly afterward. I'll take care of your comments here, and on #78 in the following days. This is just to confirm that I'm aware of them :)

I addressed your changes in my recent commit. Along the way, I tried to restrict the installation to only using conda, and pin both aiida-core and aiida-core.services to the latest v2.5.1, but as seen in my comment above this was not straightforward. Another possible improvement I tried out was to install everything into a dedicated aiida_renku conda environment, rather than base, but the notebook wouldn't pick that up, so I reverted it. Using base should be fine for now.

btw there is also https://github.com/SwissDataScienceCenter/contributed-project-templates/pull/8 which would be great to either wrap up or close :)

I don't have any opinion on that change. If nothing speaks against it, then I could add it here. 0.25 cpu seems indeed a bit small :D so you let me know. Thanks again, @rokroskar!

Thanks for looking into it @rokroskar! Is this ready to be merged, or are other changes required?

Pinging @rokroskar, as I'd like to close this soon. Thank you! :)

Apologies @GeigerJ2 I didn't get to this until now - I just tested the project and it looks good. I still think you might want to consider pinning the image you specify in renku.ini (i.e. not use latest) but you can also do this later if you want. Please resolve the conflict in the Dockerfile and then I can approve.

Hi @rokroskar, thanks for getting back here. I updated the branch via an interactive rebase, cleaning up the commit history a bit. I found the latest tag to be quite convenient, but I'm also happy with pinning it via the hash. Could you please remind me again which part of which hash I have to use here (checked here and here, but find the relevant information). I tried with the first and last seven characters of the commit hash on the GitLab repo that hosts the image, as well as the image digest, but seems like these are not the correct specifications? Thanks!

hi @GeigerJ2 - you'll need to uncomment these lines for the CI job to build the image.

hi @GeigerJ2 - you'll need to uncomment these lines for the CI job to build the image.

Ah, alright, I see. Though, the project on GitLab is now outdated compared to the state of the code here, as I just regularly built the image locally and pushed it to the registry. Is it fine for now to keep the latest tag and get this merged so that the link to Renku on Materials Cloud Archive works again? I'll update it properly once we release a new AiiDA version, as that will also contain useful new features for the Renku integration.

Yep, that's fine!


Dropout implementation in recurrent-visual-attention

In examples/recurrent-visual-attention there is a command-line option for dropout in the hidden layer but it doesn't appear to be implemented anywhere in the code. Is one of the dp modules handling this or is it not implemented yet? Would it not simply be putting recurrent in a nn.Sequential() container on line 125 and then adding recurrent:add(nn.Dropout(0.5)) to line 129?

That cmd-line argument shouldn't be there. I just removed it in latest commit. REINFORCE makes the model stochastic enough, dropout would make it too stochastic I think.


ItemList selection bug && navigation bug fixed

Same as #37285, but rebased and I applied some style fixes.
Tested and still works.

Thanks!


Removed dot from password

This dot sneaked to the wrong side of the quotes. very minor, but docs need love too.

@hexonthebeach : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@hexonthebeach Thanks for fix.


Fix Animated icon

Scope
https://ixo.atlassian.net/browse/WEB-9
https://ixo.atlassian.net/browse/WEB-13
Work Done
Updated animated icon hover animation not to loop
Updated align of the animated icon on the mobile view
Steps to Test
Screenshots

LGTM!


redission remote service does not support java8 class Optional serialization

redission remote service does not support java8 class Optional serialization

I have solved the problem, the document is wrong, the default is not json-codec

Fixed

@tnessn javadocs were fixed


Fix for different per-monitor scaling

Summary of the Pull Request

Changes EnableDpiAwareness manifest setting in a runner project so the DPI-unaware API return valid data.
Adds DEFAULT_DPI usage for easier code navigation.

References

Supersedes #520

PR Checklist

[x] Closes #564

Detailed Description of the Pull Request / Additional comments
I was able to test some cases of #564 with a following triple display desktop setup:
[fullHD]   [2K]     [fullHD]
   1     2(primary)    3

Bug occurs even if I launch the layout window on [1], but [3] has a different scale from the others. That happens because GetMonitorInfo and GetDpiForWindow do not depend on the scale setting of [3], but we pass those to FancyZonesEditor'. They're treated differently though, since the returned coords are virtual and not truly DPI-aware.
Since the runner process doesn't draw any UI itself except for the tray dialog menu and uses only DPI-unaware calls, we need to disable "Per Monitor V2 DPI" in an app manifest.

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

@yuyoyuppe
we need to keep <EnableDpiAwareness>PerMonitorHighDPIAware</EnableDpiAwareness> as it is, because other modules need it set like that.

@bzoz pushed new commits, could you please try rebuilding the solution and test again?


[REQ] add a (GH-compliant) license file

Hi there, 1st of all thanks for your awesome work !
Since we've "doxed" it in our HyMPS project (under the AUDIO \ AI-based projects page \ Source Separation subsection), can you please add a "GH-compliant" license file ?
Expliciting licensing terms is extremely important to let other devs (and not only) understand how to reuse/adapt/modify your code in other open projects and vice-versa.
Although it may sounds like a minor aspect, license file omission obviously causes an inconsistent generation of the relative badge too:

(badge-generator URL: https://flat.badgen.net/github/license/Ankit123Mishra/audio-source-separation/?label=LICENSE)
Anyway you can easily choose a "correct" one through the GH's license wizard tool.
Last but not least, let us know how we could improve - in your opinion - categorization/sorting of collected projects in order to push their evolution by favouring collaborations between developers (and not only).
Thanks in advance.

Added the license file

Thanks a lot, works now.


Failed internet connection

I'm running FarmBot V1.2. Since upgrading the OS to 6.4.3 the FarmBot cannot connect to the Internet.

Do you have any error messages? This is a very unspecific issue, and it sounds like you may have more help on the forum
Feel free to re-open if you need, but GitHub Issues are usually used for developer issues.


openimageio: <IP_ADDRESS> -> <IP_ADDRESS>

Description of changes
Update to the most recent release and unpin from fmt_8.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[X] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review run on x86_64-linux 1

12 packages built:

blender
blender-hip
embree
embree2
olive-editor
openimageio
openimageio.bin
openimageio.dev
openimageio.doc
osl
python310Packages.bpycv
python310Packages.bpycv.dist

Dude #227632, but let's go with this one instead as it has the fmt changes.

In fact could you cherry-pick my https://github.com/NixOS/nixpkgs/pull/227632/commits/990a9d2e71e6b40f75bbee667aebbebe37a20a27 into this to kill two birds with one stone?

Sorry, I didn't search for already opened PRs. I prepared my branch two weeks ago but had to wait until #225645 was merged (old version would have failed to compile under fmt 9).


docs: update links and format of known bugs

Signed-off-by: Felipe Zipitria<EMAIL_ADDRESS>

Thank you. Merging now. And we might look to review this doc in the future.


Can't run R cells (installed with Homebrew)

Apologies if this turns out not to be a proper "bug report," but I don't seem to have a problem with R on my system and I haven't done anything "weird" in my setup, so it seems like the issue might lie with Beaker itself.
I've installed R with Homebrew, and I've installed Beaker as a Homebrew "cask." I'm on a more or less fresh install of OSX Yosemite (version 10.10.2).
I open Beaker, and create a new R cell. To test it, I enter something simple that the R console can spit back at me, like 1 + 2, and press "Run". I get the following error instead of output:
from dev.off(): eval failed, request status: error code: 127

and stderr reports the following:
Error in dev.off() : cannot shut down device 1 (the null device)
In addition: Warning messages:
1: In (function (filename = if (onefile) "Rplots.svg" else "Rplot%03d.svg",  :
  unable to load shared object     '/usr/local/Cellar/r/3.1.2_1/R.framework/Resources/library/grDevices/libs//cairo.so':
  dlopen(/usr/local/Cellar/r/3.1.2_1/R.framework/Resources/library/grDevices/libs//cairo.so, 6): image     not found
2: In (function (filename = if (onefile) "Rplots.svg" else "Rplot%03d.svg",  :
  failed to load cairo DLL

Maybe this is really just a "bug" with the "R Installation" section on the website, but I do have all of the correct packages installed:
c("Rserve", "ggplot2", "devtools", "RCurl", "RJSONIO") %in% installed.packages()[, 1]
# [1] TRUE TRUE TRUE TRUE TRUE

Am I missing some other (unmentioned) prerequisite? Is it an issue with Homebrew? Or is there a bug in Beaker itself?
Here's my R sessionInfo (from RStudio), for completeness:
sessionInfo()
# R version 3.1.2 (2014-10-31)
# Platform: x86_64-apple-darwin14.1.0 (64-bit)
#
# locale:
# [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#
# attached base packages:
# [1] stats     graphics  grDevices utils     datasets  methods   base
#
# loaded via a namespace (and not attached):
# [1] tools_3.1.2

Thanks for the report, Greg.
It looks like your R install is missing the packages needed by Beaker or maybe XQuartz.  Did you take the steps outlined in the section "R Installation" on http://beakernotebook.com/getting-started?

Yup. Like I said, I have all the correct packages installed, and XQuartz as well:
[[ $(brew cask list | grep xquartz) ]] && echo $(which xquartz)
# /opt/X11/bin/xquartz

The point of the report is that it seems like there's an additional dependency not listed in that section.

Ah sorry I was confused by the "attached base packages" in the session info.
on closer inspection, looks like you need to reinstall XQuartz, as yosemite moved the shared objects.  This is covered in our FAQ: http://beakernotebook.com/faq

I just reinstalled XQuartz, no luck.
brew cask uninstall xquartz
# ==> Running uninstall process for xquartz; your password may be necessary
# ==> Removing launchctl service org.macosforge.xquartz.startx
# ==> /private/tmp/org.macosforge.xquartz.startx: No such file or directory
# Password:
# ==> Quitting application ID org.macosforge.xquartz.X11
# ==> Removing files from pkgutil Bill-of-Materials
# ==> Removing files: ["/opt/X11/"]
brew cask install xquartz
# ==> Downloading https://xquartz.macosforge.org/downloads/SL/XQuartz-2.7.7.dmg
# ######################################################################## 100.0%
# ==> Running installer for xquartz; your password may be necessary.
# ==> Package installers may write to any location; options such as --appdir are ignored.
# ==> installer: Package name is XQuartz 2.7.7
# ==> installer: Installing at base path /
# ==> installer: The install was successful.
# 🍺  xquartz staged at '/opt/homebrew-cask/Caskroom/xquartz/2.7.7' (64M)
open -a beaker

Same error. And sure enough:
ls /usr/local/Cellar/r/3.1.2_1/R.framework/Resources/library/grDevices/libs//
# grDevices.so

Is my R installation missing something, or is Beaker looking in the wrong place for the file?

Thanks for your persistence.  Beaker doesn't look for the shared object that's done way downstream by R.  Here's a link to where I had the problem: https://github.com/twosigma/beaker-notebook/issues/792 and found the recommended fix from the R community was to reinstall XQuartz.
We don't recommend users install R and XQuartz with brew and I have never tried that and so I have to wonder if that's the problem.  On the other hand I certainly want Beaker to work with as many configs as possible, and I definitely want to make it work for you and understand what's wrong here.
To find out, I could come up with an R script that does what Beaker does, and you could just run your R on it and see if it has the same problem.  Do you want to try that or do you have another idea?
Also, I am curious what you mean by I've installed Beaker as a Homebrew "cask."?  Seems unlikely that would cause a problem like this, but who knows.

Homebrew casks are '.app' files, whereas the regular 'brew install' command compiles from source.
It turns out that the 'cairo.so' file is supposed to be included in the R installation, so it's an issue with the Homebrew version of R rather than something related to Beaker. I'll look into it further, but I have a feeling you guys are off the hook. Thanks for being so responsive!

Just as an update, it turns out that there was, in fact, an issue with the Homebrew version of R: https://github.com/Homebrew/homebrew-science/issues/1890


conda-store-server version in docker compose should point to a release instead of latest

Context
currently, versions of conda-store-server in the docker-compose.yml and docker-compose-dev.yml files point to the latest image tag. This should explicitly be set to point to a release version rather than latest.
Value and/or benefit
By pointing to a specific version rather that latest, we more loosely couple conda-store-server and conda-store-ui. This means that conda-store-ui can release with versions of conda-store-server that are known to be compatible and future releases of conda-store-server won't break the docker-compose setup in the conda-store-ui repo.
Anything else?
No response

@dcmcand totally agree here. Honestly anything referencing latest IMO is a bug.

@dcmcand Also agree. We should pin specific versions. I cannot think of any downsides of doing so at the moment.


ilisi_graph error

I'm having an issue with the ilisi_graph function;
I'm working on a miniconda 64 bit environment using a jupyter notebook.
When I try to run ilisi_graph I get the following error;
"[WinError 193] %1 is not a valid Win32 application"
any tips on how to solve this issue?

Hi @kostaslazaros,
It looks like you are running scib on Windows in a 32-bit OS. I'm not sure how your 64-bit miniconda application works with the 32-bit OS. ilisi has a C++ bit of code which has to be compiled on your system. I assume it will have been compiled to take 32-bit data using g++ outside of miniconda... but data may then be passed as 64-bit from your miniconda setup. I don't have any expertise with Windows I'm afraid, so I can't really help fix this.

Hello there!! Happy new year first of all!!!
The issue has been resolved; I ran SCIB on linux and everything works perfectly!!!
Thank you for answering and best regards!!

Great that it's working!


[CosmosDb] select on ID is not selecting on ID but evaluating on clientside

I have an entity as follows;
public class B : A
{
 public string ExternalIdentifier { get; set; }
}

public abstract class A
{
        [NotMapped]
        [JsonIgnore]
        public string Id
        {
            get
            {
                return id;
            }
            set
            {
                id = value;
            }
        }

        [Key]
        [JsonProperty(PropertyName = "id")]
        [DataMember(Name = "id")]
        protected string id;
}

When executing a query like _context.Bs.SingleOrDefault(x => x.Id == 'blabla'), I notice, when debugging very deeply, that the ID parameter is not being resolved on database side.
Immediately two concerns here:

Why am I not getting a warning that this is being evaluated on clientside
Why is Id not being resolved to the cosmos-db specific id field?

The reason why I added all those things just to map Id successfully, is because cosmos DB already has an 'id' property on a document. But I don't want to see 'id' as a public property as that's nasty, I wanted it camelcase. However, when first adding the camelcase Id that referenced the id field, the Id field was getting saved in the db as well, which is even crazier, we already have an id!
I'm thinking the NotMapped attribute is causing the property not being resolved.
This resolving is happening in the MemberAccessExpressionVisitor.GetPropertyPath, to be more precise, this piece of code returns null for the 'Id' property:
            var property = propertyName == null
                ? null
                : (IPropertyBase)entityType.FindProperty(propertyName);

This is causing it to just download the whole collection and iterate in memory. Pretty fast I was getting throttled :(
Using the latest 2.2 release btw

I'm thinking the NotMapped attribute is causing the property not being resolved.

That is the reason. Remove NotMapped. When you put NotMapped, you are effectively telling EF that don't store this property in database. When EF encounter such property in LINQ query, EF will materialize the whole object to run the query. Since it is in where predicate, it will fetch whole container data from server. Cosmos is still in preview and does not have enough logging to warn for client eval.

when first adding the camelcase Id that referenced the id field, the Id field was getting saved in the db as well, which is even crazier, we already have an id!

Use this
modelBuilder.Entity<A>().Property(e => e.Id).Metadata.Cosmos().PropertyName = "id";

I'm thinking the NotMapped attribute is causing the property not being resolved.

That is the reason. Remove NotMapped. When you put NotMapped, you are effectively telling EF that don't store this property in database. When EF encounter such property in LINQ query, EF will materialize the whole object to run the query. Since it is in where predicate, it will fetch whole container data from server. Cosmos is still in preview and does not have enough logging to warn for client eval.

when first adding the camelcase Id that referenced the id field, the Id field was getting saved in the db as well, which is even crazier, we already have an id!

Use this
modelBuilder.Entity<A>().Property(e => e.Id).Metadata.Cosmos().PropertyName = "id";

Thanks! Is it possible to use an annotation instead of doing this with the modelbuilder?
It's a base class so would save me many plumbing :)

It is not possible to do this currently with annotations. But that is in plan. See #12086 for more details.


Transparency doesn't work

The background of the logout menu is not transparent for me, as I think it's supposed to be based on the demo image in the README and on the below setting in the default style.css:
window {
	background-color: rgba(12, 12, 12, 0.9);
}

I tried copying it to ~/.config/wlogout and changing the above config, and no matter what I set to alpha, it's still not transparent. However, if I change the RGB components, then the color changes, so my changes take effect.
This is how it looks like with the default style:

I am on Arch Linux, and tried with both wlogout and wlogout-git from AUR. I am running a recent development build of sway and wlroots, in case that's relevant.

The buttons can be set individually to a degree of transparency by opacity: (0.0-1.0) .
Though the background image for Wlogout is separate from the desktop one and must be configured manually by: (One set by Nitrogen, Variety, or manually) window { background-image: image(url("directory/to/image"), url("directory/to/image")); }
With the directory/to/image the only syntax you change
You can reduce the amount of typing with pwd and paste the result and sequentially typing the file name following the pasted directory.

How could one achieve what is done in the example image in this repository?
Only thing i can think of using this approach, is:

Create a screenshot using, for example, grim of current screen state when pressing the exit keys
Use this screenshot as background in wlogout

You'd probably have to use a temp folder somewhere, with the screenshot being removed after you exit wlogout

I can confirm that it indeed works with -p layer-shell. Updating the README could be useful for others who might be looking for this as well.

Executing with 'wlogout -p layer-shell' works as stated by @RicArch97. It should be added to the README.

The protocol usage is described in the man page, which is referred to in the README.
You can run man wlogout for the launch options and man 5 wlogout for the layout file.
I think this issue can be closed.


Error:Execution failed for task ':apollo-sample:installApolloCodegen'.

Hi,
I'm trying to build the apollo-sample app, from the sources and I'm getting:
Error:Execution failed for task ':apollo-sample:installApolloCodegen'.

Process 'command '../apollo-android/apollo-sample/.gradle/nodejs/node-v6.7.0-darwin-x64/bin/node'' finished with non-zero exit value 1

I'm just using the project as it is.
To speed up the process I've removed all other projects from the settings file.

Resolved: it appeared that my npm had predefined registry it used which cause the issue.


Simulated Data Evaluation

Need to run the software on the simulated data (attached in a related) provided by Xiaoxiao and email the results to Xiaoxiao and myself. This dataset needs to be converted to CSV and included with the package. You may want to explore running this on sapelo if it takes too long to run.

Here is another copy of the simulated data.
simu.RData.zip


[INFO] openSUSE distro packaging

Hello,
This post is to inform that I proposed (and will maintain it going forward) my .rpm build of macchina to the official openSUSE repos for Tumbleweed, the package is already downloadable on the utilities repository of the the openSUSE's openbuildservice instance
Contribution to the spec is possible (see the spec here) and encouraged
I'd like to add that to the install wiki, but edit is blocked

Thank you so much for helping out :smile:
If the installation is a one-liner or (a few lines), then you can create a PR to include it in the README and I'll gladly accept it. If not, I can open the wiki for editing.

Thank you so much for helping out smile
If the installation is a one-liner or (a few lines), then you can create a PR to include it in the README and I'll gladly accept it. If not, I can open the wiki for editing.

No problem, it's great to help
It is one lined (zypper in macchina), but not exactly applicable right now (waiting for request of addition to be fullfilled), will make a WIP PR and mark it at ready when the request is fullfilled

Alrighty, excited noises :)

PR done


T1.1	- UI Mockups + Designs by UX Team + UI Setup

"- Create mockups

Create scenarios so UX Team is able to understand the use cases better
(- Wait for UX Team designs + communicate with them)
First UI setup with library of CxC components
(Navigation, routing..)
Scaffolding of UI
Create component library by using CxC components which can then be used when implementing the UI"

Assumptions
"We can reuse the use cases of the technical specification and hand them over to the UX team."

We gave our input to UI/UX and it is an ongoing process which we will review every 2 weeks. I will close the ticket to have a better overview.


Climate no more supported for CozyTouch in core Overkiz?

Did you read the instructions?

[X] I have read the README, including the advanced debugging section.

Device information
Cozytouch bridge and electric heaters.
Home Assistant log
Hello,
I understood we are forced to move to the core Overkiz integration (I assume this one ? https://www.home-assistant.io/integrations/overkiz) since 2022.11 HASS but now i read climate is not supported (yet?).
I can't understand why this integration has been deprecated / deactivated by force while the core one has not the same abilities and entities.
I just can't understand why it's a repeating pattern with Home Assistant: when you're almost sure to have a stable system, there always is something to be broken for no reason... And it's really not WAF approved.
What are we supposed to do now? Going back to constructor app to manage our heaters? 🙄

@waazdakka thanks for your constructive feedback…
If your device is not supported in the core component yet, you can still use the custom component. I don’t see the issue here? Just update to the latest version of the custom component if you face issues with 2022.11.

Please include your diagnostics as well, so I have an idea which hardware you have and which hardware is not supported in core yet.

Hi! Same problem here.. my Cosytouch pass is the only item supported by the core integration. My other heaters (Atlantic Calissia) seems not fully supported yet (sensors are present but no climate controls)
Have you an idea of when this type of heater gonna be supported?
thanks for your help 🙏

@iMicknl is it enough?

Please click on "Télécharger les journaux". That’s the file we want.

@iMicknl @tetienne here it is
overkiz-77b846e3d159c694dc2fb89dc9cb2962-Radiateur-5da9e9c5939c04159f322ac6136217ca.json.txt

@eichenlauba your io:AtlanticElectricalHeaterWithAdjustableTemperatureSetpointIOComponent is already merged into core and will be released with the next release (2022.12).

Hello @tetienne and @iMicknl,
I assume you were a bit ironic 😅 It wasn't to criticize you and your work, it's just frustrating and incomprehensible when everything is working well then... decide to work no more :'(
Thanks for your answer, so here are my logs :
logs_cozytouch.zip
I just miss the climate entities for the heaters, allowing me to control theme (power / temp etc.)...
Thanks for you for your work and your help!

@iMicknl thanks for your help!

@waazdakka you have the same device. (io:AtlanticElectricalHeaterWithAdjustableTemperatureSetpointIOComponent), so the message above applies to you as well.
Regarding your feedback, you could just stay on ha-tahoma and you can still control your heaters, nothing changed. There was a breaking change in 2022.11, but this was fixed a day after the update.
If you want to have your system as stable as possible, just wait a week until you update your Home Assistant and make sure you update all your custom components to the latest version.

@iMicknl on custom integration, the fix work well but when an automation change my heaters preset mode, for some reason they are becoming unavailable.
After the preset change :

As you can see, my control is unavailable, but the informations about temperature, and others sensor are good.


feat: remove og image type

No longer undefined if unset, yay!

#280  👈
#279
#278
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @davidlj95 and the rest of your teammates on  Graphite


Is it possible to use this tool without [CLS] token?

Hi,
Thanks for the great tool. Say if I have a regression task (predicting some score given texts), I was wondering if it's possible to use this tool if I don't have [CLS] token in my input sequence?
Thank you!

Hi @zeyuyun1 thanks for your interest in our work!
could you please be a bit more specific on which architecture you’re using? If I understand correctly your input is a sequence of text tokens, but how is the output calculated? Is the architecture based on pure self attention? Is it a transformer?

Sure. First, the input is a sequence of text tokens. The architecture is BERT so transformer and pure attention.
How the output the calculated is a little bit complicated. The detail is described in a recent work I published: paper demo. You can see in the last section of the paper, I use the LIME algorithm to generate the saliency map, which is super super inefficient, which is why I am really interested in your method. If you are interested in the idea in the paper maybe we can collaborate.
Here's how I calculate the output:
Given a sequence of text tokens, the hidden output of BERT is a sequence of vectors that can be considered the contextualized embedding. We pick one of the vectors and do sparse coding inference.
For example, the output of ["I","love","NLP"] from 10th layer of BERT model is [v_1,v_2,v_3]. Let's say we are interested in v_2. Then we do argmin_a ||v_2- Wa||^2 + ||a||_1
W is a dictionary we learned (the detail of how we get it is from the paper above). We are trying to find a sparse code "a" that explains v_2 the best. Finding "a" is a LASSO problem.
Finally, we use a specific entry of "a" as our output.
So given input X, BERT as a neural network f( ), Dictionary W, Our pipeline is:
X ----> f(X)[i] ----> "a"[j]. The output is a scalar.

Thanks for clarifying @zeyuyun1, and congrats on your fascinating new work being released!
Firstly, I suggest you use the new version of our method as proposed in our new paper, you can see the code here. The difference is that we remove LRP for simplicity, and it may be significantly easier to use.
Secondly, given that all your calculations are differentiable, all you need to do is propagate gradients from your network’s output back to each self-attention layer.
Once you do that, assuming you wish to visualize an intermediate layer, say layer 10, you can use our method and back propagate from the last layer only until the 10th layer. You can see the start_layer variable in our rollout functions.
Our method should provide you with a txt matrix where t is the number of tokens. The i-th row scores all the tokens for the i-th token, i.e. scores how much each token is significant to the i-th token. If I understand what you wrote correctly, this is what you wish to do for v_2 which is actually the second token (second row of our output matrix).
I would recommend to discard the influence of the i-th token on itself (i.e. the diagonal of the matrix) which is influenced by the identity matrix we add. This too is addressed in our second paper.
Seems to me that given your description, it is possible to use our method, but if I misunderstood anything feel free to correct me.
Also, please feel free to email me at<EMAIL_ADDRESS>or reach out to me via any social media you see fit, I would be happy to help if I can.
Good luck with your brand new work!

Closing due to inactivity, @zeyuyun1 please reopen if necessary.

Thank you so much for your detailed reply! You can leave it closed for now.
I need to think about it for a little bit more if the i-th row score is what I want. It is certainly the most intuitive way to think about it for now. However, the hidden state sequence might not represent position information anymore, especially in deeper layers.

No problem, please note that while I agree that the tokens are contextualized, our method considers that using the rollout component, i.e. we consider the mixing of tokens in all previous layers. Given what you reminded me of, I correct my initial response- your start layer should be 0 and you should use rollout until the layer you are interested in. In our mock example it’s layer 10.
The rolling out component allows us to consider all the previous layers which mixed the tokens, so the matrix corresponding to the 10th layer actually considers all layers until the 10th layer.

Hi hila,
That actually clarified my confusion. I think you are totally right. The i-th row score should be what I want. The only difference between my task and the classification task is that I am using i'th position of the hidden state sequence instead of the 0'th position (where the classification token is at).
Thank you again for the great tool! I really appreciate your help and quick reply.

Happy to help! We added support for CLIP in our new repo, I think the implementation there may be helpful since the output is also a score and not logits :) hope this helps


amber: 0.5.2 -> 0.5.3

Motivation for this change
Just an update.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build amber

Built and tested here. Thanks.


(nucleus): Remove container images downloaded via docker: artifacts when the component is removed

Feature Description
When a component that has specified artifacts using the docker: key is removed, the DockerApplicationManager plugin should remove the image if no other deployed component requires it
Use Case
Edge devices are limited in resources, and removing unused artifacts is a best practice
Proposed Solution
The only workaround is to write a custom component that monitor the images and removes those for which there are no running containers.
Other

[ ] :wave: I may be able to implement this feature request
[ ] :warning: This feature might incur a breaking change

Hi @massi-ang, thanks for this reminder, we are currently thinking about providing a generic cleanup/uninstall mechanism requested by customers which can help clean up artifacts/installations like images. We will update here once we're able to work on that.


Add documentation about the BCrypt cost value in project settings

Looks good to me.

@NatasaKralj this needs review and verification for which version it will appear in. When can you prepare it?

@NatasaKralj it is probably for 9.11 - see RN.

@NatasaKralj please verify if same change will be made for Mx8 doc to correspond to RN in #4198

@Adam-Dupaski will start this today, should be done by end of week.

@atennapel Can you please confirm which versions of Studio Pro this change is for?
Is it for Studio Pro 9.11.0, as suggested in the RNs?
Is it for also Studio Pro 8.16.16, as suggested in the RNs?
If it's also for SP 8.16.16, refguide8 needs the same updates.


Sort and replace Acoustic Samples

Evan's dead, unassigning him.

@Umcaruje / @Sti2nd. Why were @unfa's samples removed from the repo? Was there a licensing issue? Or did nobody want to do the processing? I've made some actual progress in the new samples, but I don't have an acoustic drumset I can record... I don't want to add unfa's if there's an issue with them.

Why were @unfa's samples removed from the repo?

Can you please make reference to the removal you're talking about?  Also, @unfa is highly active, just not  also so much on our tracker, so feel free to reach out to him directly. :+1:

@Sti2nd line-drived Unfa's stuff here: (open in new tab, for convenience's sake) https://github.com/LMMS/samples/commit/bd8348f419e955fb358507b97a8c5e83dae6bf5b I have contacted @unfa, but I want to make sure there are no contingencies I should know about

Good find and kudos for linking the commit.  They look clean, use 'em as you wish. :+1:

Good find and kudos for linking the commit. They look clean, use 'em as you wish. :+1:

@tresf, will do, sir. At this rate, I can tentatively project a new library in three to four weeks. :)...
Assuming @Spekular doesn't beat me to the punch

@tresf, will do, sir. At this rate, I can tentatively project a new library in three to four weeks. :)...
Assuming @Spekular doesn't beat me to the punch

I'm not sure he's claimed to be working on it, but let's work smarter, not harder. :)


pushsync: swallow ErrWantSelf if closer nodes exist

Currently we might wrongly assume we are the closest one when returning from the pushToClosest method, since kademlia might just exhaust the number of known peers closer to a chunk than we are. While this does not mitigate the problem while building the initial topology, we should swallow a potential ErrWantSelf in pushsync whenever there is a peer being returned from ClosestPeer (i.e. if ClosestPeer returns a certain peer then we should swallow the error).

But what happens in the case that the known ClosestPeer is having unrecoverable issues unbeknownst to us, like an overdrafted checkbook or insufficient threshold?  In this case, we'll never finish, especially if all of the forwarding nodes also know about this same non-functioning peer.
We need some determination of "close enough" so that a pushsync chunk can be accepted by a node that isn't necessarily "closest", but is "close enough" to store the chunk until the neighborhood pullsync can get it more fully distributed.
But retrying a failing chunk over and over again to the same set of peers is exactly what #1651 is about and what I've observed numerous times in 0.5.3.

We need some determination of "close enough" so that a pushsync chunk can be accepted by a node that isn't necessarily "closest", but is "close enough" to store the chunk until the neighborhood pullsync can get it more fully distributed.

@acud , could you please clarify if the push sync is always pushing to the closest peer, or just to one peer in the neighborhood? Based on my understanding, if a node is in the neighborhood, it should just accept that chunk return a receipt and redundantly push to others in the neighborhood. However, if we always want to push to the closest, then this can indeed cause a problem if the closest node has problems.

My understanding of 0.5.3 behavior is that every node always attempts to push to the closest peer for the chunk's ID, regardless of whether the chunk has actually arrived "in the neighborhood".  And the push-forwarding node won't decide to keep the chunk if there are at least 5 "closer" connected nodes than his own.  ErrWantSelf will only be returned if we run out of closer connected nodes before we run out of pushToClosest retries.

Based on my discussion with @acud it seems like this issue will be handled by a couple of other changes we have/will make.

#1685 Return ErrNotHealthy from kademlia if we don't have a healthy topology
This will ensure that we don't wrongly assume that we are the closest node until we have built a healthy kademlia topology. So we will not store the chunk in this case.

#1653 remember failed traces (checked-in)
This change was merged today. It adds an LRU cache to remember failed {peer, chunk} requests to prevent peers from retrying unreliable peers. We have also increased the timeout duration to allow more time for the requests to succeed. This should reduce network latency-related errors.

In the case of a forwarder/originator, if there are peers which are not reliable for a particular chunk, we will not attempt to forward to these peers. Due to which we will try other peers. If there are no more peers and kademlia is healthy, we will return ErrWantSelf and store the chunk. So even if there is a closer node, and it's not reliable, replication will happen.
If there are closer peers and we attempt to send and fail, we will return ErrNoPush which will prevent the peer from wrongly storing the data.
So once both the above issues are handled, we should be able to close this.


Update Windows.CppRT to latest version

Yes, 105 files alone required this change.

Ready!

@crutkas Is this okay?

yes since it is all the same change :)  Far easier to scan


What does generate subcontrols for lightcontrolerV2 mean?

What does generate subcontrols for lightcontrolerV2 mean?

Oke thanks.


Updating readme from branch example

Updates
I update the readme file. Please review and accept.

Thoughts
I probably shouldnt, but okay. 👍


High CPU usage

Hi, thank you for this great library! It helped me a lot for finding slow queries. But sometimes, under certain conditions I don't understand, the library itself seems to contribute to slowing down my code.
Check this one, for instance. 5.85ms of measure:

It seems to add up, and often calling measure takes more time than the query itself:

However, this doesn't seem to be a problem when the process first starts... only after it has been running for a while. It it possible I have a memory leak and need to do cleanup? Here is the method I am calling:
  executeQuery<R>({ sql, parameters }: CompiledQuery): QueryResult<R> {
    if (!db) throw new Error('Database not open');

    const perf = new ScopedPerformance();
    perf.mark('start');

    const result = {
      rows: db!.prepare(sql).all(...parameters as any[]) as R[],
      numAffectedRows: BigInt(db!.changes),
      insertId: BigInt(db!.lastInsertRowId),
    };

    const { duration } = perf.measure('end', 'start');
    debug(`${sql} \x1b[90m(${(duration / 1000).toFixed(2)}s)\x1b[0m`);

    return result;
  },

Here is the cpuprofile so you can take a look yourself:
mostr-measure-highcpu.cpuprofile
You can load it into Chrome DevTools here:

Hi @esroyo, can you please take a look at this?
It appears performance is suffering due to a call to Deno's performance API itself, specifically findMostRecent:

function findMostRecent(
  name,
  type,
) {
  return ArrayPrototypeFind(
    ArrayPrototypeReverse(ArrayPrototypeSlice(performanceEntries)),
    (entry) => entry.name === name && entry.entryType === type,
  );
}

This must be due to a memory leak, right? We are saving too many entries and then not clearing them, so the list gets longer and longer over time.
Is there anything we can do on our end (or within this library) to prevent that?

@alexgleason I'm very sorry to be this late, the notification got totally overlooked :pensive: :pray:
Your reasoning makes every sense: if there is a problem of time accessing the given measure or mark, it must be form the underlying native Performance implementation, in this case Deno's. The only thing we can do from user-land is to make sure the given measures/marks are removed once the instance is not needed any more (as you already did).
Probably it is a good idea to implement Symbol.dispose on the ScopedPerformance class, so that the clearing is done when the scope ends:
{
    using perf = new ScopedPerformance();
    perf.mark('start');

    // ...
    const { duration } = perf.measure('end', 'start');

}

// when `perf` is not accessible any more, this should happen out-of-the-box
// perf.clearMarks();
// perf.clearMeasures();

The upcoming Deno 2.0 release will include a improved implementation of measure():
https://github.com/denoland/deno/pull/25774
version 3.1.0 of ScopedPerformance supports the using keyword, so we do not need to remember clearing the marks and measures manually.

Thanks for your report @alexgleason, again my apologies for late response :pray:

That's perfect. Thank you @esroyo !


Service

@lukecampbell , @oceanzus  : Config file moved to app/config.yml, removed ooiservices/config.py
Improved coverage of test_create_user_route.  Changed user input error from 400 to 409 ( Conflict )

https://github.com/asascience-open/ooi-ui-services/pull/108


It takes around 30 min to recreate a node

What happened:
In a running shoot, after a VM is deleted (From AliCloud Console), it took around 30 for MCM to recreate a new node.
What you expected to happen:
It will be recovered as fast as possible.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know:
Environment:

After investigation, I think it's expected behavior.
When user deletes a VM in iaas account, it takes 2~3 minutes for k8s to detect problem for this node and reflects in status as unknown. Then this node will be removed from cluster.
Then health check of MCM then detects this problem and update status of machine as unknown.
There is a startup option of MCM which specifies the  unhealthy timeout period. By default it's 10 minutes.
After 10 minutes, MCM updates status of this machine to failed  and then triggers the deletion flow.
Meanwhile MCM also finds replicas is not as expected as machineset, MCM will trigger the. creation flow. It takes ~2 minutes to spin up a new VM.
So in total, it takes 3+10+2 =15 minutes to detect machine issue and fix it for best case.

We should check returned error here. If it is not found, we simply return success.

No, I don't think it's a problem and won't block machine recreation. Actually the not found  error is caught outside here
From provider point of, it should return the error back to caller if caller passes non-existing machine ID to it

After double checking together with Emoin, There won't be a problem of getvmstatus even though ECS doesn't exist.  In such case, it just skips deletevm step and go to deletenode directly.
So the scenario in description works well.
We need to double check with original reporter what's the exact step he did.


/etc/hosts formatting from dashboard output

Hi there, I set up the VM, all worked fine - I copied/pasted the following output from the dashboard page (as I haven't got the vagrant-hostsupdater or vagrant-hostmanager add on.
drupalvm.dev <IP_ADDRESS>
adminer.drupalvm.dev <IP_ADDRESS>
xhprof.drupalvm.dev <IP_ADDRESS>
pimpmylog.drupalvm.dev <IP_ADDRESS>

Updated my local hosts - but I couldn't access any of the urls above^.  Was scratching my head for an hour or so! Until I realised to switch the ip's to the leftmost side.  This then worked - just letting you guys know - thanks

Thanks for reporting, you're quite right!


cannot save train.pt

Hi,
when I run preprocess.py , I got
File "preprocess.py", line 70, in <module>
    main()
  File "preprocess.py", line 65, in main
    torch.save(train, open(os.path.join(opt.save_data, 'train.pt'), 'wb'))
  File "/Users/SC/anaconda2/envs/python3/lib/python3.6/site-packages/torch/serialization.py", line 161, in save
    return _with_file_like(f, "wb", lambda f: _save(obj, f, pickle_module, pickle_protocol))
  File "/Users/SC/anaconda2/envs/python3/lib/python3.6/site-packages/torch/serialization.py", line 118, in _with_file_like
    return body(f)
  File "/Users/SC/anaconda2/envs/python3/lib/python3.6/site-packages/torch/serialization.py", line 161, in <lambda>
    return _with_file_like(f, "wb", lambda f: _save(obj, f, pickle_module, pickle_protocol))
  File "/Users/SC/anaconda2/envs/python3/lib/python3.6/site-packages/torch/serialization.py", line 232, in _save
    pickler.dump(obj)
AttributeError: Can't pickle local object 'TableDataset.__init__.<locals>.filter_pred'
It happens when the code try to save train.pt in line 65:
 torch.save(train, open(os.path.join(opt.save_data, 'train.pt'), 'wb'))
I found there is a comment in the code:# Can't save fields, so remove/reconstruct at training time. But I didn't understand how should I modify the code when training. Could you please tell me what I should do？
Thanks,

Hi @shuaichenchang ,
No modification is needed for training. Maybe you could use Python 3.5 + PyTorch 0.2.0.post3 (GPU) to run the code and try again. The detailed Python dependencies are shown in requirements.txt . Thanks!
Li

@shuaichenchang , I too am trying to run preprocess.py ; Did you come across the following error-
File "/home/coarse2fine/wikisql/table/ModelConstructor.py", line 13, in
from lib.query import agg_ops, cond_ops
I am using lib module from the WikiSQL github repository as I could not find one in current repository. Can you provide any suggestions?
Thank you,
Sandy

@Sandy26 Solved in https://github.com/donglixp/coarse2fine/issues/3

Had the same error

AttributeError: Can't pickle local object 'TableDataset.init..filter_pred'

Align these torch packages' version fixed it~
torchtext==0.2.0
torch==0.2.0.post3


Migrations for enum attributes are wrong

I've got this attribute in a model:
"state": {
	"type": "enum",
	"values": [
		"queued",
		"pending",
		"finished",
	],
	"defaultTo": "queued"
}

Upon creating the migration this is created from its template:
table.enu('state', queued, pending, finished)
        .defaultTo('queued');

but it should be this:
table.enu('state', ['queued', 'pending', 'finished'])
        .defaultTo('queued');

@dj-hedgehog: Could you submit a PR for that?

The migration-generation is completely broken (for me) currently. Every since @loicsaintroch generated working examples for the models I started with I wrote them by hand.
The question is how we want to deal with this? I'd like to try to fix migrations within the next weeks but bookshelf etc. needs to be put into its own plugin anyways. There are two problems:
a) I fix the strapi-generate-migrations BEFORE you put it into a new v3 plugin:
you have to wait for me to fix it first before you can do it
b) I fix the strapi-generate-migrations AFTER you put it into a new v3 plugin:
I'll probably need access to v3 so I can fix it.
Decide for yourself what you'd prefer.

strapi-bookshelf will not be a plugin. It already a hook available as strapi-mongoose in our new mono-repository structure (already available for the v2.0). As I said, I will publish the v3.0 asap. Before that, we have to migrate the repositories to another organisation because the wistityhq will no longer exist. You will be able to access to the strapi-generation-migrations and make PR on it. It has nothing to do with the plugins.
Do migrations are broken on the enum attribute only or on others things too?


feature: separate max edge distance from interaction radius throughout

I think this one is also best reviewed one commit at a time, even though it's only 3 commits.
The final commit is not really part of this issue, but I went through the entire code and fixed/simplified/added type hinting throughout the code base. I can move it to a separate PR if you think it's better, but I had done it in between this one and #506, which builds on this. That is why it is currently here.
Changes:

Clarify distance_cutoff vs radius across different Query classes (see here)

Rename the parameters to avoid confusion

radius becomes interaction_radius = the distance from the structure of interest (variant residue or interface) to look for residues to include
cutoff becomes max_edge_distance = the maximum distance between two nodes to include an edge between them.

Add interaction_radius parameter for PPI; previously only SRVs were using separate paramenters, while PPI was using cutoff to mean both things.
Remove edge_distance_cutoff as a Graph attribute, because it serves no purpose.

Decided against allowing for setting these to 0 to mean infinity/include all

It's quite a bit of effort, especially with adding tests (which would also be slow).
It's very rare that someone should want to do this, so we should not make it "easy" to do so for users who don't know what they're doing.
If someone really wants to include everything, they can just be set to an extremely high value and it will do the same.

closes #460

I've asked @cbaakman's review as well, only to verify that this PR doesn't break some logic that was meant for the old cutoffs. No need to go through the code in-depth, a conceptual confirmation would be more than enough :)

So we just need to agree on a nomenclature here, and then I can merge this PR.
My newest suggestions are influence_radius and either max_edge_length or edge_length_cutoff (see below for they represent). What do you think?

radius becomes interaction_radius = the distance from the structure of interest (variant residue or interface) to look for residues to include
cutoff becomes max_edge_distance = the maximum distance between two nodes to include an edge between them.

So we just need to agree on a nomenclature here, and then I can merge this PR.
My newest suggestions are influence_radius and either max_edge_length or edge_length_cutoff (see below for they represent). What do you think?

radius becomes interaction_radius = the distance from the structure of interest (variant residue or interface) to look for residues to include
cutoff becomes max_edge_distance = the maximum distance between two nodes to include an edge between them.

Indeed, so as agreed I'd go for max_edge_length and influence_radius


connection protocol expects did identifier for DID instead of did

This is more a question than a bug report.
When testing interoperability between aries-framework-javascript (AFJ) and ACA-PY there was an issue with the did and diddoc while creating a connection. (the connection and connection~sig parameters in request / response)
ACA-Py throws the error: Connection DID does not match DIDDoc id
I could find this interaction in the rocket chat where @andrewwhitehead says you should send the DID without the did:sov: part.
The issue lies with that in AFJ we call the indyCreateAndStoreMyDid function for a new connection with the "method_name": "sov" parameter, which returns the whole did instead of only the did identifier.
Removing the did:sov part indeeds works, but this leaves me with some questions.

The id in the the DIDDoc is still the full did containing did:sov: while the DID parameter now only contains the did identifier. So when the error is thrown they do match and after fixing the error and they do not match anymore the error is not thrown. This seems reversed to me?
RFC0160 mentions that the DID parameter indicates a DID, ACA-Py expects it to be a DID identifier. Why is that?

aries-framework-dotnet also uses the did identifier instead of the full did, however they don't check if the diddoc id matches with the did, so it is "okay".
If only sending the did identifier is the way to go I'll make the necessary changes in AFJ, but as it contradicts with how I interpret the RFC I want to be sure.

@andrewwhitehead can you take this?

Any update on this?
I would love to make AFJ interoperable with ACA-Py.

I understand if you don't have the time to go into detail. In that case i'll just go ahead and send the DID without the did:sov part.

@andrewwhitehead  - please review and respond.  Thanks.

I agree something needs to change if it can't handle a prefixed DID, but it seems like this will need significant testing (including against the mobile apps) before we roll out a version with these changes. It also looks like when ACA-py might be producing a connection request it's using the un-prefixed DID, which may go back to a previous version of the RFC.

Thanks @andrewwhitehead. I've discussed and for now we'll change to using the un-prefixed DID. Maybe ACA-Py could eventually support both prefixed DIDs and un-prefixed DIDs for backwards compatibility.


add bandwidth options

Irena's suggest was to have options for the start and stop frequency to use when computing the fft. This could look something like:
import xapres_package as xa
ds = xa.load.generate_xarray(directory='../../data/sample/single_dat_file/',
             start_freq = [300e6, 400e6],
             stop_freq = [500e6])

and this would do all the processing twice, once with start_freq = 200e6 and once with start_freq = 400e6. There would then be another dimension in the resulting xarray: start_freq.
If yo ualso provide multiple stop_freq's it could do every combination of start_freq and stop_freq.
cc @glugeorge

as a starting point though we could just allow start_freq and stop_freq to be adjustable parameters.

this should be possible using the new custom fft options that were added in #51 and a script I wrote for a different project (here), which allows you to loop over different parameter values and save the results in an xarray.
This wont result in a change to the code, I dont think, but I could add a notebook demonstrating it.

This works nicely.
You can download the script from github gist with a little package I found called getgist and then run the processing with
## load data
def load_zarr(f):
    return xr.open_dataset(f, engine = 'zarr', chunks = {})
LTG = load_zarr('/Users/jkingslake/Documents/science/ApRES/TG_apres/notebooks/zarrs/LTG_stacked.zarr').load()

## calculate velocities etc.
dLTG = LTG.profile_stacked.displacement_timeseries().compute()

## get grid search function
!pip install getgist
!getgist jkingslake xarray_grid_search.py

## apply grid search function and plot
xgs.gridSearch(LTG.profile_stacked.displacement_timeseries, lower_limit_on_fit=[800, 1000, 1200, 1400]).strain_rate.plot(hue='lower_limit_on_fit')

cc @glugeorge, I wonder if this would be useful to you?
xgs.gridSearch(LTG.profile_stacked.displacement_timeseries, lower_limit_on_fit=[800, 1000, 1200, 1400])

outputs an xarray with a new dimension corresponding to the parameter you varied, in this case lower_limit_on_fit:


Update build from source (docker) tutorial

Description
This PR updates the build from source (docker) tutorial to use the very latest Pyrsia developments.
To run through these steps, you will need the code from PR #1047
Please also wait merging this documentation until #1047 is merged.
PR Checklist

[x] I've read the contributing guidelines.
[x] I've read "What is a Good PR?"
[x] I've included a good title and brief description along with how to review them.
[x] I've linked any associated an issue.

@fishseabowl @AbhijithGanesh @tiainen thank you for your reviews. I've committed suggestions, made a few changes and left a few comments.


Did not find port

Hi,
I am trying to upload the hello world program. This is my first time using QuickFeather board. I am running on Mac OS. I was able to compile the code and generate bin file but when trying to flash, I am getting below error as in the screen shot. I am connecting the board using micro-usb cable. Can anyone help me to troubleshoot ?

Hi - Most likely this is a permissions issue with the port not having sufficient permission for users to open.  The best test of this is to try the command as sudo.  If that works then it is a permissions issue.

Tried sudo and USB Adapter as well but no luck. Any other thoughts ? Anyone got it working on Mac?

Was able to flash the program. I had to use cu.xxxx instead of tty.xxx like
qfprog --port /dev/cu.usbmodem143201 --mode m4 --m4app output/bin/qf_helloworldsw.bin

Going to install Putty on mac to test the output.

I am all set.

That will be a different device since there is a different USB device ID for the programming vs serial communication
From: Other Tim<EMAIL_ADDRESS>Sent: Thursday, February 4, 2021 8:36 AM
To: QuickLogic-Corp/qorc-sdk<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [QuickLogic-Corp/qorc-sdk] Did not find port (#100)
@just4givehttps://github.com/just4give , what device did you use with putty, the same one used for flashing, or different?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/QuickLogic-Corp/qorc-sdk/issues/100#issuecomment-773441153, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AO4FHENEZGXOULXEZJTJJALS5LEHTANCNFSM4XBL5UCA.

Hi @timsaxe , thanks!   I hope the info gets added to the docs to make it easier for the next MacOS user.

The other one with tty.xxx  .... for flashing I had to use cu.xxx and for putty tty.xxx with baud rate 115200...

Curious how you track this down on a mac.  On windows I run an app called device manager a look at the ‘com ports’ section.  When I plug in QF a new com port shows up and I know that is the serial port, and when I reset and bring it up in program mode that com port disappears and a different ports shows up which I then know is the programming port.  This also helps when I have more than one QF and am trying to work out which port goes with which device.
Is there a similar process that you used on a mac?
Which reminds me of a further question, in order for documentation to be useful it has to be where people naturally look for it.  Where do you generally look for answers when you have a question like this?  Github doc, github issues, forum, readthedocs, …?
From: Mithun Das<EMAIL_ADDRESS>Sent: Thursday, February 4, 2021 8:45 AM
To: QuickLogic-Corp/qorc-sdk<EMAIL_ADDRESS>Cc: Tim Saxe<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [QuickLogic-Corp/qorc-sdk] Did not find port (#100)
The other one with tty.xxx .... for flashing I had to use cu.xxx and for putty tty.xxx with baud rate 115200...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/QuickLogic-Corp/qorc-sdk/issues/100#issuecomment-773447576, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AO4FHEL4XQSDC44QPUUE2JDS5LFJBANCNFSM4XBL5UCA.

I actually did a old school process :) went into /dev folder and listed the devices issuing ls -lrt , then plugged in QF board and issued same command again ... new port showed up at the bottom and I new that's the one I just plugged in. There must be a better way to do this but at least worked for me for the time being.


binary for atak 4.8.x / meshtastic 2.0.19

please compile for current versions, especially for current play store version of atak-civ. <IP_ADDRESS> atak, 2.0.19 meshtastic app at time of writing 2023-mar-23
many thanks in advance

Fixed by https://github.com/paulmandal/atak-forwarder/pull/166


Quantize models with AutoGPTQ (#219)

Close #219
Reference code for successfully quantizing an LLM: https://gist.github.com/Glavin001/d66dbb93e9ea3a2cb5e0e6f1c2aa2ba1
Expects https://github.com/h2oai/h2o-llmstudio/issues/280 to be merged prior.

[ ] Testing. Currently untested. Only had a CPU computer today. Will test with GPU later this week.
[x] Add button to experiment's page

[ ] Only show button after model successfully trained (like the push, etc buttons)

[ ] Add autogptq to Pipfile
[ ] Sample from experiment's dataset

[x] Use experiment's configured prompt, answer, separator tokens

[ ] Quantization configuration options per experiment
[ ] Add AutoGPTQ inference support to Chat tab
[ ] Push GPTQ model to Huggingface

Thanks a lot @Glavin001 for starting this!
I am curious, but is there an advantage of AutoGPT?
Couldnt we just use bitsandbytes like HF does?
https://github.com/huggingface/transformers/blob/main/src/transformers/modeling_utils.py#L2709

Asked the king of quantization, @TheBlokeAI in Discord: https://discord.com/channels/1111983596572520458/1117037259603066980/1130501685349978226
Highlights:

Significantly smaller distribution storage size of weights. Distribute quantized not full weights.
Pre-quantized, not as load time, so faster start
GPTQ is more accurate when configured appropriately
AutoGPTQ and especially ExLlama we’re faster — although new 4bit inference code in bitsandbytes may change that

Full answers:

A major advantage is that with GPTQ you only download the quantised weights. With bitsandbytes you have to download the full model weights, eg 13GB for 7B, 26GB for 13B, 61GB for 33B, 122GB for 65B
In terms of accuracy, GPTQ is I think a bit better when the best params are used, although that currently requires ExLlama for good performance.  Using parameters optimal for AutoGPTQ speed, accuracy will be around the same, comparing bitsandbytes to GPTQ
Speed I don't know. It used to be that AutoGPTQ was faster than bitsandbytes 4bit, and ExLlama was significantly faster
But in the last few days, bitsandbytes 4bit apparently got a big speed boost. I've not been able to benchmark it yet, since that happened
But IMHO the first difference I mentioned, the requirement to download full model weights for bitsandbytes, is going to be a deal breaker for most people
AutoGPTQ is pre-quantised yes. You load the weights and save a quantized version of it, and the user loads that quantized version
bitsandbytes quantises on the fly, hence the need for the full weights downloaded.  I don't know what the startup time for bitsandbytes is - probably a bit longer yes

A major advantage is that with GPTQ you only download the quantised weights. With bitsandbytes you have to download the full model weights, eg 13GB for 7B, 26GB for 13B, 61GB for 33B, 122GB for 65B

I dont think this is true. You can just push the quantized weights also with bitsandbytes/HF and then load them that way.
Does it need different code also for loading GPTQ weights?

You can just push the quantized weights also with bitsandbytes/HF

It appears so: https://huggingface.co/docs/transformers/main_classes/quantization#push-quantized-models-on-the-hub
model = AutoModelForCausalLM.from_pretrained("bigscience/bloom-560m", device_map="auto", load_in_8bit=True)

model.push_to_hub("bloom-560m-8bit")

Pushing 8bit models on the Hub is strongely encouraged for large models. This will allow the community to benefit from the memory footprint reduction and loading for example large models on a Google Colab.

So LLM Studio could add support via bitsandbytes for exporting an already quantized models.
Previously this may have been only practically supported 8 bit, since the inference speed was so slow (from what I've read), however, now that 4-bit inference is officially supported bitsandbytes is more competitive to GPTQ?

Does it need different code also for loading GPTQ weights?

Yes, such as using AutoGPTQ or more popularly for LLaMA models, ExLlama model loading. ExLlama is much faster and the go-to right now for LLaMA based models and depends on GPTQ, not bitsandbytes from my understanding.
So the ask here may actually be: quantize and export via both bitsandbytes and GPTQ .safetensors for compatibility with the specific model loader which best suits your needs.
In my case, I specifically want ExLlama which needs GPTQ models in .safetensors format.

Unfortunately you can't push 4bit models at this time.
NotImplementedError: You are calling `save_pretrained` on a 4-bit converted model. This is currently not supported

I guess they will hopefully add that in time, and yes it works with 8-bit. But then 8-bit is still very large for many users, and also much slower.

Yes, 4bit will not work to push with bitsandbytes.
But pushing quantized weights with AutoGPTQ will always require to also use that for inference then, right? So cant keep staying only in HF eco-system afterwards.

Appears so. Hopefully HF's solutions improve over time so the need is diminished. For now, alternatives are far more compelling for memory consumption and token/sec inference speed.
Recent news related to quantization and Llama-2: Bitsandbytes 4-bit is now comparable to AutoGPTQ / GPTQ-for-Llama, however, ExLlama which depends on GPTQ still leaves them all in the dust: https://twitter.com/abacaj/status/1681725266865864712?s=46&t=9HxibQPFoKlrGEEL9RigDA

@Glavin001 I have been playing a bit with AutoGPTQ after your suggestion.
I think it is fairly usable, but issue is that it can take quite some time to quantize. Im wondering if this will hinder the whole upload experience.
Maybe for starters support 8bit bitsandbytes upload?
But Im fine adding it, but would like to have both 8bit and 4bit options then.
There is also another PR for adding a script to upload
https://github.com/h2oai/h2o-llmstudio/pull/300
We could also add quantization options there.


docs: useOn suggestion

DON'T MERGE
useOn/useOnWindow/useOnDocument are here located under "Lifecycle Hooks", but they also exist under "Events". In my opinion it's not necessary to have both and they fit better under events as they don't seem related to the component lifecycle, but rather give access to env-specific APIs to make attaching event handlers easier.
Overview

What is it?

[ ] Feature / enhancement
[ ] Bug
[x] Docs / tests / types / typos

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Use cases and why

One use case

Another use case

Checklist:

[ ] My code follows the developer guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

Hi @neonpie 👋
Needed to find the mentioned pages first 😅  guess u r talking about these, right?

https://qwik.builder.io/tutorial/events/document/
https://qwik.builder.io/tutorial/hooks/use-on/

imo both are valid. the use-on is a bit small on content but has a nice demo. if we agree to remove one of them my suggestion would be take the best of both versions.
@adamdbradley / @manucorporat any preferences?

forgot to add the links, I'll do that next time :P
I was talking about these 2 pages:
https://qwik.builder.io/tutorial/events/programmatic/
https://qwik.builder.io/tutorial/hooks/use-on/

This looks like an abandoned PR with nothing attached to it. If no action in next few weeks I recommend closing it.

checked the two pages and imo it is fine to have them in this two categories for now. thanks for the headsup 🙏


There is no inverse function currently in your mat4.cpp and mat4.h

This needs to be addressed immediately for stuff like movement and rotating. You can implement it in anyway you wish. Where it could be something like http://stackoverflow.com/questions/1148309/inverting-a-4x4-matrix or a way you feel is safe and is fast.

I totally agree. While this may not seem of immediate importance, it is definitely be important for moving the camera around as well as doing animation in general and will be especially important for 3D.

Wouldn't it be easier if he includes glm http://glm.g-truc.net/0.9.6/index.html into sparky? As far as i know these functions and classes are pretty optimized.

I agree with @holgk that glm should be chosen. The only reasons to implement all the math himself would be to either study it, or to teach other people.

Well, he already implemented part of the maths himself, so why switch over to GLM now?

We're not going to use GLM because we don't need to. An inverse function was added in Ep. 20.


[BUG] Wrong time slicing with MultifieldDataSampler for first time indices

Describe the bug
The MultifieldDataSampler stitches together data from the beginning and the end of the data period (1979 and 2021 for the ERA5-dataset) when the time index is smaller than the number of time steps in the spatio-temporal neighborhood (n_size[0]). This happens since (some) time indices become negative in this situation, see here.
To Reproduce
Steps to reproduce the behavior:

Run training or evaluation as usual. For the behaviour described above, ensure that the MultifieldDataSampler is initialised with years=list( range( 1979, 2021)) (cf. here in train.py)
Enforce that sampled time indices are smaller than n_size[0] in the MultifieldDataSampler by overwriting self.idxs_perm_t in the shuffle-method, e.g. self.idxs_perm_t = np.ones(self.num_samples // self.batch_size, dtype=np.int64) * 3 (see here)
Run and check the time stamps of the time indices

Expected behavior
The data sequence should be coherent along the time axis.
Screenshots

The issue can be reproduced with the Jupyter Notebook attached below.
Hardware and environment:

System: Behaviour is system-indepandant
Runtime: no dependencies
Special branch: all branches without modifications to multifield_data_sampler.py compared to develop-branch
Python Version: no additional dependency on Python version

Additional context

Jupyter Notebook with truncated MultifieldDataSampler to reproduce error (change file suffix to .ipynb).
sampling_error.txt

Could you suggest a fix. It should be a simple check in the ctor, in the simplest case generating an error when the temporal range is smaller than the window length.

The fix is already implemented in the respective issue-branch, see here.
Only thing to do was to modiffy the leist of valid time indices for sampling.

This might require some discussion before merging to develop/main. It is important that the config and what happens is consistent--I rather throw and error than breaking this.
What happens at the moment is that you force to have a valid time range, even if it violates the config.

Hmm fully not getting what you are meaning.
The revised list of valid time indices just avoids that some indices become negative when slicng the data here.
It does not break or modify the config in my opinion.


Description
Hey there,
opening this issue as suggested by Andras over here: https://x.com/heyandras/status/1777561425906467143
The goal is to add outline as a service.
Sharing my docker-compose.yaml and docker.env.
version: "3.2"
services:
  outline:
    image: docker.getoutline.com/outlinewiki/outline:latest
    env_file: ./docker.env
    ports:
      - "3000:3000"
    volumes:
      - storage-data:/var/lib/outline/data
    depends_on:
      - postgres
      - redis

  redis:
    image: redis
    env_file: ./docker.env
    ports:
      - "6379:6379"
    volumes:
      - ./redis.conf:/redis.conf
    command: ["redis-server", "/redis.conf"]
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 30s
      retries: 3

  postgres:
    image: postgres
    env_file: ./docker.env
    ports:
      - "5432:5432"
    volumes:
      - database-data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD", "pg_isready", "-d", "outline", "-U", "user"]
      interval: 30s
      timeout: 20s
      retries: 3
    environment:
      POSTGRES_USER: "user"
      POSTGRES_PASSWORD: "pass"
      POSTGRES_DB: "outline"

volumes:
  storage-data:
  database-data:

# –––––––––––––––– REQUIRED ––––––––––––––––

NODE_ENV=production

# Generate a hex-encoded 32-byte random key. You should use `openssl rand -hex 32`
# in your terminal to generate a random value.
SECRET_KEY=

# Generate a unique random key. The format is not important but you could still use
# `openssl rand -hex 32` in your terminal to produce this.
UTILS_SECRET=

# For production point these at your databases, in development the default
# should work out of the box.
# DATABASE_URL=postgres://user:pass@localhost:5432/outline
DATABASE_URL=postgres://user:pass@postgres:5432/outline
DATABASE_CONNECTION_POOL_MIN=
DATABASE_CONNECTION_POOL_MAX=
# Uncomment this to disable SSL for connecting to Postgres
PGSSLMODE=disable

# For redis you can either specify an ioredis compatible url like this
# REDIS_URL=redis://localhost:6379
REDIS_URL=redis://redis:6379
# or alternatively, if you would like to provide additional connection options,
# use a base64 encoded JSON connection option object. Refer to the ioredis documentation
# for a list of available options.
# Example: Use Redis Sentinel for high availability
# {"sentinels":[{"host":"sentinel-0","port":26379},{"host":"sentinel-1","port":26379}],"name":"mymaster"}
# REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJzZW50aW5lbC0wIiwicG9ydCI6MjYzNzl9LHsiaG9zdCI6InNlbnRpbmVsLTEiLCJwb3J0IjoyNjM3OX1dLCJuYW1lIjoibXltYXN0ZXIifQ==

# URL should point to the fully qualified, publicly accessible URL. If using a
# proxy the port in URL and PORT may be different.
URL=https://docs.example.com
PORT=3000

# See [documentation](docs/SERVICES.md) on running a separate collaboration
# server, for normal operation this does not need to be set.
COLLABORATION_URL=

# Specify what storage system to use. Possible value is one of "s3" or "local".
# For "local", the avatar images and document attachments will be saved on local disk.
FILE_STORAGE=local

# If "local" is configured for FILE_STORAGE above, then this sets the parent directory under
# which all attachments/images go. Make sure that the process has permissions to create
# this path and also to write files to it.
FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data

# Maximum allowed size for the uploaded attachment.
FILE_STORAGE_UPLOAD_MAX_SIZE=262144000

# Override the maximum size of document imports, generally this should be lower
# than the document attachment maximum size.
FILE_STORAGE_IMPORT_MAX_SIZE=

# Override the maximum size of workspace imports, these can be especially large
# and the files are temporary being automatically deleted after a period of time.
FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZE=

# To support uploading of images for avatars and document attachments in a distributed
# architecture an s3-compatible storage can be configured if FILE_STORAGE=s3 above.
AWS_ACCESS_KEY_ID=get_a_key_from_aws
AWS_SECRET_ACCESS_KEY=get_the_secret_of_above_key
AWS_REGION=xx-xxxx-x
AWS_S3_ACCELERATE_URL=
AWS_S3_UPLOAD_BUCKET_URL=http://s3:4569
AWS_S3_UPLOAD_BUCKET_NAME=bucket_name_here
AWS_S3_FORCE_PATH_STYLE=true
AWS_S3_ACL=private

# –––––––––––––– AUTHENTICATION ––––––––––––––

# Third party signin credentials, at least ONE OF EITHER Google, Slack,
# or Microsoft is required for a working installation or you'll have no sign-in
# options.

# To configure Slack auth, you'll need to create an Application at
# => https://api.slack.com/apps
#
# When configuring the Client ID, add a redirect URL under "OAuth & Permissions":
# https://<URL>/auth/slack.callback
SLACK_CLIENT_ID=
SLACK_CLIENT_SECRET=

# To configure Google auth, you'll need to create an OAuth Client ID at
# => https://console.cloud.google.com/apis/credentials
#
# When configuring the Client ID, add an Authorized redirect URI:
# https://<URL>/auth/google.callback
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

# To configure Microsoft/Azure auth, you'll need to create an OAuth Client. See
# the guide for details on setting up your Azure App:
# => https://wiki.generaloutline.com/share/dfa77e56-d4d2-4b51-8ff8-84ea6608faa4
AZURE_CLIENT_ID=
AZURE_CLIENT_SECRET=
AZURE_RESOURCE_APP_ID=

# To configure generic OIDC auth, you'll need some kind of identity provider.
# See documentation for whichever IdP you use to acquire the following info:
# Redirect URI is https://<URL>/auth/oidc.callback
OIDC_CLIENT_ID=
OIDC_CLIENT_SECRET=
OIDC_AUTH_URI=
OIDC_TOKEN_URI=
OIDC_USERINFO_URI=
OIDC_LOGOUT_URI=

# Specify which claims to derive user information from
# Supports any valid JSON path with the JWT payload
OIDC_USERNAME_CLAIM=preferred_username

# Display name for OIDC authentication
OIDC_DISPLAY_NAME=OpenID Connect

# Space separated auth scopes.
OIDC_SCOPES=openid profile email

# To configure the GitHub integration, you'll need to create a GitHub App at
# => https://github.com/settings/apps
#
# When configuring the Client ID, add a redirect URL under "Permissions & events":
# https://<URL>/api/github.callback
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_APP_NAME=
GITHUB_APP_ID=
GITHUB_APP_PRIVATE_KEY=

# –––––––––––––––– OPTIONAL ––––––––––––––––

# Base64 encoded private key and certificate for HTTPS termination. This is only
# required if you do not use an external reverse proxy. See documentation:
# https://wiki.generaloutline.com/share/1c922644-40d8-41fe-98f9-df2b67239d45
SSL_KEY=
SSL_CERT=

# If using a Cloudfront/Cloudflare distribution or similar it can be set below.
# This will cause paths to javascript, stylesheets, and images to be updated to
# the hostname defined in CDN_URL. In your CDN configuration the origin server
# should be set to the same as URL.
CDN_URL=

# Auto-redirect to https in production. The default is true but you may set to
# false if you can be sure that SSL is terminated at an external loadbalancer.
FORCE_HTTPS=true

# Have the installation check for updates by sending anonymized statistics to
# the maintainers
ENABLE_UPDATES=true

# How many processes should be spawned. As a reasonable rule divide your servers
# available memory by 512 for a rough estimate
WEB_CONCURRENCY=1

# You can remove this line if your reverse proxy already logs incoming http
# requests and this ends up being duplicative
# DEBUG=http

# Configure lowest severity level for server logs. Should be one of
# error, warn, info, http, verbose, debug and silly
LOG_LEVEL=info

# For a complete Slack integration with search and posting to channels the
# following configs are also needed, some more details
# => https://wiki.generaloutline.com/share/be25efd1-b3ef-4450-b8e5-c4a4fc11e02a
#
SLACK_VERIFICATION_TOKEN=
SLACK_APP_ID=
SLACK_MESSAGE_ACTIONS=

# Optionally enable Sentry (sentry.io) to track errors and performance,
# and optionally add a Sentry proxy tunnel for bypassing ad blockers in the UI:
# https://docs.sentry.io/platforms/javascript/troubleshooting/#using-the-tunnel-option)
SENTRY_DSN=
SENTRY_TUNNEL=

# To support sending outgoing transactional emails such as "document updated" or
# "you've been invited" you'll need to provide authentication for an SMTP server
SMTP_HOST=
SMTP_PORT=
SMTP_USERNAME=
SMTP_PASSWORD=
SMTP_FROM_EMAIL=
SMTP_REPLY_EMAIL=
SMTP_TLS_CIPHERS=
SMTP_SECURE=true

# The default interface language. See translate.getoutline.com for a list of
# available language codes and their rough percentage translated.
DEFAULT_LANGUAGE=en_US

# Optionally enable rate limiter at application web server
RATE_LIMITER_ENABLED=true

# Configure default throttling parameters for rate limiter
RATE_LIMITER_REQUESTS=1000
RATE_LIMITER_DURATION_WINDOW=60

# Iframely API config
# IFRAMELY_URL=
# IFRAMELY_API_KEY=

What are the best practices in terms of handling those secrets? Is there a way to use the docker.env and create coolify env variables automatically?
Minimal Reproduction (if possible, example repository)
All good to go.
Exception or Error
No response
Version
latest

Are there any updates?


See only media (photos, videos, gif, audio etc.) in the html and no text conversations

Hi there,
Is there a way to quickly process the resultant html so that all the normal conversation text is removed, and only the media (such as photos, videos, gif, audio etc.) alone is present? I basically want something like the "Media, links, and docs" feature of the original WhatsApp app where one can quickly scroll up and down the media alone.
I no longer have the decrypted DB handy, so I am looking for a way to post process your result html and strip away the text and keep only the media. Is there a quick way/hack to do this?
WhatsApp failed to restore my DB and this tool has been great at retrieving my memories in a coherent way! Thanks a lot for your work!

As there is no attribute to tell if there are any media, I quickly created a JavaScript code to remove any rows that do not have the following tags: img, audio, video.
const elems = [...document.getElementsByClassName("table")[0].children]
elems.forEach((elem) => {
	if (elem.getElementsByClassName("w3-center").length <= 0) {
		search = elem.querySelector(".w3-col.m10.l10");
		if (search.querySelectorAll("img,audio,video").length <= 0){
			elem.remove();
		};
	}
});

After executing the above code in the console, you may save the page into a single file with an extension or convert the above code to some program to remove the unwanted elements for you.
Note that the code will not remove all text-only messages to preserve the conversation date.