Silence error messages in getChannel() and getWavelength(), and add header file in process library

Resubmitting PR #248 against develop to address issue #247.

@amdasilva    This PR exposes one of the downsides of having the process library not depending on MAPL.   We lose some useful error handling utilities this way.    At what point to we accept that CCPP is no longer something that needs support?

I really hope that we are not thinking of stopping support for this.
On Fri, Aug 4, 2023 at 11:52 AM Tom Clune @.***> wrote:

@amdasilva https://github.com/amdasilva This PR exposes one of the
downsides of having the process library not depending on MAPL. We lose some
useful error handling utilities this way. At what point to we accept that
CCPP is no longer something that needs support?
—
Reply to this email directly, view it on GitHub
https://github.com/GEOS-ESM/GOCART/pull/249#issuecomment-1665837753, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AFIUVN4HNOANWUWRT2N3QNLXTULDPANCNFSM6AAAAAA2Y2TPEU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Barry Baker
National Oceanic and Atmospheric Administration
Air Resources Laboratory
Physical Research Scientist
Chemical Modeling and Emissions Group Leader
NCWCP, R/ARL, Rm. 4204
5830 University Research Court
College Park, Maryland  20740
Phone: (301) 683-1395

@bbakernoaa Are you aware of any activity in that direction?      I'm sure we're not changing anything without lots of review to be certain we are not closing any important doors.

Yes.  There is going to be some work towards this in the near future.
Barry Baker
National Oceanic and Atmospheric Administration
Air Resources Laboratory
Physical Research Scientist
Chemical Modeling and Emissions Group Leader
NCWCP, R/ARL, Rm. 4204
5830 University Research Court
College Park, Maryland  20740
Phone: (301) 683-1395
On Fri, Aug 4, 2023 at 12:52 PM Tom Clune @.***> wrote:

@bbakernoaa https://github.com/bbakernoaa Are you aware of any activity
in that direction? I'm sure we're not changing anything without lots of
review to be certain we are not closing any important doors.
—
Reply to this email directly, view it on GitHub
https://github.com/GEOS-ESM/GOCART/pull/249#issuecomment-1665914327, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AFIUVN76FGHJGBYH7YJVSKDXTUSFBANCNFSM6AAAAAA2Y2TPEU
.
You are receiving this because you were mentioned.Message ID:
@.***>

@rmontuoro Unfortunately, it is not just the macros.   There are a handful of procedures involved as well.   We could create a "MAPL-lite" and make that a dependency.    If we get frustrated enough, I suppose we could look into that.
I'd also like to use pflogger in that layer, but same issue ...

@amdasilva This PR exposes one of the downsides of having the process library not depending on MAPL. We lose some useful error handling utilities this way. At what point to we accept that CCPP is no longer something that needs support?

@tclune No, it is a bad idea to have any dependency on MAPL and ESMF. This defeats the purpose of isolating the ESMF code. Also, any simple offline utility that needs any of this functionally will need to depend on a gigantic library. Keep the Process Library self contained and basic.

I understand.  Just illuminating the tradeoff.  Dependencies are also bad.


points question

I tried to submit a story.
I can see in the db my user has 1 point.
You need at least 2 to submit.
How do I improve my points?

Add a comment, and get upvoted. If you link to a useful comment I can upvote it for you though. The restriction is to stop spam I'm afraid.

Can't google recatcha be used instead?
A new user should be able to submit a link.


Scala S3 Sink: move to separate repository

Because this has no Snowplow-specific code, we can move it out into its own repo and give it a catchy name (maybe kinesis-s3-archiver).

Closing as it has been migrated.


traceDebug doesn't work

Hello, Team.

Environment data

VS Code version: 1.93.1(38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40)
Jupyter Extension version (available under the Extensions sidebar): v2023.10.1003012305 (Also the same the latest)
OS (Windows | Mac | Linux distro) and version: macOS 14
Jupyter server running: Remote

Expected behavior
Output a message like this
11:55:58.254 [debug] Getting user info for user https://www.example.com/, token length = 32 && 32
11:55:58.344 [debug] Getting user info for user https://www.example.com/, token length = 32 && 32
11:55:58.382 [debug] Getting user info for user https://www.example.com/, token length = 32 && 32
11:55:58.413 [debug] Getting user info for user https://www.example.com/, token length = 32 && 32
11:55:58.520 [debug] Getting user info for user https://www.example.com/, token length = 32 && 32

Actual behavior
11:55:58.254 [debug]
11:55:58.344 [debug]
11:55:58.382 [debug]
11:55:58.413 [debug]
11:55:58.520 [debug]

Steps to reproduce:
[NOTE: Self-contained, minimal reproducing code samples are extremely helpful and will expedite addressing your issue]

set log level to debug

{
    "jupyterhub.log": "debug"
}

Logs
11:44:31.882 [debug]
11:44:32.006 [debug]
11:44:32.050 [debug]
11:44:32.092 [debug]
11:44:32.234 [debug]

Proposed Change
This change outputs expected logs.
https://github.com/microsoft/vscode-jupyter-hub/blob/ab6d3eabfa56440c24dbfafbcd43d660e537b563/src/common/logging.ts#L40
diff --git a/src/common/logging.ts b/src/common/logging.ts
index f781d47..b1f1eb9 100644
--- a/src/common/logging.ts
+++ b/src/common/logging.ts
@@ -37,7 +37,7 @@ export function traceError(..._args: unknown[]): void {
     logMessage('error', ..._args);
 }

