BUG: FSolve gives index out of bounds error when using numpy.fft.ifft2 inside objective function

Describe your issue.
I am attempting to solve the Cahn-Hilliard equation  using a simple implicit Euler solver. I am trying to do this using spectral methods which makes the objective function for this a bit ugly. I am needing to have multiple fft2 evaluations within the objective function and fsolve doesn't seem too happy with it.
I have an explicit solution working that I can provide for reference, but I was hoping to get an implicit code working for comparison.
Reproducing Code Example
import numpy as np
import numpy.fft as fft
from scipy.optimize import fsolve
import matplotlib.pyplot as plt
import sys

# Define the parameters
L = 100 # domain length
N = 64 # number of grid points
dx = L/N # grid spacing
kappa = 1.0 # mobility
ti = 0.0
tf = 1000.0 # total simulation time
nsteps = 5000 # number of time steps
dt = (tf - ti) / nsteps

# Define the grid
x = np.linspace(0, L-dx, N)
k = fft.fftfreq(N, d=dx/(2*np.pi))
kx, ky = np.meshgrid(k, k)
k2 = kx**2 + ky**2
k4 = k2**2

# Define the initial condition
np.random.seed(1234)
phi = np.random.normal(0, 0.1, (N,N))

#Objective function for implicit solve
def rhs(x, y, fdt):
        realx = fft.ifft2(x).real
        return y + fdt * (-k2 * fft.fft2(-realx + realx**3) - kappa * k4 * x) - x

# Solve the Cahn-Hilliard equation using spectral methods
ttotal = 0.0
for i in range(nsteps):
    #Ensure final time is reached
    if i == nsteps - 1:
        dt = tf - ttotal

    #Get fourier space solution
    phi_hat = fft.fft2(phi)
    #Implicit Euler step
    phi_hat_new = fsolve(rhs, phi_hat, args=(phi_hat, dt))

    #Update
    phi = fft.ifft2(phi_hat_new).real
    ttotal += dt

fig, ax = plt.subplots()
ax.imshow(phi, cmap='gray')
plt.show()

Error message
Traceback (most recent call last):
  File "/home/bburnett/Documents/research-spring2023/cahn-hilliard/experiment/imp_euler.py", line 45, in <module>
    phi_hat_new = fsolve(rhs, phi_hat, args=(phi_hat, dt))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bburnett/Documents/research-spring2023/spring2023/lib64/python3.11/site-packages/scipy/optimize/_minpack_py.py", line 163, in fsolve
    res = _root_hybr(func, x0, args, jac=fprime, **options)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bburnett/Documents/research-spring2023/spring2023/lib64/python3.11/site-packages/scipy/optimize/_minpack_py.py", line 229, in _root_hybr
    shape, dtype = _check_func('fsolve', 'func', func, x0, args, n, (n,))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bburnett/Documents/research-spring2023/spring2023/lib64/python3.11/site-packages/scipy/optimize/_minpack_py.py", line 26, in _check_func
    res = atleast_1d(thefunc(*((x0[:numinputs],) + args)))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bburnett/Documents/research-spring2023/cahn-hilliard/experiment/imp_euler.py", line 32, in rhs
    realx = fft.ifft2(x).real
            ^^^^^^^^^^^^
  File "<__array_function__ internals>", line 200, in ifft2
  File "/home/bburnett/Documents/research-spring2023/spring2023/lib64/python3.11/site-packages/numpy/fft/_pocketfft.py", line 1107, in ifft2
    return _raw_fftnd(a, s, axes, ifft, norm)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bburnett/Documents/research-spring2023/spring2023/lib64/python3.11/site-packages/numpy/fft/_pocketfft.py", line 703, in _raw_fftnd
    s, axes = _cook_nd_args(a, s, axes)
              ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bburnett/Documents/research-spring2023/spring2023/lib64/python3.11/site-packages/numpy/fft/_pocketfft.py", line 688, in _cook_nd_args
    s = take(a.shape, axes)
        ^^^^^^^^^^^^^^^^^^^
  File "<__array_function__ internals>", line 200, in take
  File "/home/bburnett/Documents/research-spring2023/spring2023/lib64/python3.11/site-packages/numpy/core/fromnumeric.py", line 190, in take
    return _wrapfunc(a, 'take', indices, axis=axis, out=out, mode=mode)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bburnett/Documents/research-spring2023/spring2023/lib64/python3.11/site-packages/numpy/core/fromnumeric.py", line 54, in _wrapfunc
    return _wrapit(obj, method, *args, **kwds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/bburnett/Documents/research-spring2023/spring2023/lib64/python3.11/site-packages/numpy/core/fromnumeric.py", line 43, in _wrapit
    result = getattr(asarray(obj), method)(*args, **kwds)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
IndexError: index -2 is out of bounds for axis 0 with size 1

SciPy/NumPy/Python version and system information
>>> import sys, scipy, numpy; print(scipy.__version__, numpy.__version__, sys.version_info); scipy.show_config()
1.10.1 1.24.2 sys.version_info(major=3, minor=11, micro=2, releaselevel='final', serial=0)
/home/bburnett/Documents/research-spring2023/spring2023/lib64/python3.11/site-packages/scipy/__config__.py:140: UserWarning: Install `pyyaml` for better output
  warnings.warn("Install `pyyaml` for better output", stacklevel=1)
{
  "Compilers": {
    "c": {
      "name": "gcc",
      "linker": "ld.bfd",
      "version": "10.2.1",
      "commands": "cc"
    },
    "cython": {
      "name": "cython",
      "linker": "cython",
      "version": "0.29.33",
      "commands": "cython"
    },
    "c++": {
      "name": "gcc",
      "linker": "ld.bfd",
      "version": "10.2.1",
      "commands": "c++"
    },
    "fortran": {
      "name": "gcc",
      "linker": "ld.bfd",
      "version": "10.2.1",
      "commands": "gfortran"
    },
    "pythran": {
      "version": "0.12.1",
      "include directory": "/tmp/pip-build-env-9ehqkjz3/overlay/lib/python3.11/site-packages/pythran"
    }
  },
  "Machine Information": {
    "host": {
      "cpu": "x86_64",
      "family": "x86_64",
      "endian": "little",
      "system": "linux"
    },
    "build": {
      "cpu": "x86_64",
      "family": "x86_64",
      "endian": "little",
      "system": "linux"
    },
    "cross-compiled": false
  },
  "Build Dependencies": {
    "blas": {
      "name": "OpenBLAS",
      "found": true,
      "version": "0.3.18",
      "detection method": "cmake",
      "include directory": "unknown",
      "lib directory": "unknown",
      "openblas configuration": "unknown",
      "pc file directory": "unknown"
    },
    "lapack": {
      "name": "OpenBLAS",
      "found": true,
      "version": "0.3.18",
      "detection method": "cmake",
      "include directory": "unknown",
      "lib directory": "unknown",
      "openblas configuration": "unknown",
      "pc file directory": "unknown"
    }
  },
  "Python Information": {
    "path": "/opt/python/cp311-cp311/bin/python",
    "version": "3.11"
  }
}

fsolve / root solve vector functions so you have to reshape x to be the 2d array you are expecting:
import numpy as np
import numpy.fft as fft
from scipy.optimize import root
import matplotlib.pyplot as plt
import sys

# Define the parameters
L = 100 # domain length
N = 64 # number of grid points
dx = L/N # grid spacing
kappa = 1.0 # mobility
ti = 0.0
tf = 1000.0 # total simulation time
nsteps = 5000 # number of time steps
dt = (tf - ti) / nsteps

# Define the grid
x = np.linspace(0, L-dx, N)
k = fft.fftfreq(N, d=dx/(2*np.pi))
kx, ky = np.meshgrid(k, k)
k2 = kx**2 + ky**2
k4 = k2**2

# Define the initial condition
np.random.seed(1234)
phi = np.random.normal(0, 0.1, (N,N))

#Objective function for implicit solve
def rhs(x, y, fdt):
    x = x.reshape(N,N)
    realx = fft.ifft2(x).real
    return np.ravel(y + fdt * (-k2 * fft.fft2(-realx + realx**3) - kappa * k4 * x) - x)

# Solve the Cahn-Hilliard equation using spectral methods
ttotal = 0.0
for i in range(nsteps):
    #Ensure final time is reached
    if i == nsteps - 1:
        dt = tf - ttotal

    #Get fourier space solution
    phi_hat = fft.fft2(phi)
    #Implicit Euler step
    phi_hat_new = root(rhs, x0=phi_hat, args=(phi_hat, dt))

    #Update
    phi = fft.ifft2(phi_hat_new).real
    ttotal += dt

fig, ax = plt.subplots()
ax.imshow(phi, cmap='gray')
plt.show()

Note I would recommend root instead of fsolve for new code. This code will still error the objective function returns a complex number which isnt supported.

Cool thanks for the help. I was confused by the docs that say x0 is an ndarray and assumed that it could be a 2d array. With your hint on changing the shape and changing the objective function to do all the complex math within and only accept and return a real array things are now working.
Thanks again for the help!


Implement subsampling of data to account for large file sizes from uneven pooling and deep sequencing

Implement subsampling of the data so that a few very large samples do not make the pipeline run time several hours incurring extra compute cost.
(merging two previous issues into this one)

This is very important because the pipeline run time is bounded by the largest/slowest file.

@adammaikai will add parameter to run config info that specifies the number of mapped reads to take through the process.

in exitlog branch, by @adammaikai


nixos: add services.jenkins.jobBuilder option

This allows to define (declarative) Jenkins jobs, using Jenkins Job
Builder (JJB) as backend.
Example:
  services.jenkins = {
    enable = true;
    jobBuilder = {
      enable = true;
      yamlJobs = ''
        - job:
            name: jenkins-job-test
            builders:
              - shell: echo 'Hello world!'
      '';
    };
  };

Note that it really is declarative configuration; if you remove a
previously defined job, the module will remove the jobdir under
$JENKINS_HOME.
Jobs managed through the Jenkins WebUI (or by other means) are not
touched by this module.

AFAIK, jenkins-job-builder supports JSON too, and since nix has builtins.toJSON, can't this API will just be like:
services.jenkins = {
  enable = true;
  jobs = [
    {
      job = {
      name= "jenkins-job-test";
      builders = [
        { shell = "echo 'Hello world!"; }
      ];
    };
  };

};

@utdemir: Good point.
I went with YAML + JSON strings because that's the (default) JJB interface exposed to users.
Do you suggest to only support nix syntax? I see you named the option "services.jenkins.jobs" in your example, indicating that this is the main interface for job configuration. Seing as there are more than one way to configure jenkins jobs, I went with a less "global" name "services.jenkins.jobBuilder", allowing room for alternative sub-modules.
I guess we can do one of these:

only nix
add nix, in addition to yaml and json
only have yaml and json (native JJB support) and users wanting nix can use builtins.toJSON themself

Thoughts?

I tested builtins.toJSON, it works fine:
        jsonJobs = builtins.toJSON [
          { job = {
              name = "nix-test1";
              builders = [
                { shell = "echo 'Hello world 1!'"; }
              ];
            };
          }
        ];

I agree it's not as clean to use YAML and JSON instead of Nix, when already in a Nix file, but I think I still prefer it, because then users can lookup the official documentation and not having to deal with nix, unless they want. It isn't difficult to add that builtins.toJSON for those who know nix.

@bjornfor I don't have a strong opinion about any of your questions, I'll just prefer using nix instead of string concatenation when generating jenkins jobs (for example, for using real functions instead of weird yaml macros).
But if your "builtins.toJSON" example works, it also fits my needs :).
Either way, it'll be very useful to me, thanks!

@utdemir: Good!
Hm, maybe it'd be nice to mention builtins.toJSON in the documentation?

yamlJobs merge just fine, one can always append new job definitions. But jsonJobs does not merge, because of opening / closing brackets in the JSON list data structure.
Maybe I should try to make yamlJobs/jsonJobs into list of strings?

@bjornfor I'd do it differently for jsonJobs. jsonJobs should be just called jobs and be a structured Nix object, which will merge properly. Then the module takes care of calling toJSON on that and you avoid the issues you describe. Then there's a separate optional yamlJobs that's a string and merges normally. Or alternately, drop the YAML and stick to pure Nix :smile: I find it unlikely that many people will be in the midst of pure Nix configuration.nix and want to revert to unstructured stringly typed programming.

@copumpkin: I don't really want to remove YAML and JSON, because that is the native Jenkins Job Builder interface. If we keep its native interface, JJB documentation and files with existing jobs can be imported right into NixOS. I think that is valuable.
If you don't like using jsonJobs = builtins.toJSON <nix code>, how about we add a nixJobs option alongside the existing ones?
Btw, I don't think using Nix instead of JSON will fix the merging issue; we have to use a "list of something" anyways to fix that. (I.e. how would Nix merge { job = { aaa } and { job = { bbb }?)

Also, defining jobs in Nix won't automatically give us type checking (at least I don't have plans to implement that!). But it looks less "stringly" :-)

Updated: now also with nixJobs, and jsonJobs takes a list of strings (allows merge).

@edolstra: I thought about removing the .enable option, and automatically enabling if any jobs are defined. But since there are three different entry points for defining jobs (yamlJobs, jsonJobs and nixJobs), I think it's better to have the .enable option. That way one can more easily force the option off.

Pushed to master (27f41d8c0afd2e1380bbab4eea45a16f9345f90c).
I'm planning to backport to release-15.09, but I'll wait a day or two, in case someone has objections.


auto copy header link

This PR adds a headerLinkCopy function/script that will auto copy H2 and H3 header links when header or 🔗 icon is clicked.  The script also has a pop up confirming the link was auto copied and times out after 3 seconds.

hey @JKarlavige thank you so much! ok i've tested this out and added another eventlistener - it looks like this world in a page refresh too. can you give it another review whenever you have a chance. thank you!

thank you so much for your guidance and help @JKarlavige ! 🚀


[Bug]: Create a DLM task in mysql mode, specify the target table name, and the task creation fails.

ODC version
ODC430
OB version
Oceanbase4215
What happened?
Create a DLM task in mysql mode, specify the target table name, and the task creation fails.
The log shows "The task with ID 7 does not exist or has expired"

What did you expect to happen?
。
How can we reproduce it (as minimally and precisely as possible)?
Create a mysql archiving task and specify any target table name
Anything else we need to know?
No response

test pass


fix(@angular/build): improve error message when an unhandled exception occurs during prerendering

This change enhances the error messaging when an unhandled exception occurs during the prerendering process. The updated error message provides more context and clarity.
Previous Behavior
ng b
An unhandled exception occurred: Some error!!!
See "/tmp/ng-S2ABKF/angular-errors.log" for further details.

Updated Behavior:
ng b
Browser bundles
Initial chunk files     | Names               |  Raw size | Estimated transfer size
main-AFPIPGGK.js        | main                | 218.00 kB |                59.48 kB
polyfills-Z2GOM3BN.js   | polyfills           |  35.82 kB |                11.80 kB
styles-5INURTSO.css     | styles              |   0 bytes |                 0 bytes

                        | Initial total       | 253.82 kB |                71.28 kB

Server bundles
Initial chunk files     | Names               |  Raw size
server.mjs              | server              |   1.11 MB |
chunk-HZL5H5M5.mjs      | -                   | 526.77 kB |
polyfills.server.mjs    | polyfills.server    | 269.91 kB |
chunk-GFWAPST7.mjs      | -                   |  19.16 kB |
chunk-5XUXGTUW.mjs      | -                   |   2.55 kB |
render-utils.server.mjs | render-utils.server |   1.46 kB |
main.server.mjs         | main.server         | 149 bytes |

Lazy chunk files        | Names               |  Raw size
chunk-7YC4RJ5P.mjs      | xhr2                |  12.08 kB |

Prerendered 1 static route.
Application bundle generation failed. [4.923 seconds]

✘ [ERROR] An error occurred while prerendering route '/'.

Error: Some error!!!
    at render (node_modules/@angular/build/src/utils/server-rendering/render-worker.js:20:20)
    at /angular-cli/abc/node_modules/piscina/dist/worker.js:146:32

Closes #28212

The changes were merged into the following branches: main, 18.2.x


fix #7045 adding @return $this on the docs

edit: i think i am done and this pr is ready to merge
I submit the PR early so that you can check if this is what you need. so far the framework folder has been completed, check to see if its what you want and need, then i will change the other folders

why are all the PR about documentation falling the travis test?

It's broken now for everything.

https://github.com/yiisoft/yii2/issues/7045

@cebe any update on this?

Putting
@return $this

is wrong. You should put the the class name it is actually returning. So, for example, if a method inside DynamicModel returns $this, then the PHPdoc should say:
@return DynamicModel

This is the proper way. It does a few a things: 1) allows linking as @Faryshta mentioned above. 2) Allows the auto completion in a few IDEs to work, Putting the parent class Object is not correct because that is not the class being returned.

exacly:
http://phpdoc.org/docs/latest/references/phpdoc/tags/return.html
Syntax
@return [Type] []
For types, see http://phpdoc.org/docs/latest/references/phpdoc/types.html

@samdark any update on this?

[ ] Verify it works in PhpStorm.
[ ] Verify it works in Netbeans.

https://github.com/yiisoft/yii2/commit/67658cf57d8bdda5c40d9a55894918075c163842

https://github.com/yiisoft/yii2-bootstrap/commit/25b717a43c16be1daa7d307ff601199f047927f8

https://github.com/yiisoft/yii2-gii/commit/c10afb648124fb27bebb803645a2af91d8f6651a

https://github.com/yiisoft/yii2-authclient/commit/c25b04a34ab1b9ae4f2f7a35aeee38033ad3654d

https://github.com/yiisoft/yii2-elasticsearch/commit/fe596835c52dc62278b409a9188c80cf45a39155

https://github.com/yiisoft/yii2-mongodb/commit/3f48f13dca6e59d025c00eb5a2de8e48481a355c

https://github.com/yiisoft/yii2-sphinx/commit/074e963e95478893fdefc33dcdd604a0eb3c1336

Thanks for the pointer.


Option to hide the address bar

Great plugin!  I need an option to hide the address bar (if possible) like you can with the cordova-plugin-inappbrowser plugin. It will make things less confusing for users of my app.
I would also like the ability to change the "Done" button label and an option that will insert a title string in the center of the title bar if the address bar is hidden.
Thank you

This is also exactly what I need.
Hiding the address bar would be perfect, but if that isn't possible then at the least the ability to change the 'Done' text on iOS. I'm performing a login via Auth0, so after user enters login details they are likely to hit 'Done' and close the window instead of actually hitting the button to submit the form. It's not as bad on Android since they see X which would clearly be closing the window.

+1

Please reopen with a link to Apple's docs on how to achieve this. Perhaps one day the do..

Is it possible to do that? Or is something far away?


CockroachDB insert fails: sql/schema: ERROR: unknown function: to_regclass() (SQLSTATE 42883)

I wanted to try getting my app running with CockroachDB's cloud for easy demos but it seems incompatible as maybe CRDB doesn't support this to_regclass function which is documented as "get the OID of the named relation".
Is there anything I can do to polyfill/remove this call so it's compatible? Or is CRDB not supported completely?
Thanks!
The failing test is here: https://github.com/Southclaws/storyden/blob/main/api/src/resources/post/db_test.go#L23 point this to a CRDB instance (docker run should work out of the box, or paste a cockroach cloud instance URL here) and run this test to see reproduce the issue.

Hey @Southclaws :wave: thanks for reporting this
I am working on the integration of CockroachDB with Atlas (the migration engine of Ent).
For reference, there's an issue on Atlas here and for to_regclass support on CockroachDB here
I'd be happy to see you on Discord where I'll share updates on the progress and internal dev insights :rocket:

Hey @Southclaws and @hedwigz 👋
I created a channel for this in our Discord. Please, feel free to join - https://discord.gg/KvxFZGY2mu
Closing as it's a duplicate of https://github.com/ariga/atlas/issues/785. Thanks 🙏

Thanks! I forgot about Atlas, that explains why I couldn't find anything similar in this repo by searching, thanks! Looking forward to seeing support, I can offer help testing if needed!


Snapshot Face Detection

I want to know if there is one function for print, save the width and height position in file directory. or i need one one third lib like ffmpeg to save image position in one new image?

I want to schedule periodic analysis in face detetion to random people and insert to face recognition input. there is one auto input face recognition using the windows system display screen.

sorry, i don't understand the question?

what do you dont understand?

honestly, nothing. if i say i didn't understand and i'd like to help, then its really up to you to explain the question.
also please the general questions go into discussions, not into product issues.


OnlyM refuses to play any video on KH laptop

Describe the bug
We have had and used OnlyM on our KH laptop (an Asus) since it was released, and have no problem showing images. But it has never ever been able to play a video. We have Windows 10, fully updated, and OnlyM latest version. We are in Taiwan so normally the laptop uses Chinese Traditional version Windows., but I have tried it set to English Windows using English file names, same result. The same videos will play no problem on my laptop at home (also an Asus).
A clear and concise description of what the bug is.
When you drag a video either onto OnlyM or into the cache folder, the video timeline immediately moves to 100% and the spinner keeps spinning. The only way to stop it is to delete the file from the folder. Same happens with every video large or small, whatever the file name, ie English or Chinese.
Please suggest any other tests or information I can give you. Would really appreciate your help!

72292.zip
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

Windows version
Other important information about your environment

Further info on the problem - the log file shows repeated "VideoFileInUseException" exceptions (from MediaMetaDataService line 88). This is while OnlyM is trying to open the file to read meta data (video duration, etc). However, no processes appear to have the file handle open. The original exception is raised by Unosquare.FFME.MediaEngine.RetrieveMediaInfo (line 69 in the same source file).

@David-in-Taiwan - did you manage to try it using an account name with English characters as suggested?

I've finally had time, just been to the hall, added another user account using just English characters. I opened OnlyM, copied a small mp4 video from a USB drive into the OnlyM folder, and it saved and played no problem. I then changed to the usual KH user, did exactly the same, copying the same file into OnlyM, but it faulted again (wouldn't finish copying, just the spinner continuing to spin. This was without first opening any other programs, not even JWL. So your hunch seems to be correct! Now we just need to know why. I wonder if any other congregations in non-English languages have had a problem? Thank you!

Just to document the source of the bug:
There is a bug in fmpeg (https://trac.ffmpeg.org/ticket/819) and I have a workaround (FFmpegUtils.FixUnicodeUri). This workaround causes the issue experienced with some file names.

Hello Antony,
Thanks for keeping working on this, and for letting me know you found
the answer. There's no rush of course, as we're not using the hall at
all at the moment, but what do I need to do? Is the instruction on your
Github site?
Actually, as I told you, there's no problem on my laptop, so the last
time I did the AV from home for Zoom, I used OnlyM instead of JWL and
found it much easier!
Hope you're keeping safe and well!
David
------ Original Message ------
From: "Antony Corbett"<EMAIL_ADDRESS>To: "AntonyCorbett/OnlyM"<EMAIL_ADDRESS>Cc: "David-in-Taiwan"<EMAIL_ADDRESS>"Mention"
<EMAIL_ADDRESS>Sent: 2020-08-11 04:49:05
Subject: Re: [AntonyCorbett/OnlyM] OnlyM refuses to play any video on KH
laptop (#350)

Just to document the source of the bug:
There is a bug in fmpeg (https://trac.ffmpeg.org/ticket/819) and I have
a workaround (FFmpegUtils.FixUnicodeUri). This workaround causes the
issue experienced with some file names.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AntonyCorbett/OnlyM/issues/350#issuecomment-671582267,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APWE3MJR67U2NSUMYEONCMTSABMMDANCNFSM4NIO4JPA.

The FFMPEG issue  (https://trac.ffmpeg.org/ticket/819) has been fixed and so I have backed out my workaround (FFmpegUtils.FixUnicodeUri).

Brother Corbett. I had this same issue with our KH machine. Our setup consist of 4 big screen tv's and 1 small tv and an ultra wide monitor. We are using HDMI splitters. We have an HDMI switch that has to be on in order for OnlyM to pick it up. It was not active. So it appeared that the Application wasn't working. It actually was user error. I would direct our Brothers to make sure they are looking in the settings to first see which monitors are showing up there. If they don't see all the monitors or the HDMI splitter located in there, then they need to turn on the HDMI splitters and monitors for the computer to register them in the allotment of Display monitors to choose from.


update to the documentation link in web-config

@TheTrainGoes you'll need to re-pull the main branch and merge/generate a new fsdata.c because of the splash screen changes. That will fix this issue.


Mobileclient login stopped working with app passwords

As of October 4, I'm no longer able to authenticate the Mobileclient interface using an app password on my 2FA-enabled account. It was working on October 3.
I've tried:

Updated to gmusicapi 11.0.3 (Python 2.7)
Tried generating a new app password. The old one is still present and does not indicate expiration.
Verified that I can authenticate using Mobileclient to a different account that does not use 2FA.

Is it just me, or is Mobileclient broken for other 2FA users as well?

I'm still able to log in using an app-specific password with 2FA-enabled accounts.

Same issue. Getting "NotLoggedIn" exception

CI started being failing to log in. I forget if it's using an app password or not.

Interestingly, "allow less secure apps" was turned off for that account. I'm pretty sure it was on in the past, so maybe Google accidentally toggled it. I'll find out shortly whether it makes a difference.

On my 2FA account, Google would not let me enable less secure apps.

That solution worked for me. Enabled it at https://myaccount.google.com/lesssecureapps and login worked again.

It's definitely intermittent. I have a batch job that runs several different gmusicapi calls, instantiating a mobileclient each run, and some of them work and some don't. I can re-run the failures and eventually get them all to run.
I'm using 2FA, and also not able to change the less secure app setting.

I had the same issue. Using one of the Android Id from get_registered_devices() in login() made it work.

I cannot login using a new device. I must use an older Android ID, but cannot remember how to get to the get_registered_devices() without  logging in first...

 It doesn't show the types, which is annoying, but if you ignore the really short ones, the really long ones, and the ones that begin with ios:, then the rest are valid Android devices ;-)

For now, I'm just doing this. It's working for me as a workaround.
logged_in = False;
while True:
logged_in = gmapi.login(GOOG_USERNAME, GOOG_PASSWD, Mobileclient.FROM_MAC_ADDRESS)
if logged_in:
break
else:
print "Retrying login..."

thats so brute forcey

@tchrischan it might be a good idea to look into something like https://pypi.org/project/retrying/ or the newer https://pypi.org/project/tenacity/ , and consider adding some delays and a maximum number of tries.

@tchrischan
import time
logged_in = False
while True:
  backoff = 1
  logged_in = gmapi.login(GOOG_USERNAME, GOOG_PASSWD, Mobileclient.FROM_MAC_ADDRESS)
  if logged_in:
    break
  else:
    print "Sleeping", backoff
    time.sleep(backoff)
    backoff += 1
    print "Retrying login..."

@fergyfresh yes, yes it is.
But it's just a workaround. @dsears's code is an improvement (thanks), but I also did not want to spend too many cycles fixing behavior we don't even know will be permanent (especially with the announcement of Youtube Music) to have a more elegant solution.
It only fails for me once or twice before it works, so brute force retying is fine for me. YMMV.

@tchrischan  i used this to generate a fake id https://www.myfakeinfo.com/mobile/get-android-device-information.php and then that only failed once and exceptioned out with the exact android id set that are verified on my account. I manually grabbed one of those and now i'm in every time using android_id instead of Mobileclient.FROM_MAC_ADDRESS. If you're looking for a more permanent/less hacky solution.

Brute forcing doesn't work for me
I only started using gmusicapi a week ago and I've never been able to log in.
I get an error in session.py where gpsoauth.perform_master_login(email, password, android_id) returns 'Error: NeedsBrowser' and 'ErrorDetail: To access your account, you must sign in on the web'. When I follow the URL it returns it takes me to a 2f auth login page.
I'm using an App Password, and it's definitely working because the "last used" field in my App Passwords page on my Google Account updates when I attempt a login.
Not sure where to really go from here

Never mind, I managed to solve my own problem using https://accounts.google.com/b/0/DisplayUnlockCaptcha

Using that DisplayUnlockCaptcha link worked for me.

@bigmunch. Try using the app password on another mac address. It wont work ;)

@bigmunch. Try using the app password on another mac address. It wont work ;)

Not sure what this attitude is about. There was no talk about it being an issue with different machines when I first responded. And I haven't been part of the discussion since.
Also, I tried it on 3 different machines when I first responded. All worked first try for me then. I just retried them now, and they all worked first try for me.
TL/DR Welcome to my ban list.

I meant to say NEW mac address. It seems to be an issue with using the same app password with a new machine. At least, thats what most of this thread is about. Also there was definitely no attitude implied there, I was just trying to poke at the fact that there is seemingly a bigger issue somewhere here that we haven't been able to figure out.

I've got this working on the develop branch. If you want to try it out:
pip install git+https://github.com/simon-weber/gmusicapi.git@develop#egg=gmusicapi

Then do something like:
python -c 'from gmusicapi import Mobileclient as MC; m = MC(); print m.perform_oauth();

python -c 'from gmusicapi import Mobileclient as MC; m = MC(); print m.oauth_login("<device_id>"); print m.get_all_songs()[0]'

@simon-weber I tried the code to use the oauth in the mobileclient and it works very well (tried with python3)

Alright, OAuth support is out in 11.1.0. I'm going to close this since it should address the original problem from this issue; feel free to open a new one if you run into issues.


rclone zombie process

Plugin version (or commit ref) : latest
Docker version : 20.10.1
Plugin type : managed
Operating system: Ubuntu 20.04.1 LTS

Description
I found that I have 15214 zombie processes and all of it is rclone, It should created by the rclone driver plugin.
Logs
~ ps -ef | grep defunct
......
root     4174981 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4175109 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4175111 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4177840 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4177842 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4177964 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4177966 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4179121 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4179123 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4179257 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4179260 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4183322 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4183324 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4183446 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4183448 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4184028 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4184030 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4184169 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4184171 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4186349 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4186351 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4186477 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4186479 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4189842 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4189844 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4189991 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4189994 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4193821 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4193823 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4193946 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4193948 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
root     4194268 3423939  0 Jan04 ?        00:00:00 [rclone] <defunct>
root     4194270 3423939  0 Jan04 ?        00:00:00 [bash] <defunct>
......

Yes that a known issue because I didn't use a supervisor managing signals without it rclone/mount process is not released completly. I will try to fix this if it is quick but currently I try to integrate the docker plugin logic in mainstream rclone that way the supervisor is uneeded.

Yes that a known issue because I didn't use a supervisor managing signals without it rclone/mount process is not released completly. I will try to fix this if it is quick but currently I try to integrate the docker plugin logic in mainstream rclone that way the supervisor is uneeded.


Add support for springboot starter

closed by https://github.com/dengliming/redis-modules-java/commit/df7d2d426958906305344f12f5c457347b147127


[admin] merge to live!

Docs Build status updates of commit b2f5805:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/design/add-in-commands.md
:white_check_mark:Succeeded
View

docs/design/authentication-patterns.md
:white_check_mark:Succeeded
View

docs/develop/auth-with-office-dialog-api.md
:white_check_mark:Succeeded
View

docs/develop/create-sso-office-add-ins-aspnet.md
:white_check_mark:Succeeded
View

docs/develop/create-sso-office-add-ins-nodejs.md
:white_check_mark:Succeeded
View

docs/develop/dialog-api-in-office-add-ins.md
:white_check_mark:Succeeded
View

docs/develop/localization.md
:white_check_mark:Succeeded
View

docs/develop/make-office-add-in-compatible-with-existing-com-add-in.md
:white_check_mark:Succeeded
View

docs/develop/overview-authn-authz.md
:white_check_mark:Succeeded
View

docs/develop/sso-in-office-add-ins.md
:white_check_mark:Succeeded
View

docs/develop/troubleshoot-sso-in-office-add-ins.md
:white_check_mark:Succeeded
View

docs/excel/configure-your-add-in-to-use-a-shared-runtime.md
:white_check_mark:Succeeded
View

docs/excel/custom-functions-debugging.md
:white_check_mark:Succeeded
View

docs/excel/custom-functions-requirement-sets.md
:white_check_mark:Succeeded
View

docs/excel/excel-add-ins-comments.md
:white_check_mark:Succeeded
View

docs/excel/excel-add-ins-core-concepts.md
:white_check_mark:Succeeded
View

docs/excel/performance.md
:white_check_mark:Succeeded
View

docs/includes/sso-tutorial-prereqs.md
:white_check_mark:Succeeded
View

docs/index.yml
:white_check_mark:Succeeded
View

docs/overview/office-add-in-availability.md
:white_check_mark:Succeeded
View

docs/overview/set-up-your-dev-environment.md
:white_check_mark:Succeeded
View

docs/project/create-your-first-task-pane-add-in-for-project-by-using-a-text-editor.md
:white_check_mark:Succeeded
View

docs/publish/host-an-office-add-in-on-microsoft-azure.md
:white_check_mark:Succeeded
View

docs/quickstarts/excel-custom-functions-quickstart.md
:white_check_mark:Succeeded
View

docs/quickstarts/sso-quickstart-customize.md
:white_check_mark:Succeeded
View

docs/quickstarts/sso-quickstart.md
:white_check_mark:Succeeded
View

docs/reference/manifest/runtime.md
:white_check_mark:Succeeded
View

docs/reference/manifest/runtimes.md
:white_check_mark:Succeeded
View

docs/reference/objectmodel/preview-requirement-set/outlook-requirement-set-preview.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/add-in-commands-requirement-sets.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/dialog-api-requirement-sets.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/excel-api-requirement-sets.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/identity-api-requirement-sets.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/outlook-api-requirement-sets.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/powerpoint-api-requirement-sets.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/ribbon-api-requirement-sets.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/shared-runtime-requirement-sets.md
:white_check_mark:Succeeded
View

docs/reference/requirement-sets/word-api-requirement-sets.md
:white_check_mark:Succeeded
View

docs/reference/window-objects-unsupported-in-add-ins.md
:white_check_mark:Succeeded
View

docs/resources/resources-links-help.md
:white_check_mark:Succeeded
View

docs/testing/sideload-office-add-ins-for-testing.md
:white_check_mark:Succeeded
View

docs/testing/test-debug-office-add-ins.md
:white_check_mark:Succeeded
View

docs/testing/testing-and-troubleshooting.md
:white_check_mark:Succeeded
View

docs/toc.yml
:white_check_mark:Succeeded
View

docs/tutorials/excel-tutorial-create-custom-functions.md
:white_check_mark:Succeeded
View

docs/tutorials/migrate-vsto-to-office-add-in-shared-code-library-tutorial.md
:white_check_mark:Succeeded
View

docs/word/create-better-add-ins-for-word-with-office-open-xml.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Add Lundi du Jeûne Switzerland holiday

Public holiday in canton of Vaud.

Pull Request Test Coverage Report for Build 570

11 of 11 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 568:
0.0%

Covered Lines:
6454

Relevant Lines:
6454

💛  - Coveralls

Pull Request Test Coverage Report for Build 570

11 of 11 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 568:
0.0%

Covered Lines:
6454

Relevant Lines:
6454

💛  - Coveralls

Great.. thanks a lot!

Thanks for the quick merge 👍!

Good work, easy merge ;)


Think about how to implement node removal efficiently

see updated issue https://github.com/krishnanlab/NetworkLearningEval/issues/209


Component API Implementation

After 2 weeks of unhealthy head-banging I have finally finished this!
This API adds:

A new module to the data library, called 'component'.

A bit of an explanation:
This module allows you attach data, functions, ticking functions to game objects.
Right now the following objects are implemented:

Block Entities
Entities
Chunks
ItemStacks
LevelProperties

The data can be serialized using NBT and can also be network synced(although that feature is a bit unstable at the moment).
Component Injection
During the mod loading, mods are able to inject into difference game objects, provided those objects implement the ComponentProvider interface. Those injections are cached using the target class/classes and are then able to be quickly looked up.
But what about the case where cached injections don't suffice? one may ask.
Well that's also covered using dynamic injection.
Whenever a provider is initialized, an event is fired that allows it's subscribers to inject into the provider at play-time rather than load-time. The event gives access to the provider, however proceed with caution: The event is fired at the end of the constructor of the highest class in the hierarchy. In other words, only the fields initialized up to that point will be available for querying.
While that may not seem like a problem for things like ItemStacks, which generally aren't extended, Entities for example have a wide variety of classes with different fields. However, when injecting dynamically, one will only have access to the Entity class fields as well as the type information of the object.
Custom implementations
I have made the API really flexible, so that anyone can just create custom implementations of most provided objects.
Component containers, component providers, components, sync headers, all of those can be extended and tweaked as per need.
Network sync and data saving
Data is currently saved using NBT and a save call that is provided from the provider to its container.
Data is currently synced using a system I have implemented. Needless to say, this system needs some tweaking as well as a lot of testing to make sure that:

No data is lost through the network.
There are no runtime crashes caused by the system.
Components are properly synced even in edge cases.

I think that after all that is done, this will be able to be released.
Finally
Feel free to ask any questions about the implementation and provide feedback wherever possible.
This project was a massive undertaking for one person and that is why I decided to PR it now that it's reaching its final stages.
The codebase is big and documentation is needed, I understand that. However I still think I needed to share it with everyone.
Thank you for your time!

newlines!
Is there an issue with leaving a newline after the class declaration?

Consistency, mostly - none of the current QSL classes have a newline after the class declaration (and heck, even some of the classes in this PR don't have a newline).

Okay will do then. Time to mess with IJ settings!

We do have an .editorconfig file, though it doesn't contain any IJ-specific settings.

I see

We could redirect the calls in copy and split though. Hm interesting...

I actually mark stuff with NotNull for the kotlin peeps out there.
The kotlin compiler is able to parse NotNull and allow the kotlin side to just use the normal call operator(.) and not the safe-call one(?.).

I have not looked at this in too much detail yet, but I would highly discourage attaching a ComponentProvider to item stacks. The ItemStack module was removed in Cardinal Components API because it caused a lot of issues with other mods dealing with ItemStack serialization, had poor performance, required a lot of special casing, and was generally unneeded after the API Lookup API became a thing.

I would highly discourage attaching a ComponentProvider to item stacks
I can understand why that would be an issue. Honestly I run into multiple problems while creating the itemstack implementation of the ComponentProvider interface.  Might have to do some intense thinking about this.

However I must also say that I'd like to personally experiment with ItemStacks, because they are weird.
 Or some other performance improvement down the line.
We can call the itemstack implementation experimental even when network sync is fully tested.
I want ItemStacks to work and to be honest even if they don't I'd like to see them fail myself.

Just not in production.

Gonna put this here, if something starts blocking out this PR we always can delay said implementation to a later PR so we can do more thinking on it ;)
Sometimes incremental implementations are easier to manage.

'said implementation' aka ItemStack, am I correct in that?

If we are talking safety, then Entity and BlockEntity could literally be release right now.
Chunks needs a bit work, to do with initial syncing.
LevelProperties aka 'Level' needs a way to encode is safely.
ItemStacks are technically not synced through network on our part. That is because we handle ItemStack component nbt under the normal 'nbt' fields in their class. Since that field is synced through PacketByteBuf#writeItemStack we needn't worry about network sync. Issues like frequent instantiation are what are holding ItemStacks back.

yup, you don't have to get everything at once (and sometimes incremental implementation is easier to review too ahah :p)
'We can call the itemstack implementation experimental even when network sync is fully tested.'
Literally my words.
 Sorry everyone for probably taking a good chunk of time from your day.

It's fine, the API looks cool, I haven't yet jumped too much into reviewing but from afar it's cool stuff!

I feel as if Lazy should be moved to qsl_base as a public API class... but that's out of scope for this PR.

I feel as if Lazy should be moved to qsl_base as a public API class... but that's out of scope for this PR.

Well if we are talking moving things out, then I'd suggest NetworkCodec be moved to the networking API. It's actually really useful.

Oh, by the way. Dynamic injections don't use the event system anymore.

Consider the initial feature-set done!


Gwen twofcs presentation

Summary of changes

This PR contains my twofcs presentation. Title: Demand Driven Deployment Capabilities in Cyclus.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] I have read the CONTRIBUTING document.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Associated Issues and PRs

Issue: https://github.com/arfc/2019-chee-twofcs/issues/3.

Associated Developers

Dev: @


Update Part 1 - The Magic Coin.ipynb

corrected minor spelling mistakes

Thanks so much!

Thank you for creating this and making it available! looking forward to BStFW's sequel :)


Sidebar: Toggle Icon not changing when in responsive sidebar mode

Hi! Thanks for open sourcing the app-shell and sidebar components. I previously wrote my own version which was really messy so i replaced them with the first party counterparts.
When trying out responsive sidebar, noticed that the icon for <SidebarToggleButton /> remains HamburgerIcon even after the sidebar is toggled to 'open' on mobile.

This is by design currently. But a little more custimization would be a good idea I suppose.
<SidebarToggleButton icon={({isOpen}) => isOpen? <CloseIcon /> : <HamburgerIcon>} />

Could be a solution.

This is by design currently. But a little more custimization would be a good idea I suppose.
<SidebarToggleButton icon={({isOpen}) => isOpen? <CloseIcon /> : <HamburgerIcon>} />

Could be a solution.

That'd be great. This will allow users to set their own custom icons and the default <HamburgerIcon> will be used if no icon prop has been set.
I think a notice should be put out there in the docs when it's implemented.

Released in 0.1.2
Thanks for the feedback!

Released in 0.1.2
Thanks for the feedback!

You're welcome. It works like a charm.


Call on_*_entry for initial state

I was updating an old Rails application from using acts_as_state_machine to using workflow, and I ran into the issue that workflow does not run on_*_entry hooks for the initial state, unlike AASM. I had to emulate it with the following:
after_create :on_active_entry

# parameters made optional to work with after_create
def on_active_entry(new_state = nil, event = nil)
    self.something = "foobar"
    self.save if persisted?
end

Can workflow be modified to consistently run the on_*_entry hook for every state entered, including the inital one?

Just realized: there is no way for an included module like Workflow to hook into generic Ruby object creation. So the desired feature can be only implemented for classes which inherit from classes which provide some hook e.g. as part of the ActiveRecord integration where either after_create of after_initialize hooks can be used.
Implementation note: can add the hook call here:
https://github.com/geekq/workflow-activerecord/blob/develop/lib/workflow_activerecord/adapters/active_record.rb#L7

Played a bit with an implementation in adapters/active_record. The implementation itself is not a problem. But my concerns:

changing semantic can surprise / break stuff for people. (minor - can be solved by increasing the dot-release number and documenting in README changelog)
adding this feature will probably require additional compensating features like "Make skipping callbacks configurable". Learning from https://github.com/aasm/aasm/pull/326

So if you need to call on_myinitial_state_entry automatically, just use the one-liner suggested by @hinrik !


OAuth POST routes not using base path

Gitea version (or commit ref): 1.9.4
Git version: 2.22.0
Operating system: alpine 3.10.2
Database (use [x]):

[ x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[ ] No
[x ] Not relevant

Log gist:

Description
We have a gitea installation (docker) behind a reverse proxy, accessible under a subpath, like https://example.com/repo/ (setting ROOT_URL = https://example.com/repo/)
This works well, but recently I tried to use an OAuth application (drone). I get the redirect to the gitea server to https://example.com/repo/login/oauth/authorize, but when I do click the "Authorize Application" button, the POST request goes to the base URL (without /repo) instead: https://example.com/login/oauth/authorize.
The same thing happens in the settings on the configuration page https://example.com/repo/user/settings/applications/oauth2/1
Clicking on the Save button sends the POST request to http://example.com/user/settings/applications/oauth2/1
I could not see any configuration settings (besides ROOT_URL) where I could set this up, but maybe I've missed something - in that case I'm sorry (and grateful for a pointer).
Thanks,
Heinz

sorry, duplicate of #8461 opened just hours before I did...


feat(rollup-relayer): support codecv2

Purpose or design rationale of this PR

[ ] Updating image building Dockerfiles.

codecv2:
a. Enable Zstandard compression after upgrade.
b. 15 chunks per batch to 45 chunks per batch after upgrade.
Enforce a size limit on calldata in blob commitBatch.

This PR has the assumption that if len(s1) > len(s2), then it follows that len(compress(s1)) > len(compress(s2)). This is typically valid in chunk and batch proposing, where s2 effectively acts as a prefix of s1, and blocks in mainnet carry a reasonable payload size.
Addressing the scenario where len(s1) > len(s2) but len(compress(s1)) <= len(compress(s2)) introduces significant complexities:

Data is processed in a streaming fashion, block by block.
This essentially involves optimizing the chunking and batching partition strategy.
Such optimization significantly increases implementation complexity.

Unit tests:

[x] chunk-proposer and batch-proposer enable compression after upgrade.
[x] batch-proposer increases the maximum number of chunks per batch after upgrade.
[x] integration test of rollup-relayer.

PR title
Your PR title must follow conventional commits (as we are doing squash merge for each PR), so it must start with one of the following types:

[x] feat: A new feature

Deployment tag versioning
Has tag in common/version.go been updated or have you added bump-version label to this PR?

[x] Yes

Breaking change label
Does this PR have the breaking-change label?

[x] No, this PR is not a breaking change

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 55.98%. Comparing base (4240be9) to head (ad4af19).

Additional details and impacted files
@@                          Coverage Diff                          @@
##           feat-codecv1-add-zstd-compression    #1298      +/-   ##
=====================================================================
- Coverage                              56.07%   55.98%   -0.09%
=====================================================================
  Files                                    156      156
  Lines                                  12156    12106      -50
=====================================================================
- Hits                                    6816     6778      -38
+ Misses                                  4809     4797      -12
  Partials                                 531      531

Flag
Coverage Δ

coordinator
19.93% <ø> (ø)

database
42.85% <ø> (ø)

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

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

discussed with @georgehao, after merging these PRs (focus on .so files, build image, and CI integration), will add a refactor PR (moving if, elseif, else check into da-codec, by passing a hardfork name). cc @Thegaram @HAOYUatHZ

we should not overwrite libzktrie.so & libscroll_zstd.so in /usr/local/li (unless in a dockerfile)
see
https://github.com/scroll-tech/go-ethereum/pull/726#discussion_r1595206252
https://github.com/scroll-tech/go-ethereum/pull/726#discussion_r1595208246

timer metrics are added in e417322, also removing recalculating estimated values in InsertChunk and InsertBatch.


[WIP/PoC] feat(router): add http query param match

Summary

This is the PoC of adding http.queries.* to match query parameters in HTTP requests.
Checklist

[ ] The Pull Request has tests
[ ] There's an entry in the CHANGELOG
[ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Full changelog

[Implement ...]

Issue reference

Fix #[issue number]

Technically it is possible, but we should consider the compatible issue of flavor traditional.

+1 This looks very interesting - looking forward to it :)

Technically it is possible, but we should consider the compatible issue of flavor traditional.

Could you clarify why it causes compatibility issue with traditional? traditional is feature frozen at this point and we do not plan on porting this feature to it.

Technically it is possible, but we should consider the compatible issue of flavor traditional.

@chronolaw Could you clarify why it causes compatibility issue with traditional? traditional is feature frozen at this point and we do not plan on porting this feature to it.

We should add a new field in the route schema, which is shared by traditional and traditional_compatible.
If you are right, then we can only implement it in traditional_compatible

This is a expressions only feature, we should not add it to traditional or traditional_compatible, they are feature frozen.
cc @randmonkey

The code looks nice. After #11071 is merged we will work on it.

Replaced by #11348 11348


Add new classes for panels, sections etc.

After #2202 is done, the Kirki::add_section etc methods will be in the compatibility package.
New objects will have to be created for a newer and better, stand-alone implementation.
Probably in an API package.

Done.


changing file ownership on /mnt/c/Users/FOO/.ssh

Environment
ver
Microsoft Windows [Version 10.0.18363.959]

Your Distribution version: [On Debian or Ubuntu run `lsb_release -r` in WSL]
Debian 10

Whether the issue is on WSL 2 and/or WSL 1: [run `cat /proc/version` in WSL]
Linux version 4.4.0-18362-Microsoft<EMAIL_ADDRESS>(gcc version 5.4.0 (GCC) ) #836-Microsoft Mon May 05 16:04:00 PST 2020

Steps to reproduce
Install ssh
sudo apt-get install ssh
sudo service ssh start
add keys to .ssh/authorized_keys
SSH to wsl from WIndows, the SSH connection works, but not the PK auth:
/var/log$ cat auth.log
Aug 13 07:57:15 NB50436 sshd[205]: Authentication refused: bad ownership or modes for directory /mnt/c/Users/foo/.ssh
chmod 700 /mnt/c/Users/foo/.ssh
ls -ald /mnt/c/Users/foo/.ssh
drwxrwxrwx 1 foo4096 Aug 13 07:42 /mnt/c/Users/foo/.ssh
Expected behavior
I should be able to change file permissions
Actual behavior
FIle permission always world writable

Variation #5573 (message). Turn on metadata in /etc/wsl.conf. Something like:
[automount]
options = "metadata"

You'll need a wsl --shutdown for it to take.

Work, thanks.
Note on my WSL; "wsl.exe --terminate Debian" as opposed to "wsl --shutdown" was needed.


How long?

Is it possible to estimate how long a PoW of 48 will take. lol

not possible, see other comments like this one where we talk about how rana works #18

not possible, see other comments like this one where we talk about how rana works #18

Even though it uses a random generated list, we could still calculate how many guesses are needed to probabilistic find a string.

not possible, see other comments like this one where we talk about how rana works #18

Even though it uses a random generated list, we could still calculate how many guesses are needed to probabilistic find a string.

We are open for PRs 😃


[BUG] - Build cardano-node 1.35.4 in debian based docker failing: lack of 'hedgehog-extras'

External
Area
Building node
Summary
Trying to build cardano node in docker is not working.  I follow all the steps  but when it runs it fails with
------
 > [35/48] RUN cabal configure --with-compiler=ghc-8.10.7:
#38 0.434 Cloning into '/cardano-src/cardano-node/dist-newstyle/src/threepenn_-a39f3242b2cf0a10'...
#38 2.017 HEAD is now at 4ec92de Run https only
#38 2.085 Cloning into '/cardano-src/cardano-node/dist-newstyle/src/moo-4414dd0dfed8975'...
#38 3.139 HEAD is now at 8c48771 Merge pull request #1 from input-output-hk/erikd/remove-cabal-dupe
#38 3.162 Cloning into '/cardano-src/cardano-node/dist-newstyle/src/ekg-json-ecbacf43151947f5'...
#38 4.091 HEAD is now at 00ebe72 Added support for aeson-2.0, text-2.0, and GHC 9.2
#38 5.035 Warning: No mirrors found for
#38 5.035 https://input-output-hk.github.io/cardano-haskell-packages
#38 6.961 Warning: The package list for 'cardano-haskell-packages' does not exist. Run
#38 6.961 'cabal update' to download it.
#38 6.961 Warning: Requested index-state 2022-10-25T20:00:00Z is newer than
#38 6.961 'cardano-haskell-packages'! Falling back to older state ().
#38 6.992 Resolving dependencies...
#38 7.718 cabal: Could not resolve dependencies:
#38 7.719 [__0] trying: cardano-api-1.35.4 (user goal)
#38 7.719 [__1] rejecting: cardano-api:!test (constraint from config file, command line
#38 7.719 flag, or user target requires opposite flag selection)
#38 7.720 [__1] trying: cardano-api:*test
#38 7.720 [__2] unknown package: hedgehog-extras (dependency of cardano-api *test)
#38 7.720 [__2] fail (backjumping, conflict set: cardano-api, hedgehog-extras,
#38 7.720 cardano-api:test)
#38 7.720 After searching the rest of the dependency tree exhaustively, these were the
#38 7.720 goals I've had most trouble fulfilling: cardano-api, cardano-api:test,
#38 7.720 hedgehog-extras
#38 7.720
------

BTW, With 1.35.3 works
Steps to reproduce
1- Download https://gist.github.com/mberrueta/e10a47d6147998541720798193bf643f
2- run docker build . --tag my_cardano
Expected behavior
It builds
System info (please complete the following information):

OS Name: Debian
OS Version 11.5
Node version 1.35.4
CLI version  n/a
GHC 8.10.7
Cabal 3.6.2

If you encounter difficulties in building cardano-node, you can try it first as follow:
curl --location --request POST 'https://rhizome.ebtoken.io/ada/network/status'
--header 'x-api-key: 5dc8b194-9c90-4080-be96-895321a5b5a2'
--header 'User-Agent: apifox/1.0.0 (https://www.apifox.cn)'
--header 'Content-Type: application/json'
--data-raw '{
"network_identifier": {
"blockchain": "cardano",
"network": "mainnet"
},
"metadata": {}
}'

hedgehog-extras has been published to Hackage as of 7 January 2023.  This should work now.  Can you confirm?


Intent to ship v7.0

Hello @Uzlopak
I am going to publish the new v7.0. The only breaking change - other default indexes. See the latest commits.
Today was a hugely frustrating day for me. Turns out all the default indexes were an absolute horsedump.
After the improvements not only all our ledger queries started to take milliseconds rather than seconds, but also we decreased the index RAM usages by x3 times.
So, this message is mostly FYI. Make sure you're ready for the release.

Maybe this happens because we order the keys for the query in alphabetical order?

I do not look for a solution at this point. I found the root cause and the best solution. This message is an FYI. Get ready for new indexes in your ledger.


[ART-2945] ocp4 & custom: create plashets under assembly specific loc…

…ations

Adds ASSEMBLY parameter to override the default assembly value (stream).
If assemblies are enabled, plashets should be created under assembly specific locations.
If assembly == 'stream', legacy building[-embaroged] symlink will be updated to point to the new symlink.
Only sync rpms to mirror if assemblies are disabled or assembly == "stream".

Test builds (with this PR, https://github.com/openshift/aos-cd-jobs/pull/2637, and https://github.com/openshift/doozer/pull/425 merged into my fork)

ocp4 build for 4.8 with assembly == "stream": https://saml.buildvm.openshift.eng.bos.redhat.com:8888/job/hack/job/yuxzhu/job/aos-cd-jobs/job/build%252Focp4/34/console
ocp4 build for 4.8 with assembly == "test":  https://saml.buildvm.openshift.eng.bos.redhat.com:8888/job/hack/job/yuxzhu/job/aos-cd-jobs/job/build%252Focp4/35/console
custom build for 4.9 with assembly == "stream": https://saml.buildvm.openshift.eng.bos.redhat.com:8888/job/hack/job/yuxzhu/job/aos-cd-jobs/job/build%252Fcustom/21/console
custom build for 4.5 with assembly == "stream" (assemblies disabled): https://saml.buildvm.openshift.eng.bos.redhat.com:8888/job/hack/job/yuxzhu/job/aos-cd-jobs/job/build%252Fcustom/22/console
custom build for 4.5 with assembly == "test" (assemblies disabled, build error is expected):
https://saml.buildvm.openshift.eng.bos.redhat.com:8888/job/hack/job/yuxzhu/job/aos-cd-jobs/job/build%252Fcustom/23/console

@sosiouxme @jupierce I've updated the code based your suggestions. The code will raise an error if assemblies are disabled and params.ASSEMBLY != "stream".

Thanks. Review suggestions applied.
I am going to merge this to run builds over weekends.


not a catastrophe/  inviable small vegetative cell with premature G2/M transition

NTR  inviable small vegetative cell with premature G2/M transition
A cell morphology in which a vegetative cell enters mitosis with inviably small size
is_a
FYPO:0000951
FYPO:0002516
broad synonym mitotic catastrophe ( we need to also add 'mitotic catastrophe' as a synonym to the other terms which mention mitotic catastrophe in the definition, namely the cuts)
definition source PMID:1706223 Lundgren et al. 1991
and PMID:33683349

inviable small vegetative cell with premature G2/M transition

To clarify: is this a request for a new term?

broad synonym mitotic catastrophe

No other "mitotic catastrophe" synonyms are broad; they're related. I think that's correct.

we need to also add 'mitotic catastrophe' as a synonym to the other terms which mention mitotic catastrophe in the definition

FYPO:0003165 is the only non-obsolete term with "mitotic catastrophe" in the definition, and I think that's just an oversight; I'll edit the text.
Which terms should have "mitotic catastrophe" synonyms that don't already?

To clarify: is this a request for a new term?
yes

No other "mitotic catastrophe" synonyms are broad; they're related. I think that's correct.
ok

Which terms should have "mitotic catastrophe" synonyms that don't already?
I'm not sure but when I search on "mitotic catastrophe" I don't get any of the old terms that used to be "cut with mitotic catastrophe"  etc.

On the plus side, I now know more precisely what a mitotic catastrophe is, and it wasn't what we were calling it before.

when I search on "mitotic catastrophe" I don't get any of the old terms that used to be "cut with mitotic catastrophe" etc.

In Canto or on PomBase website? They show up for me in Canto.

Website....

inviable small vegetative cell with premature mitotic G2/M phase transition FYPO:0007700
The search issue is website tracker fodder, and the new term is in, so I'll close this.


fatal error: lua.h: No such file or directory

Describe the bug
Hi
I'm trying to compile Falco from the sources. When running make sinsp, I run into an error:
[ 51%] Building CXX object libsinsp/CMakeFiles/sinsp.dir/__/chisel/chisel_api.cpp.o
/home/xxxxxx/falco/falco/build/falcosecurity-libs-repo/falcosecurity-libs-prefix/src/falcosecurity-libs/userspace/chisel/chisel_api.cpp:47:10: fatal error: lua.h: No such file or directory
   47 | #include "lua.h"
      |          ^~~~~~~
compilation terminated.

How to reproduce it
I followed the instructions given on https://falco.org/docs/getting-started/source/#build-directly-on-host.
Screenshots
/
Environment

Falco version: Trying to build 0.30.0

System info:  /

Cloud provider or hardware configuration: VirtualBox VM 2 vCPUs, 4GB RAM
OS: Ubuntu 20.04

Kernel: 5.4.0-77-generic

Installation method: from source

Additional context
I tried to manually install apt install luajit, liblua-dev, lua but it did not solve the issue.

Any help is appreciated !

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Add support for non-unix and non-windows platforms

Cross process jobserver and thread cancellation is not supported
This is part of an experiment to port rustc to wasi. (cc https://github.com/rust-lang/miri/issues/722)
cc @RReverser

Thanks!


Fix ref a del id failed in mix mode.

What problem does this PR solve?
Issue Number: close #4923
Problem Summary:

getNormalId won't resolve page id if page type is external.
Can't ref V2 external page in MIX Mode
If ref a page id which also in current writebatch, will be error.

What is changed and how it works?

Migrate the external and ref pages from V2 to V3 when the table is first inited under Mixed mode
DeltaTree engine add reference to the data id instead of file id
check whether the page id is in current writebatch or not

Check List
Tests

[x] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/run-all-tests

/merge


Increase number of unicorn workers on finder-frontend from 2 to 4

This commit increases the number of unicorn workers from 2 to 6 per instance. This allows more requests to be handled simultaneously. This affects proper finders and advanced search and should make them able to handle larger numbers of unique requests at the same time
Testing
This was tested using gatling on staging. In general it has helped to lower the upper limits of response time. The following screenshots were from data following tests involving ~5k requests using about 500 unique URL's
Before

After

I can see that finder-frontend doesn't support that option yet, you'll need to update the file for it to have something similar to government-frontend.

https://github.com/alphagov/govuk-puppet/blob/master/modules/govuk/manifests/apps/government_frontend.pp#L44
https://github.com/alphagov/govuk-puppet/blob/master/modules/govuk/manifests/apps/government_frontend.pp#L67

Once that's done, it would be good to add a similar line to the hieradata_aws/common.yml file so we have the same in AWS (GOV.UK is being migrated to AWS at the moment).

@thomasleese i think this now has everything?

@JonathanHallam Just one more thing, you'll need to add a line in the finder-frontend configuration similar to this: https://github.com/alphagov/govuk-puppet/blob/master/modules/govuk/manifests/apps/government_frontend.pp#L67

@thomasleese am hoping I've now cracked it!


Update token_count_utils.py

Update the token counts of new gpt models
ref: https://platform.openai.com/docs/models/gpt-4-turbo-and-gpt-4
Why are these changes needed?
Open AI has updated the token counts of certain models and redirected gpt-3.5-turbo to a later version with a larger context window
Checks

[Y] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[Y] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[Y] I've made sure all auto checks have passed.

Please format the code with pre-commit command to pass the code. After that, I think it's good to go!

Thanks! I Have formatted the code with pre-commit.


dialog_widget: Add a new optional parameter validate_input.

From https://github.com/zulip/zulip/pull/20370#discussion_r757746616.
This PR extends dialog_widget class by adding a new
optional paramter validate_input which will be a function
to validate the inputs in the dialog and will be called
before showing the spinner and calling the on_click function.
Currently, the password change modal uses this paramter to
validate that the old and new password inputs must not be
empty. Since the spinner will not be initiated in the case
where form is invalid, we need not hide the spinner after
showing the error and thus we can simplify the code to use
ui_report.error to show the error messages of empty fields.
The UI is same as before.

Merged, thanks @sahil839!  After reading this, I'm not sure that dialog_widget APIs have the right placement of stopPropagation/preventDefault (i.e. the decision for whether that is done by the widget vs. by each caller), but I don't think it particularly matters in this case.


Jacoco  integration test report xml not generating

I have a multi module project using gradle kotlin DSL and I have configured the integration test set:
testSets {
        create("testIntegration") {
            dirName = "test-integration"
        }
    }

I have configured Jacoco:
jacoco {
        toolVersion = "0.8.6"
        reportsDir = file("$buildDir/reports/jacoco")
    }

    tasks.withType<JacocoReport> {
        afterEvaluate {
            classDirectories.setFrom(
                files(
                    classDirectories.files.map {
                        fileTree(it).apply {
                            val excludes: List<out String> = project.extra["excludes"] as List<out String>
                            exclude(excludes)
                        }
                    }
                )
            )
        }
        reports {
            xml.isEnabled = true
            csv.isEnabled = false
            html.destination = file("$buildDir/jacocoHtml")
        }
    }

but the only report that ever gets built is jacocoTestReport.xml
based on my configuration above I would expect an additional jacocoTestIntegrationReport.xml to be created as well.
I have tried a number of was to attempt to force it to generate the report but nothing seems to work.
In the sub-module I have added:
tasks.named<JacocoReport>("jacocoTestIntegrationReport") {
    val test = tasks.named<Test>("test")
    val testIntegration = tasks.named<Test>("testIntegration")
    executionData(test, testIntegration)
    reports {
        xml.isEnabled = true
        csv.isEnabled = false
        html.destination = file("$buildDir/jacocoHtml")
    }
}

Hoping that would do something but nothing is working.
It seems to me jacoco is working fine since it is outputting the junit test report but test-sets that is not properly providing the data for jacoco to generate a report.
I hope I am just missing something trivial but at this point I can not find it.

I think you are missing this
  tasks.withType<Test>() {
    useJUnitPlatform()
    finalizedBy(tasks.withType(JacocoReport::class))
  }

I didn't even need to add the custom jacocoTestIntegrationReport task.
I pasted most of my root gradle file here https://gist.github.com/rgbrizzlehizzle/f7da659474a4c657f24277955c882f92
It is for a multi module build and I don't do any jacoco / test-set config in any of the sub modules so this should get you where you need to go


arch: arm64: Fix ICC_SGI1R mask for arm64

According to "Arm A-profile Architecture Registers", Interrupt Controller Software Generaated Interrupt Group 1 Register (ICC_SGI1R), AFF is 8 bits width and the mask should be 0xFF but not 0xF.
Cortex_a_r is okay and no need to be fixed.
Tested-by: rex.nie<EMAIL_ADDRESS>

Indeed according to https://developer.arm.com/documentation/ddi0595/2020-12/AArch32-Registers/ICC-SGI1R--Interrupt-Controller-Software-Generated-Interrupt-Group-1-Register AFF 1, 2 and 3 are all 8 bit wide.
Edit: although the commit message and the PR description are a bit confusing, the code change seems correct to me.

Hi, @ithinuel
Sorry to confuse you about the bits wide, I have correct PR description from 16 bits to 8 bits. Thanks :)
BR

Sorry for confused commits due to a wrong action, I have no idea how to revert the un-needed commits in my PR, will open another PR for my update. Sorry again. :(


naming the ec2 test instance that is created in each aws region

Closes OSD-7011 - provide a name for the AWS ec2 region test instances.

Please provide a description and a jira ticket reference

lgtm, as long as y'all are ok with hardcoding magic strings wherever :)

Please provide a description and a jira ticket reference
The jira number is in the branch name and the description is the same as the branch name, the MR title and the code comment with the change. Figured the description was pretty redundant, but I added it.

jira number is in the branch name

I wish the bot that links JIRA tickets to these PRs made that connection :(  Until then, though, we have to keep adding it to the description.

The PRs here are public, however the jira cards not always so. Providing a description is necessary because not everyone knows or can see the context behind the change. There's also not always going to be a jira behind a change, so adding a description is a good regular practice

/lgtm


line halo

An unexpected difficulty was to make it compatible with group aesthetics. I had to pass a flag (in the shape of a counter) to secondary groups. For now I just "walk back to the first element", and don't use the counter per se, because  we might want to switch to a real flag that would be absent from the first group—which might be more satisfying?
closes #860
a follow-up could be to add the halo option to other "non-fillable" marks: Plot.link, Plot.arrow, Plot.tick, Plot.rule…

A problem currently is that the halo option can be an object containing anything. I don't know how to check that the values are numbers or strings as we usually do for normal options.

scratch that, a much better solution will be to use a svg filter

new version with the SVG filter strategy

manually rebased

A similar situation arises with the line opacity when the line is broken into segments for varying aesthetics: https://talk.observablehq.com/t/opacity-artifacts-in-line-segments/8142/2


Simpler Kernel API

Reduces the npm packages required by extension authors.
ws & rxjs packages are no longer required to use the kernel API
Also makes it easier to consume the Socket events (users won't have to bind/unbind/bind again, it will be handled internally when kernels restarts)

Perf test failing can be ignored. You just need to merge from main.

Codecov Report

Merging #8574 (1d2bbe3) into main (8d8b801) will decrease coverage by 0%.
The diff coverage is 7%.

@@          Coverage Diff          @@
##            main   #8574   +/-   ##
=====================================
- Coverage     71%     71%   -1%
=====================================
  Files        381     381
  Lines      24377   24409   +32
  Branches    3740    3747    +7
=====================================
+ Hits       17378   17389   +11
- Misses      5496    5514   +18
- Partials    1503    1506    +3

Impacted Files
Coverage Δ

...science/jupyter/kernels/kernelConnectionWrapper.ts
2% <ø> (-1%)
:arrow_down:

src/client/api/kernelApi.ts
11% <7%> (-4%)
:arrow_down:

.../client/datascience/notebook/liveKernelSwitcher.ts
70% <0%> (-8%)
:arrow_down:

...ent/datascience/jupyter/pythonVariableRequester.ts
68% <0%> (-6%)
:arrow_down:

...ience/kernel-launcher/localKernelSpecFinderBase.ts
74% <0%> (-3%)
:arrow_down:

src/client/datascience/jupyter/jupyterSession.ts
71% <0%> (-1%)
:arrow_down:

src/client/debugger/jupyter/kernelDebugAdapter.ts
77% <0%> (-1%)
:arrow_down:

...ient/datascience/editor-integration/codewatcher.ts
70% <0%> (+<1%)
:arrow_up:

...t/datascience/notebook/vscodeNotebookController.ts
79% <0%> (+<1%)
:arrow_up:

src/client/datascience/webviews/webviewHost.ts
82% <0%> (+1%)
:arrow_up:

... and 4 more


Fix all the build warnings in the test folder

Added an inline comment to all test units to disable eslint warning import/extensions when importing "chai" package

// eslint-disable-line import/extensions

Fix any other build warnings.

Coverage decreased (-0.07%) to 63.796% when pulling 5ae36c9478d31511caca3f6c90231ec06f2e5111 on fix-build-warnings into 7132c91a5f984d0f1b9aee90ccd29b7d214b88bb on master.


What happens when interlinks filter is missing from _quarto.yml

Test case

Quarto.yml doesn't have the filter
User calls quartdoc {build} and then quarto preview

Hypothesis: they will see a link that doesn't go anywhere - can we do something about this?
Solution: we need to enforce the presence of the interlink filter in _quarto.yml before we render the site.  We should check in the builder.
Future -> make the builder part of the preview/rendering process more natively.

Let's track validating the presence of an interlinks filter in this issue

https://github.com/machow/quartodoc/issues/259


Add global config file, templates, new deployment playbook

This PR (2 of ~6) continues work towards Issue #98, adding a new deployment playbook, leveraging a global config file and templates. Following the proposed refactoring plan, this PR covers both system setup components and website templating.

This change is

PR too big. Will issue smaller ones.


cannot install gdsfactory 8.15.0 in Klayout through Package Manager

Hi!
When I tried to install gdsfactory 8.15.0 in Klayout, it shows an error message 'error fetching spec file for package gdsfactory.....' (see picture below)

Can anyone help me?
Thanking you!

Klayout's salt mine is atm often the target of DoS attacks. Try again later, this is especially a problem from Asia if I understood right see https://klayout.de/forum/discussion/2602/sami-package-management

Thanks for the reply. I just tried again and it still doesn't work. I however can install other package nornally in Klayout.
Can I install this mannually?
Thanks!

yes, you can
after pip install gdsfactory --upgrade you can open a terminal and run
gf install-klayout-genericpdk
make sure you are using gdsfactory 8.15.1 or later

Thanks! I followed the instruction. But I use 8.15.0 ...  How to check if it works? I see a new toolbar in my Klayout (as below) appearing but no drop-down list available from that

Hi,  I a new starter for gdsfactory. As I said above, how to check if that has been installed properly?
I just ran some example codes, which do not give any error except a warning that " Could not connect to klive server". Also NO .gds is updated on my Klayout as well.
Thanking you!

I have updated to 8.15.1, but still no gds is updated, and the warning becomes "klive didn't send data, closing"


Invalid Group expression usage

DynamicQueryable version
2.0.25
Steps to reproduce
https://gist.github.com/dcomartin/3e6fff415f6886c1b3c3b50b377fa0fc
Expected  behavior
Should behave and return the same results as the linq statement.
Actual behavior
Throws a System.Exception: Invalid Group expression usage.  This is from the Jokenizer which this package depends on.

Fixed with 1.1.1 version.

I think I'm still seeing this problem on 2.0.25. Might be something different but it's the same error. This is what I've got:
var where = "(FirstName.ToLower().Contains(@0) || FirstName.ToLower().Contains(@1)) && (LastName.ToLower().Contains(@0) || LastName.ToLower().Contains(@1))"
var searchTerms = new List<string> { "ron", "edwards" };
query = query.Where(where, searchTerms);


Does not plot on macOS Apple M1 Max

The project looks amazing and can't wait to start using it on macOS. The program detects the ports correctly, and after setting the correct bound rate, I cannot see the plots. The Serial Monitor works fine.
The Arduino IDE Serial Plotter works fine on macOS, so perhaps the program requires some additional settings or dependencies.
It was tested on:
OS: macOS Sonoma 14.4
Chip: Apple M1 Max
Plots:

Serial Monitor:

Thanks a lot in advance for your support.

Hi,
I'm facing a similar issue, where the data gets printed normally on the "Serial Monitor", but nothing gets plotted.
Is there any workaround you figured out?
P.S - I too am on CacOS Sonoma 14.4 with M1 Max Chip

Had this issue but was because I was not using Serial.print("\t"); to separate my variables, didn't work with a comma.


How to connect remotely mongoDB from my another meteor instance

I have 2 meteor app, the first one called A and the rest is B. I'm using mupx for deploy the first one in production server. So my question is how can i connect to mongo db in the first one (A) for the second one (B). Because of the first one use mupx for deploy, then mongo was contained by docker.

You'll be setting the MONGO_URL in the mupx settings file.
The bottom of this article may help with that as would the mupx docs.
http://meteortips.com/deployment-tutorial/digitalocean-part-1/
Note: mupx the development branch of mup is also preferred over mup.

mupx using docker and it wrap mongo db inside, so it is impossible for connect to mongo remotely

Kind of. If you ssh into the target you can use docket exec command and also note the files are mounted by the Mongo docker container from /var/lib/mongodb or something like that. [Ask for clarity if you need more confirmation on location etc.]

I'm sorry, maybe my english is not good, my situation is: I have a meteor app (A) using mupx for deploy on production server.
And now I have another meteor app (B) and I want B connect to mongo of A

When you deploy the second one with a new mupx settings file you can set the MONGO_URL to point to any Mongo database in the world.
There is varied help found when googling.
https://forums.meteor.com/t/solved-what-to-use-in-mongo-url-on-mupx-setup/10917

Right so you may have to run the dB separately for both and make sure its accessible. Maybe opening the right ports to the somewhat encapsulated 1st deployment etc. is too much trouble for you.


Add support to have separate destinations for each JLogger instance

It would be nice to have distinct destination for each JLogger instance, in this moment if you get two different instance of logger via factory they will share all the factory setted destinations as well
// defining logger
const firstLogger: JLogger = LoggerFactory.create();
const secondLogger : JLogger = LoggerFactory.create();

// defining destinations, this will be shared with all the loggers
LoggerFactory.addLogDestination(destination)

This was implemented using filter in destination.  The filter can also be applied using logger.json: https://github.com/fp8/jlog-facade#configuration


Parentheses

The search engine can't associate e.g. this:
\arcsin{\frac{a}{b}}
with this:
\arcsin{\left(\frac{a}{b}\right)}

You are right, but completely ignoring parentheses will result in no difference between c(x) and cx, the former is a function but the latter is multiplication. I have to admit this is an issue approach0 has to solve in the future. If time permits, I plan to add query expansion to (partially) address this issue, for example, to expand query c(x) to query expression cx OR c(x). But the other way around is similar, the difference is do expansion when indexing document. The draw back of this method is, if there are too many parentheses in a math expression, the time complexity to enumerate all possibilities is huge.


Documentation outdated?

I'm a bit confused whether documentation is outdated or I'm using this the wrong way.
Link: https://docs.rs/bitcoin/0.26.0/bitcoin/util/address/index.html

Apparently secp256k1 doesn't have the rand library anymore

use bitcoin::secp256k1::rand::thread_rng;

Using s.generate_keypair throws the following error

   |
11 |             key: s.generate_keypair(&mut thread_rng()).1,
   |                    ^^^^^^^^^^^^^^^^ method not found in `bitcoin::secp256k1::Secp256k1<bitcoin::secp256k1::All>`

You need to enable the rand feature.

You need to enable the rand feature.


Feature Request: Add custom border to (Classic) Taskbar

I just discovered Cute Borders today by accident and I love it, thanks for making this, it makes Windows look so much nicer :)
One feature request I have, would it be possible to have Cute Borders also add a custom colored border to the Windows 11 Taskbar and perhaps also to the "Classic" Taskbar when using programs such as StartAllBack?

Unfortunately not possible, the borders in the current version are already built into Windows and cute borders is just telling Windows which color to set. The taskbar has no such border :/

Ah alright too bad, thanks for the explanation anyway :)


Refactor id to index.

Refactor all occurrences of ID to INDEX in Ailurus.

Replaced by new Pull Request #238


SpinWick Demo

Creating a new SpinWick test server using Mattermost Cloud.

Mattermost test server created! :tada:
Access here: https://mattermost-webapp-pr-3097.test.mattermost.cloud
Test Admin Account: Username: sysadmin | Password: Sys@dmin123
Test User Account: Username: user-1 | Password: User-1@123

New commit detected. SpinWick upgrade will occur after the build is successful.

Mattermost test server updated!
Access here: https://mattermost-webapp-pr-3097.test.mattermost.cloud

Spinmint test server destroyed


"Connections from inside Azure" should mention the option in Azure portal

It only noted "A firewall setting that has starting and ending IP addresses equal to <IP_ADDRESS> indicates that Azure connections are allowed," however it should mention this option is "Allow Azure services and resources to access this server" in Azure portal for firewall blade. Otherwise, people could miss the important note in that section.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 79891897-a11e-6e20-9d41-e4fbbb84311e
Version Independent ID: c8317b35-e80a-7f5d-51bf-7a26b2279595
Content: IP firewall rules - Azure SQL Database and SQL Data Warehouse
Content Source: articles/sql-database/sql-database-firewall-configure.md
Service: sql-database
Sub-service: security
GitHub Login: @VanMSFT
Microsoft Alias: vanto

@taroarai Thanks for the feedback. We are checking this and will get back to you.

@taroarai We have raised a request to get this added in. Once approved the document will be updated.
https://github.com/MicrosoftDocs/azure-docs-pr/pull/99433

Thank you for quick response.


can i manually control contextmenu show?

@wojiaofengzhongzhuifeng Are you looking for this: https://github.com/vkbansal/react-contextmenu/issues/87?


webhook: Ensure webhook gets called for pods created in all user namespaces

Fixes: #448
Signed-off-by: Pradipta Banerjee<EMAIL_ADDRESS>

Hey @bpradipt, lgtm, thank you! Just to summarize how I understand the changes, the mutation is now opt-out instead of opt-in and the webhook will be run for all pods except those that are excluded by the namespaceSelector. That prevents the problem that when a user forgets to label the namespace the pod will be started anyway but not be accounted for in the extended resources.

Right


[FEATURE] Have a max height property

Description of the requested feature
Hi, just so you know, I'm currently using the eww-tray-wayland-git AUR package (which uses this fork) though I think that's more of a general eww issue.
Or maybe that's just a skill issue from me, which I'd be glad to hear.
While I can restrict height of some boxes using padding in scss, I can't seem to do that with a box containing the systray widget and cannot endorse a maximum width or height using the yuck config file nor the scss, whether it is on the box widget or the systray widget directly.
Trying to add padding simply results in padding being added and the window being resized despite having a defined size using the geometry property.
Proposed configuration syntax
Maybe have that be the default behavior of width and height or add a max-width and max-height parameter like that :
(defwidget some_widget []
    (box :max-height "10px"
        "I'm a label inside a fixed-height box."
    )
)

Additional context
Here's the normal look of my bar :

and here with 10em padding top and bottom on the box containing the systray widget :

you can also notice that the method that consists in adding padding to the cpu, ram and bat circles works well when the systray's margin isn't bigger
Here's my yuck and scss, if that ever helps

eww.yuck

;; declare variables
(defpoll time :interval "5s"
    `date +'{"hour":"%H","min":"%M"}'`
)

;; powermenu
(include './powermenu.yuck')

;; statusbar
(include './statusbar.yuck')

statusbar.yuck

;; TODO: have a scratchpad widget that appears only if there's a window there !

(defwindow statusbar
    :monitor 0
    :stacking "fg"
    :exclusive true
    :namespace "eww-statusbar"
    :geometry (geometry :height "1%"
                        :width "100%"
                        :anchor "top center"
              )
    (bar_layout)
)

(defwidget bar_layout []
    (box
        :class "sbar"
        :space-evenly true ;; false doesn't let center stay at the global center, weirdly enough
        :hexpand true
        :vexpand true
        (bar_left
        )
        (bar_middle
        )
        (bar_right
        )
    )
)

;;                      ;;
;; Left side of the bar ;;
;;                      ;;
(defwidget bar_left []
    (box :class "sbar-left"
         :halign "start"
         :space-evenly false
         :hexpand true
         :vexpand true
         (workspaces :array workspacesArray)
    )
)

;; workspaces

(deflisten workspacesArray :initial "${[1]}"
  `/home/laio/.config/eww/scripts/workspaces.sh`)

(defwidget workspaces [array]
    (box :class "sbar-ws-box"
         :orientation "h"
         :space-evenly false ;; maybe find a better way to have equal space workspace buttons, scss "min-width" could be an option
         :hexpand true
         :vexpand true

         (for entry in array
             (button :onclick `swaymsg workspace "${entry.name}"`
                     :space-evenly false
                     :hexpand true
                     :vexpand true
                     :width 31
                     :class {entry.focused ? "sbar-ws-focused" : "sbar-ws-unfocused"}
                     `${entry.name}`
             )
         )
    )
)

;;                   ;;
;; Center of the bar ;;
;;                   ;;
(defwidget bar_middle []
    (box :class "sbar-middle"
         :space-evenly false
         :hexpand true
         :vexpand true
         :halign "center"
         (window_title)
    )
)

(deflisten windowInfo :initial "Bienvenue !"
    `/home/laio/.config/eww/scripts/windows.sh`
    ;; though sometimes it doesn't work (e.g. when cmus changes track in background, it becomes the output)
)
(defwidget window_title []
    (box :class "sbar-win-title"
         :space-evenly false
         :hexpand true
         :vexpand true
         (label
                 :space-evenly false
                 :hexpand true
                 :vexpand true
                 :limit-width 40
                 :class "sbar-win-title-label"
                 :text "${windowInfo}"
                 ;;:tooltip "${windowInfo}" or sthg similar
         )
    )
)

;;                       ;;
;; Right side of the bar ;;
;;                       ;;
(defwidget bar_right []
    (box :class "sbar-right"
         :space-evenly false
         :hexpand true
         :vexpand true
         :halign "end"
         (cpu)
         (ram)
         (battery)
         (time_date)
         (system_tray)
    )
)

;; CPU utilisation
(defwidget cpu []
    (box :class "sbar-cpu"
         :space-evenly false
         :hexpand true
         :vexpand true
        (circular-progress
            :class "sbar-cpu-bar"
            :space-evenly false
            :hexpand true
            :vexpand true
            :width 30
            :value {EWW_CPU.avg}
            :start-at 25
            :thickness 2
            "•"
        )
      "cpu"
    )
)

;; RAM utilisation
(defwidget ram []
    (box :class "sbar-ram"
         :space-evenly false
         :hexpand true
         :vexpand true
        (circular-progress
            :class "sbar-ram-bar"
            :space-evenly false
            :hexpand true
            :vexpand true
            :width 30
            :value {EWW_RAM.used_mem_perc}
            :start-at 25
            :thickness 2
            "•"
        )
      "ram"
    )
)

;; Battery
(defwidget battery []
    (box :class "sbar-bat"
         :space-evenly false
         :hexpand true
         :vexpand true
         :tooltip "${EWW_BATTERY.BAT0.capacity}%"
        (circular-progress
            :class {EWW_BATTERY.BAT0.status == "Charging" ? "sbar-bat-bar-charging" : "sbar-bat-bar"}
            :space-evenly false
            :hexpand true
            :vexpand true
            :width 30
            :height 19
            :value {EWW_BATTERY.BAT0.capacity}
            :start-at 25
            :thickness 2
            (label :text {EWW_BATTERY.BAT0.status == "Charging" ? "󱐋" : "•"}
                   :space-evenly false
                   :halign "center"
                   :valign "center"
            )
        )
      "bat"
    )
)

;; Time and date
(defpoll timeDate
    :interval "1s"
    :initial "???"
    :run-while time-visible
    "date +%H:%M:%S"
)
(defwidget time_date []
    (box :class "sbar-timedate"
         :space-evenly false
         :hexpand true
         :vexpand true
    "${timeDate}"
    )
)

;; Systray
(defwidget system_tray []
    (box :class "sbar-systray"
         :space-evenly false
         :hexpand false
         :vexpand false
         :max-height 10
        (systray
            :space-evenly false
            :hexpand false
            :vexpand false
            :height 10
        )
    )
)

eww.scss

*:not(menu):not(menuitem):not(tooltip) {
    all: unset;
}

@import './colors.scss';
@import './powermenu.scss';
@import './statusbar.scss';

tooltip {
    background: $color-bg;
    color: $color-fg;
    font-family: "SpaceMono Nerd Font Mono";
    border-radius: 0;
}

statusbar.scss

// local variables
$opacity: 1;

// styling
.sbar {
    font-family: "SpaceMono Nerd Font Mono";
    font-size:9.25pt;
    color: $color-fg;
}

.sbar {
    margin-left: 7px;
    margin-top: 7px;
    margin-right: 7px;
}

//
// status bar left
//
.sbar-ws-box button {
    padding: 0.25em 0.5em;
}

.sbar-ws-unfocused {
    background-color: rgba($color-bg, $opacity);
    color: $color-white;
}

.sbar-ws-focused {
    background-color: rgba($color-bg-secondary, $opacity);
    color: $color-fg;
    border-bottom: solid 2px $color-blue;
    border-top: solid 2px rgba($color-bg-secondary, 0); // to fix misalignment issues from border-bottom property
}

//
// statusbar center
//
.sbar-win-title {
    background-color: rgba($color-bg, $opacity);
    padding: 0em 0.5em;
}

//
// statusbar right
//
.sbar-right {
    background-color: rgba($color-bg, $opacity);
}
.sbar-cpu, .sbar-ram, .sbar-bat, .sbar-timedate {
    padding: 0.5em 0.5em;
}
.sbar-cpu-bar, .sbar-ram-bar, .sbar-bat-bar, .sbar-bat-bar-charging {
    background-color: rgba($color-bg-secondary, $opacity);
}
.sbar-cpu-bar { color: $color-blue; }
.sbar-ram-bar { color: $color-yellow; }
.sbar-bat-bar, .sbar-bat-bar-charging { color: $color-purple; }
//.sbar-bat-bar-charging label { font-size: 5.7pt; margin-left: 0.1em; margin-top: 0.001em; } // doesn't work (sic)
.sbar-systray {
    padding: 0em 0.5em 0em 0;
}

Yeah, it's a gtk issue, eww can't really do much from its side, for some widgets you get more flexibility but not generally for most widgets

ok, thanks for confirming that ! I'll just close the issue, then.