Support TemplateHaskell

Trying to synthesise one ticket that describes all the TH work. My understanding of the current state is:

If you have TH or ANN pragmas, and they all refer to code that is imported by packages or in this module, it works.
If you refer to other modules in this package it breaks, perhaps with #25.

The solution is likely to make sure we have compiled the dependencies to bytecode and send them at the linker before type checking a module that uses TH or ANN.
However, we don't have tests for the current state, and it works by luck rather than deliberately.

I have also seen some issue around async exceptions and TH which seemed to make GHC very unhappy (I don’t recall the precise error message).

Hi, anyone is in a position to estimate how much work this would entail? Since my team started using ghcide we can’t imagine going back to the stone age ever. You guys did an amazing job! On our end TH support seems to be the last big issue that’s in the way of full adoption.

My guess is you need to:

Figure out which modules require TH, nice and easy.
For those that do, first build all the dependencies to object code (moderate amount of work, probably < 100 lines, fits fairly well with the graph approach).
Then send that object code to the linker (dunno how hard this is, might have problems with state management).

So probably not obviously hard, but I'd almost be surprised if something didn't get in your way.

@DavidEichmann in case you were using ghcide-nix, that has been fixed now.

I would like to tackle this issue, since out team uses TH in quite some places.
Is there any further information that I can read to work on this?

None that I'm aware of @serras - but best of luck!

This seems to be related https://gitlab.haskell.org/ghc/ghc/issues/8025, at least it ends up with the same error as #212

I have started working on the issue at https://github.com/serras/ghcide/commit/90c784b6f9503a2686f3e585e678ee65f60e3d9a in a quite crude way, asking to compile all dependencies even if the file does not use Template Haskell.
Now I get errors which look the ones in #212, even though now I am loading some bytecode:
File:     ./src/B.hs
Range:    1:0-100001:0
Source:   typecheck
Severity: DsError
Message:
  Program error:
  ByteCodeLink.lookupCE
  During interactive linking, GHCi couldn't find the following symbol:
  A_a_closure
  This may be due to you not asking GHCi to load extra object files,
  archives or DLLs needed by your current session. Restart GHCi, specifying
  the missing library using the -L/path/to/object/dir and -lmissinglibname
  flags, or simply by naming the relevant files on the GHCi command line.
  Alternatively, this link failure might indicate a bug in GHCi.
  If you suspect the latter, please send a bug report to:
<EMAIL_ADDRESS>
Is there any way I can check which rules are firing? At least I can be sure that the bytecode for A.hs is generated before continuing my investigation.

You can use shake profiling to figure out the rules, see https://github.com/digital-asset/ghcide/blob/master/src/Development/IDE/Types/Options.hs#L44 (I think this is not exposed via the CLI so you’ll have to set it in the code somewhere) but that’s more useful for benchmarking than for debugging imho. I would probably just use some printf statements in the rules.

I was testing out this PR and run into similar errors about a missing _closure despite said close being in the relevant library being loaded when I inspect it via nm. Is there a way I can see the ghci configuration ghcide is using to load things?

I'm seeing the following using these changes:

Yeah, I'm seeing similar errors, and I have some suspicions but I'm not really sure enough how to debug ghcide to investigate further. Essentially, I seem to have both a static library (missing some symbols) and a dynamic library (not missing said symbols) in my dist-newstyle and ghcide seems to try to use the static one, but I'm not really sure why.

I'm trying to trick it into loading the dynamic library to see if that works, but that's not working :\

We don’t do anything explicit atm wtr to linking external libraries in our code. I was hoping that this just magically works™ if we setup the GHC API with the right flags but it looks like we need to figure out the right incantation.

I've been trying to find the right incantation with explicit -l/-L flags in hie.yaml, but so far no luck, but I've also going about it a bit blind since I don't actually know how ghcide sets up it's GHC session

Ghcide uses hie-bios to set up its session, which essentially dumps command line flags into a GHC session. If it works in ghci, my experience is it usually works in ghcide too.

@ndmitchell I wish :)
ghci seems perfectly happy to work with just .ghc.environment, but I'm seeing all sorts of weird missing symbol errors in ghcide that I can't quite explain. I don't mind digging a bit deeper trying to debug them, but I'm rather unsure/clueless on where to start.

@merijn you can have a look at hie-bios documentation and try to turn your current .ghc.environment configuration into a hie.yaml file.

@merijn yeah, .ghc.environment is entirely ignored by everything else, so you'll have to replicate that on the command line. FWIW, I turn off the GHC environment files because they cause lots of confusing behaviour with tools working differently in different places.

I was under the impression that ghcide used them to find dependencies? Because that seems to work fine in most of my simple-ish projects. I do have a hie.yaml to resolve the look source paths, but I'm always a bit mystified what else has to go in there.

@merijn nope, ghcide doesn't look at those files at all. It only uses cabal/stack as configured by hie-bios. In many cases cabal/stack will know the same information as those environment files.

Ah, so maybe that's where things go wrong, because in other projects I haven't had to use a hie.yaml to set things up! I'll start fiddling with hie-bios

As far as I know, we do pick up .ghc.environment files. The GHC API behaves like GHC itself in that it picks them up implicitly by default.

API's being influenced by random environment files scares me. The more I see about these environment files, the less I like them!


SHR for signed types does logical shift

i.e. most significant bit is set to 0. Based on the documentation this seems to be correct, but I propose changing the behavior so that for signed types it would provide arithmetic shift. i.e. for negative values 1 would be shifted in to most significant bit.

In short, I propose changing shift operations from logical to arithmetic.


Recognize a pyenv-virtualenv as a virtual environment

This issue is forked from #3951.
When I attempt to use uv in a pyenv-virtualenv, I receive an error message indicating that there are no Python interpreters found in virtual environments. Since sys.prefix!=sys.base_prefix within a pyenv-virtualenv, it would be nice to be able to use uv therein, without having to invoke  with python -m uv ..., etc.
$ venv_name=uv
$ pyenv uninstall --force ${venv_name}
$ pyenv virtualenv ${venv_name}
$ pyenv shell ${venv_name}
$ pip install uv

[details omitted]

$ uv --version
uv 0.2.6 (a589ad506 2024-06-03)
$ pyenv version
uv (set by PYENV_VERSION environment variable)
$ python -c 'import sys; print(f"{(sys.prefix==sys.base_prefix)=}")'
(sys.prefix==sys.base_prefix)=False
$ uv pip install --upgrade pip --verbose
DEBUG Searching for Python interpreter in virtual environments
error: No Python interpreters found in virtual environments

Thanks @dpoznik!

Thanks for the issue! We should definitely support this without requiring a --system flag workaround.
Do you know why pyenv environments do not have sys.prefix == sys.base_prefix? Is there a pyvenv.cfg in the environment it creates?

We should definitely support this without requiring a --system flag workaround.

Sounds great; thanks!

Do you know why pyenv environments do not have sys.prefix == sys.base_prefix? Is there a pyvenv.cfg in the environment it creates?

Yes, pyenv-virtualenv uses python -m venv on the back end:
$ cat $(pyenv root)/versions/uv/pyvenv.cfg
home = /Users/dpoznik/.pyenv/versions/3.11.3/bin
include-system-site-packages = false
version = 3.11.3
executable = /Users/dpoznik/.pyenv/versions/3.11.3/bin/python3.11
command = /Users/dpoznik/.pyenv/versions/3.11.3/bin/python3.11 -m venv /Users/dpoznik/.pyenv/versions/3.11.3/envs/uv

In case relevant, I have the following in my .bashrc:
eval "$(pyenv virtualenv-init -)"

That configures pyenv-virtualenv to "automatically activate/deactivate virtualenvs on entering/leaving directories which contain a .python-version file that contains the name of a valid virtual environment", as described here. Aside: This is the main feature for which I'm still using pyenv-virtualenv rather than uv venv; perhaps automatic activation would make for a worthwhile feature request in a third Issue.
Thanks for your help!

Hm I'm confused that the virtual environment isn't PEP 405 compliant if it has pyenv.cfg created by venv.

I'm confused that the virtual environment isn't PEP 405 compliant if it has pyenv.cfg created by venv.

Interesting. I'm not all that familiar with PEP 405 or with how pyenv-virtualenv sets up environments.
What does compliance entail?
It's definitely possible I'm missing something, but I don't think #4018 will address this issue, as VIRTUAL_ENV is unset when the pyenv-virtualenv is activated:
$ pyenv version
uv (set by PYENV_VERSION environment variable)
$ env | grep VIRTUAL_ENV
$

Oh sorry I think I might have misunderstood the original issue! I'll start from the top so we can make sure we're on the same page.
PEP 405 stipulates

If a pyvenv.cfg file is found either adjacent to the Python executable or one directory above it (if the executable is a symlink, it is not dereferenced), this file is scanned for lines of the form key = value. If a home key is found, this signifies that the Python binary belongs to a virtual environment, and the value of the home key is the directory containing the Python executable used to create this virtual environment.
In this case, prefix-finding continues as normal using the value of the home key as the effective Python binary location, which finds the prefix of the base installation. sys.base_prefix is set to this value, while sys.prefix is set to the directory containing pyvenv.cfg.

Thus, we say a PEP 405 compliant virtual environment must have inequal sys.prefix and sys.base_prefix values e.g.
https://github.com/astral-sh/uv/blob/365ca637c77b19b3f4f1caafc58801aff45abfae/crates/uv-interpreter/src/interpreter.rs#L156-L162
(and in pip)
As I understand re-reading your comments now, you do have a compliant virtual environment in the current interpreter, e.g. python -m ... will be invoked inside a virtual environment. However, we do not detect this environment.
We only detect virtual environments in three ways:

.venv directory in the file system hierarchy
VIRTUAL_ENV
CONDA_PREFIX

We don't currently support checking if the current interpreter on the PATH is a virtual environment. I presume this is the case for you because the pyenv python shim invokes commands within the proper environment? We could explore adding support for this.

Oh sorry I think I might have misunderstood the original issue! I'll start from the top so we can make sure we're on the same page.

Cool, thanks for all the information. We are definitely on the same page now.

As I understand re-reading your comments now, you do have a compliant virtual environment in the current interpreter

Exactly:
$ python -c 'import sys; print(f"{(sys.prefix==sys.base_prefix)=}")'
(sys.prefix==sys.base_prefix)=False

We only detect virtual environments in three ways:

.venv directory in the file system hierarchy
VIRTUAL_ENV
CONDA_PREFIX