-export function traceDebug(_message: string, ..._args: unknown[]): void {
+export function traceDebug(..._args: unknown[]): void {
     if (loggingLevel !== 'debug') {
         return;
     }

@DonJayamanne Thank you for your support!


HIVE-23797: Throw exception when no metastore found in zookeeper

NOTICE
Please create an issue in ASF JIRA before opening a pull request,
and you need to set the title of the pull request which starts with
the corresponding JIRA issue number. (e.g. HIVE-XXXXX: Fix a typo in YYY)
For more details, please see https://cwiki.apache.org/confluence/display/Hive/HowToContribute

@belugabehr can you take another look at the changes? thank you!

@belugabehr Is there anything else to do to make the pr get through? thank you very much!


I want to have google id as well in googleUser class. which is not included right now. How can i have that?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Hey @Yashshree ,
This enhancement has been requested already on issue #2 , and we are working on adding it to the plugin. it should be added completely on the next few releases I will tag you on the release where it's added. For now, you can use a Property that is Available on the latest pre-release packages of the plugin called ActiveToken.

Hi @Pujolsluis !
Is it possible to get the user ID? Didn't find this property in GoogleUser class.
Thanks in advance

Hey @stealthcold ,
Yes we have added that on the lastest release of the plugin you can use an available property called ActiveToken.


2.6.0 not marked as release on Github

Just fyi, while 2.6.0 seems to be on pip, it doesn't seem to be tagged as release on github like the other releases are.

done


latest mobile build download

Ticket: https://issues.jboss.org/browse/AEROGEAR-2592
Wireframe: https://redhat.invisionapp.com/share/GRJJGUHNSET#/screens/295058246

Initial download link work. WIP for the moment as the actual URL is not available yet.
Timeout on the URL is not a deliverable (but is in the wireframe) so ignore this.

These changes will be included in a new PR.


Support more splat compressions levels

Some splat imported from other compressors have different compression levels.
namely splats imported from playcanvas compressor have 190 as compression level and splats from polycam website have 97 as level and in SplatBuffer.js at line 58 it throws an error as it's not able to load these files.
is there any way to fix this behaviour?

The only files I have tried importing from PolyCam did not have any compression and worked OK, so I have not tested with any compressed scenes. I will try to test with some and see if there is an easy fix.

I can send you over some files that thrown these errors! these are downloaded from the the splat viewer.
May i post a wetransfer link?

Sure, I'd be happy to take a look

Sorry I was confused about the nature of the problem in the beginning. I think the actual problem is that the .splat files you are trying  to load are compatible with the antimatter15 viewer. Those are not compatible with my viewer. It's really starting to sound like I need to support that format because it is becoming commonly used.

I have just released an update that supports importing standard .splat files. If you were previously using any .splat files you created by converting .ply files to my own custom format, you'll need to rename those with a.ksplat extension for them to work properly.

Seems like it's not loading properly on a mac M1 on chrome, let's see on my main machine

Actually I'm running into the same problem when I try to load it as well. It's weird because my viewer can load any of the .splat files from the antimatter15 repo. I guess I need to investigate some more.

It looks like that file might be corrupt, or it might be not the antimatter15 format. It technically loads on the antimatter15 viewer but doesn't look right at all. When I inspect the data, the very first position is [272595901346876500000,<PHONE_NUMBER>032, 1.2611686178923354e-44] which doesn't make any sense, and I'm guessing there are issues like that throughout the file.

Going to close this for now. Let me know if you still need help.


[Fix][Next-UI] Add LIST type to the custom parameter types of task node.

Purpose of the pull request
This pull request adds LIST type to the custom parameter types of task node.
Releated issues
#9412

Codecov Report

Merging #9468 (d757ce0) into dev (04d4e4e) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev    #9468   +/-   ##
=========================================
  Coverage     39.86%   39.86%
  Complexity     4415     4415
=========================================
  Files           826      826
  Lines         33255    33255
  Branches       3683     3683
=========================================
  Hits          13257    13257
  Misses        18766    18766
  Partials       1232     1232

Continue to review full report at Codecov.

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


Update Xamarin, change target version to Android 10

This may fix the Nox issues

Nope, sadly doesn't make a difference


customize the nav arrows

I was just curious if it was possible to customize the nav arrows. I tried targeting the css selector class and the button with no success. I know I can go into the npm module and update it there, but that is inefficient, because if do a fresh npm install I will lose the change.

You can pass your own navigation arrows, whether an SVG, FontIcon or even a normal text. Check the example below:
<carousel>
  ...

  <template #addons>
    <navigation>
      <template #next>
         >>
      </template>
      <template #prev>
         <<
      </template>
    </navigation>
  </template>
</carousel>

Thanks, that works with the icon, but it still has that purple background
`      <template #addons>

<template #next>
      </template>
      <template #prev>

      </template>
    </navigation>
  </template>`

You can overwrite the default CSS style, however, if you don't want the navigations arrows at all, don't add the <navigation> addon

I tried overwriting the css, and unless I get into the npm package i can't
seem to.  I do want the navigation arrows, just not the purple background.
On Sat, Feb 27, 2021 at 9:47 AM Abdelrahman Ismail<EMAIL_ADDRESS>wrote:

You can overwrite the default CSS style, however, if you don't want the
navigations arrows at all, don't add the  addon
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ismail9k/vue3-carousel/issues/17#issuecomment-787083268,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACDHQIUAYDPBIW2L7METK7DTBEAY5ANCNFSM4XGPNDUQ
.

All classes are exposed using the BEM naming convention, so you can easily overwrite then for example:
.carousel__prev,
.carousel__next {
	border: 5px solid white;
	background-color: red;
}

You can also overwrite the carouse primary color CSS variable value to achieve this:
:root {
    --carousel-color-primary: red;
}

Please make sure you are using the latest version, and If this doesn't work with you, could you please provide me we a working example snippet?

I got it, I had to put the css for it all the way on the parent component
to waterfall down
On Sat, Feb 27, 2021 at 1:49 PM Abdelrahman Ismail<EMAIL_ADDRESS>wrote:

All classes are exposed using the BEM naming convention, so you can easily
overwrite then for example:
.carousel__prev,
.carousel__next {
border: 5px solid white;
background-color: red;
}
You can also overwrite the carouse primary color CSS variable value to
achieve this:
:root {
--carousel-color-primary: red;
}
Please make sure you are using the latest version, and If this doesn't
work with you, could you please provide me we a working example snippet?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ismail9k/vue3-carousel/issues/17#issuecomment-787118185,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACDHQISU4FYEEPVFZASBVGTTBE5DVANCNFSM4XGPNDUQ
.

Great!

This thread was super useful for figuring out how to change the color of the arrows so thank you for asking @DBereznak ! I also wanted to note that you have to make sure your style tag is unscoped when you set the color of the arrows.

:root {
    --carousel-color-primary: red;
}

why it didn't work on my project, i tried to override styling to change navigation color but it was still unsuccessfull

@ahmadwaluyo Please refer to this file to know which CSS variables are available for the carusel

<template #addons>           <navigation v-if="screenWidth > 640">             <template #next>
                 <icon name="chevron-right" color="#333" />
             </template>             <template #prev>
                 <icon name="chevron-left" color="#333" />
             </template>           </navigation> </template>
i've fixed it by overrided it with new class:
.carousel__prev, .carousel__next {   border-radius: 50%;   margin: 0 16px;   width: 40px;   height: 40px;   display: flex;   justify-content: center;   align-items: center;   background: #ffffff !important;   filter: drop-shadow(0px 15px 30px rgba(51, 51, 51, 0.2));   box-shadow: 0px 15px 30px rgba(51, 51, 51, 0.2); }
then, could you please tell me how to override style in pagination

Check this sandbox for example on how to use the carousel CSS Variables

i understand right now, it's because i made my style into scoped so
overriding class would not work properly. When i set my style not in scoped
mode its work !
alright thank you for your help 👍
Pada tanggal Sab, 26 Mar 2022 pukul 15.55 Abdelrahman Ismail <
@.***> menulis:

Check this sandbox
https://codesandbox.io/s/vue3-carousel-custom-colors-0wqztz?file=/src/App.vue
for example on how to use the carousel CSS Variables
—
Reply to this email directly, view it on GitHub
https://github.com/ismail9k/vue3-carousel/issues/17#issuecomment-1079643463,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALMOSRSNTJAQGHYAVBWMDYTVB3GHJANCNFSM4XGPNDUQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

I want to apply +1 to data=0 when I press next and -1 when I press prev. How can I customize it?

@IHAGI-c The easiest way is to create your custom navigation and make it do whatever you want. Check this example: https://ismail9k.github.io/vue3-carousel/examples.html#custom-navigation

So If You want to modify Vue3 carousel navigation to custom view. There is 3 easy steps:

Open library file destination something like: "vue3-carousel/dist/carousel.css"

Creat css file copy and rename it for example: "vue3-carousel/dist/carousel-custom.css" You can modify it as you need.

In Your JS script replace "import "vue3-carousel/dist/carousel.css";" with
"import "vue3-carousel/dist/carousel-custom.css";" to point it to your new custom css.

Modifying of Anita main css file did not gave me any results but new one -worked well!


Time Picker steps not working

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
When I do try to select time as specified here with a 300 steps, time is stil showing ...31,32,33minutes
I was expecting to see only 5,10,15... minutes there
material-ui/docs/src/pages/components/pickers/TimePickers.js
Expected behavior 🤔
I was expecting to see only 5,10,15... minutes there
Steps to reproduce 🕹
Steps:

open https://codesandbox.io/s/material-demo-forked-y302jh
see the same behavior
Steps is not acting in any way
Please confirm

Context 🔦
react hooks
Your environment 🌎
https://codesandbox.io/s/material-demo-forked-y302jh

In fact this is the sampl with the versions I am using, but the same
https://codesandbox.io/s/material-demo-forked-y302jh?file=/package.json


Bing layer not loading on Ipad

System: Ipad, iOS 15.6
Browser: Google Chrome
No errors in the console.
https://tentone.github.io/geo-three/index.html
Thank you!

@tentone any layer!
I can only see a 3dtiles model that I have on the scene too!
No errors nothing :D
thanks

@tentone this small change seems to fix it!

I would like to request small changes if that's ok

only fetch tile if any of these values is defined  if (zoom || x || y) (raster provider) to avoid the error below

the request protocol to be // instead of HTTP to avoid warnings when running on an HTTPS connection.

Requested Changes

The white tiles are still an issue, I'm not sure why it happens but I will have a closer look at this

Thanks

Wow! Thanks a lot! Do you want to open a PR for this fix or should i update it in the lib?
Thanks a lot!

@tentone please update and release a new version as soon as you can :)
thanks!


Add password strength meter

When the user is setting their password, we should give them an estimate of the strength of the password, operationalized as the number of guesses needed to crack the password. We can use a standard password strength meter like zxcvbn, which is included in this React component.
Follow-up to #214.
For reference, I really like Slack's password strength meter:

👍


Excluding directory from coverage

Hi there, I'm using ionic for our app and I can't seem to exclude the www/libs/ folder for the coverage. Its covering js files inside the "lib" folder. The directory structure of ionic is www/libs and www/js where "js" is the main src js files but needs the lib folder to run the app.
I only wanted to get coverage on the www/js folder, is it possible? I tried using env: coverage APP_DIR..: '../intrumented/www/js/' but its not working.
Thanks in advance!

Found one solution:
http://chawi3.com/2015/02/16/grunt-protractor-coverage-exclude-files-or-directory-angularjs/


Decentralized approach

Changes the library design, as outlined in #5:

[X] decentralized definitions of boundaries
[X] support for excluding some areas from boundary checks
[X] manual classification of protocol implementations

To try this branch out, you need to depend on the version from the decentralized-approach branch. See readme in that branch for usage details.
Note that due to the changes, the OTP application is now called :boundary. If this PR gets merged, the GH repo will also be renamed.

Works OK in our project 👍
I would still try to incorporate the flag --ignore-unclassified-modules. E.g. we are using EctoEnum library that that defines a couple of top-level modules.
It doesn't allow us to put use Boundary, ignore?: true inside them.

Works OK in our project

Thank you for trying it out!

I would still try to incorporate the flag --ignore-unclassified-modules.

Adding that flag is easy enough. One problem is that you probably want to suppress the warnings only for a selected set of modules, not all of them. Luckily, in the new version, we expose the function which among other things returns a collection of non-classified modules. So people could use that function to make their own additional checks, without us needing to devise some pattern language for exclusion.
That said, I'd like to make an effort of deferring this feature as much as possible. So let's talk a little bit about your particular case.

E.g. we are using EctoEnum library that defines a couple of top-level modules. It doesn't allow us to put use Boundary, ignore?: true inside them.

EctoEnum allows you to define enum modules inside other modules:
defmodule MySystem.User do
  import EctoEnum
  defenum Role, ...
end

The module name in this case is MySystem.User.Role. In fact, this is how I prefer to do it myself (create enum inside the schema module). You might want to use some different namespacing scheme, but either way I think that putting Role & other enums at the top-level, next to MySystem and MySystemWeb is not the best approach.
In fact, I'd say that one reason for making boundaries is precisely to have a tool which helps us detect and correct such situations.
I guess that sooner or later we'll come across a library which unconditionally creates modules at the top-level. I guess at that point we'll need to support some ignore mechanism. However, I think that EctoEnum is an example where this is not required, as you can organize these modules inside your own namespaces, and thus you can include them in your boundaries. Does that make sense?

It makes perfect sense!
I just assumed that by „gradually introducing” the library to project you meant that:

I add the dependency on boundary
Ignore the modules I don’t know
Focus on whatever part of the system I want with use Boundary and ignore other parts until I am done with this one

In my case adding EctoEnum’s to a namespace is the right solution.
The lib made me aware that I have one module that is called MyApp.Web while most are MyAppWeb, so it is another win.
I think that the main benefit of the lib is detecting the cross-boundary calls.
It might be a little bit discouraging for a new user to be forced to perform a heavy refactor before ripping the benefits.
Especially if he/she is only interested in cleaning some critical part of the app and not the entire project.

I think that the main benefit of the lib is detecting the cross-boundary calls.

That's the main goal of the lib. I believe that requiring full coverage helps with that goal.

It might be a little bit discouraging for a new user to be forced to perform a heavy refactor before ripping the benefits.
Especially if he/she is only interested in cleaning some critical part of the app and not the entire project.

Good point! I think you might have persuaded me to add the support for --ignore-unclassified-modules :-) If we do this, I think we should make it clear that this switch should be reserved only for special cases, and preferably used only temporarily. I believe that in most scenarios ignored boundaries should work better. IMO, it's best if nothing is ignored.
The switch probably won't be added in this PR, because I want to take a bit of time to think it through once more, while in the meantime I'd like to do a few other cleanups.


Alternatives to Hugo+Wowchemy

I'm a big fan of static site generators like Jekyll, Hugo and now Quarto[^1]. I originally quite liked Hugo and Wowchemy[^2], since it offers a decent library library of building blocks which allows you to quickly build a website without a lot of effort.
Hugo+Wowchemy
However, IMO maintaining a site built using Wowchemy is difficult to maintain over time because the framework keeps changing and adding breaking changes in every release. Some of my biggest annoyances:

First, the documentation keeps on changing. Since the documentation is not versioned and doesn't appear to be in a public repository, it's hard to find back how things are supposed to be developed for the version of Wowchemy we're using.
Wowchemy introduces breaking changes in nearly every release and it fails to describe them properly in the release notes. The release notes aren't even in the same place. To upgrade from Wowchemy 5.2.0 to 5.7.1, for instance, I created diffs between every release of the template we originally used for the website and mimicked the changes for this repo. I also went back t
Some of the new features (at least, I think they are new) don't seem to be working properly. At some point I tried to add a Collection block and without changing anything to the source, multiple renders of the same page would result in vastly different results.

Thus, I'd like to consider switching to something other than Hugo+Wowchemy.
Quarto
Ever since I encountered Quarto, I've been a huge fan. In essence, it's very similar to Hugo: A static site generator using markdown documents to store content. What I like about it:

Quarto is way more suitable for writing technical documents because natively supports dynamic content with Python, R, Julia and even interactive content with Observable. This means code documentation can also be a unit test (because the website will not render if something is broken).
I think it was mainly built because people at Posit were frustrated with certain limitations of RMarkdown, so they took a step back and designed something new.
Since the developers already had experience with RMarkdown and pandoc, everything in quarto seems to be well thought out from the get-go.
More active developers. Hugo seems to be maintained mainly by one person who has to make all of the decisions, while Quarto has three active developers and the Posit team behind it.
Quarto natively supports interactive content !

One downside is that Quarto doesn't have all of the built-in blocks that Wowchemy has. However, it has quite a few already (e.g. about pages and listing pages), and the ones that do exist usually offer better customization than those in Wowchemy.
Others
Are there other alternatives that should be considered?
Demo
I pasted some of the content of our current website into a quarto web page, with pretty similar results. Since both frameworks have pretty similar functionality and notation, it was mostly a copy paste with some minor changes and fine-tuning of the stylesheet. Here are a few comparisons you could make between the two versions (both visually and based on the source code).

Main page: Original (source), Experimental (source)
Team: Original (source), Experimental (source)
NeurIPS 2021 Documentation: Original (source), Experimental (source)

Maintainability
If I were the only person who knew how to build a quarto web page, the bus factor would not be that great. However, since most of quarto is just standard markdown and it only took 2-3 hours to port most of the content from openproblems.bio to openproblems-experimental.netlify.app, I'd say if I were to land under a bus somebody else would be able to pick it up quite easily. Also I've heard people at Helmholtz have also been picking up quarto recently (:eyes: @lazappi).
Summary
I'm okay working with Hugo+Wowchemy; I just notice that I spend so much time bumping into issues with Wowchemy that I know can be solved quite easily with Quarto.
[^1]: Though Quarto is actually much more than just a static site generator.
[^2]: After all, my personal website was built with Wowchemy :)

I haven't looked much at how the website works but here are some general thoughts.

Similar opinion about Wowchemy, it's cool but I don't think it's reliable enough for something like this
I think the priority is something that's easy for people to pick up and maintain. No good using a fancy framework if only a couple of people know how it works.
We also don't want to create something completely custom
Quarto is a great option if we need to run code during rendering. I'm not sure if this is necessary though or if we can just do plots etc. with JavaScript
It's probably possibly to combine Hugo/Quarto with other frameworks/themes if needed (but I would stick with things that are well-maintained/commonly used)

First, let's separate Hugo from Wowchemy. Wowchemy is templates and themes, Hugo is a static site generator.
It's not a popularity contest, but...

Wowchemy is popular with 7k stars on GitHub - https://github.com/wowchemy/wowchemy-hugo-themes
Hugo is even more popular, with 65k stars on GitHub - https://github.com/gohugoio/hugo
Quarto is up and coming with 1.8k starts on GitHub - https://github.com/quarto-dev/quarto-cli

Why does this matter? The more widely used a framework / theming system, the more likely someone is to know how to use it, find relevant answers on StackOverflow, have questions answered in a forum.
Upgrading versions
Wowchemy used to have a script to help with version upgrades, but it looks like that's gone away. They do seem to have a "breaking changes" section to every release on their github page, and offer support for upgrading on Discord. @rcannood  are those notes insufficient?
Another option
Why don't we pin wowchemy and develop additional functionality ourselves using custom templates? We don't necessarily need a whole theme, we can do just the parts we need.

Developer Manifesto
TLDR

I don't think the thing we want to do (interactive, intuitive comparison of methods with dynamics / custom filtering) and the the tool we are using (static site generator Hugo that doesn't use components) is the correct pairing
If I had to deploy a single MD file right now and had to choose between a metaframework (any of them Next, Nuxt, SvelteKit) or a SSG (Jekyll, Gastby, Hugo), I am using a metaframework

My 2 cents
Ultimately, my stance is as follows:

whatever you want

Frameworks, frameworks, frameworks
In regards to frameworks, almost any time we broach this subject we look at JamStack, sorted by stars they are:
# Top 16 only
1. Next.js (Meta-framework for React with 97,399 stars)
2. Hugo (SSG with 64,086 stars)
3. Gatsby
4. Jekyll
5. Nuxt (Vue version of Next.js, 41,678 stars, and current personal fav)
6. Docusaurus
7. Hexo
8. Slate
9. GitBook
10. Astro (with 23,173 stars and up-and-comer)
11. Docsify
12. VuePress
13. MkDocs
14. UmiJS
15. Eleventy
16. SvelteKit (Meta-framework for Svelte with 11,477 stars)

Takeaway, stars are NOT the full story!
Please take a look at Frameworks by Usage and Satisfaction.
# Top 16 only
1. React (what Nextjs is built on)
2. Express
3. Next.js (1 previously)
4. jQuery
5. Vue (what Nuxtjs is built on)
6. Vite (made by the guy who built Vue and is rapidly replacing webpack everywhere)
7. Gatsby (Prev 3)
8. Nuxt.js (5 previously)
9. Angular 2+
10. 11ty
11. Svelte (what SvelteKit is built on)
12. SvelteKit (16th previously)
13. Jekyll
14. Angular 1.x
15. Hugo (Prev 2)                                  <--------------- big drop, and this is on usage and satisfaction
16. Preact

Key points?

The "meta" of what is good and in is always changing.
React/Nextjs is "grandfathered" in and any competing libraries that have new / better feature that Next/React might want eventually get consumed. If we care about "maintainability" as well as ensure that future developers will have familiarity from now until as long as possible, we are using Nextjs.
Metaframeworks (nextjs, nextjs, SvelteKit, etc) produce static sites while allowing for more reusable / maintainable custom components (easier to debug and test since they are more bit-sized!)
PURE SSGs (Hugo, Jekyll, Gatsby, etc) despite being high in stars are not what devs enjoy working with. Mostly because they are great at what they do (static MD sites) and painful at everything else. That doesn't mean they can't do it (JavaScript can do anything).
SSGs have prebuilt themes for people who hate CSS or don't have the time for it (negated by style-component frameworks like Material Design, BootStrap, IBM's Carbon, etc)

Why care?
Mimicking PapersWithCode
If we are trying to mirror PapersWithCode maybe we might be interested in their techstack, which from StackShare states:

Python (for Django and more seamless integration with their APIs)
jQuery (for frontend nonsense)
CloudFlare (for hosting)
Bootstrap (for CSS)
Django (for routing, deployment, user-auth etc)

Style
Fixing margins, etc? We use properly set up the theme of the CSS library we are using (bootstrap) and ideally make sure the template we are using (if we use one in the future) matches that library.
Interactivity
As we continue to try and add more nuanced features and fancier features, component-based frameworks (React, Vue, Svelte, etc) and meta frameworks  (Nextjs, Nuxtjs, Sveltekit, etc) will be our friend. Yes Hugo has partials, but they are not ideal for managing state and reactivity.
response to lazzapi comments:

No good using a fancy framework if only a couple of people know how it works.

People know how they work. If not, there is no short of tutorials not to mention the premade free to use component ecosystem. They are called meta-frameworks because they not only handle larger problems but because the progressive state of web-dev (since their inception in 2016) has grown due to community support and adoption
Fancy ≠ bad. Fancy means all the hard stuff is taken care for you and you don't have to worry about it. For example USER-AUTH Hugo? Not supported. Nextjs, Nuxtjs, Sveltekit, Django, all built in.

I think the priority is something that's easy for people to pick up and maintain.

Yes that is why we should be using a component based framework with TypeScript. Components are smaller, more portable, and easier to maintain / test.
See previous comment on components and  tutorials.

It's probably possibly to combine Hugo/Quarto with other frameworks/themes if needed (but I would stick with things that are well-maintained/commonly used)

With all things JS related, technically yes (and if no, just wait a year or two). Just depends on how bad you want it.

Also I also recreated the website 8-months ago in Nuxtjs with Vuetify
Screenshot free text conjunctive-normal-form supporting, timsortable datatable

Screenshot Highlightable, scrollable TOC:

I'm not going to argue the merits here because I mostly don't have a stake, but one important point in response to @dburkhardt's suggestion, which was also my first suggestion:

Why don't we pin wowchemy and develop additional functionality ourselves using custom templates?

The answer is docs. As far as I can tell there is no easy way to access old wowchemy docs. See https://github.com/wowchemy/wowchemy-hugo-themes/issues/2907

Similar to @scottgigante-immunai, I also don't have a stake in this, and I just want it to work. It does occur to me that wowchemy has started several independent conversations now, and it might not make sense to hold on to something that everyone who is further developing the website at the moment doesn't like. As for what to switch to... I am more likely to be able to pick up quarto if it's RMarkdown-based... but I understand @dsm-72's arguments as well. If we are considering moving to hire a web developer in future, i imagine quarto may not be the most likely basis for that, but react or newer javascript-based tools.

So I'm not saying we shouldn't consider moving to a different framework in the future. I just want to make sure if we switch, we make a single decision that we know will be long term maintainable and stick with it.
@dsm-72 brings up some good points about popularity != satisfaction. I'm not sure I understand how metaframeworks will help us. My understanding is those sorts of tools are designed for web-apps, where users interact with a system to perform functions that alter the underlying state of the app.
We don't have that though, we have an underlying database that we want to provide interactive visualizations for. This seems like a static site to me, no?

Re: metaframewroks
They are extra functionality for the corresponding underlying framework (e.g. React / Svelte). That includes static site generation and will compile and bundle components into the static site.
Yes they can assist with that kind of state (e.g. user-auth), but we have state in our application. Specifically, raw vs scaled on our data tables, the table sort order, plots that may be based off of selected algorithms / methods, etc. We are not just displaying data. We are display data and then letting the user interacted with how it is displayed.
Writing a more usable DataTable component would be an example where we might very much prefer React/Vue/Svelte or their meta frameworks Nextjs/Nuxtjs/SvelteKit.
As for user login / user auth, we may want to one day let users submit via the frontend

I had a bunch more questions, but rather than bother you @dsm-72 , I just asked ChatGPT. Can you confirm if this is correct?
Q: How do web metaframeworks like next.js work?
A: Next.js is a framework for building server-side rendered (SSR) React applications. It works by using Node.js to render your React components on the server, then sends the HTML to the client. This allows for improved performance, SEO optimization, and faster initial load times. Next.js also includes features like automatic code splitting, optimized asset loading, and API routes for serverless functions.
Q: What's the difference between Next.js and react?
A: React is a JavaScript library for building user interfaces, while Next.js is a framework built on top of React that provides specific tools and optimizations for building web applications.
React provides a basic set of tools for building UI components, but doesn't provide many of the additional features needed to build a full-fledged web application, such as routing, server-side rendering, and code splitting.
Next.js fills these gaps and provides a more comprehensive set of tools to build modern web applications. It provides server-side rendering out-of-the-box, automatic code splitting, optimized asset loading, and many other performance-enhancing features.
In short, React is a building block for UI development, while Next.js provides a complete framework for building web applications.
Q: What are the advantages and disadvantages of using a framework like Next.js compared to static site generator like Hugo? When might you want to use one versus the other?
A: Advantages of using Next.js:

Server-side rendering: Next.js provides server-side rendering out-of-the-box, which can improve the performance and load time of your site.
Dynamic content: Next.js is well-suited for sites with dynamic content, since it can fetch and render data on the server before sending it to the client.
API routes: Next.js provides built-in support for API routes, which makes it easier to build and deploy serverless functions.
Full-fledged framework: Next.js provides a complete framework for building web applications, including routing, code splitting, and asset optimization.

Disadvantages of using Next.js:

Complexity: Next.js can be more complex to set up and use than a static site generator like Hugo.
Resource requirements: Next.js requires a Node.js server to run, which can be more resource-intensive than a static site.
Steep learning curve: Next.js has a steeper learning curve than a static site generator like Hugo, which can make it more difficult for beginners to get started.

Advantages of using Hugo:

Simplicity: Hugo is a simple, straightforward static site generator that's easy to set up and use.
Performance: Hugo generates a static site that can be served directly from a CDN, which can lead to improved performance and lower costs.
Low resource requirements: Hugo doesn't require a server to run, so it can be more cost-effective and scalable than a framework like Next.js.

Disadvantages of using Hugo:

Limited functionality: Hugo is limited to generating static sites, so it's not well-suited for sites with dynamic content.
No server-side rendering: Hugo doesn't provide server-side rendering, which can limit its performance and SEO optimization.

You might want to use Next.js over Hugo if you're building a complex web application with dynamic content and need server-side rendering, or if you're using serverless functions and need built-in support for API routes.
You might want to use Hugo over Next.js if you're building a simple, static site and want a straightforward and easy-to-use solution, or if you want to minimize costs and resource requirements.

What’s missing is that metaframeworks can compile to static sites so that advantage of Hugo, simple serving, served directly, disappears

Either way, Netlify supports Next.js out of the box, and we have a free OSS account, so I'm not so concerned with deployment.

Welp. I apologise for having brought up this topic again.
I think we should still be a little pragmatic here. Ideally, I wouldn't change anything to the website (don't fix what ain't broken). However, I've been bumping into issues with Wowchemy a little too frequently.
The reason why I brought up Quarto is because I found porting content from Hugo to Quarto is actually quite easy and Quarto offers so much more functionality out of the box without having to install a theme with custom shortcodes on top.
In deciding which framework we might want to switch to, we should consider not only the technical pros and cons of that framework, but also what is the effort involved in recreating our current website.
I really want to avoid having to spend 6 months rewriting it from scratch in a totally different framework. Our previous experiments with Nuxtjs and Vuetify demonstrated that this can be non trivial.
It's interesting bringing ChatGPT into this discussion to help navigate the issue, though each of us can get the answer we want by typing the right questions into the prompt :stuck_out_tongue: . I tried my best to explain our current situation to ChatGPT:

Q: The website for OpenProblems is currently written with Hugo and Wowchemy, but we've been having some issues regarding maintainability thanks to Wowchemy frequently introducing breaking changes at every release. We're considering simply sticking with Wowchemy, using plain Hugo, switching to a framework like Next.js or Nuxtjs, or porting our content to Quarto. Can you explain the pros and cons of each of these approaches?

Sure, here's a brief rundown of the pros and cons of each approach:
Sticking with Wowchemy
Pros:

The website is already built with Wowchemy and Hugo, so there will be no need to learn a new framework or port content to a different platform.

Cons:

Wowchemy has a history of introducing breaking changes with each release, which can make maintaining the website difficult.

Plain Hugo
Pros:

Hugo is a well-documented, widely-used static site generator that is known for its simplicity and speed.
There are many resources available online to help with development and maintenance.

Cons:

You may miss some of the features that Wowchemy provides, such as page builder, shortcodes, and other customizations.
You'll have to invest time into building custom solutions or finding plugins that provide the functionality you need.

Next.js or Nuxt.js
Pros:

Next.js and Nuxt.js are popular frameworks for building dynamic, fast web applications.
They offer a lot of out-of-the-box functionality and can help with SEO optimization.
Server-side rendering for improved performance.

Cons:

The website would need to be completely re-written, as these frameworks use different technologies and architecture.
The learning curve for these frameworks may be steep, especially if the development team is not already familiar with them.
Potential performance issues if not properly optimized.

Porting content to Quarto
Pros:

Quarto is a modern static site generator that is designed for ease of use and customization.
Built specifically for writing and publishing books and technical documents.
It provides a lot of the same functionality as Wowchemy, but with more stability and fewer breaking changes.

Cons:

Quarto is a relatively new and less widely-used platform, so there may be fewer resources available for development and maintenance.
The website would need to be ported to Quarto, which could take some time and effort.
Smaller community compared to more established tools like Hugo or React.

In conclusion, the best option will depend on the specific needs and constraints of your project. Consider factors such as the size and complexity of your project, the desired level of customization, and the available resources for development and maintenance.

I have never been in a discussion thread with so much ChatGPT... I imagine this will not be the last time ChatGPT is used to formulate clear arguments though... welcome to the future 😅 .
That being said... to put numbers to this... how much time would it take to regenerate the site and move to either Quarto @rcannood or a React metaframework @dsm-72 ?

I don’t have a horse in this. I brought up frameworks only for a more filled out discussion. Quarto is fine. I already know nuxt so making that site took what felt like a day. (I don’t actually remember but it wasn’t long since all the components already exist).
ultimately, I feel like this goes in circles because we are all a bit imprecise and are focusing more on how than what.
Eg Daniel made a good point asking about what “state” or website has.
So what is it we want?
Interactive, filterable, searchable results with corresponding visualizations.
Why is this currently a pain point?
We are using the data tables library which doesn’t have all the features we wants, clashes css wise with our template and makes mapping results to visualizations hard (due to Hugo not supporting state)
what can create the solution we want with minimal overhead?
Quarto sounds like a compromise in the right direction.
To Robrechts point, before making any changes we should actually define far more clearly the exact end goal, so we can pick the right tool for the job.
“interactive visualizations “ is too vague.
If there is a chart on top of a table and sorting / filtering the table causes the chart to change, that is state and it will be easier to produce and maintain with something other than Hugo.

interactive visualizations

Here's an example of the static form of the visualization we might want: https://deploy-preview-90--openproblems-sca.netlify.app/benchmarks/batch_integration_embed/
Ideally we can sort and filter such a visualization.

how much time would it take to regenerate the site and move to either Quarto @rcannood or a React metaframework @dsm-72 ?

About: Copy paste. 5 minutes
Benchmarks - I spent a lot of time creating an updated task view for the Hugo website, but it already uses Quarto to render a qmd to a md that Hugo can interpret. So at this stage, 5 minutes
Competition pages and documentation - About 4 hours. The NeurIPS documentation pages contains a lot of Wowchemy blocks which turns this into a time drain.
Bibliography: 5-15 minutes
Team: Quarto doesn't have a pre-built block for rendering teams the same way Wowchemy does, but in a way it's just a listing with a custom template and some css. 20-30 minutes
Top menu bar: It's not particularly complicated, so 10-20 minutes
CSS Theme in general: Depends on how hard you want one to look like the other. Quarto already comes with a few simple themes out of the box, so choosing the one that resembles the current theme the most and customizing it a little bit probably takes 20-60 minutes

In total I'd guess it'd take about 6 hours to port openproblems.bio into Quarto for somebody who knows both Hugo+Wowchemy and Quarto well already.

Hi all, I just talked with Robrecht. For our 2022-23 objectives, we would like to plan for a website redesign. This may involve hiring a specialized web developer. We'll punt a question about Nuxt/Next.JS etc to then.
For now, we have a grant from CZI that includes deliverables on updating the website, and Robrecht is convinced he'll move faster if we use Quarto. He's going to port the website to Quarto in a new  branch, and after we review, we'll deploy the website from that branch. This isn't necessarily a permanent change, but we think it will enable us to meet our aims for H1 of 2023.
Any objections?

Sounds great!

Solved in #137


Multiple entries rewire error:  Cannot read property 'filter' of undefined

I need to have multiple entries with create-react-app, but I also don't want to eject. There is a minimal reproducible sample repo here: https://github.com/vl4d1m1r4/cra-multi-entry.
The modifications follow the weback v4 configuration documentation and consist only of adding a separate entry for admin.js and separate HtmlWebpackPlugin to add the bundle in different admin.html.
When doing yarn start it just hangs on starting development environment.
When running with yarn build it shows the following error:
yarn build
yarn run v1.19.1
$ react-app-rewired build
Creating an optimized production build...
Failed to compile.

Cannot read property 'filter' of undefined

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Any hints on what might be the issue?

A huge thank you for the reproducible sample - it enabled me to at least narrow down where the issue was occurring (which would have been impossible without it).
Since the yarn build gave some output rather than just seeming to hang, I've tried tracing through the build function calls. As far as I have been able to trace, it's failing inside Webpack when Webpack tries to emit (write out) the files produced by the compilation, but it isn't making into the actual per-file emit code (so either prior to stepping through the list of files to emit, or maybe in a beforeEmit hook).
Inside node_modules/webpack/Compiler.js, in the function emitAssets:

The error is reported in the final call to this.hooks.emit.callAsync.
The emitFiles function defined inside emitAssets never gets run.
(As determined by sprinkling that file with console.log statements starting at the run function and narrowing down as far as I could).

I was able to get the list of file names it was supposed to be trying to emit, which looked sensible:
[
  "static/media/logo.25bf045c.svg",
  "static/js/0.b4c4e099.chunk.js",
  "static/css/admin.b100e6da.chunk.css",
  "static/js/admin.73e3d81d.chunk.js",
  "static/css/index.b100e6da.chunk.css",
  "static/js/index.23cf0cae.chunk.js",
  "static/js/runtime-admin.8b8bd490.js",
  "static/js/runtime-index.ea3b42c9.js",
  "static/css/index.b100e6da.chunk.css.map",
  "static/css/admin.b100e6da.chunk.css.map",
  "static/js/0.b4c4e099.chunk.js.map",
  "static/js/admin.73e3d81d.chunk.js.map",
  "static/js/index.23cf0cae.chunk.js.map",
  "static/js/runtime-admin.8b8bd490.js.map",
  "static/js/runtime-index.ea3b42c9.js.map"
]

I haven't been able to work out what gets called with the hooks.emit function, so I couldn't trace what was happening any further.
My guess is that a plugin that has defined a compilation step for hooks.emit (or maybe hooks.beforeEmit) is throwing the error. It didn't seem to be HtmlWebpackPlugin - I tried checking that one and the emit function there was running to completion.
Possible directions to go from here: check the other plugins (e.g. the css one) for any additional config they may need for the multiple entry fields, or if a specific version is required for multiple entry fields to work.
I believe that something somewhere inside the Webpack emit hook is expecting to have/use an array, but instead the variable used is undefined and the function using that variable isn't testing whether it exists prior to trying to filter it.
React-app-rewired itself isn't responsible for the error - it's being generated inside the Webpack compiler so it is likely to be either a missing configuration snippet for a plugin, a plugin that isn't compatible with multiple entry points, or a bug in Webpack or a plugin. Best of luck finding the problem from here, hopefully the above helps you to know what to look for/ask about upstream.

Thank you very much for the hints! I was finally able to find the issue. The problem was in the ManifestPlugin configuration from CRA. It assumes that the entry point will be called main, the default from Webpack:
    // Generate an asset manifest file with the following content:
     // - "files" key: Mapping of all asset filenames to their corresponding
     //   output file so that tools can pick it up without having to parse
     //   `index.html`
     // - "entrypoints" key: Array of files which are included in `index.html`,
     //   can be used to reconstruct the HTML if necessary
     new ManifestPlugin({
       fileName: 'asset-manifest.json',
       publicPath: publicPath,
       generate: (seed, files, entrypoints) => {
         const manifestFiles = files.reduce((manifest, file) => {
           manifest[file.name] = file.path;
           return manifest;
         }, seed);
         const entrypointFiles = entrypoints.main.filter(  // <--- This line here
           fileName => !fileName.endsWith('.map')
         );

         return {
           files: manifestFiles,
           entrypoints: entrypointFiles,
         };
       },
     }),

I was able to make a successful build after adapting the generate method to take into consideration the multiple entries:
...
const entrypointFiles = {};
Object.keys(entrypoints).forEach(entrypoint => {
  entrypointFiles[entrypoint] = entrypoints[entrypoint].filter(fileName => !fileName.endsWith('.map'));
});
...

I will check tomorrow if the generated manifest is useful with the change and update the issue.
Here is the commit on the sample repository for full details:  8c62e91

Fantastic! Thank you for the update on what the cause of the issue was - it can serve as a reference for anyone else that tries to set up multiple entry points. :)

Solve my problem perfectly!

Thank you very much for the hints! I was finally able to find the issue. The problem was in the ManifestPlugin configuration from CRA. It assumes that the entry point will be called main, the default from Webpack:
    // Generate an asset manifest file with the following content:
     // - "files" key: Mapping of all asset filenames to their corresponding
     //   output file so that tools can pick it up without having to parse
     //   `index.html`
     // - "entrypoints" key: Array of files which are included in `index.html`,
     //   can be used to reconstruct the HTML if necessary
     new ManifestPlugin({
       fileName: 'asset-manifest.json',
       publicPath: publicPath,
       generate: (seed, files, entrypoints) => {
         const manifestFiles = files.reduce((manifest, file) => {
           manifest[file.name] = file.path;
           return manifest;
         }, seed);
         const entrypointFiles = entrypoints.main.filter(  // <--- This line here
           fileName => !fileName.endsWith('.map')
         );

         return {
           files: manifestFiles,
           entrypoints: entrypointFiles,
         };
       },
     }),

I was able to make a successful build after adapting the generate method to take into consideration the multiple entries:
...
const entrypointFiles = {};
Object.keys(entrypoints).forEach(entrypoint => {
  entrypointFiles[entrypoint] = entrypoints[entrypoint].filter(fileName => !fileName.endsWith('.map'));
});
...

I will check tomorrow if the generated manifest is useful with the change and update the issue.
Here is the commit on the sample repository for full details: 8c62e91

Thanks! Really helped with my problem!
I use a similar interface for two different applications and put them together in one script.

Thank a lot.

It's 2022 and this thread has helped me with a similar issue. Thank you!

It's still actual

这是来自QQ邮箱的假期自动回复邮件。您好，我最近正在休假中，无法亲自回复您的邮件。我将在假期结束后，尽快给您回复。

thanks! code written here helped me resolve my issue!


Make cancelation responsive during preemption and improve preemption throughput

I'll start the PR description with motivation before describing the solution.
Motivation

The preemption implementation in this PR has two issues:

Cancelation is less responsive than before the change.
Only a single task is scheduled to preempt at a time, limiting throughput.

In that PR, the following can happen:

User types a syntax error. A slow path begins.
User types another character, but it doesn't fix the syntax error. It can take the fast path relative to the syntax error. It gets scheduled to preempt.
User fixes the syntax error. This edit will cancel the slow path, but not until the previous edit preempts and runs.

Preemption tasks block until pipeline::resolver finishes, so the latency of cancelation can be multiple seconds in a large codebase. Not great!
The same problem exists for canceled requests:

User types a syntax error. A slow path begins.
User hovers over something. It gets scheduled to preempt.
Hover gets canceled. Cancelation does not go through; the hover task has already been scheduled.
User fixes the syntax error. This edit will cancel the slow path, but not until the hover preempts and runs.

The end result is a degraded responsiveness situation, especially in the syntax error case.
A second issue also exists in the event that multiple requests can preempt:

A slow path begins.
A hover, code action, and autocomplete request enter the queue.
Hover is scheduled for preemption, and blocks until it runs.
Code action is scheduled for preemption, and blocks until it runs.
Autocomplete is scheduled for preemption, and blocks until it runs.

Ideally, all three should be processed in one preemption.
Goals
A solution to this problem should have the following properties:

Tasks that have been scheduled to preempt should be safely cancelable.
Edit typechecking tasks (SorbetWorkspaceEdit) that have been scheduled to preempt should be canceled if new edits come in that would cancel the slow path.
When preemption begins, all tasks at the top of the queue that can preempt should run.
The solution does not add a custom cancelation/slow path checking/etc path for this specific edge case.

Solution
The solution that I've chosen is the following:

Instead of scheduling a hover task or an edit task to preempt, Sorbet schedules a LSPQueuePreemptionTask. When run, it runs all tasks at the top of the task queue that can preempt.
In-between scheduling a LSPQueuePreemptionTask and the task running, the preprocessor can cancel tasks and merge edit tasks.
The processing thread wakes up every time the preprocessor mutates the queue; if the top of the queue can no longer preempt (or the queue is empty), it cancels the LSPQueuePreemptionTask.

Cancelation and scheduling is safely implemented using an atomic compare and swap.

If cancelation fails, it waits for the LSPQueuePreemptionTask to finish running.

It is a relatively clean solution; the only "dirty" bit is that the LSPQueuePreemptionTask re-implements a little bit of queue processing logic, and is a second location that indexes new edits (into initialGS).
Unfortunately, implementing this solution involved a big diff for a few reasons:

initialGS/indexing-related operations have been moved from LSPLoop to a new LSPIndexer class.

Otherwise, LSPQueuePreemptionTask would have needed privileged access to LSPLoop to index changes.

LSPPreprocessor now operates on LSPTasks instead of LSPMessages.

As a corollary, it is now responsible for converting LSPMessages into LSPTasks. There is a 1:1 mapping.

The LSPTask for a given method now fully encapsulates all of the special logic needed to handle that method.

They can contain code to run during preprocessing and indexing. I have moved all special-cases within LSPPreprocessor and LSPLoop into these methods.
They can specify if the task needs to be run on the typechecking thread, or if it can be early-dispatched during preprocessing or indexing (by overriding finalPhase).

LSPLoop now determines if a task should preempt/how it should be scheduled rather than LSPTypecheckerCoordinator.

If the PR is too wild to review, I can stage some of these changes as separate PRs.
Test plan

See included automated tests.

Thanks, @jez !
cc @mkillianey-stripe so you see this after vacation
I'm merging this into the existing cancelation/preemption branch, then will do some QA testing on pay-server before merging to master and shipping it.


Flash Read ID command not working

Hi,
I think that the value for the READ_ID command should be 0x9F and not 0x9E in scripts/test_flash.py
0x9E returns 00000000
0x9F returns 00ef4016
0x9F is documented on page 48 of the gd25q16c_v3.0_20181204.pdf in the chubby75 repo and EF4016 looks very reasonable for a Winbond chip.
Thanks for putting this together. It really helped me understand what etherbone is and it has got me past Blinky!
Cheers,
Derek

Thanks for the feedback and reporting the issue. This has been fixed with https://github.com/enjoy-digital/colorlite/commit/e52da43b4f91eaea82d97710bf0b5ef4b9e84593.


Latexbranch

PR Checklist
primarily this PR adds support for using dvisvgm which is distributed with TeXLive  to render latex . This is an alternative to the existing mathjax solution. Mathjax still exists as the default setting for now.
All tests dont pass because the images are not exact 1-1 pixel replicas .. but they are close enough
edit1: Former are from dvisvgm and latter are from mathjax tex2svg

(by default \begin{equation} adds numbering in latex)

If you are contributing to Javis.jl, please make sure you are able to check off each item on this list:

[✔] Did I update CHANGELOG.md with whatever changes/features I added with this PR?
[ ✔] Did I make sure to only change the part of the file where I introduced a new change/feature?
[ ✔] Did I cover all corner cases to be close to 100% test coverage (if applicable)?
[ ✔] Did I properly add Javis dependencies to the Project.toml + set an upper bound of the dependency (if applicable)?
[ ] Did I properly add test dependencies to the test directory (if applicable)?
[ ] Did I check relevant tutorials that may be affected by changes in this PR?
[ ] Did I clearly articulate why this PR was made the way it was and how it was made?

Link to relevant issue(s)
Closes #
How did you address these issues with this PR? What methods did you use?

Codecov Report

Merging #464 (f3df493) into master (9f1a4ce) will decrease coverage by 3.35%.
The diff coverage is 25.27%.

@@            Coverage Diff             @@
##           master     #464      +/-   ##
==========================================
- Coverage   96.47%   93.11%   -3.36%
==========================================
  Files          35       35
  Lines        1617     1686      +69
==========================================
+ Hits         1560     1570      +10
- Misses         57      116      +59

Impacted Files
Coverage Δ

src/Javis.jl
96.80% <ø> (-0.08%)
:arrow_down:

src/latex.jl
56.97% <2.70%> (-25.79%)
:arrow_down:

src/svg2luxor.jl
79.31% <36.00%> (-17.59%)
:arrow_down:

src/Shape.jl
97.07% <100.00%> (+0.01%)
:arrow_up:

Continue to review full report at Codecov.

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

digging a little more deeper into the fonts it seems to me the latex-dvisvgm way is alright
mathjax imo seems to be enlarging the fonts ; maybe someone with more knowledge of fonts rendering
can comment on this .
The earlier comment about font  exactly occupying 50 units of height when fontsize is 50 is expected behaviour
So for example the O in Olog(n) will not have to be 50 points high when the fontsize is 50.
However the O has a relative size as defined by the font, one can get this info out of a program called fontforge
in OTF fonts the em size or the size of the "block" is 1000 units in fontforge ;
now lets look at how many units the O glyph spans top to bottom ...

725 units (shown in green ).
So after drawing all of this with an fontsize of 50 in luxor , we should expect the O's height to be 0.725*50 = 36.25
Here i have added two dimensionings at apropriate locations from a point on y=0 to y=36.25 for one
and y=0 to y=50 for another

We see the O is pretty close to 36.25 units , and it might be exactly 36.25 if shift the dimensioning down a little to exactly where the top of O starts , but my point is its pretty close , not by off by a visible factor like in the mathjax case.
Anyway ill try to get in the changes from the other comments done by tomorrow or day-after , maybe it can be reviewed over the weekend ? or perhaps next week if you're not free this weekend

its not really mathjax's fault , it Javis scaling mathjax fonts the wrong way ,
look at the x glyph from mathjax font , its height is 425

which means the scaling in line 273 at svg2luxor.h should be
        scale((fsize * 425/1000) / (height / ex_height))
instead of
        scale((fsize / 2) / (height / ex_height))

Thanks for checking that out ☺

Regarding the font size I'm super happy you figured it out way more than I did :wink:

@Wikunia , added an example gist in the PR :)

With the gist you mentioned I'm getting the following warning:
┌ Warning: there maybe errors in processing latex, check /tmp/jl_EZ9e2T/jl_gTEmBu.log for details
└ @ Javis ~/Julia/Javis/src/latex.jl:209

with this file: https://gist.github.com/Wikunia/75b74eb6806a9fac10b52fc676c0198c not sure whether this is expected.

thats a small bug ; line 208 in latex.jl should be if !stat;
i'm leaving cleanup for the temp dirs and folders as false in a new commit
Also the tests fail now because ive changed scaling to 425/1000; lemme know if i
should revert it back.


UI: Backup Volume page: Add actions for whole backup volume

After we click into one of the backup volumes, we won't able to perform actions like create DR volume or delete the whole backup volume in the backup list.
It's important since if we have to do those operations in the backup volume list page, we will have to know the name of the volume we're operating on, which all looks similar in the Kubernetes.

Validation: PASSED


boards: nios2: altera_max10: Add default Kconfig options for Disk

Add default Kconfig settings for Nios-II flash device on Altera MAX10 board.
Signed-off-by: Ramakrishna Pallala<EMAIL_ADDRESS>

Codecov Report

Merging #6001 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #6001   +/-   ##
=======================================
  Coverage   52.51%   52.51%
=======================================
  Files         406      406
  Lines       39683    39683
  Branches     7715     7715
=======================================
  Hits        20839    20839
  Misses      15663    15663
  Partials     3181     3181

Continue to review full report at Codecov.

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


act: init at 0.1.3

Motivation for this change
https://github.com/nektos/act/releases/tag/v0.1.3
Things done

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

[x] NixOS
[ ] macOS
[ ] 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 nixpkgs-review --run "nixpkgs-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.

This change is

LGTM. I previously made derivation for this package https://github.com/NixOS/nixpkgs/pull/70615, but it was my first nixpkg and I had problems with go build that I could not solve. I think my pr needs to be closed if this merged.
@filalex77 what do you think about adding lines https://github.com/NixOS/nixpkgs/pull/70615/files#diff-5d25eadc3de349ea58152f9721a8296aR16-R18 ? I took them from act Makefile.
@Lassulus can you please review this pr?

@novoxudonoser Thanks! Not sure on the subPackages and flags - what are they for? Nonetheless, I'll add you as a collaborator if @Lassulus can let us know whether these lines are beneficial.


Contradiction in push notifications guidelines: when can the site ask for declined permissions again?

At https://developers.google.com/web/progressive-web-apps/checklist#ensure-that-the-ui-that-encourages-users-to-turn-on-push-notifications-isnt-overly-aggressive:

To test: Ensure that if you dismiss or decline to turn on push notifications that the site does not re-prompt in the same way within the same session.
To Fix: If users say they don't want a certain kind of notification, do not reprompt for at least a few days (for example, one week).

But the guide to creating user friendly Notifications permissions flows linked if you scroll up one notch states:

In Chrome, when a user denies a site access to a permission, that site will not ever be able to ask for it again.

(also, would be nice to have that guide moved to the devsite)

@gauntface I believe the later is the correct one, but I'll verify.

So on permission prompt a user can allow, block or close the prompt. If the user allows everything is fine. If the user just closes the prompt then the web app can re-prompylt. If the user blocks then there is not re-prompt.
So the first paragraph should say dismiss, not "deny or dismiss".


Progressive web app score and performance score

Here are two little problems I have seen in the pwa-directory web site
1°)
Some apps such as Hello word PWA or workbox on the first page of https://pwa-directory.appspot.com/pwas/score
do not have a score of 100 but are displayed with a score of 100
https://pwa-directory.appspot.com/pwas/5146802429362176
https://pwa-directory.appspot.com/pwas/5150973500588032
2°) my app which is
https://web-performance-dot-pwa-directory.appspot.com/lighthouse-viewer/?pwadir=5159185788436480
is installable and when I audit it with lighthouse from my place ( Paris, France ), it has a performance score equal to 96,
all others scores are 100, but your lighthouse report displays a performance score equal to 53.

Hi @hugues-koolsol
Thank you for contacting us.

it is a bug that we do not update the Lighthouse score for stalled/broken PWAs, we should demote those PWAs after X time when they are broken.

Performance is a bit tricky because we run Lighthouse scores in a VM environment, I will debug it further and try to make sure it rates closer to the one you get in a PC, when I run it at the moment it gives a 73, so it is normal for some of the checks to vary depending on the circumstances.

Thanks,
Julian

Hi Julian, thank you for your quick reply,
I run on my windows 10 pc a little php program with a command line and I scan the first 32 urls of the pwas on the pwa-directory score page,
It outputs a csv (see attached file) and if you want this php program, I will send it to you.
This gulliver/lighthouse/pwa-directory is a fabulous idea :-)
Thanks
Hugues
out.csv.txt


Animating box-shadow is incredibly performance heavy

Description

When running many focus animations they become choppy. This is an issue in TableView and other large collections where scrolling quickly is a necessity
Steps to reproduce
Going to need to wait on that from react spectrum until we publish
Expected behavior

Animations shouldn't get in the way of our components scrolling or other critical functions
Screenshots

Environment

Spectrum CSS version:
Browser(s) and OS(s):

Additional context

This can be solved in a number of ways, but one simple one is to animate the opacity instead
& + .spectrum-Checkbox-box {
    &:after {
      box-shadow: 0 0 0 var(--spectrum-checkbox-focus-ring-size-key-focus) var(--spectrum-checkbox-focus-ring-color-key-focus);
      opacity: 0;
    }
}
&:focus-ring + .spectrum-Checkbox-box {
    &:after {
      opacity: 1;
    }
  }

Looks like it was fixed in https://github.com/adobe/spectrum-css/pull/754


Fixing the alignment of navbar and footer using bootstrap

So I would like to contribute to your project.
What will I do:

Use bootstrap to make it responsive

If you want i can do this with plain CSS too

align the chatbot button and arrow button

Please assign this to me under gssoc-extended and hacktoberfest-accepted

I have seen many navbar issues, and i have mentioned it before for contributors to not create issues regarding navbar and there should be no more navbar issues, so i have closed this issue, if you have any queries, you can join discord server for further updates and communication.
we are not looking for navbar updates for now, as it was done and changes many times before, please understand.
and already it is in updation, so please understand.

okay thanks for the reply


Supabase auth

Description
(What have been done/changed)

Sign up, verify, sign in, refresh access token, sign out, and get user data by user_id API endpoints
Reset password in progress

Testing plan
(How will we test the changes requested on this PR?)

Postman API testing? https://learning.postman.com/docs/designing-and-developing-your-api/testing-an-api/

can you remove the --cov option i mentioned? it's making your test fail

@nickraskop for testing, try mocking Supabase:

https://docs.python.org/3/library/unittest.mock.html

Closing. We decided to not use Python in the end due to difficulties with DX especially with respect to Supabase on Python


API connection over local network

Dear Farmvibes-Team,
I am trying to access my farmvibes-ai (machine A) installation over the local network from a different machine (machine B), but it seems it is only available on the local machine. Is there any way to open or bridge the API port so I can run the vibes_core client on another machine on the same network?

Hey @py5gol,
thank you so much, after some initial setup issues I finally managed to test run the new cluster over the network 🥳

One follow up question regarding this. The raster output from the run is on the cluster machine A while the notebook calls the raster_asset.url points to machine B where the notebook is running. Any easy possibity to fix this or should I just put it on a shared drive and grab with based on the run id?

Hi, @poysh. Sorry for the long delay in the reply. We currently do not have an easy fix for this. Having a shared drive seems the easiest in your scenario. An alternative would be uploading the assets to a blob storage, from which you could access from the other machine.


Build dynamic files in shell can't cover all cases

I think build dynamic files in shell can't cover all cases.
in my case, some controller/action render files in Elements.
I don't sure how shell build dynamic files but with me, it can't build ..
And i used this code, it will repeat once when can't find out dynamic file. This is only my idea:
                    $repeated = false;
                    if (Configure::read('debug') == 0)
                                $repeat = false;
                    // dynamic build file
                    a:
                    if (!$repeated && ($repeat || Configure::read('debug') > 0) && $Config->files($build) === array()) {
                                $files = array();
                                $repeated = true;
                                if (isset($this->request->query['file'])) {
                                            $files = $this->request->query['file'];
                                }
                                $Config->files($build, $files);
                    }
                    try {
                                $Compiler = new AssetCompiler($Config);
                                $contents = $Compiler->generate($build);

                                if ($Config->cachingOn($build)) {
                                            $Cache = new AssetCache($Config);
                                            $Cache->write($build, $contents);
                                }
                    } catch (Exception $e) {
                                $repeat = true;
                                goto a;
                                throw new NotFoundException();
                    }

How does looping solve the issue?  Also goto is 5.3 only, the plugin still supports 5.2+.  What cases does the shell miss?  perhaps its worth improving the shell.


Correct sandbox location mentioned in README

Required after the fixes to the build script in the elm-platform repo performed last month.

Ah, good catch!


Output of secrets get-password --password is not trimmed

I would like to store a password on NK3 to kind of simulate the static password feature of Yubikeys. For this I used the Secrets-App as follows:
$ nitropy nk3 secrets get-password staticPassword --password
In order to make it easier to use I create the following alias in my ~/.zprofile
alias sp='nitropy nk3 secrets get-password staticPassword --password | pbcopy'
pbcopy is available on MacOS and makes anything piped to it available on the clipboard.
Unfortunately I cannot use what is in my clipboard now because it has a trailing newline. I would like this to be removed.

Yes, nitropy is not really fully built for machine readability - especially the final newline is hard to omit, this would finally look pretty bad in regular (CLI) use-cases. But why not remove the trailing newline in your command ? how about:
alias sp='nitropy nk3 secrets get-password staticPassword --password | xargs | pbcopy'

xargs should properly remove the newline

Unfortunately it does not. I even tried with sed and awk.

Does not work ether. tr -d \\n does the trick, but removes any whitespace in the string. However, that is ok for my usecase.


⚠ ClamAV has degraded performance

In 02eaa42, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 51 ms

Resolved: ClamAV performance has improved in 1cf6f9e.


Survey exits browser

Bug type
Other
Component name
Developer Survey
What happened?
I did your survey, finished and clicked 'Submit' (or whatever it says when finished) and it closed all my tabs, everything.  Now maybe it crashed because I have WAY too many tabs open but it coincided with me hitting submit.
Expected behavior
Don't exit the browser upon completion
Reproduction link
https://mudblazor.com/api/textfield#pages
Reproduction steps

Click the Developer survey
2.Finish the developer survey
3.Submit the developer survey
Did it crash your browser?

Relevant log output
No response
Version (bug)
Latest documentation page
Version (working)
No response
What browsers are you seeing the problem on?
Chrome
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for doing the survey!
Hmm that's very strange. I just did the survey and everything worked perfectly fine. Let's see if other people experience the same issue as you.

No issues here.

@MomboMan What count of the tabs did you have? Maybe it's crashed because of lack of memory or else. Did you click on a link that points to the MudBlazor website? As I know, a new website is powered by Blazor WASM, so needs some additional system resources to load. Anyway, you can submit a ticket regarding this issue to Typeform Support.

Yes it seems to be a coincidence that Chrome crashed and no I don't want to say how many tabs were open.  Let's just say less than 80.
I will close this embarrassingly as too many tabs / lack of memory issue.
Thanks everyone.
Craig


Remove own copy of oauth2 implementation

at some point (~7years ago) the oauth2 implementation was copied into the code-base and never touched.
We only use it for gitlab the rest is already back using std.
the only reason that make std complicated is, that you can not specify a transport that easy with it anymore
TODO:

[x] figure out how to alter transport for std oauth2

Codecov Report

Merging #1127 (e3f3665) into master (f21d854) will increase coverage by 0.04%.
The diff coverage is 3.33%.

:exclamation: Current head e3f3665 differs from pull request most recent head 3a8c8e9. Consider uploading reports for the commit 3a8c8e9 to get more accurate results

@@            Coverage Diff             @@
##           master    #1127      +/-   ##
==========================================
+ Coverage   50.47%   50.52%   +0.04%
==========================================
  Files          83       83
  Lines        6363     6357       -6
==========================================
  Hits         3212     3212
+ Misses       2965     2959       -6
  Partials      186      186

Impacted Files
Coverage Δ

server/remote/gitlab/gitlab.go
23.31% <3.33%> (+0.30%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

PS: tested... works


Add more tests for anonymous classes

As mentioned in #68 :)

Hi @tpunt, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;


include x-amz-request-id in request id deser

refixes https://github.com/aws/aws-sdk-js-v3/issues/1521

see also https://github.com/aws/aws-sdk-js-v3/pull/4015


[resotoshell][feat] Use the 1.1.1 version of the resotoclient

Description
resh uses the new version of the resotoclient now
To-Dos

[ ] Add test coverage for new or updated functionality
[ ] Lint and test with tox
[ ] Document new or updated functionality (someengineering/resoto.com#XXXX)

Code of Conduct
By submitting this pull request, I agree to follow the code of conduct.

Codecov Report
Base: 89.89% // Head: 89.83% // Decreases project coverage by -0.05% :warning:

Coverage data is based on head (e6e03ed) compared to base (6d6b4cb).
Patch coverage: 57.14% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1187      +/-   ##
==========================================
- Coverage   89.89%   89.83%   -0.06%
==========================================
  Files          60       60
  Lines       10115    10127      +12
==========================================
+ Hits         9093     9098       +5
- Misses       1022     1029       +7

Flag
Coverage Δ

resotocore
89.83% <57.14%> (-0.06%)
:arrow_down:

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

Impacted Files
Coverage Δ

resotocore/resotocore/web/api.py
70.22% <0.00%> (-0.22%)
:arrow_down:

resotocore/resotocore/db/graphdb.py
93.11% <100.00%> (-0.02%)
:arrow_down:

resotocore/resotocore/task/task_description.py
91.93% <100.00%> (ø)

resotocore/resotocore/__main__.py
87.73% <0.00%> (-1.65%)
:arrow_down:

resotocore/resotocore/core_config.py
94.76% <0.00%> (-0.87%)
:arrow_down:

...tocore/resotocore/config/config_handler_service.py
96.07% <0.00%> (+0.20%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


collab example?

Hello, I have just discovered your project. how could i use it to do inference on a real time feed?
i am trying to feed a depth image or a point cloud to "some algorithm" that will put them together and store them in a ply.
i think this is called point cloud registration? but it overlaps with sfM, where i would take N camera shots and then store a point cloud, then do N+M shots and compare with the previous point cloud to see how much did the new M steps contribute to adding "relevant" points to the PC. or some variant of that maybe with this project.

Hi @Ademord,
The inference code is in https://github.com/hehefan/P4Transformer/blob/main/train-msr.py#L48-L102.
Your research problem is very interesting. I have a question that whether the motion is important in this problem. I mean whether we can find "relevant" points just based on appearance without considering the motion or the motion is actually meaningless. If so, you might just need to extract the features of spatial local areas via static point cloud methods, e.g., PointNet++ or KPConv, for each shot, and then find their relationships via the self-attention of the transformer. Also, in this case, you may not need the "Coordinate and Local Feature Embedding", i.e., Eq (3), in the paper because the coordinates of the same point in different shots may be very different.
Best regards.

Hey, thanks for your reply! Thats actually also an interesting question. How could motion be relevant in any scenario? What kind of relationship between the self-attention transformers should I look at when I run for example KPConv, each time from a different point of view ? I currently have an MLAgents explorer drone trained but its limited to an octree based exploration of yes and nos. I was thinking a pointcloud "discovery" exploration could contribute for in-depth analysis behaviors of car accidents, airplanes, storage or just in general concrete scenarios where a more in depth look at an object or for that matter, it's point cloud would be required. This would give the baseline behavior for the agent and in parallel some other network can do  semantics for monitoring, etc.

Hi @Ademord,

Motion
Motion reasoning is not always necessary. To recognize "stand up/sit down" or "open/close a door", motion modeling is necessary. To coarsely distinguish "play basketball" and "play football", motion is not very important.  To my understanding, the sensor motion in your research problem does have a strong pattern and may be random. If it is true, I do not think motion is necessary for your research problem. However, even without motion modeling, recognizing accidents with multiple point clouds from different viewpoints could be helpful.

Relationship
KPConv can be used to extract the local area features, which can be then used for performing self-attention based on local area feature similarities. Suppose two shots from different viewpoints capture the right hand of a person. First, KPConv extracts the hand features from the two shots.  Then, transformer finds that the two features are relevant or similar via self-attention.

I may misunderstand your research. Just correct me if I am wrong.
Best regards

Hi @hehefan,
Thanks for your feedback, I dont think you are misunderstanding it... I am trying to find a way to motivate an RL agent (Unity) to discover a point cloud (or scan it). So I need a way to store the PC, accumulate it / aggregate it when new scans arrive, and then reward the agent the more "new points" that arrive.  < this is the part where I need to figure out how to store a point cloud and augment it with new scans.
So I am still super confused with all these methods that exist. I found tsdf-fusion but I am yet to try it a "real-time setup".

Hi @Ademord,
I am sorry I am not that familiar with non-deep-learning methods.  To store a point cloud and augment it with new scans, I have a naive idea to retrieve a new point from existing points based on their features. If the new point is not successfully found, then we store it. Point features can be extracted by a pretrained  PointNet++, KPConv or other methods. Also, if the drone is equipped with a LiDAR and the scene is static, points can be directly merged based on point coordinates and the drone's trajectory.
Besides, I think you might need an LSTM or one of its variants as the backbone for the entire framework. I have a work titled "Watching a Small Portion could be as Good as Watching All: Towards Efficient Video Classification" that may provide some insights.
Best regards.

hello @hehefan thanks again for your reply! i am also considering an LSTM indeed.
Unfortunately i need to do more reading on what PointNet++ or KPConv export, since i am really struggling to understand what goes in and what comes out of them.
I detailed quite a bit what my scenario is once again (here), because a lot of people have trouble understanding it.
Your feedback is gold and I appreciate it a lot.

Hi @Ademord,
PointNet++ and KPConv are point-based methods to capture the point cloud structure. They directly take a point cloud Nx3 as input, where N is the number of points and "3" means the xyz coordinates. If other point attributes are available,  they will be treated as point features NxM. where M is the feature dimension. For classification, they will output a vector  1xC, which indicates the probabilities over all classes. For segmentation, they will output a metrix NxC, which indicates the probabilities over all classes for each point.
PointNet++ and KPConv obtain the global representation in a hierarchical manner. They design the basic modules or operations to capture the spatial structure of a local area.  These basic modules are the main contributions. Specifically, they first select/sub-sample some representative points from a point cloud. Then, they search neighbours for each representative point. Each representative point and its neighbours constitute a local area. Finally, they capture the structure based on different logics. In this way, a Nx3;NxM point cloud will be encoded as a N'x3;N'xM', where N' is the number of representative points or local areas and M' is the new feature dimension and usually greater than M.
Hopefully, these explanations could help you understand PointNet++ and KPConv.
Best regards.

Hi @hehefan, I found a way to simplify my pipeline by a lot and will come back to this in around 2 weeks. Thanks a lot for your feedback and your continued support.


Pygamer additions

Implemented the split methodology. I'm using init, but I think new() is a strong contender still cc https://github.com/atsamd-rs/atsamd/issues/46 I settled on init as new is generally used for struct filling, and were purposely separating struct filling from initialization.
This needs ws2812-timer-delay patches https://github.com/smart-leds-rs/ws2812-timer-delay-rs/pull/1 upstreadmed first yet.
Then Im flushing out the rest of the pygamer bsp. Not sure what will all make it into this PR, but so far

[x] accel
[x] buttons
[x] joystick
[x] light sensor
[x] battery reading

in a different pr

[ ] mic
[ ] speaker
[ ] flash
[ ] sd card

Hey all, Can i get a review and merge on this? Thanks!

Sorry, didn't see it was ready for review. LGTM


couldn't read ClipboardJS from "node_modules" file.

Bug Description
I was using ClipboardJS on a personal project. When I open the project from my development environment, everything works fine.
But as soon as I uploaded my project on Github, and hosted it with Github pages, the clipboard copy functionality stopped, and this error message appeared in firefox developer tool.

Bug mitigation
And then I stumbled upon a forum discussion where it seemed that this was a common bug; in production environment, loading ClipboardJS from MDN server instead of locally (from "node_modules" file) resolved the bug.
so, in the "index.html" file, on line 46, I have changed this
<script src="./node_modules/clipboard/dist/clipboard.min.js"></script>
with this
<script<EMAIL_ADDRESS>P.S
I think this has to do with the ClipboardJS package. My app was really simple, and ClipboardJS was the only package installed.
Development environment
OS: Ubuntu v22.04.1 LTS
Web Browser: Firefox v104
npm v8.15.0 && node v16.17.0
IDE: VScode v1.70.2
project's github repo: https://github.com/ahmed-amir-azouzi/vanillaJS-link-shortener/
project's live demo: https://ahmed-amir-azouzi.github.io/vanillaJS-link-shortener/

Hei @ahmed-amir-azouzi, that's really sad that you're figuring issues trying to run ClipboardJS in your project.
Looks like an issue with GitHub Pages, which ignores node_modules folder. You can try what is suggested here. Closing your issue for now, since it's not related to ClipboardJS directly. Feel free to reopen if needed.

Okay, understood. Thank you for your response.
On Tue, Sep 13, 2022 at 6:33 PM Beto Muniz @.***> wrote:

Hei @ahmed-amir-azouzi https://github.com/ahmed-amir-azouzi, that's
really sad that you're figuring issues trying to run ClipboardJS in your
project.
Looks like an issue with GitHub Pages, which ignores node_modules folder.
You can try what is suggested here
https://stackoverflow.com/questions/43481269/github-pages-404-on-node-modules-folder.
Closing your issue for now, since it's not related to ClipboardJS directly.
Feel free to reopen if needed.
—
Reply to this email directly, view it on GitHub
https://github.com/zenorocha/clipboard.js/issues/817#issuecomment-1245726203,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG2OODS632D4K5U33ANULDDV6C3FVANCNFSM57YOKIHA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Add version support

Resolves

https://github.com/paritytech/ink-playground/issues/427
https://github.com/paritytech/ink-playground/issues/460
https://github.com/paritytech/ink-playground/issues/428

Reference:

https://github.com/w3f/Grants-Program/pull/1731

@radhe-zeeve Is the PR intentionally in Draft? It seems ready to be merged to me?

@radhe-zeeve CI is failing, but you should be able to see the log and fix it.

@cmichi PR is ready for review.
Couple of Github actions were modified to make the process faster and to mitigate the out of space issue. Following are the actions which were modified:

.github/workflows/docker.yml: Multiple images of ink were downloaded in ink playground container and this caused the storage to be full, so after the successful image build, during container execution versions list was mounted with single version which was used in one of test case.
.github/workflows/compiler_docker.yml: Only latest version image of ink compiler is been built, tagged and pushed to registry.

I have used my docker registry ID (radhezeeve) to push the images. and all the images part of this repository are public. The same registry ID is used in code base, which can be updated to older ID (achimcc) as soon as all the ink compiler images are updated on the older registry ID.

Thank you for working on this, @radhe-zeeve!
Unfortunately we have decided to archive this project, as we don't have the resources to operate it anymore. If you would be interested in doing so, please to the W3F. I know they also have maintenance grants, maybe that would be an option.


[Material] Lightweight Styling resource usage not matching Fluent usage

With the following xaml:
<Button Background="White" Content="Blah" Foreground="Black" />
We see this with a Fluent button:
https://github.com/unoplatform/Uno.Themes/assets/4793020/9069e302-f4cc-47c2-b6d1-55ec4a085be2
And this with a Material button:
https://github.com/unoplatform/Uno.Themes/assets/4793020/01cb3c22-a6db-4eba-9d03-fb368165cf35
The background is not behaving the same across visual states like it should. This is due to the way we are changing the background using the lightweight styling keys. We need to rework the usage of these in the template to properly use the right background values across visual states

Blocker for https://github.com/unoplatform/uno.figma/issues/1848


[RFR] Update action chain runner - allow users to access action parameters inside "publish" scope

Previously, user was unable to access action parameters inside the "publish" scope. This limitation made any things harder.
Here is an example of a work-flow where I use this functionality:
Metadata:
 ...
  parameters:
    ip_address:
      type: "string"
      description: "IP address of a remote server to collect the informatiom from"
      required: true

Workflow:
---
  chain:
    -
      name: "create_temporary_directory"
      ref: "core.remote_sudo"
      params:
        hosts: "{{ ip_address }}"
        cmd: "mktemp -d"
      publish:
        temp_dir: "{{ create_temporary_directory[parameters.ip_address].stdout }}"
      on-success: "retrieve_logged_users"

...

TODO:

[x] Tests
[x] Update changelog
[x] Update docs

As mentioned in https://github.com/StackStorm/st2/pull/1234#discussion_r26008026, I've decided to drop the attribute name prefix.
This way it's consistent with the existing code. Existing code already has a potential name clashes issue and solving it in just one case is worse than being consistent. We should consider this when designing an improved action chain runner and make sure we prefix the special attributes there.

Nice!

+1

Oh man, and this just merged as I was writing comments...
Adding parameters is not consistent with how we operate in Mistral. The diverging behaviors could lead to confusion...

@jfryman Action parameters are already accessible everywhere else in the action chain (params section, vars section, etc.) except the publish section - this pr fixed that.
Not exactly sure how this affects the mistral runner though - probably I just don't have enough context on it.

@Kami Certainly following the PR... let me try to explain again.
Everywhere else in ActionChain, I can address parameters without the prefix parameters.
But, you have this...

Existing code already has a potential name clashes issue and solving it in just one case is worse than being consistent

Is there no way around this in the short term? There is nothing with Mistral that is directly affected, but the behavior is just odd. I have to remember the parameters prefix only in a specific part of the ActionChain workflow (publish). That's ugly.

@jfryman I just had a look at the existing mistral workflow definition - I assume you are referencing how publish works there - you need to explicitly define which action parameter you want to be available using input?
If so, I see what you mean, but I don't think this is an issue - there is no such thing as input in the action chain runner right now so the behaviors can't be exactly the same.

@jfryman Sounds like we are on the same page - I dropped the "parameters" prefix in the last commit. It's probably just my wording which made it confusing :)

@Kami AH! Great! Ok. Yeah, I was trying to parse the comments and code, and got confused. That was really my only concern. :heart:

Heh, np - and yeah, I was kinda talking and replying to myself so it was slightly confusing :)

Merged into 0.8.1 and master.


Use box-sizing: border-box in base.css

See #20
Also feel like this could be 1.0.0 now and address #21

looks good to me :shipit: