linalg.pinvh() works inconsistently on Windows and Linux

linalg.pinvh() works inconsistently on Windows and Linux
Reproducing code example:

import numpy as np
from scipy import linalg
covariance = np.load("bug_covariance.npy", allow_pickle=True)
precision = linalg.pinvh(covariance)
np.save("precision.npy", precision)

Error message:

The generated file is different on Windows and Linux
Scipy/Numpy/Python version information:

1.6.3 1.18.3 sys.version_info(major=3, minor=8, micro=1, releaselevel='final', serial=0)

The problem was found first with v1.4.1, still appears with v1.6.3.
Attached is a zip with "bug_covariance.npy" to reproduce the problem and the outcome files I got on Windows 10 and Linux Ubuntu 16.04.
scipy-bug.zip
Please notice, not with any input the problem is reproduced.  In my case, it occurred with about 10% of datasets.

If you have a version in which the problem does not appear, please let me know.

Update
The problem is with linalg.decomp.eigh(), not linalg.pinvh().
Try the following code:
import numpy as np
from scipy import linalg
import platform

covariance = np.load("bug_covariance.npy", allow_pickle=True)
drv_str = [None, "ev", "evd", "evr"]   #, "evx", "gv", "gvd", "gvx"]
for drv in drv_str:
    s, u = linalg.decomp.eigh(covariance, lower=True, check_finite=False, driver=drv)
    np.save(platform.system() + "_" + str(drv) + "_s.npy", s)
    np.save(platform.system() + "_" + str(drv) + "_u.npy", u)

All generated files in Windows and Linux are different.
Unlike suggestion in issue #12515, switching to another driver does not help.

Thanks @GBR-613 Do you mind explaining what the difference is between two platforms? Very small fraction of our users have dual systems or access to such.
 Linux precision and Win Precision differ by at most
np.max(np.abs(L-W))
Out[18]: 5.828670879282072e-16

which is ~2*eps well beyond the negligible difference. What were you expecting to find?

@ilayn there are too many differences between Windows and Linux to elaborate in one post :-)
I don't believe one needs dual-boot system to work on this issue. I personally use Windows notebook and Linux virtual machine running on AWS, but I don't believe AWS maters here. You can easy get a virtual machine powered by QEMU or Oracle VirtualBox, they both are free.
I am expecting to get results completely equal, so diff --binary will not notice any difference.  At least, I don't understand what a justification can be for the difference.
I have to admit that I don't use scipy "directly". My code uses some library which uses other library which uses sklearn which uses linalg.pinvh().
The problem in our site raised when my co-worker tried to re-run my code on Mac and got results different from those I got on my Linux. (I don't believe Mac plays any role here: if the result is different between Windows and Linux, why Mac should be an exception?) My code generates results in range between 0 and 1.0, and the differences are in 3rd position after the decimal point: for such the range such the difference is hardly negligible. I started debugging and found that the difference begins in results of linalg.pinvh().
It looks like during a lot of calculations the small differences are accumulated into a large one.
However I can not guarantee that this is the only one problem.  I keep working on that.

I am expecting to get results completely equal, so diff --binary will not notice any difference. At least, I don't understand what a justification can be for the difference.

With floating point operations this will never be possible but only up to the machine precision which is around 2.2e-16 for most systems today.

My code generates results in range between 0 and 1.0, and the differences are in 3rd position after the decimal point: for such the range such the difference is hardly negligible

That's certainly  possible but depends heavily on what you do. If I multiply the results with 1e12 obviously they will start changing around 3rd decimal. So without knowing what you do I don't see any problem with pinvh or eigh yet

OK, you persuaded me.  I am closing the ticket.


Fix/manifest list nexus ubi8

Description
Fixing that ubi8 rust builder currently is not pushed to nexus.

Can be closed and omitted since stackable-operators pull ubi8-rust-builder from harbor with https://github.com/stackabletech/operator-templating/pull/352


Do not package ijpb for now

See #1

Codecov Report

Merging #2 (590e9cb) into master (4aec56a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #2   +/-   ##
=======================================
  Coverage   60.44%   60.44%
=======================================
  Files          10       10
  Lines         895      895
=======================================
  Hits          541      541
  Misses        354      354

Continue to review full report at Codecov.

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


add buildProject JS API, clean up config API

/cc @drwpow, @Rich-Harris
Changes

New buildProject() JS API.

this builds the entire project. If you need per-file builds, continue to use the dev server (startDevServer).
this allows for better programatic usage + helps us improve testing via the JS API. (/cc @drwpow)

Cleans up config API (no breaking changes now, but loadAndValidateConfig() will be removed in v3.0 since it confuses usage with the much simpler createConfiguration() method).

Testing

Covered by existing tests

Docs

TODO

@drwpow once we start resolving by the project root (config file directory, instead of cwd) our tests can look something like this:
const config = snowpack.createConfiguration({root: TEST_DIR});
const {result} = await snowpack.buildProject({config});
expect(result['/path/to/output.js'].contents).toEqual(TEST_RESULT);

And then, we can look into creating a fixtures system for our most common tests (keeping the current full directory support for any too-complicated tests that need a full directory to express). Some examples:
// Example 1: Simplest form
// /test/build/fixtures/relative-import.json
{
  input: "import imgUrl from './test.png';",
  output: "import imgUrl from './test.png.proxy.js';",
}

// Example 2: multi-file
// /test/build/fixtures/lazy-import.json
{
  input: {
    "file1.ts": "import './file2';",
    "file2.ts": "export const test: boolean = true;"
  }
  output: {
    "file1.js": "import './file2.js';",
    "file2.js": "export const test = true;"
  }
}

// Example 3: with simple config
// /test/build/fixtures/mount-simple.json
{
  config: {mount: {"src": "_dist_"}},
  input: {
    "src/file1.ts": "export const test: boolean = true;"
  }
  output: {
    "_dist_/file1.js": "export const test = true;"
  }

This is great news, since I'm currently trying to pass a --mount..foo/bar=/baz option (as in, .foo/bar should be mounted as /baz) but I can't work out how to get yargs parser to treat that as
mount: { '.foo/bar': '/baz' }

as opposed to
mount: { '': { 'foo/bar': '/baz' } }

whereas it will be trivial with the JS API.


Docker pull fails with LCOW

I am running Docker for Windows Edge (18.03 CE RC3) to enable running in Linux Containers on Windows mode.   Since you are running release candidate, it might be good to report it to them.


[COLLECTIONS-810] Change JUnit v3 to JUnitv4 Annotations

Codecov Report

Merging #292 (0caf5a8) into master (eab0aa0) will increase coverage by 0.06%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #292      +/-   ##
============================================
+ Coverage     85.75%   85.82%   +0.06%
- Complexity     4672     4674       +2
============================================
  Files           292      292
  Lines         13472    13472
  Branches       1955     1955
============================================
+ Hits          11553    11562       +9
+ Misses         1336     1330       -6
+ Partials        583      580       -3

Impacted Files
Coverage Δ

...ons/collections4/properties/PropertiesFactory.java
95.00% <0.00%> (+2.50%)
:arrow_up:

...commons/collections4/map/AbstractReferenceMap.java
88.23% <0.00%> (+2.57%)
:arrow_up:

Continue to review full report at Codecov.

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


[WIP] fix crash when joining nulluble vs not nullable

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en
For changelog. Remove if this is non-significant change.
Category (leave one):

Bug Fix

Short description (up to few sentences):
Fix crash in FULL/RIGHT JOIN when we joining on nullable vs not nullable
Detailed description (optional):
Convert destination column from/to nullable according to source one, set data then convert it back.

#4681


Add simple cache on eth_call

Signed-off-by: georgi-l95<EMAIL_ADDRESS>Description:
Adds a cache on eth_call request, based on to and data parameters for 200ms.
Related issue(s):
Fixes #
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report
Base: 73.88% // Head: 74.06% // Increases project coverage by +0.18% :tada:

Coverage data is based on head (9a301ca) compared to base (213d7cb).
Patch coverage: 100.00% of modified lines in pull request are covered.

:exclamation: Current head 9a301ca differs from pull request most recent head 4e3e864. Consider uploading reports for the commit 4e3e864 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #880      +/-   ##
==========================================
+ Coverage   73.88%   74.06%   +0.18%
==========================================
  Files          29       29
  Lines        1815     1820       +5
  Branches      336      337       +1
==========================================
+ Hits         1341     1348       +7
+ Misses        375      374       -1
+ Partials       99       98       -1

Impacted Files
Coverage Δ

packages/relay/src/lib/eth.ts
82.63% <100.00%> (+0.50%)
:arrow_up:

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

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

I think this cache could cause issues in the case where the result of a method from a contract depends not on its own state, but on the state of another contract.
Such is the case of a Multicaller contract, where it only aggregates and returns results from multiple other contracts, but it doesn't update its own state.

Hmm, I think you're right, but we have a ttl of 200ms, which is not so long, because those multicalls might take some time. Also this is a temporary solution and it's configurable if there is indeed problem with multicall queries.


Adjust paths, add widget examples page

Some paths needed to be updated, due to the revamp. Also, the Widget Examples page had been omitted from the revamp by mistake.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Manifest: / fork NodeType

Summary

this issue is related how Bee constucts mantaray when a folder is uploaded with defined website-index-document header.
On / path of the mantaray fork gets value NodeType when no value assignment happened and the node entry is zero.
Also, it does not have withPathSeparator type - which is totally vague what is it for or what it represents, but it seems like it tells whether the path contains /.
Steps to reproduce

Create a directory with an index.html file that has some data that the BZZ endpoint can render
Upload the folder with swarm-cli upload $FOLDER; it sets the website-index-document automatically.
Download the resulted BZZ reference from the /bytes EP and load it into some in-memory representation (for example with help of mantaray-js)
check out the nodeType of mantaray node under / path

Expected behavior

The NodeType of the Mantaray node under / path has withMetadata and withPathSeparator value (8 + 16 = 24).
Actual behavior

The NodeType of the Mantaray node under / path has value and withMetadata value (2 + 16 = 18).

this is still a problem.


How to implement

Thank you for sharing this. Could you please advise how to implement this in Hass?
Where do I put the python I guess (conf/python_scripts) and how do I extract the data into home assistant.

Not currently supported in Hass unfortunately. Working on it.


Save to SD card and not only to system memory

The ability to save to mount points.

And to upload from SD Card

I added an option to upload from SD card in #170.
Initially I thought that saving to SD card would also be possible, but after working on this I seemed to have hit a wall. In order to write to SD cards, Rclone Explorer needs to request separate write permission for SD card. After user grants the permission, Rclone Explorer can only write to the SD card using storage access framework. However it's the rclone binary that handles the downloading and saving of files. Since the rclone binary doesn't use Android's storage access framework, any attempt to write to the SD card ends in permission denied errors. Unfortunately I do not see a way around this.
There is a workaround that will allow saving to SD card, however. You could 'HTTP serve' a file or a folder, and then download it from your browser. Most browsers should allow to save to SD card.

Hello, is it possible to don't limit the folder restriction to /sdcard ?
I mean with magisk and root, it's possible to rw mount the sd card to /mnt/media_rw
so if I could reach the folder from within the app, it should be enough.
Thanks,
kImperator

I've been thinking about this issue for the last couple of days. I tried some things and it seems that the SD card shows as writable but it's the Android OS denying write access unless the app goes through the official API to ask for permission.
I'm aware that there are apps that can "unlock" the SD card to all apps using root, but I would not want to show access to the SD card in my app if it means that it's going to fail for most of the users.
However I discovered that apps are allowed to write to their own directory on the SD card without requiring any extra permissions. So when saving files, it would be possible to save to the SD card under /sdcard/Android/media/. From there you can move files to any other directory on the SD card using any file manager. This implementation would allow everyone to save directly to the SD card, whether they have root or not.


[Question]: Has the web app feature of the chat module been removed?

Describe your problem

Yes, not supported any more.
Please refer to HTTP API / Python SDK.


Fix compile error for the flash bc algorithm on ubuntu

Committed-by: 有理 from Dev container

What do these changes do?
Some compilers were failing to match the most suitable overloaded functions when EjoinV is used in the FLASH model , causing unexpected errors. So I add an extra parameter to force the compiler to use the required overloaded function.
This change is intended to ensure that the function is correctly matched by the compiler and that the program runs correctly.
Related issue number
Fixes #2835

Codecov Report

Merging #2839 (156af57) into main (0de3063) will decrease coverage by 7.14%.
The diff coverage is n/a.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #2839      +/-   ##
==========================================
- Coverage   73.91%   66.77%   -7.14%
==========================================
  Files          99       99
  Lines       10665    10665
==========================================
- Hits         7883     7122     -761
- Misses       2782     3543     +761

see 14 files with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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


types: fix import

This fixes the import of types from markdown-it.
@types/markdown-it doesn't provide default exports, so I got an error saying something like: Module '"/path/to/@types/markdown-it/index"' can only be default-imported using the 'esModuleInterop' flag. (And yes, I had esModuleInterop activated in my tsconfig)
I fixed it by importing only PluginWithOptions. I don't really understand why this works (and didn't before) but it works so I think it's ok. It should work on all TypeScript build targets.

Pull Request Test Coverage Report for Build 91

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

Totals

Change from base Build 89:
0.0%

Covered Lines:
53

Relevant Lines:
53

💛  - Coveralls


Discrepancy in error calculation for identical meshes and solutions

Hello,
I'm encountering an issue with the error calculation in pyMFEM when comparing the solutions of two identical meshes. Despite the meshes and solutions being identical, the calculated error is different. I already posted this issue in the pyMFEM repository, but believe that the problem lies on the C++ part and/or my understanding of the codebase.
To summarize:
I create two identical meshes and solve them to get two solutions. I then create GridFunctionCoefficient objects from the solutions and calculate the error using ComputeElementMaxErrors. The error between a solution and itself is 0, as expected. However, the error between the two identical solutions is non-zero.
I've confirmed that the coefficient functions, integration points, and element transformations are identical for the two meshes.
Here's the Python code I'm using:
def main():
    # create 2 meshes
    mesh = get_mesh()
    mesh2 = get_mesh()
    for k in range(6):
        mesh.UniformRefinement()
        mesh2.UniformRefinement()

    # solve meshes
    x = solve(mesh)
    x2 = solve(mesh2)

    x_coef = mfem.GridFunctionCoefficient(x)
    error = mfem.Vector(mesh.GetNE())
    x.ComputeElementMaxErrors(x_coef, error)
    print("L2 error norm of x->x: ", error.Norml2())

    x2_coef = mfem.GridFunctionCoefficient(x2)
    error2 = mfem.Vector(mesh.GetNE())
    x.ComputeElementMaxErrors(x2_coef, error2)
    print("L2 error norm of x->x2: ", error2.Norml2())

def get_mesh():
    from os.path import expanduser, join, dirname
    path = dirname((__file__))
    meshfile = expanduser(join(path, '..', 'data', '../data/star.mesh'))
    mesh = mfem.Mesh(meshfile, 1, 1)
    return mesh

def solve(mesh):
    # 1. Set up a function space
    order = 1
    fec = mfem.H1_FECollection(order, mesh.Dimension())
    fespace = mfem.FiniteElementSpace(mesh, fec)

    # 2. Define the solution vector x as a finite element grid function, set to zero
    x = mfem.GridFunction(fespace)
    x.Assign(0.0)

    # 3. Set up the linear form b(.)
    class Source(mfem.PyCoefficient):
        def EvalValue(self, x):
            import math
            # have a gaussian centered at [0.25, 0.75]
            return math.exp(-((x[0] - 0.25) ** 2 + (x[1] - 0.75) ** 2) / 0.01)

    f = Source()
    b = mfem.LinearForm(fespace)
    b.AddDomainIntegrator(mfem.DomainLFIntegrator(f))
    b.Assemble()

    # 4. Define the bilinear form a(.,.)
    one = mfem.ConstantCoefficient(1.0)
    a = mfem.BilinearForm(fespace)
    a.AddDomainIntegrator(mfem.DiffusionIntegrator(one))

    # 5. Create MFEM operators to store the linear system
    A = mfem.OperatorPtr()
    B = mfem.Vector()
    X = mfem.Vector()

    # 6. Define zero boundary conditions
    ess_tdof_list = mfem.intArray()
    ess_bdr = mfem.intArray([1] * mesh.bdr_attributes.Max())  # create arrray of 1s
    fespace.GetEssentialTrueDofs(ess_bdr, ess_tdof_list)

    # 7. Solve the problem
    a.Assemble()
    a.FormLinearSystem(ess_tdof_list, x, b, A, X, B)
    mfem.CG(A, B, X, 0, max_num_iter=800, RTOLERANCE=1e-12, ATOLERANCE=1e-24)

    # 8. Recover the solution as a finite element grid function
    a.RecoverFEMSolution(X, b, x)
    x.fespace = fespace  # keep the fespace around because of function scopes and garbage collection
    return x

def plot_errors(mesh, errors):
    fec = mfem.DG_FECollection(p=0, dim=2)
    fespace_discontinuous = mfem.FiniteElementSpace(mesh, fec)
    error_gf = mfem.GridFunction(fespace_discontinuous)

    # Assuming `errors` is a list or array-like object containing one error value per element
    for i, error in enumerate(errors):
        error_gf[i] = error

    # Send to GLVis
    sol_sock = mfem.socketstream("localhost", 19916)
    sol_sock.precision(8)
    sol_sock.send_solution(mesh, error_gf)

The output is:
L2 error norm of x->x:  0.0
L2 error norm of x->x2:  0.22772834894859287

When visualizing the remaining error between mesh and mesh2, it looks somehow "fragmented".
From left/top to right/bottom: The solution on the mesh, the error when comparing x of mesh to itself, and the error when comparing x to x2 of mesh2.

I'm not sure why the error calculation would be different for the two identical meshes and solutions. Any insight into this issue would be greatly appreciated.
Thank you!

Hi @NiklasFreymuth,
This line
x.ComputeElementMaxErrors(x2_coef, error2)
will go over the elements of mesh and evaluate x and x2_coef. But x2_coef is defined w.r.t. mesh2. So I believe you end up in the else below, which is intended for other purposes, and things get mixed up:
double GridFunctionCoefficient::Eval (ElementTransformation &T,
                                      const IntegrationPoint &ip)
{
   Mesh *gf_mesh = GridF->FESpace()->GetMesh();
   if (T.mesh == gf_mesh)
   {
      return GridF->GetValue(T, ip, Component);
   }
   else
   {
      IntegrationPoint coarse_ip;
      ElementTransformation *coarse_T = RefinedToCoarse(*gf_mesh, T, ip, coarse_ip);
      return GridF->GetValue(*coarse_T, coarse_ip, Component);
   }
}

Hi @vladotomov,
thank you for the quick reply! I see how having different instances of the same mesh would be treated differently here.
In my application, I want to compare two elements on the same domain by calculating the integrated differences of the solution vectors per element of the first mesh. I.e., for every element in mesh1, I'd like to compute how different the (interpolated) solution on this element is when compared to the same space in mesh2. Since the functions ComputeElement{Max,L1,L2}Errors seem to be designed with identical meshes in mind, is there another way to achieve this?
I tried to map/interpolate the solution vector from one mesh to the vertices of another via InterpolationGridTransfer and its ForwardOperator.Mult() function, implementing it as follows:
def interpolate(x1, x2):
    fespace1: mfem.FiniteElementSpace = x1.FESpace()
    fespace2: mfem.FiniteElementSpace = x2.FESpace()

    # Creating a forward operator to map from fespace1 to fespace2
    transfer = mfem.InterpolationGridTransfer(fespace1, fespace2)
    F = transfer.ForwardOperator()

    # Using the forward operator to transfer `x` from `fespace1` to `fespace2`
    x_interp = mfem.Vector(fespace2.GetNDofs())
    x_interp.Assign(0.0)
    F.Mult(x1, x_interp)

    diff = mfem.Vector(x2.Size())
    diff.Assign(x2)
    diff -= x_interp
    print(f"\nL2 error norm of x2-x_interp: {diff.Norml2()}")
    return diff

However, this yields non-zero results for diff even when inputting the same solution vector twice (i.e., invoking interpolate(x,x)). Do you have any ideas how I could instead implement such an element-wise comparison?
Thank you in advance for your time and assistance!

If one mesh is refined version of the other, see #3209
If the meshes are independent, see /miniapps/gslib/field-diff.cpp

Thank you very much for the reply.
/miniapps/gslib/field-diff.cpp seems to be very close to what I am looking for. If I understand the code correctly, it computes a bounding box of the two meshes, discretizes this via a 2d or 3d grid, and numerically integrating the difference between the two meshes by summing over query points that depend on this grid. If this is correct, are "empty" elements of this grid handled efficiently somehow, or does this miniapp get less efficient if the domain contains e.g., a lot of holes?
I also did not find a Python version of this example, the closest being the field_interp.py. Did I miss this somewhere? If not, I think the example should be relatively straightforward to transfer to Python. Given that I need it anyways, I would be glad to share it with the community once it is finished.

You can specify what value will be returned for outside points with SetDefaultInterpolationValue, so that differences in holes can be taken into account. I'm not sure if someone did a python version, it would be great to have one.


v5: Tooltips with data-bs-title not working

If I want to code my HTML with data-bs-title instead of title this does not work as described in the docs.
IMHO the reason is _fixTitle(). If the element has no title attribute and no data-bs-original-title with string data then the title attribute is forced to an empty string, but data-bs-original-title is NOT set to the value of data-bs-title.
  _fixTitle() {
    const title = this._element.getAttribute('title')
    const originalTitleType = typeof this._element.getAttribute('data-bs-original-title')

    if (title || originalTitleType !== 'string') {
      this._element.setAttribute('data-bs-original-title', title || '')
      if (title && !this._element.getAttribute('aria-label') && !this._element.textContent) {
        this._element.setAttribute('aria-label', title)
      }

      this._element.setAttribute('title', '')
    }
  }

What is missing here is that the title takes data-bs-title into consideration.

Because in the docs it's writed just title and not data-bs-title and works as expected ?
The renaming described in the migration guide is only for data attributes, not for basic html attributes
Or i missed something ?

Because in the docs it's writed just title and not data-bs-title and works as expected ?
The renaming described in the migration guide is only for data attributes, not for basic html attributes
Or i missed something ?

https://getbootstrap.com/docs/5.0/components/tooltips/#options
The docs say that all options can be passed as data attributes with the data-bs- prefix. There is no execption for title.
I can write a fix if there is a chance it will get accepted.

https://getbootstrap.com/docs/5.0/components/tooltips/#options
The docs say that all options can be passed as data attributes with the data-bs- prefix. There is no execption for title.
I can write a fix if there is a chance it will get accepted.

Does this work in v4? I'm not sure if this was supposed to work TBH. If it's a regression, then we should fix it. If it doesn't work with v4 either, then we need to discuss how to proceed.

Noticed the behaviour in a project that went from v3 to v5, so I don't know about v4 :)
I would rather not have title attributes in my source code even if they are removed by BS so that no screen reader or other AT has ever a chance to access the attribute. The accessibiliy concern is the motivation for my request.
Changing _fixTitle() should IMHO be enough. Only question that remains is what happens if there are a title AND a data-bs-title present.

I was unable to reproduce this issue in V5
https://jsbin.com/qiwolemeqe/edit?html,output

I have the same problem.
In v4 I changed the title changing the property: (with jQuety)
$tooltip.prop("title", tooltipContent);
In v5 I cannot do it in that way. Also setting it in the initialization is not working
new bootstrap.Tooltip(document.getElementById('my_tooltip', {     "data-bs-title": tooltipContent  }));

It depends on whether you have supplied a selector or not:
    if (this.config.selector) {
      this.config = {
        ...this.config,
        trigger: 'manual',
        selector: ''
      }
    } else {
      this._fixTitle()
    }

If you do it like @Blodhgard by attaching directly then the code tries to fix the title. This function does not take data.bs-title into account. But that's what I have already said in my original comment.


Added index

This index will improve the look&feel of your website
Thank me later

I respect São Belchii, however, only a honourable mention to Belchii.pt should exist in this website in the future. Denied.

I respect that decision and will wait patiently :)


Update triage party URL

I've already updated it in the Triage Party repo: https://github.com/google/triage-party/pull/308

Thanks @szh 😁


Fix issues with MTU settings

When the clusters have different MTU configures,  some of
the e2e tests are failing. A new iptable rule is added
to clamp the MTU shared during handshake to the path MTU
Signed-off-by: Aswin Surayanarayanan<EMAIL_ADDRESS>

@mangelajo @sridhargaddam appreciate your review here. We also need to see if it makes sense to implement this on other cable drivers as well

he issue we had was OVN specific, right?

We have a similar issue in 0.9/0.8 OpenshiftSDN downstream CI which uses an OCP cluster and AWS cluster. I did not see this issue when I tried with two AWS clusters with d/s build, may because both sides had the same MTU configurations.
But when I tried with a KIND cluster with  u/s build and AWS with u/s build I was able to reproduce the issue, 3 test cases were failing due to the MTU issue and after adding these rules it got fixed.
With OVN if it is d/s CI that fails, may this fix along with your fix may solve it as one side of the downstream deployments uses OpenshiftSDN

I believe we can merge now but we should put it in the route agent I believe .

I believe we can merge now but we should put it in the route agent I believe .

We can keep it in route-agent if we are sure that its required for all the CableDrivers.

I believe we can merge now but we should put it in the route agent I believe .

We can keep it in route-agent if we are sure that its required for all the CableDrivers.

I think we can merge it based on the current understanding of the issue and improve it in subsequent PRs

Let's refactor it as a route-agent handler (so we can include it with ovn) and so it works with other cable drivers.

I'm not sure if this affects all the pods using networking, or only the hostNetwork.
Let's see how it flies.

@aswinsuryan @mangelajo do we really need this fix on all the nodes in the cluster? Is it not sufficient if its updated on the active Gateway node?

@aswinsuryan @mangelajo do we really need this fix on all the nodes in the cluster? Is it not sufficient if it's updated on the active Gateway node?

Yes, we need the fix in all the clusters as host networking traffic from non-g/w node failed otherwise.


Send desktop app a message when the theme changes

Summary
This PR adds message passing of an updated theme to the desktop app when applyTheme is called. Needed to sync the webapp and desktop themes in this PR: https://github.com/mattermost/desktop/pull/1428
Done for 2020 MM Hackathon.

/update-branch

/update-branch


[Test proxy] cannot create recordings for AI Text Analytics

Raising issue as requested during the sync today. In the process of trying to record tests for AI text analytics, I run into this:

To reproduce:

Checkout my branch
Go to sdk/textanalytics/ai-text-analytics
Set up .env based on the sample.env file using your Language Service thingy (happy to share my .env offline if that helps)
Do a rush update and rush build -t .
Run TEST_MODE=record rushx unit-test:node

Some info that may or may not be useful:

This is on WSL 2 with Docker
Tests run without issue in live mode
It hangs for a long time before returning the 500 error
Error message seems to indicate that it's a DNS issue

Cc: @scbedd @HarshaNalluru

@timovv When running this, I see error

[node-tests]      RestError: {"Message":"The URI being passed has two leading \u0027/\u0027 in the Target, which will break URI combine with the hostname. Visible URI target: //text/analytics/v3.2-preview.2/sentiment?stringIndexType=Utf16CodeUnit.","Status":"BadRequest"}

Ah, I ran into this too, should have mentioned. Try removing the trailing / from the endpoint URL in your .env file.

Aha! Thanks for quick response let me unblock on that :)

So far, I'm not seeing the same errors.
[node-tests] [APIKey] TextAnalyticsClient
[node-tests] fast tests
[node-tests] #analyzeSentiment
[node-tests] √ client accepts string[] and language (1051ms)
[node-tests]
[node-tests] [AAD] TextAnalyticsClient
[node-tests] fast tests
[node-tests] #analyzeSentiment
[node-tests] 1) client accepts string[] and language
[node-tests]
[node-tests]
[node-tests] 1 passing (2s)
[node-tests] 1 failing
[node-tests]
[node-tests] 1) [AAD] TextAnalyticsClient
[node-tests] fast tests
[node-tests] #analyzeSentiment
[node-tests] client accepts string[] and language:
[node-tests] RestError: Principal does not have access to API/Operation.
[node-tests] at handleErrorResponse (C:\repo\sdk-for-js\sdk\core\core-client\src\deserializationPolicy.ts:251:17)
[node-tests] at deserializeResponseBody (C:\repo\sdk-for-js\sdk\core\core-client\src\deserializationPolicy.ts:159:43)
[node-tests] at processTicksAndRejections (node:internal/process/task_queues:96:5)

Failing on second test. Something in AAD is going wrong.

Timo attempted repro on a new codespaces instance, and cannot repro this issue.
I am closing until we see the 500ing behavior again.


pylint should handle python.linting.cwd settings

In a multi-language project there could be a setup where the python source folder does not declare any __init__.py file and thus it is not a package from which imports can be performed.
workspace/
├─ django_project/
│  ├─ my_app/
│  ├─ project/
│  │  ├─ settings.py
│  │  ├─ __init__.py
│  ├─ manage.py
├─ other/

In this example, since the sole python part is under django_project then DJANGO_SETTINGS_MODULE  is set as project.settings.
Thus if using pylint-django than in .pylintrc or via commandline I will use django-settings-module=project.settings.
But as of now this fails with a ModuleNotFoundError: No module named 'project' since server CWD is workspace, thus the python interpreter cannot see any package which is in the django_project folder.
If the server uses python.linting.cwd this setting could be used to adjust the CWD and thus enabling the interpreter to discover contained packages.

There are two ways to address this:

Extension feature: Read the python.linting.cwd and use that as CWD when running pylint
Using Multiroot workspaces: You could make use of multiroot workspaces and add django_project, other and workspace as three workspace folders. This does not require a change in how extension currently works and handled multiroot and this should work.

Hi @karthiknadig, the problem with multi-root workspace is that in the current root directory there are other configuration files which are required to run the whole setup (ie: a docker-compose.yml, and each inner directory is a service in this compose).
I was already using the old pylint integration in vscode-python. I was expecting this one to inherit configurations from that extension, or at least a "CWD" configuration (since the old one did provide one).


At-a-glance badges

Put the current version, platform, and license at the top of the readme to make it easier to get started

bump

Nice, thank you!


Add BinarySearch.py

Hi maintainer,
I just added logic for binary search using Python language.
I hope you find it useful.
Thank You for taking out you valuable time to give us opportunity to learn git and Github and participate in HactoberFest 2020.

Doing my best! Keep contributing! :)

Thank You for the merge.


Can you tell me how can I loop this in this template?

-json
{
    "name" : "csh",
    "eachTest" : [
        {"value":1},
        {"value":2},
        {"value":3},
        {"value":4}
    ]
}

-html

 <%= name %>
 <%= eachTest %>

__

For anyone else that finds this closed issue without resolution:

<% _.forEach(eachTest, function(test) { %>

<%- test.value %>

<% }); %>


Add interactive version of PMMS dashboard

This adds a (simple) interactive version of the PMMS dashboard, as described in this blog post: https://observablehq.com/blog/how-to-add-interactivity-observable-framework-dashboard

Okay, done! I've also added "(interactive)" to the interactive version, so it makes some sense in the sidebar when it is opened. It makes the title a bit long, but since we want to link to it directly we probably want the full title there (not just "PMMS, interactive version" or similar).


Show join button in the chat header

Details

We want to show a join button in the chat header.
Fixed Issues

$ https://github.com/Expensify/App/issues/33577
PROPOSAL: https://github.com/Expensify/App/issues/33577#issuecomment-1870083803
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Open a policy room chat
Send any message
In the message context menu, press "Unsubscribe from the thread" (you are automatically subscribed to your own message)
In the message context menu, press "Reply in thread"
In the thread chat header, verify there is a "Join" button (on web/desktop, the button is to the left of 3-dot, on mobile devices, the button is below the header title and avatar)
Press the "Join" button and verify it disappears
Press the 3-dot button and choose "Leave". You will be redirected to the concierge chat (I expect it to return to parent chat, maybe this is a bug)
Go back to the room chat and repeat steps 4-5

(NOTE: if you press back from the concierge chat, you will see the thread chat again and if you try to press Join, it will fail. The BE response said it's because the report doesn't exist anymore, as shown on the iOS recording below, so make sure to reopen the thread chat from the room chat by following step 8)

[x] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/50919443/9a7fa1de-f762-42c3-859d-c5ee8d2250b4

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/aaf81d00-a807-4ae4-b113-df26e622a340

iOS: Native

https://github.com/Expensify/App/assets/50919443/dca870c0-95ff-4b8d-88d4-09622af77b14

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/155a4115-d253-4c32-ae9e-b963ef6ed3be

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/dd8d1a1d-65d0-4940-9df9-ada186617354

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/f4529ce4-0aed-4c68-921f-e9c281fe595a

A question:
Because now we put a Join button on the header, do we still need the Join menu item on 3-dot?

@abdulrahuman5196 @srikarparsi

Yes, we should take it out of the 3-dot menu

Thanks, updated

Because now we put a Join button on the header, do we still need the Join menu item on 3-dot?
I think we should leave it in the overflow menu; a little redundant, but that's where we're putting "leave", so it will be good to mirror it.

but that's where we're putting "leave", so it will be good to mirror it.

I think so too, added it back.

Reviewing now

@bernhardoj Typescript checks are failing

Unit test fails on main

Reviewing now

@bernhardoj I see an issue where the join button is flickering when we leave.
https://github.com/Expensify/App/assets/46707890/9651223c-acd3-4cab-9ecb-3b8197d38c49

@abdulrahuman5196 the join button shows because you leave the room.

@abdulrahuman5196 the join button shows because you leave the room.

Got it. It visually seems flickering, but it's actually switching chat which has the join button to chat without join button.

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

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

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

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

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

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

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/46707890/f722e984-ea40-49dc-a55c-f95751701689

Android: mWeb Chrome

https://github.com/Expensify/App/assets/46707890/c5b79a95-be01-43ab-89a3-00875d5d0509

iOS: Native

https://github.com/Expensify/App/assets/46707890/4dd01b5b-728f-4e6a-98cc-77fb17fe33af

iOS: mWeb Safari

https://github.com/Expensify/App/assets/46707890/d450c9c1-02ed-4fa5-965b-607caacf4135

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/46707890/d7aaa306-2410-4252-96ba-1dd7a7e29baa

MacOS: Desktop

https://github.com/Expensify/App/assets/46707890/1b2ec4ac-f2ac-4195-a87a-60cdd7726599

@bernhardoj Unit test failure has been fixed in main. Could you kindly do a merge from main, so that all tests pass?

@abdulrahuman5196 done 👍

And a note on QA tests, for me Join or Leave only appears if the thread has a child message. Same in staging as well.

@srikarparsi Hmm, the reassure pass when I ran it locally. Can you help re-run the CI job for reassure, please?

Changes look good, thank you, re-running tests

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

🚀 Deployed to staging by https://github.com/srikarparsi in version: 1.4.22-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
cancelled 🔪

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/srikarparsi in version: 1.4.22-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

I might be wrong, but it seems that since this was deployed to staging, there are some use cases when the App sends 0 as the value for reportID param to the command UpdateReportNotificationPreference. Sample of logs here and here

Hmm, the code for joining the thread stays the same, that is by sending the current report reportID. If the reportID is 0, the header won't show, so I think there is no way of joining a thread with a reportID of 0 in a normal way.

🚀 Deployed to production by https://github.com/thienlnam in version: 1.4.22-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Move Slider and Drop Down into the top right-hand corners -- NAFTA

https://stackoverflow.com/questions/62103632/altair-change-the-position-of-a-slide

r

Completed.


⚠ Bofrost.es has degraded performance

In d6256a1, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1449 ms

Resolved: Bofrost.es performance has improved in 6908036 after 9 minutes.


Yaml wait for commissionee

Problem
YAML tests can not be used for testing commissioning since they automatically try to retrieve a device previously commissioned.
Change overview

Add WaitForCommissionee command
Add a test step before each tests that requires a device to has been previously commissioned
Update the tests runners
Update generated code

Testing
The test step has been added to most step (except 1)

Don't you think this was maybe better to do it per Cluster rather than having it into every single test file ?
or having a tag saying pre-commissioned as a requirements ..

Don't you think this was maybe better to do it per Cluster rather than having it into every single test file ?
or having a tag saying pre-commissioned as a requirements ..

This is unrelated to clusters themselves so it has to live into the test file.
About using a tag I was hesitant between adding an explicit test step and a boolean in the config. But now, let's imagine that you want a test that connects to 2 commissionees ? At least with the explicit test step we can introduce some parameters if needed and differentiates between the commissioners.

/rebase

Fast tracking given this enables tests.


enhance the features in form of cards for a better UI

the features can be represented in the form of hoverable cards and caraousel can be added as well , I would like to work on this issue so as to improve the UI /UXof the site.
please assign this issue to me under Gssoc'24

I would like to work on this issue, kindly assign this issue to me, I am under GSSOC'24.

I have worked on cards before as well and I have a previous knowledge of how to make the cards look pleasing. So kindly assign me this issue

I can solve this issue by making better , responsive and professional looking cards

hey @kairveeehh, I am assigning this issue to you, please make it happen :)

Review my contribution and marked under GSSOC'24

Review my contribution and marked under GSSOC'24

Bro the issue is assigned to me already please read the comments once


enhance(json-schema): use the best match in the union type even if it doesn't match fully

I think we need to add tests for this.


Persist final results

web: provide json download
mobile: use file-based storage
Related: #19 -> build a reusable storage service

Open Issues:

[ ] Show save results button after game-finish
[ ] Save results success alert
[ ] Leaderboard same points -> placement


fix: Loader design

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
PR Type

[x] Bugfix

Needs Design check

@exezbcz please review

Context

[x] Closes #8278

Did your issue had any of the "$" label on it?

[x] My DOT address: Payout

Screenshot 📸

[x] My fix has changed UI

Copilot Summary

🤖[deprecated] Generated by Copilot at 5701409
Improved the style and alignment of the NeoButton component. Removed unnecessary and outdated CSS selector from NeoButton.scss.

🤖[deprecated] Generated by Copilot at 5701409

Button label shifts
Aligns with icon in spring
No :deep selector

hmm, i dont see much of a difference

it looks like it does not rotate around its center

emm I will improve it

hmm, i dont see much of a difference

it looks like it does not rotate around its center

✅  Now It should be better. @exezbcz

thanks!
pay 20 usd


[issue-329] Fix find min binlog offset wrong value in increment binlog stage

When all snapshot spit stage finished , it need to create a MySqlBinlogSplit to start up a increment binlog stage .
First need to find a startingOffset position from all assignedSnapshotSplit of snapshot stage.
But it always get BinlogOffset.INITIAL_OFFSET value .

OK @leonardBang

any suggestions ? @leonardBang

@xiangtao Could you also open a PR to cherry-pick the commit e34ff84a43033b0909d62aaa1722ce322a354b0e to release-2.0 branch?


Accept soft labels in the fit function of ART classifier

Currently the fit function of an ART classifier just accepts either index labels or 1-hot labels and doen't accept probability labels. In learning-based extraction attacks, victim models may return probability labels which contain many useful information that can be harnessed by a thieved model. So ART classifier needs to accept probability labels in the fitting function.

@minhitbk Thank you very much for raising this issue!


Kerning slider

Hey Sebastian,
I am way out of my comfort zone now, because I know absolutely nothing about coding, but I did sign up for Github and here's the error code I get when trying to use the kerning slider:
Traceback (most recent call last):
File "", line 116
File "", line 22, in init
File "", line 88, in update_current_pair
IndexError: string index out of range
Maybe I am doing something wrong, but just keep in mind that I have zero experience with coding and I thought I could live my life without having to know coding. If the above is not the error code, please tell me how to actually find it!
Thanks

Hi, this should all be fixed in the newest version, which is a complete re-write. Thanks a lot for your patience!

Hey Sebastian,
;-) A million thanks!!!
David
Op wo 1 jun. 2022 om 17:38 schreef Sebastian Carewe <
@.***>:

Closed #6 https://github.com/eweracs/glyphs-scripts/issues/6 as
completed.
—
Reply to this email directly, view it on GitHub
https://github.com/eweracs/glyphs-scripts/issues/6#event-6720336490, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AWY3PUMEDDDTBAVTJQKABPLVM57WNANCNFSM5JLSMXBQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
www.hanodedfonts.com


mix release from clean project fails when build_embedded: true

After checking out a fresh copy of my project and running mix do deps.get, deps.compile exrm, running MIX_ENV=prod mix release resulted in this error when compilation got to my project:
** (Mix) Cannot execute task because the project was not yet compiled. When build_embedded is set to true, "MIX_ENV=prod mix compile" must be explicitly executed
@bitwalker not sure if this should be considered an exrm issue at all, but wanted to mention the behavior here in case it's something that you want to address in some way.

@antipax This is due to how mix handles tasks which require compilation of the project when MIX_ENV=prod and build_embedded: true, you must explicitly compile your project first, unfortunately there isn't anything I can do for this one from exrm's side.

@bitwalker cool, thanks!

How are we meant to compile? is it mix compile ?

@nelsonic you should switch to Distillery - it has superceded exrm and is in much better shape. Exrm is deprecated at this point in time. This issue in particular is irrelevant with Distillery, as it ensures compilation is always performed when building the release.

@bitwalker thanks for reply. have switched. 👍


iam_role introduced in v0.17.2 does not have behave like --terragrunt-iam-role cli flag

The documentation says these are equivalent but they are not. It seems like when using the --terragrunt-iam-role cli flag or exporting the TERRAGRUNT_IAM_ROLE env var the role assumption happens early in the terragrunt flow and sets up my remote state backend correctly. This is the expected behaviour
aws-vault exec bastion -- terragrunt plan --terragrunt-iam-role arn:aws:iam::1111111111:role/admin
In this case the bastion account ID is 00000000 and the target account ID is<PHONE_NUMBER>
This all works as expected
However when I set the iam_role in the terragrunt.tfvars file like this:
terragrunt = {
  iam_role = "arn:aws:iam::1111111111:role/admin"
  terraform {
    source = "git@github.com:foo/foo-modules.git//terragrunt_iam_bastion?ref=v0.8.26"
  }

  # Include all settings from the root terraform.tfvars file
  include = {
    path = "${find_in_parent_folders()}"
  }
}

aws_region    = "eu-west-1"
account_alias = "foo-bastion"

The role assumption seems to happen later in the terragrunt flow. SO terragrunt thinks I am configuring a new remote state backend. e.g when calling
aws-vault exec bastion -- terragrunt plan
It wants to reconfigure the remote state backend to be that of the bastion account
Backend config has changed from
map[bucket:foo-11111111111-state dynamodb_table:terraform-locks encrypt:%!s(bool=true) key:organizations/bastion/global/iam/terraform.tfstate region:eu-west-1] to
map[region:eu-west-1 dynamodb_table:terraform-locks encrypt:%!s(bool=true) bucket:foo-0000000000-state key:organizations/bastion/global/iam/terraform.tfstate]

The remote state backend configuration in my root terraform.tfvars looks like this:
terragrunt = {
  remote_state {
    backend = "s3"
    config {
      encrypt        = true
      bucket         = "foo-${get_aws_account_id()}-state"
      key            = "${path_relative_to_include()}/terraform.tfstate"
      region         = "eu-west-1"
      dynamodb_table = "terraform-locks"
    }
  }
}

Let me know if you need any additional info

Just wondering is there anything I can do to add additional context around this issue? I know lots of people use aws-vault with terragrunt and I'd love to be able to use the iam_role configuration in my terraform.tfvars file for added safety / convenience

Sorry, we've been absolutely buried and haven't had time to dig into this. If you have suggestions on how to fix this, a PR is very welcome!

Ran into this today as well, currently using Docker for different environments to bake in the assume role complexity. Would love to get rid of the containers and put the ARN in a terragrunt.hcl file for each environment.

Anything new on this?

@denis256 could you look into this?

Found that  get_aws_account_id() returns IAM details defined by environment variables/terragrunt arguments, ignoring value from iam_role
$ aws sts get-caller-identity
{
    "UserId": "AAA",
    "Account": "BBB",
    "Arn": "arn:aws:iam::YYYY:/app0"
}

$ cat terragrunt.hcl
  iam_role = "arn:aws:iam::XXXX:role/app1"

  remote_state = {
    backend = "s3"
    config = {
      encrypt = true
      bucket = "foo-${get_aws_account_id()}-state"
      key = "${path_relative_to_include()}/terraform.tfstate"
      region = "us-east-1"
      dynamodb_table = "terraform-locks"
    }
  }

$ terragrunt init
Remote state S3 bucket foo-YYY-state does not exist or you don't have permissions to access it. Would you like Terragrunt to create it? (y/n)

I think the expectation is to create foo-XXXX-state S3 bucket

Yup, I think that would be the bug, right?

Yes, the issue is that ${get_aws_account_id()} and any other expression get evaluated before the entire file is processed, so when the value of get_aws_account_id() is calculated iam_role wasn't parsed and loaded to evaluation context...
So far I will try to explore the direction of changing how the file is processed, to have for each ${...} expression "promises" which will be resolved after initial file evaluation...

Ah, right, that makes sense. We already have some order dependence in Terragrunt parsing... But I guess get_aws_account_id could appear anywhere in the code, so it's tricky to know when to process it.
Taking a step back, I wonder if adding get_aws_account_id was a mistake in general. Same for get_aws_caller_identity_arn and get_aws_caller_identity_user_id, which likely exhibit the same bug. All of these functions are very AWS specific. Doing AWS-specific things makes sense in the remote state logic, as S3 is one of the places remote state is supported, but as a general feature in Terragrunt, it seems odd to have it.
Perhaps what we really need, as discussed before, is a first-class way to use data sources with Terragrunt. That way, you could use, for example, the aws_caller_identity data source, aws_vpc data source, or any other data source for any cloud...
@yorinasub17 and @infraredgirl curious to hear your thoughts.

So far I will try to explore the direction of changing how the file is processed, to have for each ${...} expression "promises" which will be resolved after initial file evaluation...

I believe the functions handle the IAM role correctly if it is assigned in the terragruntOptions struct (the IamRole attr), so it might be simpler to just parse out the iam_role config first in the DecodeBaseBlocks function and then assign that attribute on terragruntOptions prior to parsing the rest of the config. That might be simpler approach than introducing lazy evaluation.

Perhaps what we really need, as discussed before, is a first-class way to use data sources with Terragrunt. That way, you could use, for example, the aws_caller_identity data source, aws_vpc data source, or any other data source for any provider?

I think the data sources are likely to have the same problem here, as the real issue is about authenticating terragrunt to the cloud during config parsing. That is, the functions (and data sources for that matter) are things that need to be authenticated during the parsing stage, but config options for authenticating to the cloud like iam_role is only handled after parsing. So supporting data sources feels like an orthogonal discussion to fixing this bug.


Add mysqli test of MysqlTypeMapper

This mirrors the test in pdo-mysql.php, but with the mysqli driver instead of PDO. It tests all the types in the typemix table.
Requested in https://github.com/staabm/phpstan-dba/pull/572#issuecomment-1471467377.

I'll be honest, I don't really understand why a postgres test is failing here, since the only change is an added mysqli test. :thinking:

I think we missed to update the https://github.com/staabm/phpstan-dba/blob/main/tests/pgsql-schema.sql

Yeah, the typemix table is really different between the two schemas. I spent quite a while trying to make them equivalent, but there are some differences between pgsql and mysql that can't be avoided, for example, pgsql doesn't have an UNSIGNED modifier.
My takeaway is that this particular test case shouldn't be run in the postgres tests. Do you want me to do this, or would you rather I leave it as-is so someone else can investigate?

I think we should run the test but have different expectations depending on the used db backend

Thanks for the recommendation. This should be ready for review again.

thank you


zfs: 2.1.8 -> 2.1.9

Description of changes
https://github.com/openzfs/zfs/releases/tag/zfs-2.1.9
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Works like a charm on 6.1.7


[Compatibility] Pokémon stop healing by themselves

Occasionally, trained pokemon can't be healed via natural regen and via normal healing. Their hediffs just won't go away. Potions also 'patch' the wound but the hediff will still be present on their health tab. Saving and reloading will fix it, for whatever reason, but it will occur again soon after.
Only mod I have that I could openly see interfering is the 'Level Up' mod, which if you level constitution for a pokemon is supposed to cause their self-healing to speed up slightly. But when it stops working for one pokemon, it stops working for all, even if they have no levels.

Very likely linked with issue #25


chore(deps): update renovate/renovate docker tag to v37.238.0

This PR contains the following updates:

Package
Update
Change

renovate/renovate (source)
minor
37.237.0 -> 37.238.0

Release Notes

renovatebot/renovate (renovate/renovate)
v37.238.0
Compare Source
Features

drop re2 workaround (#27858) (c479544)

Build System

ignore dtrace-provider (#27860) (289944e)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 5.3.6 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Prevent null reference. Fixes #64

If the richTextDataFrom value is null or undefined (which is a valid condition), the check for the root attr will fail.
This resolves the issue.

Thank you!


SSH Keys - extra explanation required

I was tearing my hair out over why the tool would not accept my private ssh key since it was definitely of the format specified.
I finally got it to work by converting the newline characters in the key file to CRLF instead of just LF.
Most SSH keys will be created on a Linux system so will have LF as their newline character. The simplest way to fix this is to open the file in vim and type ":set textmode" then save the file. Or you could use unix2dos to convert the key.
The document should make it clear that the key require CRLF for newline rather than LF.

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

ID: 60d3e532-e3e5-219a-ce0c-502b48faaebb
Version Independent ID: 19765a75-4ee0-7ce7-5d34-1cac117cf80c
Content: Discover physical servers with Azure Migrate Discovery and assessment - Azure Migrate
Content Source: articles/migrate/tutorial-discover-physical.md
Service: azure-migrate
GitHub Login: @Vikram1988
Microsoft Alias: vibansa

@thnurg for pointing this out. I have requested the Engineering to validate this before we can update the doc with this info

The following doc update has been pushed at https://docs.microsoft.com/azure/migrate/tutorial-discover-physical#start-continuous-discovery:
“The SSH key file supports CRLF to mark a line break in the text file you upload. SSH keys created on Linux systems most commonly have LF as their newline character so you can convert them to CRLF by opening the file in vim, typing ":set textmode" and saving the file.”

@thnurg,
The change was pushed as part of a different PR. As mentioned above, the update is available at https://docs.microsoft.com/en-us/azure/migrate/tutorial-discover-physical#start-continuous-discovery.
Hence, closing this issue.
Thanks!
#please-close


Improvement: Bind port for TcpConnector

Hi,
for some use cases (e.g. IPsec) it would be nice to bind a non-listen TCP socket to a non-ephemeral port.
I think we only need to create a socket and bind it to a specific port (or SocketAddr) before connecting to a target.
@kbalt What do you think?

Closed by https://github.com/kbalt/ezk/pull/42


muiTheme error

after following the example code...
got this error:
Failed context type: The context muiTheme is marked as required in TextField, but its value is undefined.
in TextField (created by TextareaComponent)

@wiredots01 This is a requirement of Material UI now. Some where in your app you have to have a MuiThemeProvider. Most likely you want to do it at the top level. There are things you can do with the Theme Provider but I have not played with it yet other than to make it work.
Example:
import React from "react";
import MuiThemeProvider from "material-ui/styles/MuiThemeProvider";
import {Container} from "muicss/react";
/*...*/

require('./app.scss');

export class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      /*...*/
    }
    /*...*/

  }

  /*...*/

  // and example of how to pass props to children
  // {React.cloneElement(this.props.children, { playerControls: this.playerControls })}

  render() {
    return (
      <MuiThemeProvider>
        <div className="appBody">
          <AppNavigation />
          <Container fluid={true} className="childContainer">
            {this.props.children}
          </Container>
          /*...*/
        </div>
      </MuiThemeProvider>
    );
  }
}

App.propTypes = {
  children: React.PropTypes.element.isRequired,
};

thanks its working now!


Is this repository being maintained?

Current master branch is way behind the original redis py library changes.
Pull requests are approved but not merged.
Is anyone maintaining this?

Should we fork it and make a fork the new version?

@andreaia @ber4444 @davidmnoriega @jbir789 @joshal @richfromm @ryan-west @TageNielsen
Do you plan to maintain this library? Would you consider giving it to someone else?


Add an easier way to enable all functions of a particular extension

Currently, you're required to write out all functions that you want to use:
const DeviceDispatch = vk.DeviceWrapper(.{
    .destroyDevice = true,
    .getDeviceQueue = true,
    .createSemaphore = true,
    .createFence = true,
    .createImageView = true,
    ...,
    .getSwapchainImagesKHR = true,
    .createSwapchainKHR = true,
    .destroySwapchainKHR = true,
    .acquireNextImageKHR = true,

});

It would be nice if there was a way to just import all functions from a particular extension. Since the Flags already implement the FlagsMixing, perhaps we could do something like
const DeviceDispatch = vk.DeviceWrapper(vk.deviceFunctions.merge(
    vk.extension_info.ext_swapchain_colorspace.functions,
));

Now that #127 is merged, I realize that actually creating the function sets is kind of verbose. I figured, maybe there is a way to unify the "Info" structs, and pass a set of these instead of a set of functions specifically. A quick mock up:
// User declares a set of features and extensions up front. These contain both the base/instance/device functions of the feature or extension.
const things = .{
  vk.features.version_1_0,
  vk.extensions.khr_surface,
  vk.extensions.khr_swapchain,
  // A "custom" set can also be created. This would just initialize the `Info` structure
  .{
    .instance_functions = .{
      .getPhysicalDeviceFeatures2KHR = true,
    },
    .device_features = .{
      .cmdPushDescriptorSetKHR = true,
    },
  },
};

// Instead of separately passing each function to a wrapper, just pass the set
const InstanceDispatch = vk.InstanceWrapper(things);
const DeviceDispatch = vk.DeviceWrapper(things);

Implemented the above. It wasn't so hard and feels pretty nice


Fix crash in app.py with -c option

Description
When starting app.py with an existing config
python3 app.py -c /src/gpt4all-ui/configs/custom-config.yaml

It crashes with:
Traceback (most recent call last):
  File "/src/gpt4all-ui/app.py", line 1193, in <module>
    if not lollms_paths.personal_configuration_path/f"local_config.yaml".exists():
AttributeError: 'str' object has no attribute 'exists'

Type of change
Please delete options that are not relevant.

[x ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:
Please put an x in the boxes that apply. You can also fill these out after creating the PR.

[ x] My code follows the style guidelines of this project
[x ] I have performed a self-review of my own code
[ x] I have commented my code, particularly in hard-to-understand areas
[ x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x ] I have tested this code locally, and it is working as intended
[ ] I have updated the documentation accordingly

Thanks! Good job on this framework.


Generative NFTs

Motivation
We would like an example showcasing creative applications combining NFTs and generative models.
Proposal
gen-nft is an application which uses the Tiny Llama story model to create unique NFTs from prompts.

Test Plan
Tested manually.

Do you have a screenshot or video of the UI?

See description @andresilva91 .

@christos-h Is the new README file run in CI? I believe you must add it to linera-service/tests/readme_test.rs.


Feat/small features and refactoring

Description
Features

Dynamic GTM tag injection via an environment variable
Custom footer text using markdown via an environment variable
Initiative for replaceable components
Automatic favicon/PWA image generator using a single base icon
Dynamic PWA manifest generation

Refactoring

Make routing paths static
Typing refactoring (.d.ts -> .ts), which revealed some typing problems
Update the reload subscriptions mechanism
Move controllers to its own directory
Move logic from containers/hooks to controllers (progress has been made, but more is planned)

Fixes

Prevent a crash when history or favorites fails to load (duplicate IDs)
Inline player not supporting TVOD (will always show the paywall)
TVOD subscriptions not reloaded on non-SVOD platforms
Customer IP not defined when creating a Cleeng order
Error when deleting an InPlayer account
Unexpected errors (crashes) not showing the ErrorPage
Start watching button shown for TVOD items in AVOD platform (no integration configured)

Thanks for reviewing this thoroughly @dbudzins, I've implemented most of the requested changes. Let me know what you think!
Have a good weekend 😄

@ChristiaanScheermeijer thank you! I still have some questions regarding continue watching / favorites logic. I will take one more look tomorrow.

@ChristiaanScheermeijer thank you for the changes!

Thanks for reviewing @dbudzins and @AntonLantukh 👍 🙌


Language Server choice not followed on Mac

I recently updated to the most recent version of the extension on my iMac, and I noticed that the auto-completion behavior changed, such as changes to how docstrings were formatted. My settings indicated that I was still using the default Jedi language server (sorry if the screenshot is a bit big):

In addition, there was a new Python Language Server section in the Output tab of the Integrated Terminal.
I deleted pythonFiles/lib/jedilsp directory from the extension source, and got an error message saying the language server could not be reached. This is despite the fact that I never enabled the language server. Viewing the same file, I see this:

Meanwhile, when I view an identical file in Ubuntu and view it using the Remote WSL extension on Window, I have no issues:

Also, there is no  Python Language Server section in the Output tab of the Integrated Terminal.

After some further checking, I realized I was in an experiment group that (I guess?) forced me to use the Jedi LSP language server. I disabled Experiments and everything works now.


Finish adding doxygen comments to C-shared API

Many of the functions in the C-shared api are currently lacking doxygen comments and descriptions.

all functions now have doxygen docs associated with them.  There still needs to be some organization but that will happen in time as we better organize the doxygen docs as a whole.  For now this issue is completed


CPU usage 100% when typing

Hi,
Describe the bug
I am using vim to edit C++ files (the C++ project itself is big and has lots of files), but sometimes vim cpu usage went up to 100% and got frozen. Initially i suspected it may be related to VIM plugins I installed, so i tried to remove all plugins, but no luck. I upgraded VIM to latest 8.2 version, still no luck.
May I ask if there are further troubleshooting steps i can try to collect more information ?
To Reproduce
Detailed steps to reproduce the behavior:

vim <c++ source file>
type c++ code
vim freeze (cpu usage is 100%)

Expected behavior
vim shall not freeze
Screenshots
If applicable, copy/paste the text or add screenshots to help explain your problem.
Environment (please complete the following information):

Vim version [e.g. 8.1.1234] (Or paste the result of vim --version.)

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jan 08 2021 14:00:27)
Included patches: 1-2311
Modified by<EMAIL_ADDRESS>Compiled by<EMAIL_ADDRESS>Huge version without GUI.  Features included (+) or not (-):
+acl               -farsi             +mouse_sgr         +tag_binary
+arabic            +file_in_path      -mouse_sysmouse    -tag_old_static
+autocmd           +find_in_path      +mouse_urxvt       -tag_any_white
+autochdir         +float             +mouse_xterm       -tcl
-autoservername    +folding           +multi_byte        +termguicolors
-balloon_eval      -footer            +multi_lang        +terminal
+balloon_eval_term +fork()            -mzscheme          +terminfo
-browse            +gettext           +netbeans_intg     +termresponse
++builtin_terms    -hangul_input      +num64             +textobjects
+byte_offset       +iconv             +packages          +textprop
+channel           +insert_expand     +path_extra        +timers
+cindent           +ipv6              -perl              +title
-clientserver      +job               +persistent_undo   -toolbar
-clipboard         +jumplist          +popupwin          +user_commands
+cmdline_compl     +keymap            +postscript        +vartabs
+cmdline_hist      +lambda            +printer           +vertsplit
+cmdline_info      +langmap           +profile           +virtualedit
+comments          +libcall           -python            +visual
+conceal           +linebreak         +python3           +visualextra
+cryptv            +lispindent        +quickfix          +viminfo
+cscope            +listcmds          +reltime           +vreplace
+cursorbind        +localmap          +rightleft         +wildignore
+cursorshape       -lua               -ruby              +wildmenu
+dialog_con        +menu              +scrollbind        +windows
+diff              +mksession         +signs             +writebackup
+digraphs          +modify_fname      +smartindent       -X11
-dnd               +mouse             +sound             -xfontset
-ebcdic            -mouseshape        +spell             -xim
+emacs_tags        +mouse_dec         +startuptime       -xpm
+eval              +mouse_gpm         +statusline        -xsmp
+ex_extra          -mouse_jsbterm     -sun_workshop      -xterm_clipboard
+extra_search      +mouse_netterm     +syntax            -xterm_save
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -Wdate-time -g -O2 -fdebug-prefix-map=/build/vim-aswg2n/vim-8.2.2311=. -fstack-protector-strong -Wformat -Werror=format-security -D_REENTRANT -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o vim -lm -ltinfo -lselinux -lcanberra -lacl -lattr -lgpm -ldl -L/usr/lib/python3.8/config-3.8-x86_64-linux-gnu -lpython3.8 -lcrypt -lpthread -ldl -lutil -lm -lm

OS: [e.g. Ubuntu 18.04, Windows 10 1809, macOS 10.14]
Ubuntu 20.04

Terminal: [e.g. GNOME Terminal, mintty, iTerm2, tmux, GNU screen] (Use GUI if you use the GUI.)
tmux

May I ask if there are further troubleshooting steps i can try to collect more information ?

Assuming that your vimrc was not only containing plugins, and you didn't already reproduce with no config (-Nu NONE or --clean), I would start by minimizing the vimrc.  See here for how to to so.
In your vimrc, you might need to enable the filetype detection:
filetype on

And maybe the filetype plugins too:
filetype plugin on

Or maybe the indent plugins:
filetype indent on

Or maybe both:
filetype plugin indent on

And you might need to enable syntax highlighting:
syntax enable

Once you get a minimal vimrc, you could profile Vim to get more info about which commands consume most of the time:
:prof start profile.log
:prof func *
:prof file *
" At this point do whatever is necessary to reproduce the issue/slowness
:prof pause
:noa qall!

Then read or post the contents of the profile.log file.  See this answer.

Thanks a lot, @lacygoill . Will give it a try

Any update?

Hi @lacygoill, sorry for late response. I played around the debugging tips above. It appeared that the problem lied in YouCompleteMe plugin and after removing this plugin, the CPU usage remained normal. Please feel free to close this one and i will reopen it with more debug info it really comes back.
Thanks again for your help and followup. It was very helpful.

@chenziliang wrote:

It appeared that the problem lied in YouCompleteMe plugin and after removing this plugin, the CPU usage remained normal.

I also use the YouCompleteMe vim Plugin with C++ and the latest Vim, and I do not see this issue.
Try to upgrade YouCompleteMe?  I do it regularly using:
$ ~/.vim/plugged/YouCompleteMe
$ git pull
$ CC=clang-12 CXX=clang-12 ./install.sh --clang-completer --clangd-completer

If you still see the issue, consider reporting to https://github.com/ycm-core/YouCompleteMe.


check and fix some syntax errors in the prompts

Context
What is the purpose of this PR? Is it to

[ ] add a new feature
fix a bug
[ ] update tests and/or documentation
[ ] other (please add here)

Please link to any issues this PR addresses.
Changelog
What are the changes made in this PR?
Check all prompts and fix syntax errors in src/translation_agent/utils.py and tests/test_agent.py

@fzp0424 Thanks for the catches! All look good.


No new data in wed + fri updates this week

For some reason the latest graphs were produced today [2022-01-07] but have data only until 2022-01-04.
Kind regards,
Patrik
PS. Thanks for a great service.

Shit.. just realized the code has not been running for a few days without producing errors. Fixed now.


chore: Address reviews

Which issue does this PR close?

Closes #.
Rationale for this change

Addressing the latest reviews https://github.com/apache/datafusion-comet/pull/905#discussion_r1746350944 and https://github.com/apache/datafusion-comet/pull/905#discussion_r1746346897.
What changes are included in this PR?

How are these changes tested?

cc @Kontinuation

Thanks @andygrove


update controller-gen

does this need to match the version in kuadrant-operator? If not /lgtm

does this need to match the version in kuadrant-operator? If not /lgtm

no, no as far as I know.

does this need to match the version in kuadrant-operator? If not /lgtm

no, no as far as I know.

actually, this is bringing it in line with kuadrant-operator anyway.


Typescript compilation error: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier.

$ tsc && cp -r src/api dist/api
node_modules/scramjet/.d.ts/index.d.ts:8:1 - error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier.

8 function pipelineOverride(...a: never[]): never;
  ~~~~~~~~

node_modules/scramjet/.d.ts/index.d.ts:13:7 - error TS2417: Class static side 'typeof PromiseTransform' incorrectly extends base class static side 'typeof Transform'.
  The types of 'pipeline.__promisify__' are incompatible between these types.
    Type '(...a: never[]) => never' is not assignable to type '{ (stream1: ReadableStream, stream2: WritableStream): Promise<void>; (stream1: ReadableStream, stream2: ReadWriteStream, stream3: WritableStream): Promise<...>; (stream1: ReadableStream, stream2: ReadWriteStream, stream3: ReadWriteStream, stream4: WritableStream): Promise<...>; (stream1: ReadableStream, stream2: Rea...'.
      Types of parameters 'a' and 'stream1' are incompatible.
        Type 'ReadableStream' is not assignable to type 'never'.

**TS version: ** 3.8.3
**Scramjet version: **  4.33.4
**Solution: **
downgraded to 4.30.1

Hey, thanks for the comment, we're on it. :)

@AndrewGrachov can you extract a simple repo for instance with a single file that causes the above issue? We'd check if we can reproduce this.
Or at least share the code that uses scramjet?

https://github.com/AndrewGrachov/scramjet-error
here you are, I suspect yarn

dockerfile build should fail

Thanks, I'll check - I believe I'll need to redo the pipeline method override in all streams - I don't know why it's like that in ts since pipeline is not a method of Readable or Writable or any other Node.js stream, but worst case scenario I'll just allow any there...

I'm trying to fix this - but this is taking some extra time, as I don't really know how to make Typescript ok with overriding of some of Duplex/PassThrough stream methods (pipeline mostly).
I'll try to solve it in such a way that this will be compatible - I'll create a PR over the weekend and perhaps you could help me with getting the definitions right.

Still working on this - it's a bit annoying since I added the pipeline method before it was added to Transform stream and then the method was made incompatible which doesn't go well with Typescript.

Another update - we're focusing on Scramjet v5.x branch now, as we're trying to pass a tipping point there - still we'll return to this asap.

Ok, fix underway - I needed to remove the pipe method altogether and use node's own one. There's a possible compatibility issue, but if that occurs for anyone - it's most likely to be a bug (so you'd need to fix that in your own code).
@AndrewGrachov tell me if it's now working for you with 4.34.0 - I'll publish this in a couple minutes.

@AndrewGrachov shall we close this?

Build os ok, thank you!

Brilliant. 👍


Fix bounds ordering

Requires https://github.com/space-wizards/RobustToolbox/pull/1966
https://github.com/space-wizards/RobustToolbox/pull/1958 fails tests if there's any invalid bounds.

I have no idea how clickable is failing now

ooop, merge during review. powerful


Revert "Verify that a GenericTypeParamDecl's depth and index are correct"

This reverts #20100. It's causing problems on the Source Compatibility bot.
rdar://problem/45912707

Aargh.
@swift-ci Please smoke test macOS


unexpected Sinopia search results with multi-word search

searched for a multi word phrase (no quotation marks) in Sinopia:
sdr fruit
I got matches on everything that had sdr OR fruit in the title
Sinopia seems to interpret the search as:
sdr OR fruit
is this as expected?
I expected it would automatically AND multiple terms
as if I had typed:
sdr AND fruit
which gives 0 results, as expected, since there are no titles containing those 2 words
we need to add some help text explaining how a multi-word search is interpreted, and letting people know they can use AND or OR or quotation marks in their searches

Developers: please provide here a link to elastic search documentation that describes the syntax we are using / expecting


fix(sidenav): align text at start

End sidenavs were aligning text at "end" because the align="end" attribute was still on the DOM. This PR removes the attribute so it won't confuse browsers.

LGTM


Promote ECSchemaXmlContext to beta

I created this branch from imodel02 since https://github.com/iTwin/itwinjs-core/pull/5574 started causing PR validation failures.

No validation is happening for your PR because of its target branch and lack of corresponding native changes.
Since all you are changing is documentation and release tags, I think you should target master.


Added Floating Iconbar

PR Description 📜
Added Floating Iconbar.
Fixes #461

Mark the task you have completed ✅

[X] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[X] I have performed a self-review of my own code or work.
[X] I have commented my code, particularly in hard-to-understand areas.
[X] My changes generates no new warnings.
[X] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[X] I have added screenshot for review.

## Add your screenshots(Optional) 📸
https://github.com/user-attachments/assets/8f77842c-64ca-43b7-a579-89b85cedc829

Thank you soo much for contributing to our repository 💗

@ayush-t02, please review this pr

Is it responsive?

Is it responsive?


Remove newlines from repo descriptions

This fixes the markdown formatting breaking when a repo has a newline in its description like this one: https://github.com/facebook/PathPicker

The Travis CI build failed because it's hitting the GitHub API rate limit.


:wrench: set default fixture scope for pytest-asyncio

Resolves PytestDeprecationWarning: The configuration option "asyncio_default_fixture_loop_scope" is unset

I was going to change this with an upcoming PR. But we can change it here. I was going to change it to session scope as default. Not sure if there's a reason you chose module or not? I don't think it will really matter.

I was going to change this with an upcoming PR. But we can change it here. I was going to change it to session scope as default. Not sure if there's a reason you chose module or not? I don't think it will really matter.

Ah, the only reason for setting it to module level is because it's the lowest available scope.
I think the default in the next pytest-asyncio release will be "function" scope, so I first tried that. But then there are module-scope fixtures that depend on function-scope fixtures, which isn't allowed. So, module scope is a default that works. I guess that was the only reason.
The main difference will be in the lifecycle of the test fixtures. I think session-scope fixtures should be explicitly marked as such, since they have the longest lifecycle (created once and destroyed at end of test run). And those should probably be few and far between. Probably much of a muchness. But it makes sense that since the tests are highly modular (each module has its own tests folder), most test fixtures that don't have an explicitly defined scope should probably be function or module level.
I think function-level would make most sense, but that entails a review of all the fixtures that don't have a defined scope, and then setting only the ones that need it to module scope.


Add support for River Mini (non-wireless)

Fixes #19

Hi, does this mean that I can get charge level via HASS from River Mini? or?
Because I'd like to automate Xiaomi plug to automatically turn ON when River Mini is on 10%.
Is that possible now?
Tnx a lot and happy new year! :)

Yes, you can. I have everything working on my unit. Probably it will work with wireless version as well, but without reporting USB Type-C power usage. You can try to install it from this branch.
However I see ver3 branch contains some interesting device creation code, that creates 2 devices instead 1. I didn't touched it in this PR but you can checkout hack-fixed version from https://github.com/mik9/hassio-ecoflow/tree/features/river-mini branch.

Happy new year to you too :)

Yes, you can. I have everything working on my unit. Probably it will work with wireless version as well, but without reporting USB Type-C power usage. You can try to install it from this branch.
However I see ver3 branch contains some interesting device creation code, that creates 2 devices instead 1. I didn't touched it in this PR but you can checkout hack-fixed version from https://github.com/mik9/hassio-ecoflow/tree/features/river-mini branch.
Thanks!
Can you help me with finding the IP address of River Mini?
I'm trying to find it, but it doesn't show in any of lists:

router devices list
nmap
fing (Android app)

I can't find any device with Ecoflow_xxx_xxx name.
And I've even got the MAC address when connected to River Mini directly via it's wi-fi hotspot, but when it's connected to my local home wi-fi then I can't find it by that MAC address...
Any idea?
Thanks a lot!

Weird, it's shown in my router as EcoFlow_fb24. Also I nmap (nmap <IP_ADDRESS>/24) successfully found it:

I've connected it now to isolated wi-fi network, and it shows as LWIP device.
But when I enter it's IP address into home assistant Ecoflow integration, nothing happens.

Try branch from my repo: https://github.com/mik9/hassio-ecoflow/tree/features/river-mini
I see adding devices completely broken in ver3 branch here.

Try branch from my repo: https://github.com/mik9/hassio-ecoflow/tree/features/river-mini I see adding devices completely broken in ver3 branch here.

I've tried it now, and it's the same... :/

No idea then. Maybe firwmare update? I have latest firmware on my device.

No idea then. Maybe firwmare update? I have latest firmware on my device.

I have the latest version too.
Tho, mine is wireless version... But...