Got it. That explains it, as the pyenv-virtualenv has none of these properties. Thanks for this information!

We don't currently support checking if the current interpreter on the PATH is a virtual environment. I presume this is the case for you because the pyenv python shim invokes commands within the proper environment?

Exactly.

We could explore adding support for this.

That would be great; thanks!
Now that I have a better sense of what's going on, I'll go ahead and rename the Issue.
Thanks again!

I noticed that the problem reported in this issue has been resolved. Thanks!
Executing the same sequence of commands as is found in the description results in an expected/successful outcome. So I will go ahead and close the issue.
$ venv_name=uv
$ pyenv uninstall --force ${venv_name}
$ pyenv virtualenv ${venv_name}
$ pyenv shell ${venv_name}
$ pyv
uv (set by PYENV_VERSION environment variable)
$ pip install uv

[details omitted]

$ uv --version
uv 0.5.0 (8d665267c 2024-11-07)
$ pyenv version
uv (set by PYENV_VERSION environment variable)
$ python -c 'import sys; print(f"{(sys.prefix==sys.base_prefix)=}")'
(sys.prefix==sys.base_prefix)=False
$ uv pip install --upgrade pip --verbose
DEBUG uv 0.5.0 (8d665267c 2024-11-07)
DEBUG Searching for default Python interpreter in virtual environments
DEBUG Found `cpython-3.12.7-macos-aarch64-none` at `/Users/dpoznik/.pyenv/versions/uv/bin/python` (search path)
Using Python 3.12.7 environment at .pyenv/versions/uv

[details omitted]

A bisection indicates that version 0.2.14 fixed the issue:
[m|~]: uv pip install -U --python=$(which python) uv==0.2.13
Resolved 1 package in 577ms
Prepared 1 package in 10.23s
Uninstalled 1 package in 13ms
Installed 1 package in 7ms
 - uv==0.2.15
 + uv==0.2.13
[m|~]: uv pip install --upgrade pip
error: No Python interpreters found in virtual environments
[m|~]: uv pip install -U --python=$(which python) uv==0.2.14
Resolved 1 package in 3.69s
Downloaded 1 package in 9.28s
Uninstalled 1 package in 14ms
Installed 1 package in 7ms
 - uv==0.2.13
 + uv==0.2.14
[m|~]: uv pip install --upgrade pip
Resolved 1 package in 189ms
Audited 1 package in 0.59ms

But I don't see anything in the release notes to this effect, so maybe the improvement was incidental? Just figured I'd mention in case doing so were to lessen the chance of a regression.


Create testing/mocking framework for memmory access

To properly test Bulldog features we will need a proper testing framework.


converting result to json

Hi , I'm trying to convert res object to json using jsonify()
but there was error, because jsonify was not able to control some classes.

Is there any method?
Thank you in advance.

The algorithm object can not be easily stored as JSON.
a) You can try to set res.algorithm=None and see if this works.
b) Otherwise, just create a dict to jsonify:
my_res = dict(X=res.X, F=res.F)

Of course you can add even more attributes.
c) If you are just interested in the optimum, you can also store res.opt.
More information about the result objective are available here:
https://pymoo.org/interface/result.html

Thank you
I chose (b)


Adding incident response list to security category

https://github.com/meirwah/awesome-incident-response

Please read the instructions for creating a new list, contributing guidelines and the awesome manifest.
Especially this part:

Wait at least a couple of weeks after creating a list before submitting to give it a chance to mature.

Ping me here in a few weeks and I'll reopen ;)

List generally looks good, but I would add a short introduction at the top on what the purpose of the list is and who it's for.

Something like this:
A curated list of tools and resources for security incident response, aimed to help security analysts and DFIR teams.

:+1: I would linkify DFIR to a place that explains it.

@sindresorhus  can we reopen this?
I think the list has really matured since I opened this PR...

Added.


fix a bug of map being value of a map

Subject.

Also opened https://github.com/hangxie/parquet-tools/issues/192 to see if schema code can be refactored to be cleaner.


Fixed use of PATCH and PUT. Fixed #1871.

@emanuelschuetze Please test motion update and change recommendation update for staff and for non staff users.
Still not solved: Non stuff users are not really able to change motion comments, are they?

Still not solved: Non stuff users are not really able to change motion comments, are they?

Right, see #3036


New Release? Everything broken in new Obsidian.

Hi @zapthedingbat,
The project appears to still get commits every once in a while, but I notice there hasn't been a release in over 2 years.
Within Obsidian v1.5.3 it appears this community plugin is now entirely broken in both sketch and full mode.
Are you open to releasing a new version? Or do you need help from me to try to automate the releasing process to be able to have these go out for the community?

I also encountered this issue

Also facing this issue

me too，I hope someone can solve it

I think the question is really urgent

I also encountered this issue.

have to use the Official client，but it is inconvenient
https://www.drawio.com/

I have look through this for a bit and these are my finding:
The error seem to be cause by Obsidian 1.5
Minimal 1.4 setup console.log, using the latest drawio version.

After update to 1.5

The blob:null is not an issue

VM207:15 Refused to load the stylesheet 'blob:null/67c6b0e5-a81c-4dde-bf52-04c91145380f' because it violates the following Content Security Policy directive: "style-src 'unsafe-inline' 'self' https://fonts.googleapis.com". Note that 'style-src-elem' was not explicitly set, so 'style-src' is used as a fallback.

(anonymous) @ VM207:15
(anonymous) @ VM207:15
onWindowMessage @ data:text/html,%0A%3Cscript%3E%0Aconst%20onWindowMessage%20%3D%20(messageEvent)%20%3D%3E%20%7B%0A%20%20const%20message%20%3D%20JSON.parse(messageEvent.data)%3B%0A%20%20if(message.action%3D%3D%3D%22script%22)%7B%0A%20%20%20%20const%20scriptElement%20%3D%20document.createElement(%22script%22)%3B%0A%20%20%20%20scriptElement.text%20%3D%20message.script%3B%0A%20%20%20%20document.head.appendChild(scriptElement)%3B%0A%20%20%7D%0A%20%20window.removeEventListener(%22message%22%2C%20onWindowMessage)%3B%0A%7D%0Awindow.addEventListener(%22message%22%2ConWindowMessage)%3B%0Awindow.parent.postMessage(%22%7B%5C%22event%5C%22%3A%5C%22iframe%5C%22%7D%22%2C'*')%3B%0A%3C%2Fscript%3E:8
postMessage (async)
sendMessage @ plugin:drawio-obsidian:15
addScriptToFrame @ plugin:drawio-obsidian:15
handleMessage @ plugin:drawio-obsidian:15
listener @ plugin:drawio-obsidian:15
postMessage (async)
(anonymous) @ data:text/html,%0A%3Cscript%3E%0Aconst%20onWindowMessage%20%3D%20(messageEvent)%20%3D%3E%20%7B%0A%20%20const%20message%20%3D%20JSON.parse(messageEvent.data)%3B%0A%20%20if(message.action%3D%3D%3D%22script%22)%7B%0A%20%20%20%20const%20scriptElement%20%3D%20document.createElement(%22script%22)%3B%0A%20%20%20%20scriptElement.text%20%3D%20message.script%3B%0A%20%20%20%20document.head.appendChild(scriptElement)%3B%0A%20%20%7D%0A%20%20window.removeEventListener(%22message%22%2C%20onWindowMessage)%3B%0A%7D%0Awindow.addEventListener(%22message%22%2ConWindowMessage)%3B%0Awindow.parent.postMessage(%22%7B%5C%22event%5C%22%3A%5C%22iframe%5C%22%7D%22%2C'*')%3B%0A%3C%2Fscript%3E:13
VM208:242 Refused to load the stylesheet 'blob:null/985d0a81-0bcb-4d02-ad96-5a6ab1ceba4d' because it violates the following Content Security Policy directive: "style-src 'unsafe-inline' 'self' https://fonts.googleapis.com". Note that 'style-src-elem' was not explicitly set, so 'style-src' is used as a fallback.

link @ VM208:242
(anonymous) @ VM208:245
o.addScript @ VM207:15
o.handleMessages @ VM207:15
listener @ VM207:1
postMessage (async)
sendMessage @ plugin:drawio-obsidian:15
addScriptToFrame @ plugin:drawio-obsidian:15
handleMessage @ plugin:drawio-obsidian:15
listener @ plugin:drawio-obsidian:15
postMessage (async)
(anonymous) @ data:text/html,%0A%3Cscript%3E%0Aconst%20onWindowMessage%20%3D%20(messageEvent)%20%3D%3E%20%7B%0A%20%20const%20message%20%3D%20JSON.parse(messageEvent.data)%3B%0A%20%20if(message.action%3D%3D%3D%22script%22)%7B%0A%20%20%20%20const%20scriptElement%20%3D%20document.createElement(%22script%22)%3B%0A%20%20%20%20scriptElement.text%20%3D%20message.script%3B%0A%20%20%20%20document.head.appendChild(scriptElement)%3B%0A%20%20%7D%0A%20%20window.removeEventListener(%22message%22%2C%20onWindowMessage)%3B%0A%7D%0Awindow.addEventListener(%22message%22%2ConWindowMessage)%3B%0Awindow.parent.postMessage(%22%7B%5C%22event%5C%22%3A%5C%22iframe%5C%22%7D%22%2C'*')%3B%0A%3C%2Fscript%3E:13
VM208:242 Refused to load the stylesheet 'blob:null/7d28a99c-7b9f-44e9-9ffd-47f9afff6637' because it violates the following Content Security Policy directive: "style-src 'unsafe-inline' 'self' https://fonts.googleapis.com". Refused to execute script from 'https://app.diagrams.net/math/MathJax.js?config=TeX-MML-AM_SVG-full' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

My current solution:
Downgrade back to Obsidian 1.4

Quick Solution Found
Delete this file in obsidian-1.5.3.asar works!!

If you guy need the file editted and packed. Just replace the file
Prove

obsidian-1.5.3.zip
Step to do it your self:
Command used:

Install asar: npm install -g asar
unpack the update
edit the bug causing line in index.html
pack the file
run Obsidian again, and it works now.

Thank you for the quick-fix.
When I try the commands in the Terminal (Mac), I get only: ".: is a directory"
I also tried replacing the .asar file, but the finder does not find it.
Could you maybe explain it for someone who has no idea about those things?

Thank you for the quick-fix. When I try the commands in the Terminal (Mac), I get only: ".: is a directory" I also tried replacing the .asar file, but the finder does not find it.
Could you maybe explain it for someone who has no idea about those things?

Please include a full log of the commands you've run and their output next time. I'm guessing code . is giving you the error. At that part you should just open the build_unpack folder, open the index.html and delete the line that has been already given in the previous line.

From Obsidian 1.5, a new Content Security Policy is enforced for external themes, images, audios and anything being media/style related.
WhiteNoise, a Obsidian Developer, stated that this won't change for the security of the user.
Instead of loading those remotely, we should embed them in the code using base64.
I will try to look for the stylesheets that are loaded remotely myself, but as I am pretty inexperienced with the code-base of this project, some support would speed this up a notch.

Update, found the solution to the majority of the problem.
It lies within the loadStylesheet(href: string) function in src/drawio-client/init/RequestManager.ts:
export function loadStylesheet(href: string) {
  const link = document.createElement("link");
  link.setAttribute("rel", "stylesheet");
  link.setAttribute("href", href);
  document.head.appendChild(link);
}

This function gets called by src/drawio-client/init/index.ts with the string "local://drawio.css".

Even though the url uses the prefix local://, it's still considered a external stylesheet.
Found simple fix
import drawioCss from "inline!./src/drawio-client/drawio.css";
export function loadStylesheet() {
  const style = document.createElement("style");
  style.innerHTML = drawioCss
  document.head.appendChild(style);
}

Problem
This fix repairs the Layout, but does not respect any themes selected e. g. it's always in light mode.

An official fix for this issue would make this person very very happy!

Also looking for an official fix in lieu of downgrading. Is an official fix being actively worked on?

Not the ideal solution, but I've built the project with the fix proposed by @SteinGaming.
The transpiled "main.js"-file needs to be swapped out in the local plugin folder, e.g. "[vault_name]/.obsidian/plugins/drawio-obsidian" to include the changes in your local installation. The changes apply after restarting obsidian.
For anyone who does not want to build the project themselves, a transpiled "main.js"-file can be downloaded from https://drive.google.com/file/d/13Ow5pKLMWzNOUMG3zNZA1szMBE9lKvT-/view?usp=drive_link

Not the ideal solution, but I've built the project with the fix proposed by @SteinGaming. The transpiled "main.js"-file needs to be swapped out in the local plugin folder, e.g. "[vault_name]/.obsidian/plugins/drawio-obsidian" to include the changes in your local installation. The changes apply after restarting obsidian.
For anyone who does not want to build the project themselves, a transpiled "main.js"-file can be downloaded from https://drive.google.com/file/d/13Ow5pKLMWzNOUMG3zNZA1szMBE9lKvT-/view?usp=drive_link

@plc-dev I appreciate you making this fix however please upload it into a gist or a branch/fork instead of google drive!
I have opened a PR with what is essentially the fix offered in this thread (thanks ya'll!)
It's open at #90. The dark/light mode switching doesn't seem to be working and dark mode is partial (but better than nothing). If you don't want it, remove the line adding the dark mode css from that init file. Open to feedback/help getting things working correctly since this project seems unmaintained atm!

Quick Solution Found
Created a bug report on Obsidian Forum: forum
Delete this file in obsidian-1.5.3.asar works!!

If you guy need the file editted and packed. Just replace the file obsidian-1.5.3.zip
Prove

Step to do it your self:
Command used:

Install asar: npm install -g asar
unpack the update
edit the bug causing line in index.html
pack the file
run Obsidian again, and it works now.

Thank you a lot!!

Not the ideal solution, but I've built the project with the fix proposed by @SteinGaming. The transpiled "main.js"-file needs to be swapped out in the local plugin folder, e.g. "[vault_name]/.obsidian/plugins/drawio-obsidian" to include the changes in your local installation. The changes apply after restarting obsidian.
For anyone who does not want to build the project themselves, a transpiled "main.js"-file can be downloaded from https://drive.google.com/file/d/13Ow5pKLMWzNOUMG3zNZA1szMBE9lKvT-/view?usp=drive_link

@plc-dev I appreciate you making this fix however please upload it into a gist or a branch/fork instead of google drive!
I have opened a PR with what is essentially the fix offered in this thread (thanks ya'll!) It's open at #90. The dark/light mode switching doesn't seem to be working and dark mode is partial (but better than nothing). If you don't want it, remove the line adding the dark mode css from that init file. Open to feedback/help getting things working correctly since this project seems unmaintained atm!

Extremely grateful ！！！

This problem is affecting me too. For obvious reasons, I am reluctant to download and sideload unofficial code. Would very much like an official release that can updated within Obsidian. Thanks!

Not the ideal solution, but I've built the project with the fix proposed by @SteinGaming. The transpiled "main.js"-file needs to be swapped out in the local plugin folder, e.g. "[vault_name]/.obsidian/plugins/drawio-obsidian" to include the changes in your local installation. The changes apply after restarting obsidian.
For anyone who does not want to build the project themselves, a transpiled "main.js"-file can be downloaded from https://drive.google.com/file/d/13Ow5pKLMWzNOUMG3zNZA1szMBE9lKvT-/view?usp=drive_link

@plc-dev I appreciate you making this fix however please upload it into a gist or a branch/fork instead of google drive!
I have opened a PR with what is essentially the fix offered in this thread (thanks ya'll!) It's open at #90. The dark/light mode switching doesn't seem to be working and dark mode is partial (but better than nothing). If you don't want it, remove the line adding the dark mode css from that init file. Open to feedback/help getting things working correctly since this project seems unmaintained atm!

Much appreciated. However, AWS logo's on general are still shitty - has anyone encountered this issue?

@zMynxx Curious as to why this file is so much bigger than the original
Original, 6,480KB
Your File, 8.091KB

There hasn't been a release of this plugin on Obsidian 2y now, but can confirm the PR introduced by @plc-dev works on my end. Is there a reason the author hasn't updated the plugin via Obsidian yet is still maintaining the repo?

Should maybe a fork be made, and plugin maintained on a new repo?

There hasn't been a release of this plugin on Obsidian 2y now, but can confirm the PR introduced by @plc-dev works on my end. Is there a reason the plugin* author hasn't updated the plugin via Obsidian yet is still maintaining the repo?

this fix is sooo close to working, however, there is still a bug when you try to embed a fresh drawio diagram in excalidraw, such that if you try to save the edited text in some diagram, it breaks your ability to input any text in all of obsidian
snip

Welcome to try my modified version of obsidian-diagrams-net, added several improvements as followed:

Changed how it opens on the TAB and now it will load into the modal window
Added a Dark mode, which follows the obsidian setting
Double-click to enter the edit
Fixed the issue of refreshing after editing in edit and preview modes

I think this is very urgent now


Missing IconSelectableBehavior mixin from PaperMenu

The following works fine
print('selected: ${menu.jsElement[r'selected']}');

while this
print('selected: ${menu.selected}');

causes
Exception: Class 'PaperMenu' has no instance getter 'selected'.

NoSuchMethodError: method not found: 'selected'
Receiver: Instance of 'PaperMenu'
Arguments: []

It seems that PaperMenu is missing "with IronSelectableBehavior".
The root cause is that IronMultiSelectableBehavior is supposed to implement "IronSelectableBehavior" which is not the case (I guess that's our current mixin limitation).

IronMultiSelectableBehavior only implements IronSelectableBehavior (a mixin can't extend another class)
therefore PaperMenu needs a with IronSelectableBehavior itself to actually get an implementation.
DartAnalyzer for PaperMenu shows ..., missing concrete implementation of getter IronSelectableBehavior.selected ... but the noisy "unused imports" make them hard to find.

(a mixin can't extend another class)

this limitation is about to vanish :smile: https://github.com/dart-lang/sdk/issues/23770

The IronSelectableBehavior is still missing in the update branch.


[BREAKING] delayed and remove properties in style module required since minor update

Is this intentional? My cyclejs-modal library broke suddenly because of a minor update to snabbdom.

Sorry about this. We should really #293.

v0.6.9


Modify ServletUtil to cache wrappers for applicable elements in attributes

Since many Servlet classes have attribute storage, it may make sense to store wrapper instances in those attribute maps to avoid having to create new instances for every call.
This is not critical, though, as the wrappers are designed to be stateless other than their wrapped object.

A probably-better version is in #433, which wouldn't require even one object per request.


Ambiguity error: ProjectTo(::KeyedArray(...)))((::NoTangent))

MWE, should be on the (present) versions of AxisKeys and ChainRulesCore. I'm hitting this in some complicated pipelines, but I believe this is a representative MWE:
using AxisKeys # 0.2.1
using ChainRulesCore # 1.14

N = 5

A = KeyedArray(vcat(ones(1, N), zeros(3, N)), feature = 1:4, obs = 1:N, )
B = rand(N,)

project_A = ProjectTo(A);
project_B = ProjectTo(B);

project_A(A) # Fine
project_B(B) # Fine

project_B(ChainRulesCore.NoTangent()) # NoTangent()
project_A(ChainRulesCore.NoTangent()) # Ambiguity Error

julia> project_A(ChainRulesCore.NoTangent()) # Ambiguity Error
ERROR: MethodError: (::ProjectTo{KeyedArray, NamedTuple{(:data, :keys), Tuple{ProjectTo{AbstractArray, NamedTuple{(:element, :axes), Tuple{ProjectTo{Float64, NamedTuple{(), Tuple{}}}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}}}}, NamedTuple{(:feature, :obs), Tuple{UnitRange{Int64}, UnitRange{Int64}}}}}})(::NoTangent) is ambiguous. Candidates:
  (project::ProjectTo{KeyedArray, D} where D<:NamedTuple)(dx) in AxisKeys at /Users/alexrobson/.julia/packages/AxisKeys/HrqhA/src/chainrules.jl:11
  (::ProjectTo{T, D} where D<:NamedTuple)(dx::AbstractZero) where T in ChainRulesCore at /Users/alexrobson/.julia/packages/ChainRulesCore/RbX5a/src/projection.jl:120
Possible fix, define
  (::ProjectTo{KeyedArray, D} where D<:NamedTuple)(::AbstractZero)
Stacktrace:
 [1] top-level scope
   @ REPL[26]:1

It is fixed with
(project::ChainRulesCore.ProjectTo{KeyedArray})(dx::AbstractZero) = dx

project_A(ChainRulesCore.NoTangent()) # Fine

but I'm surprised this hasn't come up before, and there may be others to include too?
If the fix looks good, happy to put together an MR.

Paging @glennmoy of #94 fame...


LoggingConfiguration.AddRule with name for DeleteRule

Hi,
I just switch NLog from 4.4 to 4.6 and want to implement a console and file logger, which log levels can be changed during runtime. I'm using the programmactily approach and I'm wondering how to add a rule to the LoggingConfiguration with a name, to be able to remove the rule by LoggingConfiguration.RemoveRuleByName().
With LoggingConfiguration.AddRule() doesn't have a parameter for the name.
I tried to create a new LoggingRule to set a name, but then I can't set the levels and target and a LoggingRule can not be given as paramter in AddRule.
How can I modify or remove a rule?

You need for this LoggingConfiguration.Rules. The addrule() is a simple helper with limited options.

I assume your question has been answered, if not, please let us know!


Display players in base

Have a screen panel that displays the players in base. Not their location, or
ship, or anything else. Just if they're in base, then their name is on the
list.
Would be useful for comms.
Even better, display players that have been in base for, say, 30 seconds. You'd
know that if they hadn't figured out something to do by then, you can start
giving them tasks.
Imported from trac ticket #7,  created by juckto on 01-05-2010 at 09:32, last modified: 07-28-2010 at 07:11

r675 - shift-F6 pane enhancement
Trac comment by Imago on 07-06-2010 at 12:13

i noticed this wasn't displaying the correct time (time docked isn't being set)  because it was pulled due to possibly causing server crashes r789.  investigate further and fix the "time spent in base".
Trac comment by Imago on 07-27-2010 at 03:02


Transition from setup.py to setup.cfg

"To avoid executing arbitrary scripts and boilerplate code, we are transitioning into a full-fledged setup.cfg to declare your package information instead of running setup()"
https://setuptools.pypa.io/en/latest/userguide/quickstart.html#transitioning-from-setup-py-to-setup-cfg

It looks like pyproject.toml is the new standard for declaring project metadata: https://packaging.python.org/en/latest/specifications/declaring-project-metadata/#declaring-project-metadata

Warning when running pip:
DEPRECATION: Legacy editable install of forest==0.1.1 from file:///Users/ils475/code/onnelalab/forest (setup.py develop) is deprecated. pip 25.0 will enforce this behaviour change. A possible replacement is to add a pyproject.toml or enable --use-pep517, and use setuptools >= 64. If the resulting installation is not behaving as expected, try using --config-settings editable_mode=compat. Please consult the setuptools documentation for more information. Discussion can be found at https://github.com/pypa/pip/issues/11457

Addressed in ae6f171


Sign in after password reset gives error "Login failed: Please log out first"

Hello! I use Casdoor v1.281.0
I created my own organization and application. And signed up the user in the application.
How do I get the error:

Go to login page
Click "Forgot password"
Enter email (or username)
Send code to email
Enter code from email
Reset password (enter password and confirm password)
After that, we were again redirected to the login page. What well..
Enter username, and password or other mfa
Getting error -"Login failed: Please log out first"

Reloading the page redirects to home page

How can I fix it manually? Or this global error? Thank you.

@wsolara hi, can you record a video to reproduce the bug and paste it here?

This message indicates the user is still active on the server to fix this clear the user's session cookies:

@wsolara  You can just refresh the broswer to login. It it a bug caused by redirecting to incorrect url.

@wsolara hi, can you record a video to reproduce the bug and paste it here?

leo220yuyaodog hello, can I change this url somewhere?


schema validation

sensical (mutually) recursive types
use of validated for field validation

field uniqueness
more here
http://spec.graphql.org/June2018/


firefox audio

Can't get firefox to produce audio.

can you try it with the fixes from #376

Confirming: I can't get ALSA sound to work with --device /dev/snd.
Setting --env ALSA_CARD=Generic does not help, too. (I found that I need that for other containers. Compare card names in aplay -l).

can you try it with the fixes from #376

The fix from #376 seems to be unrelated.

If I add pulseaudio to jess/firefox, I can set up a working pulseaudio connection:
Dockerfile for firefox-pa:
FROM jess/firefox
RUN apt-get update
RUN apt-get install -y pulseaudio

Script to run firefox-pa with pulseaudio sound (and unprivileged user):
# create pulseaudio socket
pactl load-module module-native-protocol-unix socket=/tmp/pulseaudio.socket

# create config for pulseaudio clients
echo "default-server = unix:/tmp/pulseaudio.socket
# Prevent a server running in container
autospawn = no
daemon-binary = /bin/true
# Prevent the use of shared memory
enable-shm = false" >/tmp/pulseaudio.client.conf

docker run --rm \
    --env DISPLAY=$DISPLAY \
    --volume /tmp/.X11-unix:/tmp/.X11-unix \
    --ipc=host \
    --env PULSE_SERVER=unix:/tmp/pulseaudio.socket \
    --env PULSE_COOKIE=/tmp/pulseaudio.cookie \
    --volume /tmp/pulseaudio.socket:/tmp/pulseaudio.socket \
    --volume /tmp/pulseaudio.client.conf:/etc/pulse/client.conf \
    --user $(id -u):$(id -g) \
    --env HOME=/tmp \
    firefox-pa

Documentation for connecting containers to host pulseaudio.

I tried some suggestions from https://forum.voidlinux.org/t/solved-firefox-59-0-3-64-bit-and-alsa-no-sound/5521/6
It may be a firefox sandbox issue. I tried to whitelist hardware access to /dev/snd, but with no success:
RUN echo 'pref("security.sandbox.content.syscall_whitelist", "16");' >> /etc/firefox/syspref.js
RUN echo 'pref("security.sandbox.content.write_path_whitelist", "/dev/snd");' >> /etc/firefox/syspref.js

Another approach works: Simulating pulseaudio with apulse allows container sound with --device /dev/snd again.
Dockerfile:
FROM jess/firefox
RUN apt-get update && apt-get install -y apulse
ENTRYPOINT apulse firefox

fixed by https://github.com/jessfraz/dockerfiles/pull/429


Use __debugInfo

Am I missing some way to use the results of __debugInfo, if provided, when dumping an object?

Not implemented. Should be easy enough. Are there many libraries out there that implement it? I haven't noticed any myself

Not sure. I added it in a custom library when I went to look if there was a way to trim irrelevant crap for dumping an object, got all excited with a test print_r becoming helpful again, and then was bummed to see kint just kept on trucking with reflection, or however it's doing it's thing.

Well I wouldn't want to stop the other plugins from running just because it found a __debugInfo anyway, so if that's what you're after you're better off writing your own plugin. Should only be 50 lines or so. (Specifically, see the "Halting the parse" and "getTriggers" sections in the writing a plugin docs)
A quick grep shows __debugInfo isn't present in either symfony or laravel, and that covers a fairly huge part of the PHP marketplace, so I don't think I'm going to implement it


Update for read-only procedure parameters

I didn't follow Odin's updates for some time. Why options := options; is necessary?

@Breush The reason being is that procedure parameters are named values and not variables any more. This means that if you want them to act like C-like things, just reassigning them to a variable of the same name will be fine.


Add vision.cpp in libtorchvision.so

Could you include vision.cpp in libtorchvision.so not to register ops by user's code?
When we use maskrcnn in c++, we need to register some ops explicitly.
https://github.com/pytorch/vision/issues/1730
(python's module already includes the registration.)
By this pr, the registration is done automatically.
And c++ user does not need torchvison's include-headers.
In addition to the ops, this pr fixes following cmake's error.
$ cmake --version
cmake version 3.13.4
$ cmake ..
CMake Error at CMakeLists.txt:49 (install):
  install TARGETS given no LIBRARY DESTINATION for shared library target
  "torchvision".

Codecov Report

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

@@          Coverage Diff           @@
##           master   #1843   +/-   ##
======================================
  Coverage    0.43%   0.43%
======================================
  Files          92      92
  Lines        7389    7389
  Branches     1113    1113
======================================
  Hits           32      32
  Misses       7349    7349
  Partials        8       8

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 791c172...3e5a21f. Read the comment docs.

Do you have a plan to provide prebuild binary like libtorch?

@bmanga let me know when you think this is good to merge

@fmassa looks good to me.

Thanks @junjihashimoto and @bmanga !

Thx!


[Device Plugin] Update device plugin yaml download script

Update device plugin yaml download script, replace http with svn.

@hzy46 pls help to check whether it works in your network

@hzy46 pls help to check whether it works in your network
resolve #4561, will fallback to git submodules if this does not work

It works. I will close #4561.


Music doesn't stop

Once the swarm starts and the music starts playing, it never stops. This persists when the ship is on orbit and when you next land.

Hi there! Thanks for your report!
Just wanted to say that this bug is already fixed but the patch is not published because during tests I've mentioned another critical bug related to the swarm system and I want to upload them as a single patch
Have a WE'RE RICH day!


govulncheck-action: allow users to use specific version of govulncheck

Proposal Details
The action contains:
go install golang.org/x/vuln/cmd/govulncheck@latest
Suggestion is to add an input that points to latest, that allows users to overwrite it with a specific version.

Why would you need a specific version?


More granular latency buffer sizes

I've been trying to modify the latency benchmark to include more granular buffer access sizes to get a smoother latency curve, but seems I don't understand correctly how the algorithm works.
In particular I modified main control loop to increase the testsize by 1/2 of the previous full 2^n increment:
....
    else
        printf("\n");

    nbits = 10;

    for (niter = 0; (1 << nbits) <= size; niter++)
    {
        int testsize;

	if (niter % 2 == 0)
		testsize = (1 << nbits++);
	else
		testsize = (1 << (nbits - 1)) + (1 << (nbits - 1)) / 2;

        xs1 = xs2 = ys = ys1 = ys2 = 0;

....

            t_before = gettime();
            random_read_test(buffer + testoffs, count, testsize);
            t_after = gettime();

.....

static void __attribute__((noinline)) random_read_test(char *zerobuffer,
                                                       int count, int testsize)
{
    uint32_t seed = 0;
    uintptr_t addrmask = testsize - 1;

This gives me the supposed increases that I wanted:
block size : single random read / dual random read
L1 :   10.9 ns          /    15.9 ns
      1024 :    0.0 ns          /     0.0 ns
      1536 :    0.0 ns          /     0.0 ns
      2048 :    0.0 ns          /     0.0 ns
      3072 :    0.0 ns          /     0.0 ns
      4096 :    0.0 ns          /     0.0 ns
      6144 :    0.0 ns          /     0.0 ns
      8192 :    0.0 ns          /     0.0 ns
     12288 :    0.0 ns          /     0.0 ns
     16384 :    0.0 ns          /     0.0 ns
     24576 :    0.0 ns          /     0.0 ns
     32768 :    0.0 ns          /     0.0 ns
     49152 :    0.0 ns          /     0.0 ns
     65536 :    4.1 ns          /     6.1 ns
     98304 :    4.0 ns          /     6.1 ns
    131072 :    6.1 ns          /     8.0 ns
    196608 :    6.1 ns          /     8.0 ns
    262144 :   10.7 ns          /    13.6 ns
    393216 :   10.7 ns          /    13.6 ns
    524288 :   13.2 ns          /    16.1 ns
    786432 :   13.2 ns          /    16.1 ns
   1048576 :   22.4 ns          /    22.5 ns
   1572864 :   22.2 ns          /    24.8 ns
   2097152 :   93.2 ns          /   116.1 ns
   3145728 :   93.1 ns          /   115.4 ns
   4194304 :  123.7 ns          /   147.0 ns
   6291456 :  121.9 ns          /   145.3 ns
....

But as you notice in the figures the latencies don't actually change from the previous full 2^n figure.
Looking at the code in random_read_test I see that you limit the access pattern to a given memory range by simply masking the randomized index with a defined address mask. I of course changed the parameters as above to be able to pass the proper testsize instead of just nbits.
The resulting behaviour should theoretically work but obviously it seems I'm missing something as it doesn't work. As far as I see this shouldn't be an issue of the LCG (I hope). Do you have any input into my modifications or any feedback on other methods to change your random_read_test into accepting test sizes other than 2^n?

Well, I could have a look if you provided a compilable test branch with this code. Using arbitrary sizes may require rescaling the offset via multiplication rather than masking out the higher bits.
There is just one potential problem with making the implementation more complex. We want to ensure that all the temporary variables from the inner loop are always allocated in CPU registers. If there are any spills to stack, then we need to implement this code in assembly (just like it is done for 32-bit ARM).


Added winID to fix second windows in OGRE2.2

Signed-off-by: ahcorde<EMAIL_ADDRESS>🦟 Bug fix
Summary
Fix https://github.com/ignitionrobotics/ign-gui/issues/291
Requires a PR in ign-rendering6
Checklist

[ ] Signed all commits for DCO
[ ] Added tests
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge

hmm with this change and ignitionrobotics/ign-rendering#436, I get an empty render window and then a crash on render.
I'm on Ubuntu bionic with Qt 5.9.5

you probably used a world with the Gazebo Scene3D here it's the fix https://github.com/ignitionrobotics/ign-gazebo/pull/1063

Issue fixed here for me with this branch.

Actually there's no harm in merging this before an ign-rendering release, so I'll just merge it to check it off


Collaborate with Snapdrop?

Would it be possible (or useful) to collaborate/merge with Snapdrop?
https://github.com/tanujnotes/Snapdrop

That is not the goal of this project.


Coldcard taproot integration

Based on what we were saying earlier, it should now (or soon) be possible to integrate Taproot using Coldcard.
Feel free to add details and/or discuss.

do we have a firmware for test? @kloaec

Their public Edge release should support unspendable internal key as we do them: https://github.com/Coldcard/firmware/blob/new_edge/docs/taproot.md.
On Monday, July 8th, 2024 at 6:29 PM, pythcoiner @.***> wrote:

do we have a firmware for test? @.***(https://github.com/kloaec)
—
Reply to this email directly, view it on GitHub, or unsubscribe.


while(defined (my $var = readdir(DIR)))) generates incorrect code

while(defined (my $var = readdir(DIR)))) generates incorrect code.  The generated code contains is None is None.

Fixed in v0.981


Correction for raw affiliation Sorbonné Universite,CNRS, LIP6,Paris,France

Correction needed for raw affiliation Sorbonné Universite,CNRS, LIP6,Paris,France
raw_affiliation_name: Sorbonné Universite,CNRS, LIP6,Paris,France
new_rors: 02feahw73;05krcen59
previous_rors: 02feahw73
works_examples: W4390944829
contact: 2c9c8d3684777d2c383c1ba3dff579b2:f16e4ded011f4ece29f03be9fe @ sorbonne-universite.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-01. The new affiliations should be visible within the next 7 days.


GetCookies sometimes fails on chromedriver

It seems that when using ChromeDriver (and perhaps other drivers), sometimes the value returned for the cookie's expiry field doesn't deserialize as a uint.
For example:
[
  {
    "domain":".typeform.com",
    "expiry":1475462515.303742,
    "httpOnly":false,
    "name":"__insp_slim",
    "path":"/",
    "secure":false,
    "value":"1443926515303"
},
...
]

Notice how the expiry field has a period followed by a bunch of digits. I'm guessing this is fractions of a second?
I changed the type of Expiry to interface{} in my fork to fix the immediate issue. Maybe there is a way to detect this & handle it better though.

Thanks for reporting this. It looks like we might need to use (*encoding/json.Decoder).UseNumber and the interface{} type to ensure that precision is retained. If anyone would be willing to submit a PR for this, I would greatly appreciate it.

I'm happy to make the changes, but this looks like it will break the API. Is that cool?

Fine with me. Thank you!


When exporting to eps file, "tiles" appear in figure, causing distortions and overlapping

Hi all,
The quality and size of the figure I want to export is fine, but there appears to be "tiles" that cause distortions in my pdf file.
Here's what i'm talking about:

You'll see that many dots are "cut" by awkward lines near the middle of the figure.  i'm using
export_fig( 'figure1.pdf' , '-nocrop' )
Is there any way to fix the awkward lines?
Thanks

This is not export_fig's fault but something due to an internal renderer/Matlab bug.
Try to use the opengl renderer, or a different resolution (-r...), or simply try saveas(gcf,'figure1.pdf').


Wrap live-viewers and subscriber-count into spans

Use-case: occasional desire to not bloat vision with pointless numbers and judge content on its own merit.
Wrapping them into spans with classes drastically simplifies it.
Alternatively this can be implemented as option in user settings, if people need it.

Fair enough! Thanks :+1:


Fixes inputRange on headerStyleInterpolator

Fixes #2864.
Difference should be calculated by two values it needs to fit between. It was previously calculated from largest and smallest numbers, not considering the middle number.
Tested on iOS and Android.

Thanks @davepack 🙏


AWS-Bridge connection

same way i have to install every thing once it is completed than i did run but i got error
error is :
Starting MQTT-to-Kinesis bridge
Bridge Connected, looping...
Traceback (most recent call last):
File "bridge.py", line 140, in
bridge.client.loop_forever()
File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 1469, in loop_forever
self.reconnect()
File "/usr/local/lib/python2.7/dist-packages/paho/mqtt/client.py", line 895, in reconnect
sock = socket.create_connection((self._host, self._port), source_address=(self._bind_address, 0))
File "/usr/lib/python2.7/socket.py", line 575, in create_connection
raise err
socket.gaierror: [Errno -5] No address associated with hostname
can you please solve my problem

This looks like you did not run the local mosquitto broker.


partition_info ordering and partition ordering

In dask dataframes, the partitions should be ordered so that the hipscat index increases between them. In some methods such as polygon and cone filtering, the partitions are ordered by the partition_info of the filtered hipscat catalog. Currently, the hipscat catalog filtering generates the partition_info from the pixel tree, so the partitions are in the correct order. However, in newly imported catalogs the partition_info is sorted first by order then by pixel number. These are inconsistent, and could cause issues in assuming ordering if we make any changes.

It may be related to https://github.com/astronomy-commons/hipscat/issues/163 and https://github.com/astronomy-commons/hipscat/pull/168

@smcguire-cmu - Can you confirm that you're seeing this kind of inconsistent behavior in the wild?
We're sorting the the pixels by nested healpix ordering during the dataframe catalog loading process, and I'm not able to create a failing unit test to start development off of.
https://github.com/astronomy-commons/lsdb/blob/main/src/lsdb/loaders/dataframe/dataframe_catalog_loader.py#L140


Environment variables not working in monorepo

My env variables are not set when I deploy to a monorepo. The same code works fine in a simple repo. I use sst@v3.
not working:
    const project = new vercel.Project('Project', {
      name: 'test-sst-env',
      framework: 'nextjs',
      rootDirectory: 'apps/web',
      environments: [{
        key: "BAR",
        value: "foo",
        targets: ["preview", "production"]
      }]
    })

    const dir = vercel.getProjectDirectoryOutput({
      path: process.cwd(),
    })
    new vercel.Deployment('Deployment', {
      projectId: project.id,
      files: dir.files,
      production: true,
      pathPrefix: dir.path,
      environment: {
        FOO: 'bar', // not working!
      },
    })

working as expected:
    const project = new vercel.Project("Project", {
      name: "test-sst",
      framework: "nextjs",
      environments: [{
        key: "BAR",
        value: "foo",
        targets: ["preview", "production"]
      }]
    })

    const dir = vercel.getProjectDirectoryOutput({
      path: process.cwd(),
    })

    new vercel.Deployment("Deployment", {
      projectId: project.id,
      files: dir.files,
      pathPrefix: dir.path,
      production: true,
      environment: {
        FOO: "bar"
      }
    })

Step to reproduce:

npx create-turbo@latest --exemple with-tailwind
npx sst init && sst install vercel
copy code to sst.config.ts
add .sst to .vercelignore otherwise it juste hangs forever.
you can add console.log(process.env) to apps/web/src/app/layout.tsx
set your env and run npx sst deploy
check your build logs to see the env

My bad, it was because of turborepo strict mode

My bad, it was because of turborepo strict mode


Include more details about how you keep your startup times so fast

I'm very impressed with your startup times. It would be excellent to have some further description of how in the readme, if you'd so oblige

I'll do it! :)

AltLayer Airdrop Season One Update

🚀 Exciting Announcement! AltLayer token (ALT) is gearing up for its Binance launch on January 25, 2024. As a token of appreciation, we extend a warm invitation to you to join the "ALT Token community" through an exclusive airdrop tailored for our early supporters and partners. Here's a quick overview:

Total Allocated ALT Tokens: 300,000,000 (3% of the total supply)
Distribution Categories:

Ethereum Mainnet
Binance Mainnet

For a comprehensive breakdown of criteria and further details, refer to the complete announcement Oficial Website.
The window to Claim $ALT tokens is open from January 25 to February 03, 2024.
Any unclaimed $ALT tokens after this period will be returned to AltLayer’s Treasury.
We deeply appreciate your contribution to AltLayer's success! Stay tuned for more exciting developments in Season One.
Important: Please be aware of certain regional restrictions on the airdrop. Review the disclaimer before participating.
py7hon, @zhengfc, @WakerD, @manishkk, @sabhishek, @SabiAmeno, @jonatan2m, @kwunyeung, @CosminNechifor, @rdsedmundo, @edityomurti, @hello2dj, @andantonyan, @bluesalt, @whfuyn, @jacobmischka, @karthiksuk, @ie925155, @akngs, @donald99


Query: remove m1_via_point/m1_start_point/m1_stricken_area/m1_time_map from queriable layers

Module 1 sometimes create dummy layers for m1_via_point/m1_start_point/m1_stricken_area, which in turn creates empty gpkg files in the geoserver_data_dir, and this results in error when query module is trying to load these gpkgs as queryable layers.

Module 1 sometimes create dummy layers for m1_via_point/m1_start_point/m1_stricken_area, which in turn creates empty gpkg files in the geoserver_data_dir, and this results in error when query module is trying to load these gpkgs as queryable layers.

Isn't it solved by restricting the query module to access PERMANENT mapset layers only?
Anyway, creating broken files is probably not a good idea...

P.S. Dummy layers are created by the "set resolution" module.


Speed up SQLite.

This speeds up SQLite operations considerably.

Done with this round of review.

LGTM, leaving those last things to your discretion, no need to review them separately.


nixos/acme: adjust renewal timer options

Motivation for this change
The current weekly setting causes every NixOS server to try to renew its certificate at midnight on the dot on Monday. This contributes to the general problem of periodic load spikes for Let's Encrypt; NixOS is probably not a major contributor to that problem, but we can lead by example by picking good defaults here.
The values here were chosen after consulting with @yuriks, an SRE at Let's Encrypt:

Randomize the time certificates are renewed within a 24 hour period.

Check for renewal every 24 hours, to ensure the certificate is always renewed before an expiry notice is sent out.

Increase the AccuracySec (thus lowering the accuracy(!)), so that systemd can coalesce the renewal with other timers being run.
(You might be worried that this would defeat the purpose of the time skewing, but systemd is documented as avoiding this by picking a random time.)

For more information justifying these changes, see the following documents:

https://letsencrypt.org/docs/integration-guide/
https://github.com/https-dev/docs/blob/master/acme-ops.md

I also added trivial commits to expose the --must-staple option and allow users to specify additional custom renewal options, as free goodies to encourage merging :p
I've tested these changes on my server, and everything seems fine, but I'm just one person; please do look over this carefully!
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

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] 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)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc @m1cr0man

Confirmed that this still passes the acme tests for me.

@emilazy I like how the first commit is nice and clean, simple, documented, and will be easy to test + validate. I like how in your backport you only include this commit. Thanks for doing the research and reaching out to the Let's Encrypt team!
I think it will be pretty easy to have the collective of relevant committers agree to merge the first commit. The other 2 commits might require some more discussion, and could potentially hold this PR up, which would hold up the backport PR. Given the stage we're at I might recommend splitting this PR up. Just a recommendation.

The first two look good to me! I probably need this on my own setup with the 28 certs I'm trying to validate there, to avoid rate limits :stuck_out_tongue:
As for the additionalLegoRenewFlags, I actually had something similar (extraFlags) before I made the PR for lego (#77578, actually it was here) . I removed it because I felt it was too solution specific, and if we were to change acme clients again, this flag would have to be deprecated. With the other options like mustStaple and dnsPropagationCheck, at least if the next client has those features we can rewrite the arguments, but if people have random extra arguments then we can only break their configuration.
I am not against the idea either, for power users there is certainly desire to allow for custom flags to the service, but they run the above risk of it breaking some day. Would love to hear some other opinions on the matter. :slightly_smiling_face:

Updated to split out the Must-Staple/extra flags commits into #80900, and also divide the 24h AccuracySec by the number of certificates, so that if you do have, say, 28 certificates, the renew requests don't all get coalesced into the same time.

An explanation for the AccuracySec change, in case you find the timers as confusing as I do:
17:35 <m1cr0m4n> Hey emilazy are you about? Just wanted to ask about
the maths on AccuracySec. If I understand this correctly, does lowering
the value for more certs not mean that they will run closer to the
same time, rather than more spread out throughout a day?
17:35 <emily> m1cr0m4n: no: the larger AccuracySec is, the larger
the allowed skew
17:35 <emily> it's a really confusing name, but check the systemd.timer
manpage
17:35 <emily> AccuracySec = 1s means "the time must be accurate to
within 1s of what is specified"
17:36 <emily> AccuracySec = 24h means "the time can vary within a
24h period of what's determined"
17:36 <m1cr0m4n> Right but, in this situation do you actually want
to make it more accurate? I don't fully understand why you would
17:36 <emily> so if you have 3 certs, it'll pick 3 random times of
the day, and then coalesce them within 8h periods
17:36 <emily> m1cr0m4n: let's say you have 100 certificates that all
expire around the same time: hammering let's encrypt for all 100 of
them at once is bad
17:36 <emily> doing it 100 separate times throughout the day is better
17:37 <emily> they'll still potentially coalesce statistically due
to the random placement
17:37 <emily> but basically we want to coalesce with other periodic
timers for power management reasons, but not coalesce with other acme
renewals for load management reasons
17:37 <emily> (yuriks suggested this approach fwiw)
17:37 <m1cr0m4n> yes I agree! I just don't get how that is happening
here. The math is diving 24h by the number of certs, so you're gonna
have like 24h/100 = < an 15 mins AccuracySec between certs.
17:38 <emily> so, the cert renewal checks are initially set to run
"daily", which means at midnight. If we didn't do any AccuracySec
or skewing, it would renew all 100 at midnight. adding the 24h skew
means that all 100 will be renewed at random times throughout the day
17:38 <emily> adding AccuracySec = 24h means that it'll notice
that all of these renewal timers are within the same 24h period,
and coalesce them
17:38 <emily> thus defeating the skew (it's still skewed relative to
other NixOS systems, but the certs themselves don't get skewed)
17:39 <emily> dividing 24h by the number of certs means that we
"bucket" them approximately according to the number of certs
17:40 <m1cr0m4n> Ok yeah..I think I understand :P Sorry, very confusing
time maths
17:41 <emily> I totally agree
17:41 <emily> mind if I post this log to the PR to help others?
17:41 <m1cr0m4n> Fire away! :)

At least we have a good chunk of people who are interested in this module now. I'm happy to set up some brainstorming session (Perhaps we can create an IRC channel; #nixos-acme) to think how we can tame this code a bit.

Leave it. I'm also not convinced that assert will live forever
On Mon, Feb 24, 2020, 16:40 Emily<EMAIL_ADDRESS>wrote:

@emilazy commented on this pull request.
In nixos/modules/security/acme.nix
https://github.com/NixOS/nixpkgs/pull/80856#discussion_r383340084:

@@ -399,7 +399,17 @@ in
systemd.tmpfiles.rules =
map (data: "d ${data.webroot}/.well-known/acme-challenge - ${data.user} ${data.group}") (filter (data: data.webroot != null) (attrValues cfg.certs));

 systemd.timers = flip mapAttrs' cfg.certs (cert: data: nameValuePair

 systemd.timers = let

   # Allow systemd to pick a convenient time within the day

   # to run the check.

   # This allows the coalescing of multiple timer jobs.

   # We divide by the number of certificates so that if you

   # have many certificates, the renewals are distributed over

   # the course of the day to avoid rate limits.

   numCerts = length (attrNames cfg.certs);

   _24hSecs = 60 * 60 * 24;

   AccuracySec = if numCerts == 0 then null else "${toString (builtins.div _24hSecs numCerts)}s";

Makes sense; I was just defensively avoiding the division by zero, though
I suppose with lazy evaluation there's not really much point. I can adjust
this if you'd prefer, though I'm not entirely convinced that that assert
will last forever :)
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/pull/80856?email_source=notifications&email_token=AAEZNI44A5REZ6XKUGTWPKDREPS5FA5CNFSM4KZWVUP2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCWVFI6I#discussion_r383340084,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEZNIYGBM7IL3SCTP6SR3LREPS5FANCNFSM4KZWVUPQ
.

@GrahamcOfBorg test acme

@GrahamcOfBorg build nixosTests.acme

Passes nixosTests.acme and works as expected locally! :)
@aanderse Now that numCerts == 0 condition is out, is this good to merge?

EDIT: has someone addressed the test failure? I thought there was a conversation about that...

Doesn't fail locally; https://github.com/NixOS/nixpkgs/pull/80856/checks?check_run_id=476781247 also passes. https://github.com/NixOS/nixpkgs/pull/80856/checks?check_run_id=476784925 does fail. Looks like a race condition? Don't think that it's introduced by this PR.

I thought @m1cr0man and @arianvp had some insight into the failed test... or maybe it was @flokli?

This is a very nice change with well substantiated evidence for improvement. Backport is fine with me.

I thought @m1cr0man and @arianvp had some insight into the failed test... or maybe it was @flokli?

No, I mostly grumbled about the acme tests (in nixpkgs) not being very understandable currently, and requiring a bit more love - no knowledge about why they might or might not be flaky.


Adding West Park

@LiamLynessWP Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Create handler CLI command

It would be nice to have a command like gazelle create handler that asks for a routeName and a httpMethod.
With this information, we could use the createHandler function and link the created handler to the routeName provided by the developer.

@ShivanshuKGupta is actively working on this.

I would be better if you assign this task to @ShivanshuKGupta

https://github.com/intales/gazelle/pull/39


Poetry installation on cluster failures

Installing poetry on the pelkmans lab cluster often fails a few times before it runs through. It looks like it tries to install too many things in parallel in an unsafe way. I often get this error message repeatedly:
  EnvCommandError

  Command ['/data/homes/jluethi/.conda/envs/fractal_38/bin/python', '/data/homes/jluethi/.conda/envs/fractal_38/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/pip-22.0.4-py3-none-any.whl/pip', 'install', '--disable-pip-version-check', '--prefix', '/data/homes/jluethi/.conda/envs/fractal_38', '--upgrade', '--no-deps', '/data/homes/jluethi/.cache/pypoetry/artifacts/cf/87/45/24f8e633ebcc443a0ed1a162549e599c21feadf70ccee78f48c5e03202/Pillow-9.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'] errored with the following return code 1, and output:
  Processing /data/homes/jluethi/.cache/pypoetry/artifacts/cf/87/45/24f8e633ebcc443a0ed1a162549e599c21feadf70ccee78f48c5e03202/Pillow-9.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  Installing collected packages: Pillow
    Attempting uninstall: Pillow
      Found existing installation: Pillow 9.1.1
      Uninstalling Pillow-9.1.1:
        Successfully uninstalled Pillow-9.1.1
  ERROR: Could not install packages due to an OSError: [Errno 16] Device or resource busy: '.nfs0000000000aa957d0000073b'

Or:
  EnvCommandError

  Command ['/data/homes/jluethi/.conda/envs/fractal_38/bin/python', '/data/homes/jluethi/.conda/envs/fractal_38/lib/python3.8/site-packages/virtualenv/seed/wheels/embed/pip-22.0.4-py3-none-any.whl/pip', 'install', '--disable-pip-version-check', '--prefix', '/data/homes/jluethi/.conda/envs/fractal_38', '--upgrade', '--no-deps', '/data/homes/jluethi/.cache/pypoetry/artifacts/cd/04/a2/ed98b78b0efb9e75d641e238d54a40a2c5d6f64adf90feba59f8d3da7d/scikit_image-0.19.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl'] errored with the following return code 1, and output:
  WARNING: Ignoring invalid distribution -illow (/net/nfs4/pelkmanslab-fileserver-jluethi/data/homes/jluethi/.conda/envs/fractal_38/lib/python3.8/site-packages)
  WARNING: Ignoring invalid distribution -ask (/net/nfs4/pelkmanslab-fileserver-jluethi/data/homes/jluethi/.conda/envs/fractal_38/lib/python3.8/site-packages)
  WARNING: Ignoring invalid distribution -illow (/net/nfs4/pelkmanslab-fileserver-jluethi/data/homes/jluethi/.conda/envs/fractal_38/lib/python3.8/site-packages)
  WARNING: Ignoring invalid distribution -ask (/net/nfs4/pelkmanslab-fileserver-jluethi/data/homes/jluethi/.conda/envs/fractal_38/lib/python3.8/site-packages)
  Processing /data/homes/jluethi/.cache/pypoetry/artifacts/cd/04/a2/ed98b78b0efb9e75d641e238d54a40a2c5d6f64adf90feba59f8d3da7d/scikit_image-0.19.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  Installing collected packages: scikit-image
    Attempting uninstall: scikit-image
      WARNING: Ignoring invalid distribution -illow (/net/nfs4/pelkmanslab-fileserver-jluethi/data/homes/jluethi/.conda/envs/fractal_38/lib/python3.8/site-packages)
      WARNING: Ignoring invalid distribution -ask (/net/nfs4/pelkmanslab-fileserver-jluethi/data/homes/jluethi/.conda/envs/fractal_38/lib/python3.8/site-packages)
      Found existing installation: scikit-image 0.19.2
      Uninstalling scikit-image-0.19.2:
        Successfully uninstalled scikit-image-0.19.2
  ERROR: Could not install packages due to an OSError: [Errno 16] Device or resource busy: '.nfs0000000000aa9a700000073c'

When I rerun, it fails for a different dependency and eventually everything passes.
This has been discussed in this issue in the past: https://github.com/python-poetry/poetry/issues/5404
Can we generally use their solution by doing poetry config installer.max-workers 1. Or is this something individual users should do depending on the location of the installation, but we want to keep the parallel installation in general?
I have not had a new environment to test the option in yet though to know whether it would do the trick, will update here when I use poetry next

I never observed this, but it's good to know.
Quick question, what version are you using (poetry --version)?
After @jacopo-exact's recent updates, I think it's best to stick with 1.2.0b2 (pip install poetry==1.2.0b2).

@tcompa I have poetry==1.2.0b2, at least that is installed now after the poetry install run.
I have observed this before, but if it's only me, then maybe that's just an option I set during installation

Ok, installed a fresh environment with poetry config installer.max-workers 1 set now. Things are a bit slower, but everything runs through. So if anyone hits this issue, it's related to nfs filesystems and using poetry config installer.max-workers 1 solves the issue :)


Notifications for "My Game" missing?

Since a few days ago, I no longer get notifications for comments on my LD40 game. If I look at the /my/notifications page, I don't have anything under "Feedback" despite a decent number of comments on my game. Some of them seem to have ended up under the general "Comments" tab, but the most recent comment seems to have completely vanished. (11 hours ago, by "jjjjason")
My username is cppchriscpp, and this is my game: https://ldjam.com/events/ludum-dare/40/fluffy-space-escape
I mentioned this in the Discord chat, and another user named "Akusan" mentioned having the same problem.

Hope this is enough info - if not feel free to ask and I'll get back to you asap. Thanks for adding the notification feature btw; it's really nice to see things I might care about at a glance.

Are these old feedbacks or new?
Thing is feedback didn't really exist in the system before. It was something I had hacked onto it on the client side while preparing the texts. So now that it does exist as a real category, those older feedbacks would be just comments. I realize it might NY have been  optimal to stop the old reclassification mid LD voting. My bad. I'll check if I can reintroduce it when doing some other fixes to the UI.

Aha, that makes sense for the older ones; for sure! It doesn't bother me too much for the ones that already existed prior to the non-hacky solution, knowing that.
The one thing that still concerns me is the most recent comment I got (~25 hours ago) didn't show up in comments or feedback. This might be a one-off issue, but does seem concerning.

The one thing that still concerns me is the most recent comment I got (~25 hours ago) didn't show up in comments or feedback. This might be a one-off issue, but does seem concerning.

I can confirm (see images included), and there's the last comment made here ( https://ldjam.com/events/ludum-dare/40/playable-hams/ludum-dare-40-has-ended-time-to-play-rate-and-give-feedback-on-games ) by 'avavt' that seems to point in the same direction. Maybe it only affects new comments on your own game?

Yes I'm noticing this for myself right now too. This was not the case on my local machine, so hopefully it's a quick fix. Will look into it now.

Think I found it now too. But I'm gonna spend a little time doing some other fixes too unless Mike is ready to do a quick merge. Basically you will only get feedback-notifications if you are not the main author at the moment... Oops.

Ah, saw #1508 and that would definitely do it. Glad you were able to find it pretty quick. (I tried to poke through a couple changes from around the time I saw the problem, but wasn't nearly familiar enough with the codebase to get there)
Thanks for jumping in with extra screenshots bremco; I didn't think to provide that level of detail - I'm usually better about that!
Thanks!

PR is merged, I have gotten feedback notification on my game so issue should be resolved.


Port part of tests from com.jakewharton.rxbinding.widget to RxJava2

This PR ports tests for widgets currently merged with rxjava-two.

RxCompoundButtonTest
RxTextViewTest
RxToolbarTest

This also fixes issues introduced in:
c02d15b73386b80e3da69489f9b1a8886b0172d1
c1f4e483b86e5e9779cd41e96954cec395ff6653
connected with initial value.


[CARBONDATA-3480] Fixed unnecessary refresh for table by removing modified mdt file

Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/134/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/133/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/128/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/144/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/139/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/145/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/154/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/149/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/153/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/175/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/169/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/173/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/180/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/178/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/174/

retest this please

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/186/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/185/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/181/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/191/

LGTM

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/194/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/188/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/192/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/203/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/197/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/201/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/209/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/203/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/207/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/210/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/215/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/213/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/216/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/211/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/214/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/227/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/222/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/225/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/233/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/231/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/228/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/229/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/234/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/232/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/239/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/237/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/241/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/242/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/240/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/238/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/243/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/241/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/239/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/245/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/243/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/241/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/262/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/258/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/259/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/263/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/260/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/259/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/273/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/269/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/271/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/279/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/276/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/275/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/292/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/288/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/288/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/312/

Build Failed  with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/308/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/308/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.1/316/

Build Success with Spark 2.3.2, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/312/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.2/312/

LGTM


Error with dependence 'node-sass-middleware'

I had to include in 'package.json' dependence 'node-sass' because when running the application in version '0.10.44' of Node throwing error reliance 'node-sass-middleware', and installing (" node-sass ":" ^ 3.6.0 "), the error is solved.
The error :
fs.js: 666
   binding.readdir return (pathModule._makeLong (path));
                  ^
Error: ENOENT, no such file or directory'/home/chrisvent/Github/hackathon-starter/node_modules/node-sass-middleware/node_modules/node-sass/vendor'

#446 Fixed In second commit

@chris-ramon Isn't node-sass installed as a dependency of node-sass-middleware? https://github.com/sass/node-sass-middleware/blob/master/package.json#L34

@sahat I think you meant @ChrisVent instead. :smiley:

Sorry! That's what you get for blindly trusting Github's autocomplete feature.


EOC: References did not come back in time - copy changes

Context
From 19 September, when the candidate visits their dashboard, they see a banner if their references were not completed in time.
This banner remains until the user starts a new application (from the interstitial page).
When the candidate clicks ‘Apply again’ from the dashboard banner they see an interstitial page, the copy of which differs depending whether we are between cycles or not, and if Find is closed / open.
Changes proposed in this pull request
Update copy in the banner

Update interstitial pages
Start carry over interstitial page (within cycle)

Start carry over page (between cycles, Find open)

Start carry over page (between cycles, Find closed)

Guidance to review
Give me a yell if you me want to walk through this.

Fired up the app locally and changed cycle to ‘mid cycle’
Created a new application with two references
Change cycle to ‘Apply 2 deadline has passed’
Go back to application dashboard. A banner should appear. The link that is there (continue your application) should take you to /candidate/application/start-carry-over.

Link to Trello card
https://trello.com/c/KUyyYMxJ/2132-🚲🔚-references-didnt-come-back-in-time-🏈
Things to check

[x] This code does not rely on migrations in the same Pull Request
[ ] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[ ] API release notes have been updated if necessary
[ ] New environment variables have been added to the Azure config

Woops forgot to update the interstitial page  - doing this now

thanks @TobyRet
I think the intention with this banner - just comparing to the screenshot here with the Trello card - was to remove the heading 'Do you want to continue applying?' - and the content underneath should be bold
you agree @adamsilver ?

also, looking at it now in context, I think we should state that courses are closed:
Courses for the 2020 to 2021 academic year are now closed
Your references did not come back in time, but you can [apply again](link to interstitial).
you agree @adamsilver ?

thanks @TobyRet
I think the intention with this banner - just comparing to the screenshot here with the Trello card - was to remove the heading 'Do you want to continue applying?'
you agree @adamsilver ?

I've dated the banner

also @TobyRet , looking at it now in context, I think we should state that courses are closed:
Courses for the 2020 to 2021 academic year are now closed
Your references did not come back in time, but you can [apply again](link to interstitial).
you agree @adamsilver ?

Updated banner @EmmaFrith @adamsilver

hey @TobyRet - I'm a bit confused by the page you've called 'Start carry over interstitial page (within cycle)'

this shouldn't exist now as far as I can see!

this scenario is just people people who didn't get their references by the 18 September, so in theory there doesn't need to be an interstitial for 'within cycle'

the 'Start carry over page (between cycles)' is relevant until a candidate starts a new application, whether it's between cycles or later on next year

chat tomorrow?


python311Packages.pyprusalink: 2.0.0 -> 2.0.1

Diff: https://github.com/home-assistant-libs/pyprusalink/compare/refs/tags/2.0.0...2.0.1
Changelog: https://github.com/home-assistant-libs/pyprusalink/releases/tag/2.0.1
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 282014 run on x86_64-linux 1

3 packages built:

home-assistant-component-tests.prusalink
python311Packages.pyprusalink
python311Packages.pyprusalink.dist

Result of nixpkgs-review pr 282014 run on aarch64-darwin 1

2 packages built:

python311Packages.pyprusalink
python311Packages.pyprusalink.dist


TestRenameCollectionCompat is fluky

What should be done?

https://github.com/FerretDB/FerretDB/actions/runs/6262515571/job/17004858668?pr=3407
https://github.com/FerretDB/FerretDB/actions/runs/6271012235/job/17029850391?pr=3411 (different test)
https://github.com/FerretDB/FerretDB/actions/runs/6301692434/job/17107283075?pr=3430
https://github.com/FerretDB/FerretDB/actions/runs/6416041905/job/17419012857?pr=3496

We should either fix the test or our code.
Where?
Integration tests, SQLite backend.
Definition of Done
Test or code fixed.

See also https://ferretdb.slack.com/archives/C02NWN1K3MJ/p1695984191528039.


Specifications of 500 random experiments

Hi,
Can you please share the specifications of TCAV hyposthesis testing ?. Some information like number of workers used, type of GPU and run time will be really helpful.

Hey Shan.
On the paper, we used 500 random experiments, with around 200 examples per concept.
As for the run time information, this colab provides some good starting points. The public interpretation of TCAV runs on the cpu and does not require GPU usage or complex distributed data pipelines

Closing per also-a-brain-known-as-ralph answers.


Endpoints: allow filtering by native asset in Liquidity Pools

Small update to asset type
Add native asset filter to Liquidity Pools endpoint

Preview is available here:http://laboratory-pr618.previews.kube001.services.stellar-ops.com/

Preview is available here:http://laboratory-pr618.previews.kube001.services.stellar-ops.com/


Note for C++ function tracing preventing error

Hi
One of my partner brought a question with error when they trace function with "::" from application written c++. In this case c++ use :: key word and made it corrupt and I found a good tip and I think it would be great to be in public, so I brought this change. I put it in PID section as there are lots of c++ inbox and 3rd party applications to debug.
This is also requested by customer who brought this question and they want this information to be public for them ,their partners and windows eco-system as well.
Please review it

Great!! Thanks and I will delete  kijokim76:patch-2 branch.


files in /etc/static get garbage-collected, even though they probably shouldn't

Issue description
After a recent switch, some files inside /etc/NetworkManager/VPN/ started symlinking (through /etc/static/NetworkManager/VPN/…) to files not existent in the nix store anymore, most likely because they were garbage collected:
find /etc/static/NetworkManager/VPN -type l -exec file {} \;
/etc/static/NetworkManager/VPN/nm-openvpn-service.name: broken symbolic link to /nix/store/hsvjdxyr90bwvmjvawafd0c6q7604iss-NetworkManager-openvpn-gnome-1.8.4/etc/NetworkManager/VPN/nm-openvpn-service.name
/etc/static/NetworkManager/VPN/nm-vpnc-service.name: broken symbolic link to /nix/store/xqsanh503q996ik102y1xcqcpzmkc854-NetworkManager-vpnc-gnome-1.2.6/etc/NetworkManager/VPN/nm-vpnc-service.name
/etc/static/NetworkManager/VPN/nm-openconnect-service.name: symbolic link to /nix/store/j8niwal0f9ds8h3sgjqnalg3a5gq85w2-NetworkManager-openconnect-gnome-1.2.4/etc/NetworkManager/VPN/nm-openconnect-service.name
/etc/static/NetworkManager/VPN/nm-fortisslvpn-service.name: broken symbolic link to /nix/store/kl67br5c1sl7gclx7z8vrnrj6dzs88hi-NetworkManager-fortisslvpn-gnome-1.2.8/etc/NetworkManager/VPN/nm-fortisslvpn-service.name
/etc/static/NetworkManager/VPN/nm-l2tp-service.name: broken symbolic link to /nix/store/xh3rdjxi2vy8g6j35n0izql7ywpfr974-NetworkManager-l2tp-gnome-1.2.10/etc/NetworkManager/VPN/nm-l2tp-service.name
/etc/static/NetworkManager/VPN/nm-strongswan-service.name: broken symbolic link to /nix/store/c6x2ri8vwls9f3npa6xwsdfrca836w4h-NetworkManager-strongswan-1.4.4/etc/NetworkManager/VPN/nm-strongswan-service.name
/etc/static/NetworkManager/VPN/nm-iodine-service.name: broken symbolic link to /nix/store/gkd0x1lqlyhsm6hhknclh020v51vs2zg-NetworkManager-iodine-gnome-1.2.0/etc/NetworkManager/VPN/nm-iodine-service.name

This causes VPN connections to fail to establish, for vpnc for example with the following error message:
Error: Connection activation failed: The VPN service 'org.freedesktop.NetworkManager.vpnc' was not installed
Funny thing, nm-openconnect-service.name pointing to /nix/store/j8niwal0f9ds8h3sgjqnalg3a5gq85w2-NetworkManager-openconnect-gnome-1.2.4/etc/NetworkManager/VPN/nm-openconnect-service.name was not garbage collected.
Steps to reproduce
Unsure, configuration (stripped) looks like this:
services.xserver.enable = true;
services.xserver.desktopManager.gnome3.enable = true;
services.xserver.windowManager.default = "i3";
services.xserver.windowManager.i3.enable = true;
networking.networkmanager.enable =true;
nix.gc = {
        automatic = true;
        dates = "weekly";
        options = "--delete-older-than 7d";
};

…and me sometimes gc'ing manually via nix-collect-garbage -d.
Technical details
 - system: `"x86_64-linux"`
 - host os: `Linux 4.18.5, NixOS, 18.09.git.ef1f498 (Jellyfish)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.0.4`
 - channels(root): `"home-manager, nixos-18.09pre145524.2a8a5533d18"`
 - channels(flokli): `"nixpkgs-18.09pre149508.5cb9703a8fa"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

After a closer look, turns out, the derivations existed, but the files inside not. So the problem is not too exhaustive GC, but #46197.


idea: Pick random committers to review PRs

Hello, I'm looking to create a script that automatically selects random reviewers for pull requests. This way, I won't have to manually assign PRs to @PsiACE or @suyanhanx every time.
I don't want to impose any unnecessary burden on our committers, so I plan to make it an opt-in decision.
If you're interested in reviewing PRs outside of your own code, please leave a comment on this issue. I'll add you to the candidate list. Or, leave a reject comment if you feel like the whole thing is a bad idea.
We will select two additional committers in addition to the current code owner.
NOTE:

Feel free to skip or ignore PR review requests if you're busy; it's not a strict commitment.
Feel free to exit if you feel like you have assigned too much PRs to review.

cc all @apache/opendal-committers

I am interested in reviewing the PRs, please add me to the candidate list :=)

I also interested in it. Please include me in the list. Thanks.

I'm already a CODEOWNER of the Java binding, and I'll oversee the code I write and check PRs occasionally proactively.
Please do not send extra notifications to me.

On holiday and vacant now. Glad to help if needed.

🙋♂ add me in, I'd like to help when I am free

I also interested in it, please add me to the list. Thanks!

carry me pls.

Please add me to the list. Glad to help if needed.


chore: get rid of commitizen

No one on the team is using this and the adaptor we're using proved to
be suboptimal. We might consider this again once we develop a good
Commitizen adapter integrated more closely with Versionist.
Signed-off-by: Juan Cruz Viotti<EMAIL_ADDRESS>

No one on the team is using this

I tried using it once ;-)  https://github.com/resin-io/etcher/pull/777#issuecomment-256514312


Swap table and network around

Move network below table.
Then network shows up after filtering.

Done @wrvhage


Compilation of Bears and Bugs.jar

Hi @nus-apr,
In the context of another project, I've been struggling to compile bugs directly from the Bears benchmark and from the Bugs.jar benchmark, mostly because nonessential build steps (e.g., license checks by Apache RAT or documentation generation by Javadoc) fail.
I've just looked at your Bears.py and BugsDotJar.py, and it seems that you compile/build bugs with just
mvn compile -DskipTests

Is Cerberus really able to successfully compile all bugs from those two benchmarks? (I'm aware that support to the Bugs.jar benchmark is not yet fully implemented.)
So far, the best set of maven flags that have allowed me to compile most (if not all) bugs is:
mvn clean install -DskipTests -DskipUTs=true -DskipITs=true \
  -V -B -U -Dhttps.protocols=TLSv1.2 \
  -Denforcer.skip=true \
  -Dcheckstyle.skip=true \
  -Dcobertura.skip=true \
  -Djacoco.skip=true \
  -Drat.skip=true \
  -Drat.ignoreErrors=true \
  -Drat.numUnapprovedLicenses=1000000 \
  -Dlicense.skip=true \
  -Dfindbugs.skip=true \
  -Dgpg.skip=true \
  -Dskip.npm=true \
  -Dskip.gulp=true \
  -Dskip.bower=true \
  -Dbaseline.skip=true \
  -Dmaven.javadoc.skip=true

Hi @jose,
Both benchmarks are in an experimental state with less support for Bugs.jar. It is known that Bears has some issues with reproducability. Furthermore, increasing support for the benchmarks is on our roadmap but is not a priority now. If you think your project can benefit from integrating with Cerberus, we are happy to merge a PR :smile: to help the community. :smile: