Analyzer warning counts in commits and email text

I haven't looked into the code, are the analyzer warning counts available for use in the commit and email text?  We'd like developers to be able to see analyzer warning counts along with build warning counts.

You mean in the comments posted by Buildasaur after an integration finishes? Like this one?
If so then yes, all the following counts are included if present:

warnings
analyzer warnings
error
test failure

You can see how it works here.
Is this what you meant? :blush:

Yes, thank you.

Interesting. In those integrations, are you seeing any warnings being mentioned in the comment? I now see that this code will in fact not properly add analyzer warnings if the integration finished with status warnings or passed.
Could you please try to call this on your Xcode Server locally:
curl -k https://<IP_ADDRESS>:20343/api/bots

where <IP_ADDRESS> is the address of the server, so replace it with the proper IP if you're calling it on a local network from a different machine. This will give you a JSON representation of all bots. Please find the one that you're seeing the issue on and find its _id. Then run
curl -k https://<IP_ADDRESS>:20343/api/bots/BOT_ID/integrations

and assuming the integration that should be showing analyzer warnings is the last one, it'll be the first in the list. There you should see with which status it ended (succeeded, warnings or analyzerWarnings) and what its buildSummary was. If you can find those two and let me know, I'll understand how to fix it if there's really a bug.
Thanks!

Yes, we have compiler warnings present in the comment.

Here is the relevant curl output:
...
"buildResultSummary":{"analyzerWarningCount":24,"testFailureCount":0,"testsChange":0,"errorCount":0,"testsCount":60,"testFailureChange":0,"warningChange":0,"regressedPerfTestCount":0,"warningCount":5,"errorChange":0,"improvedPerfTestCount":0,"analyzerWarningChange":0,"codeCoveragePercentage":7,"codeCoveragePercentageDelta":0},"result":"warnings"
...
We are running Xcode 7.3.

Thanks! Yeah that's what I thought. I'll fix the bug now, will let you know once a new version with this issue fixed is out. If you're running 1.0-beta2, you'll be able to update directly from Buildasaur.

Done, the release is here: https://github.com/czechboy0/Buildasaur/releases/tag/v1.0.0-b3
And you can just update directly from Buildasaur.
Let me know that it works as you expect now, please! :blush:

Cool, so @eric-chamberlain-intel - the bug is fixed by #254. I'll do a new release 1.0.0-beta3 now so you should see Buildasaur ask you to update soon. If you want to do it manually just click on the little refresh icon in the Buildasaur dashboard.

It works as expected.  Thank you for the quick turnaround.

:+1:


Missing cost estimate for azurerm_postgresql_flexible_server compute GP_Standard_D2ds_v5

Hello,
The cost estimate for GP_Standard_D2ds_v5 postgres flexible server comes up with a warning:
WRN No products found for module.<name>.azurerm_postgresql_flexible_server.main Compute (GP_Standard_D2ds_v5), using 0.00

I have tried using infracost v0.10.10, v0.10.33 and v0.10.35 and all have the same result.
Other tiers do seem to work fine.
Let me know if you need more info, thanks!

FYI, we'll keep this issue open until the next release :)

Thanks @ljetten, a fix for this is now live in the v0.10.36 release.


TriangleMesher: out of precision

Hello,
While using the TriangleMesher, I encountered this type of error:
Error:  Ran out of precision at<PHONE_NUMBER>92, 6329700.71863).
I attempted to split a segment to a smaller size than
  can be accommodated by the finite precision of
  floating point arithmetic.
Try increasing the area criterion and/or reducing the minimum
  allowable angle so that tiny triangles are not created.

As I understood, I can modify those two parameters to have this issue less frequently:
mesher.minimum_angle = 0.1
mesher.suppress_exact_arithmetic = True

But how do you modify the area criterion, as proposed in the log?

Hi @remi-braun,
Triangle uses a prescribed area instead of cell size to control the size of the generated triangles. To make things a little easier (and consistent with gmsh), I require a cell size column in the geodataframe. This is converted to an effective area here:
https://github.com/Deltares/pandamesh/blob/7f4db2cdb51a5b865cb5428ada0f354211d8e79e/pandamesh/triangle_geometry.py#L45C5-L45C46
Assuming the cellsize acts as both the base and the height of the triangle. (Maybe I should have assumed an equilateral triangle instead, and used 0.25 * np.sqrt(3) * cellsize * cellsize).
So to answer your question, I think triangle is telling you to set a bigger cell size.
There's another option by the way, depending on what the origin of your coordinate system is.
I have run into issues before, where the coordinates had values of 1e6 but the resulting cells were very small.
It helps in those cases to move the origin to the (xmin, ymin) of your geometries, since floating point can afford more precision around 0. This should probably be done by default, now that I think about it (but I guess Triangle doesn't do it either?).
I'll open an issue.

Oops I didn't see this answer, my bad!
Is there a rule of thumb to determine the cellsize ?
I am in UTM and currently have set cellsize to 10 pixels of my underlying raster (so let's say 50m).
Is it to low?

Note that the same polygons are successfully meshed with Gmsh

Would it be possible that instead of throwing an error, only a warning would be raised and the mesh continues?
In my usecase, it is not that bad if a triangle is missing

I am in UTM and currently have set cellsize to 10 pixels of my underlying raster (so let's say 50m).
Is it too low?

50 m doesn't seem too bad. In case of UTM, the x-axis should be reasonable. The y-axis shouldn't have values greater than ~8e6, I think. This doesn't seem too low to me.

Note that the same polygons are successfully meshed with Gmsh

This is interesting. Triangle uses these exact predicates which should be robust for precision terms; I'm not sure what's going on.
By the way, you mentioned this error by triangle Error:  Ran out of precision at<PHONE_NUMBER>92, 6329700.71863).
What does your polygon look like at this location?

Would it be possible that instead of throwing an error, only a warning would be raised and the mesh continues?

I don't think I can control this, because this is an error from the triangle library (so in the compiled C lib).
So my suggestions:

What does your input look like at the mentioned coordinates?
You can you move the geometry in your geodataframe; i.e. put the origin of your coordinate system at the bounding box. You can relatively move everything with e.g. shapely's (affine) transforms: https://shapely.readthedocs.io/en/stable/manual.html#affine-transformations
What happens if you set all your settings very "loose"? So large maximum sizes, small angles, etc. What does the resulting mesh look like? It's possible that you e.g. see very small triangles at the problematic location. (You can write the grid to a UGRID netCDF and visualize it interactively in QGIS.)

My polygons is indeed weird, but i don't understand why gmsh is fine with it 🤔

-> Note that this polygon is valid in shapely's sense.
With loosest configuration possible it still fails but I understand why now I looked at the polygon 😓

I think you call this a dangling edge (not sure if hanging edge is different). It tripped up a colleague of mine as well, coming from some polygons created in QGIS.
What did Gmsh produce for this area? Did it just remove the edge?
(Pretty nice that Triangle states the coordinate where it goes wrong.)

Note that this polygon is valid in shapely's sense.

Is this polygon simple by the way?
https://shapely.readthedocs.io/en/stable/reference/shapely.is_simple.html#shapely.is_simple
The docstring mentions self tangency, I think that's the case here.
I'm thinking pandamesh should check whether all polygons are simple too.

Yes this geometry is simple 😢 When you zoom, this peak is not exactly a line...
I tried with taking a negative buffer (+ simplify) to remove those edges but the process takes forever and crashes my memory (when Gmsh is fine).
What I would dream of is that Triangle and Gmsh handles the same cases, especially I cannot use Gmsh on ArcGis Pro 😛

Hi @remi-braun,
I've just made a new release (with some minor breaking changes), which includes a lot of stuff.
You can checkout the changelog if you're interested:
https://deltares.github.io/pandamesh/api/changelog.html
I've also added two new examples:
https://deltares.github.io/pandamesh/examples/gmsh-fields.html#sphx-glr-examples-gmsh-fields-py
https://deltares.github.io/pandamesh/examples/preprocessing.html#sphx-glr-examples-preprocessing-py
There are some additional checks now, and the meshers temporarily shift the coordinates by default, but unfortunately none of this will detect the issue you've reported here. In general, simplifying (could be just 0.001) and buffering with a small negative value will get rid of a lot of problems, but might be quite slow for large datasets as you found.
Essentially what we're looking for a sliver triangle check (since this will detect hanging edges too).
 Shapely supports delaunay triangulation, but this is likely expensive (and might crash on polygons the same, maybe?).
What I think we could do is take the coordinates of the polygon rings, and turn the N vertices into N triangles; triangle i is formed out of vertices (i, i + 1 % n, i+2 % n). Then we analyze the resulting triangle. We need to take care to distinguish collinear lines from slivers though, but I think we can do so reliably by checking x and y directions. To get slivers, we need to move in x or y direction AND back.
Then, we check the inscribed radius. This is easy to understand and configure too.
import functools
import operator
from typing import Any, Sequence

import geopandas as gpd
import matplotlib.pyplot as plt
import numpy as np
import shapely
import shapely.geometry as sg

# %%

def flatten(seq: Sequence[Any]):
    return functools.reduce(operator.concat, seq)

def find_slivers(gdf: gpd.GeoDataFrame, minimum_radius: float) -> gpd.GeoSeries:
    polygons = gdf.geometry
    exteriors = polygons.exterior
    interiors = flatten(polygons.interiors)
    rings = np.concatenate((exteriors, interiors))
    coordinates = shapely.get_coordinates(rings)
    length = len(coordinates)
    # Construct triangle rings out of all consecutive nodes.
    a = np.arange(length)
    b = a + 1
    c = a + 2
    abca = np.column_stack((a, b, c, a))

    # Equivalent to:
    # b = a + 1 % n
    # c = a + 1 % n
    # If we were dealing with a single polygon, where n is the number of
    # vertices of that polygon.
    n = shapely.get_num_coordinates(rings)
    nn = np.full((length, 4), np.repeat(n, n)[:, np.newaxis])
    modulo = np.full((length, 4), np.repeat(np.cumsum(n), n)[:, np.newaxis])
    adjust = abca >= modulo
    abca[adjust] -= nn[adjust]
    all_triangles = coordinates[abca]

    # We're not interested in collinear segments or the like. Problems may only
    # arise if x both increases and decreases, or if y increases and decreases.
    dir_x = np.sign(np.diff(all_triangles[..., 0], axis=1))
    dir_y = np.sign(np.diff(all_triangles[..., 1], axis=1))
    x_product = dir_x[:, 0] * dir_x[:, 1]
    y_product = dir_y[:, 0] * dir_y[:, 1]
    maybe_problematic = (x_product < 0) | (y_product < 0)
    triangles = all_triangles[maybe_problematic]

    # Find the inscribed circle:
    # Calculate the side lengths.
    a = np.linalg.norm(triangles[:, 1, :] - triangles[:, 0, :], axis=-1)
    b = np.linalg.norm(triangles[:, 2, :] - triangles[:, 1, :], axis=-1)
    c = np.linalg.norm(triangles[:, 0, :] - triangles[:, 2, :], axis=-1)
    # Calculate the semi-perimeter.
    s = np.atleast_1d((a + b + c) / 2)
    # Calculate the area using Heron's formula.
    area = np.sqrt(s * (s - a) * (s - b) * (s - c))
    # Calculate the inradius.
    r = area / s

    # Return the second vertex of each problematic triangle.
    faulty = triangles[r < minimum_radius, 1, :]
    return gpd.GeoSeries(gpd.points_from_xy(*faulty.T))

# %%

polygon0 = sg.Polygon(
    shell=[
        [0.0, 0.0],
        [5.0, 0.0],
        [10.0, 0.0],
        [15.0, 0.0],
        [10.0, 0.2],
        [10.0, 10.0],
        [13.0, 10.0],
        [10.0, 10.0],
        [5.0, 10.0],
        [0.0, 10.0],
    ]
)
polygon1 = sg.Polygon(
    shell=[
        [20.0, 0.0],
        [30.0, 0.0],
        [30.0, 5.0],
        [25.0, 5.0],
        [30.0, 5.1],
        [30.0, 10.0],
        [20.0, 10.0],
    ]
)
gdf = gpd.GeoDataFrame(geometry=[polygon0, polygon1])

# %%

fig, ax = plt.subplots()
gdf.plot(ax=ax)
faulty = find_slivers(gdf, 0.1)
faulty.plot(ax=ax, color="red")
# %%

fig, ax = plt.subplots()
gdf.plot(ax=ax)
faulty = find_slivers(gdf, 0.01)
faulty.plot(ax=ax, color="red")

The minimum_radius=0.1 finds:

The minimum_radius=0.01 finds only the hanging edge:

You could argue the second polygon doesn't have any problems whatsoever, since the geometry doesn't contain any slivers.
I'm sure it's possible to add that, although it'll require some additional logic  to separate interior rings from exterior rings.
If you still have your original geometry around, could you try running the snippet I posted here? Does it detect the faulty point, or does it give a lot of false positives too?

Improved version, this one will not report slivers on the exterior, should work for holes too:
# %%
import functools
import operator
from typing import Any, Sequence

import geopandas as gpd
import matplotlib.pyplot as plt
import numpy as np
import shapely
import shapely.geometry as sg

# %%

GeometryArray = np.ndarray
FloatArray = np.ndarray

def flatten(seq: Sequence[Any]):
    return functools.reduce(operator.concat, seq)

def _triangle_rings(rings: GeometryArray) -> FloatArray:
    coordinates = shapely.get_coordinates(rings)
    length = len(coordinates)
    # Construct triangle rings out of all consecutive nodes.
    a = np.arange(length)
    b = a + 1
    c = a + 2
    abca = np.column_stack((a, b, c, a))

    # Equivalent to:
    # b = a + 1 % n
    # c = a + 1 % n
    # If we were dealing with a single polygon, where n is the number of
    # vertices of that polygon.
    n = shapely.get_num_coordinates(rings)
    nn = np.full((length, 4), np.repeat(n, n)[:, np.newaxis])
    modulo = np.full((length, 4), np.repeat(np.cumsum(n), n)[:, np.newaxis])
    adjust = abca >= modulo
    abca[adjust] -= nn[adjust]
    return coordinates[abca]

def _filter_direction(triangles: FloatArray) -> FloatArray:
    # We're not interested in collinear segments or the like. Problems may only
    # arise if x both increases and decreases, or if y increases and decreases.
    dir_x = np.sign(np.diff(triangles[..., 0], axis=1))
    dir_y = np.sign(np.diff(triangles[..., 1], axis=1))
    x_product = dir_x[:, 0] * dir_x[:, 1]
    y_product = dir_y[:, 0] * dir_y[:, 1]
    return (x_product < 0) | (y_product < 0)

def _compute_cross_product(triangles: FloatArray) -> FloatArray:
    ab = triangles[:, 1] - triangles[:, 0]
    bc = triangles[:, 2] - triangles[:, 1]
    return ab[:, 0] * bc[:, 1] - ab[:, 1] * bc[:, 0]

def _compute_inradius(triangles: FloatArray) -> FloatArray:
    a = np.linalg.norm(triangles[:, 1, :] - triangles[:, 0, :], axis=-1)
    b = np.linalg.norm(triangles[:, 2, :] - triangles[:, 1, :], axis=-1)
    c = np.linalg.norm(triangles[:, 0, :] - triangles[:, 2, :], axis=-1)
    # Calculate the semi-perimeter.
    s = np.atleast_1d((a + b + c) / 2)
    # Calculate the area using Heron's formula.
    area = np.sqrt(s * (s - a) * (s - b) * (s - c))
    # Calculate the inradius.
    return area / s

def _find_slivers(rings: GeometryArray, minimum_radius: float, is_exterior: bool):
    triangles = _triangle_rings(rings)
    maybe_problematic = _filter_direction(triangles)
    # Check convex / concave. Note shapely canonical form: exterior is
    # clockwise, interior is counter-clockwise.
    cross_product = _compute_cross_product(triangles)
    if is_exterior:
        maybe_problematic &= cross_product >= 0
    else:
        maybe_problematic &= cross_product <= 0
    to_test = triangles[maybe_problematic]
    r = _compute_inradius(to_test)
    # Return the second vertex of each problematic triangle.
    return to_test[r < minimum_radius, 1, :]

def find_slivers(gdf: gpd.GeoDataFrame, minimum_radius: float) -> gpd.GeoSeries:
    # Normalize forces strict canonical form:
    # "the coordinates of exterior rings follow a clockwise orientation and
    # interior rings have a counter-clockwise orientation"
    polygons = shapely.normalize(gdf.geometry)
    points = _find_slivers(
        rings=polygons.exterior.to_numpy(),
        minimum_radius=minimum_radius,
        is_exterior=True,
    )
    interiors = flatten(polygons.interiors)
    if len(interiors) > 0:
        interior_points = _find_slivers(
            rings=np.atleast_1d(interiors),
            minimum_radius=minimum_radius,
            is_exterior=False,
        )
        points = np.concatenate((points, interior_points))
    return gpd.GeoSeries(gpd.points_from_xy(*points.T))

# %%

polygon0 = sg.Polygon(
    shell=[
        [0.0, 0.0],
        [5.0, 0.0],
        [10.0, 0.0],
        [15.0, 0.0],
        [10.0, 0.2],
        [10.0, 10.0],
        [13.0, 10.0],
        [10.0, 10.0],
        [5.0, 10.0],
        [0.0, 10.0],
    ]
)
polygon1 = sg.Polygon(
    shell=[
        [20.0, 0.0],
        [30.0, 0.0],
        [30.0, 5.0],
        [25.0, 5.0],
        [30.0, 5.1],
        [30.0, 10.0],
        [20.0, 10.0],
    ]
)
polygon2 = sg.Polygon(
    shell=[
        [40.0, 0.0],
        [50.0, 0.0],
        [50.0, 10.0],
        [40.0, 10.0],
    ],
    holes=[
        np.array([
            [42.0, 2.0],
            [42.0, 8.0],
            [45.0, 8.0],
            [45.0, 7.0],
            [45.0, 8.0],
            [48.0, 8.0],
            [48.0, 2.0],
        ])
    ]
)
gdf = gpd.GeoDataFrame(geometry=[polygon0, polygon1, polygon2])

# %%

fig, ax = plt.subplots()
gdf.plot(ax=ax)
faulty = find_slivers(gdf, 0.1)
faulty.plot(ax=ax, color="red")
# %%

fig, ax = plt.subplots()
gdf.plot(ax=ax)
faulty = find_slivers(gdf, 0.01)
faulty.plot(ax=ax, color="red")

I've just released 0.2.1, which includes a find_proximate_perimeter_points that should pinpoint a lot of these issues.


Make "Reading from ByteString, insufficient left" more helpful?

We run into this error with some frequency, and so far believed it to be:

write thing to the cache (like an oracle)
change thing's format (like the oracle's data type)
run shake again and the mismatch throws this error

But we ran into one scenario today where we gave up. We added versioned to just about everything we could think of, and ended up nuking the cache.
I'm not sure if this is the steps I outlined are indeed when this happens, or if they are some of the possible scenarios, just not all, but we could use some help from Shake itself figuring out what to do when we hit this error.

Shake is meant to detect that the database is corrupted, wipe it, and rebuild from scratch automatically. Do you ever see that behaviour? Can you give an example of the kind of thing you are writing to the cache? e.g. is it a record? How did you obtain a Binary instance for it? Are you removing/adding fields?

Do you ever see that behaviour?

I don't think we ever saw it. Is it a new-ish feature? We're pinned to this revision https://github.com/ndmitchell/shake/tree/6297471621582d87d1e983dd9e04ed02c62beb8f
Does shake output anything different when it detects the database is corrupted and decides to wipe it?

Can you give an example of the kind of thing you are writing to the cache? e.g. is it a record?
How did you obtain a Binary instance for it? Are you removing/adding fields?

I'm having a hard time reproing this again, but I think it was related to one of our Oracles. We have a few of them returning everything from records to union types, and they have Binary instances from instance Binary [type], like this one:
data TestFileFormatted = TestFileFormatted FormatterType FilePath
  deriving (Show, Eq, Generic)

instance Hashable TestFileFormatted

instance Binary TestFileFormatted

instance NFData TestFileFormatted

type instance RuleResult TestFileFormatted = IsFormatted

testFileFormattedOracle :: TestFileFormatted -> Action IsFormatted
testFileFormattedOracle (TestFileFormatted formatterType file) = do
  -- Take a dependency on the version of the formatter, so we rerun this rule
  -- when it changes.
  void $ askOracle (FormatterVersion formatterType)
  need [file]
  let formatter = formatterFor formatterType
  check formatter file

data IsFormatted
  = Formatted
  | Unformatted String
  deriving (Eq, Generic, Show)

instance Hashable IsFormatted

instance Binary IsFormatted

instance NFData IsFormatted

When I run into this again I'll try to collect more info and share here. Any pointers on what data I should collect are appreciated!

I've run into another incarnation of this problem, where Shake doesn't detect the database is corrupted and we get runtime errors decoding binary instances. I'm not sure how related the two are, but this is he stack trace of the 2nd kind of error I get:
  at apply1, called at src/Development/Shake/Internal/Rules/Oracle.hs:159:32 in shake-0.19-Kan5k6lRCGEH1JkmyaVtkS:Development.Shake.Internal.Rules.Oracle
* Depends on: OracleQ (AllServices ())
  at error, called at libraries/binary/src/Data/Binary/Get.hs:351:5 in binary-<IP_ADDRESS>:Data.Binary.Get
* Raised the exception:
Data.Binary.Get.runGet at position 2316: not enough bytes

This is the relevant code:
rules :: Rules ()
rules =
  versioned 6 $ void $ addOracleCache allServicesOracle

newtype AllServices = AllServices ()
  deriving (Show, Typeable, Eq, Hashable, Binary, NFData)

type instance RuleResult AllServices = [Service]

allServicesOracle :: AllServices -> Action [Service]

data Service
  = Service
      { serviceName :: String,
        builders :: Builders,
        codedeploy :: [Codedeploy],
        kubernetes :: Maybe Kubernetes,
        localPort :: Maybe Dhall.Natural
      }
  deriving (Generic, Show, Typeable, Eq)

instance Binary Service

instance Hashable Service

instance NFData Service

instance Dhall.Interpret Service

data Builders
  = Builders
      { elm :: Maybe Elm,
        haskell :: Maybe Haskell,
        ruby :: Bool
      }
  deriving (Generic, Show, Typeable, Eq)

instance Binary Builders

instance Hashable Builders

instance NFData Builders

instance Dhall.Interpret Builders

This was the relevant change:

data Builders
  = Builders
      { elm :: Maybe Elm,
-        haskell :: Maybe Haskell
+        haskell :: Maybe Haskell,
+        ruby :: Bool
      }
  deriving (Generic, Show, Typeable, Eq)

We always thought this was expected behavior and instructed folks to bump the versioned on the rule whenever this happens.

I have been scratching my head over this issue for the last two days now:
Error when reading Shake database _build/.shake.database
  Reading from ByteString, insufficient left
  CallStack (from HasCallStack):
    error, called at src/General/Binary.hs:50:86 in shake-0.18.5-5KeTQg6YWjFdK6sR2J2BI:General.Binary
All files will be rebuilt

Here's what I am doing:

Fire-up an ephemeral cloud server
Run the shake build
Save the cloud server as an image, and then, delete the ephemeral server.
Create a new cloud server from the saved image
Run shake on the newly created server
Whenever shake/build is run for the first time on a newly created server, this error is reported.

I have a copy of the shake database that causes this error, if that helps.

Update: It seems that the underlying disk of the VM was actually getting corrupted, because I was using an unsafe method to create a VM snapshot. After fixing the snapshotting process (i.e. shut down the VM before taking a snapshot) I don't think I have encountered this error with Shake.


Fixes function calls / memory access with wasm-implemented host functions

Signed-off-by: Takeshi Yoneda<EMAIL_ADDRESS>

this should makes the #621 to pass the cat_test.go with compilers


Social Media Links Redirect to Homepage Instead of Respective Platforms

Bug Report: Social Links Redirecting to Homepage
Description
The social media links provided on the website/repo are currently redirecting to the homepage instead of the intended social media platforms.
Steps to Reproduce

Navigate to the website/repo's homepage.
Scroll to the section where social links (e.g., Twitter, LinkedIn, GitHub, etc.) are provided.
Click on any of the social media links.

Expected Behavior
Each social link should direct the user to the appropriate social media page for the repository/project (e.g., the project’s Twitter, LinkedIn, GitHub pages).
Actual Behavior
All social links currently redirect back to the homepage instead of opening the correct social media profiles.
Suggested Fix

Could you please provide the correct URLs for the project's social media profiles, so that they can be updated accordingly?
Alternatively, would you prefer setting up a 404 page for these links until the proper social URLs are available?

Additional Info

Browser/OS: [Add the browser and OS you’re using, if applicable]
Relevant files: [If applicable, mention specific files or components that may be causing the issue]
Screenshots: [Attach screenshots, if necessary]

Let me know how you would like to proceed with fixing this issue.
Thanks!

@Anu27n could you please assign this issue to me?

insta:https://www.instagram.com/603thecoworkingspace/
linkedin:https://www.linkedin.com/company/603thecoworkingspace
twitter:https://x.com/603coworking
refer this main site for link:https://www.603thecoworkingspace.com/

@Dhruv-Davda Assigned


Show cellrank and scvelo commit hashs when printing versions in cellrank

[x] Additional function parameters, change functionality or change defaults?
[ ] New estimator in cr.tl.estimators?
[ ] New kernel in cr.tl.kernels?
[ ] New gene trend model in cr.ul.models?
[ ] New plotting function in cr.pl?
[ ] Other?

When calling cr.logging.print_versions(), I already get the commit hash for scvelo printed, but not for cellrank. Would be important for reproducibility.

Amazing, thanks.

I'm just checking this out. I pulled from master and I display the commit hash in a jupyter notebook. It gives me c34083d, but the most recent commit on master is b3e00a8. Actually, this does not make sense because you only introduced full commit hash printing in a later commit, so I must be at last at this later commit. What's going on?

Did you pip install it? Mine says '1.0.0-rc.12+gb3e00a8'.

No, I didn't pip install it, I cloned the repo, run
pip install -e '.[dev]'
python-vendorize

imported it into a jupyter notebook and printed the versions.

I just did the same and can't reproduce it, i.e. I'm getting:
Running CellRank 1.0.0-rc.12+gb3e00a8, on 2020-10-16 12:12.

and
cellrank==1.0.0-rc.12+gb3e00a8 scanpy==1.6.0 anndata==0.7.4 numpy==1.19.2 numba==0.51.2 scipy==1.5.2 pandas==1.1.3 scikit-learn==0.23.2 statsmodels==0.12.0 python-igraph==0.8.3 scvelo==0.2.3.dev26+g8351f46 pygam==0.8.0 matplotlib==3.3.2 seaborn==0.11.0

Please check if you're using the right jupyter kernel.

ok, let me check.

weird, I'm definitely using the right kernel, and I still get the same result. I set up my kernel using ipykernel, if that helps.

I've tested this, the commit is always as when you've installed it. I don't believe this is a bug and I can't/don't want to change this. Closing this.


Error presenting challenge: the server is currently unable to handle the request (post dnspod.acme.imroc.cc)

Status:
Presented:   false
Processing:  true
Reason:      the server is currently unable to handle the request (post dnspod.acme.imroc.cc)
State:       pending
Events:
Type     Reason        Age                 From                     Message

Normal   Started       2m36s               cert-manager-challenges  Challenge scheduled for processing
Warning  PresentError  5s (x6 over 2m30s)  cert-manager-challenges  Error presenting challenge: the server is currently unable to handle the request (post dnspod.acme.imroc.cc)

[root@master-1 system]# kubectl logs cert-manager-7c8dcb88dc-8nzj6 -n cert-manager --tail 100
E0929 03:08:28.960148       1 controller.go:166] cert-manager/challenges "msg"="re-queuing item due to error processing" "error"="the server is currently unable to handle the request (post dnspod.local.gimcszjh.com)" "key"="cert-manager/local-gimc-crt-jwdvz-609886764-1640489819"
I0929 03:08:33.960123       1 dns.go:88] cert-manager/challenges/Present "msg"="presenting DNS01 challenge for domain" "dnsName"="local.gimcszjh.com" "domain"="local.gimcszjh.com" "resource_kind"="Challenge" "resource_name"="local-gimc-crt-jwdvz-609886764-1640489819" "resource_namespace"="cert-manager" "resource_version"="v1" "type"="DNS-01"
E0929 03:08:33.961687       1 controller.go:166] cert-manager/challenges "msg"="re-queuing item due to error processing" "error"="the server is currently unable to handle the request (post dnspod.local.gimcszjh.com)" "key"="cert-manager/local-gimc-crt-jwdvz-609886764-1640489819"

[root@master-1 system]# kubectl logs cert-manager-webhook-5774d5d8f7-b7r2t -n cert-manager --tail 100
I0929 02:13:20.326950       1 feature_gate.go:245] feature gates: &{map[]}
W0929 02:13:20.327009       1 client_config.go:617] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
I0929 02:13:20.335312       1 webhook.go:129] cert-manager "msg"="using dynamic certificate generating using CA stored in Secret resource" "secret_name"="cert-manager-webhook-ca" "secret_namespace"="cert-manager"
I0929 02:13:20.335465       1 server.go:133] cert-manager/webhook "msg"="listening for insecure healthz connections" "address"=":6080"
I0929 02:13:20.335506       1 server.go:197] cert-manager/webhook "msg"="listening for secure connections" "address"=":10250"
I0929 02:13:21.345640       1 dynamic_source.go:266] cert-manager/webhook "msg"="Updated cert-manager webhook TLS certificate" "DNSNames"=["cert-manager-webhook","cert-manager-webhook.cert-manager","cert-manager-webhook.cert-manager.svc"]
I0929 02:13:27.507486       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:50568: remote error: tls: bad certificate
I0929 02:13:32.503202       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:50572: remote error: tls: bad certificate
I0929 02:13:37.508979       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:51074: remote error: tls: bad certificate
I0929 02:13:42.499059       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:51082: remote error: tls: bad certificate
I0929 02:13:47.510127       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:47978: remote error: tls: bad certificate
I0929 02:13:52.499953       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:47988: remote error: tls: bad certificate
I0929 02:13:57.511898       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:35454: remote error: tls: bad certificate
I0929 02:14:02.503811       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:35462: remote error: tls: bad certificate
I0929 02:14:07.501541       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:57366: remote error: tls: bad certificate
I0929 02:14:13.402774       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:49416: remote error: tls: bad certificate
I0929 02:14:18.412360       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:49422: remote error: tls: bad certificate
I0929 02:14:23.414457       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:51740: remote error: tls: bad certificate
I0929 02:14:28.416373       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:51752: remote error: tls: bad certificate
I0929 02:16:17.129348       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:46674: EOF
I0929 02:16:17.145780       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:56036: EOF
I0929 02:16:17.198062       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:46702: EOF
I0929 02:16:17.205104       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:56046: EOF
I0929 02:22:34.141107       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:59952: EOF
I0929 02:52:42.400049       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:58302: EOF
I0929 02:54:56.047989       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:49046: EOF
I0929 03:08:13.875423       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:38134: EOF
I0929 03:12:48.324994       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:45600: EOF
I0929 03:24:31.373706       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:50392: EOF
I0929 03:27:30.935697       1 logs.go:59] http: TLS handshake error from <IP_ADDRESS>:34436: EOF

[root@master-1 system]# kubectl logs cert-manager-webhook-dnspod-54fd6bf868-rjch6 -n cert-manager --tail 100
E0929 07:26:33.443603       1 authentication.go:53] Unable to authenticate the request due to an error: [x509: subject with cn=front-proxy-client is not in the allowed list, x509: certificate signed by unknown authority]
E0929 07:26:33.443623       1 authentication.go:53] Unable to authenticate the request due to an error: [x509: subject with cn=front-proxy-client is not in the allowed list, x509: certificate signed by unknown authority]
E0929 07:26:33.443606       1 authentication.go:53] Unable to authenticate the request due to an error: [x509: subject with cn=front-proxy-client is not in the allowed list, x509: certificate signed by unknown authority]
E0929 07:26:33.443606       1 authentication.go:53] Unable to authenticate the request due to an error: [x509: subject with cn=front-proxy-client is not in the allowed list, x509: certificate signed by unknown authority]
E0929 07:26:33.443606       1 authentication.go:53] Unable to authenticate the request due to an error: [x509: subject with cn=front-proxy-client is not in the allowed list, x509: certificate signed by unknown authority]

[root@master-1 system]# kubectl get pods -n cert-manager -owide
NAME                                           READY   STATUS    RESTARTS   AGE     IP               NODE       NOMINATED NODE   READINESS GATES
cert-manager-7c8dcb88dc-8nzj6                  1/1     Running   0          5h16m   <IP_ADDRESS>   node-1
cert-manager-cainjector-bbdb88874-6s4m5        1/1     Running   0          5h16m   <IP_ADDRESS>   node-1
cert-manager-webhook-5774d5d8f7-b7r2t          1/1     Running   0          5h16m   <IP_ADDRESS>    master-2
cert-manager-webhook-dnspod-54fd6bf868-rjch6   1/1     Running   0          4h2m    <IP_ADDRESS>   node-1

cert-manager 是什么版本？

helm 安装的。v1.9.1

我用yaml安装的1.9.1，正常使用

试试全部清理，重装看看

尝试清理后通过yaml安装报错信息一致。我中K8S环境是本地搭建的，k8s证书是通过cfssl配置。然后通过反向代理走公网域名访问。会受到这些环境影响吗

按理应该不影响，可以在其它环境也尝试下，对比差异。我这边暂时没精力深入分析

好的，感谢~

imroc
域名证书签发失败

我尝试从 cert-manager 最新版 1.11.0 切换到 1.9.1 。
pod cert-manager-webhook-dnspod
依然报下面的错误
E0330 03:26:05.590342       1 main.go:204] Failed to get domain id top.: no domain found in zone top.
E0330 03:26:10.656662       1 main.go:204] Failed to get domain id top.: no domain found in zone top.
我的域名是 xx.yy.top 是 .top 的顶级域名，是否中这个有关系？
我登录 dnspod 控制台有 api 访问记录，同时还生成了 acme 的 txt 记录


fix(pbft): Give up voted value

Purpose
Give up voted value when the voted value is not valid or have waited 5+ rounds
For reviewers

Related Github issues

Changes

Tests

Deployment Considerations
Version Notes
{ major | minor | patch }

NOTE: Include the version notes in the squash commit message

Since the fix changes PBFT consensus, that need test carefully


graphql_query_derive: support aliases in queries

When querying a very abstract API (e.g., "find me database entry X"),
the name of fields may be better named in the query side.

I left types as the schema-preferred name since that better reflects the type of an alias as well anyways.

Wow great! This is the oldest open issue (#5). We definitely want to support this. I went through the PR quickly, the approach seems to be the right one. I'll try to make time for a full review asap.
I am not completely sure at the moment, but there is a use case that might require to use the alias name as the struct name: one important feature with aliases is to query the same field on the same object twice with different arguments, as shown in the official guide.

@h-michael This is an interesting PR :)

Hrm, indeed. I'll look at getting the alias into the structure name then (a first pass failed).

Type name now uses the alias as well.

And now works with cargo test --all.


Asynchronous step function that does not modify this value

When attempting to write an async test, t.step_func is useful for wrapping a callback function, however it modifies the this value within the callback. I'd like to add a variant that doesn't modify the this value, t.step_func_unmodified_this.

Implementation (simplified)
Test.prototype.step_func_unmodified_this = function(func)
{
    var t = this;
    return function() {
        return t.step.apply(test_this, [func, this].concat(Array.from(arguments));
    };
}

Docs
For asynchronous callbacks where the this value is significant, step_func_unmodified_this can be used. For example:
var observer = new Observer(t.step_func_unmodified_this(function() {
    assert_true(this instanceof Observer, "this value must be Observer");
    t.done();
}));

Currently the above test would need to be written something like:
var finish = t.step_func(function() { t.done(); });
var observer = new Observer(function() {
    var self = this;
    t.step(function() {
        assert_true(self instanceof Observer, "this value must be Observer");
        finish();
    });
});

Which is quite obtuse, and requires using a different name for this even though this is what is being tested.

What does step_func have as this when it does call?

The this value is test object created by async_test:
let x = async_test(function(t) {
    setTimeout(t.step_func(function() {
        console.log(this === x); // true
        console.log(this === t); // true
        t.done();
    }));
}, "Title");

You could change Test.prototype.step_func to not modify the this value if an explicit this_obj was not provided.
Something like: (untested)
Test.prototype.step_func = function(func, this_obj)
{
    var test_this = this;
    var has_explicit_this_obj = arguments.length > 1;

    return function()
    {
        var func_this = has_explicit_this_obj ? this_obj : this;
        return test_this.step.apply(test_this, [func, func_this].concat(
            Array.prototype.slice.call(arguments)));
    };
};

I wasn't sure if anything relied on this behavior (I only just started using testharness.js today).

I wasn't sure if anything relied on this behavior (I only just started using testharness.js today).

I have no idea! I'm wondering if we can get away with that. :)

Do you have a way of running all (or a large portion of) the tests? I'm afraid if I do it I won't be able to test enough of the tests to guarantee there will be no regressions.

I can, though it takes a while. Probably easier when I'm not travelling and using my laptop. :)

I'm a little concerned about changing this; would using .bind(this) be sufficient?

bind would override the this that we are trying to test. Or were you thinking of using it on something else?

This issue has been moved to https://github.com/w3c/web-platform-tests/issues/7182; please continue all discussion there.


getTransaction bug in for confirmation() in watcher context.

When a transaction received for a watching wallet, cyphernode's get_transaction will attempt to first locate the transaction in spender wallet, then iterate over watcher wallets. This results in a series of JSON objects:
2019-12-12T23:57:01+0000 1777 [confirmation] tx_details={"result":null,"error":{"code":-5,"message":"Invalid or non-wallet transaction
id"},"id":null}
{"result":{"amount":0.00100000,"confirmations":0,...l}

This creates an issue when the transaction is being parsed assuming only one JSON object has been returned, which results in the failure of a watching wallet's txn to be inserted into the watching_tx table:
2019-12-12T23:59:22+0000 2061 [confirmation] fees=0.00000145
sh: 0
0: bad number
2019-12-12T23:59:22+0000 2061 sqlite3 -cmd ".timeout 20000" /proxy/db/proxydb "INSERT OR IGNORE INTO tx (txid, hash, confirmations, tim
ereceived, fee, size, vsize, is_replaceable, blockhash, blockheight, blocktime, raw_tx) VALUES ("4a10e28a2bb4b5b9dda2b038aec8357733d506
8171bbcf254c4274f81cc9e3c8", "98484b169015889c7a940a4af266ad888cde87f7e54398a1ce05b7423cf5615b", 0
0, null
1576195162, 0.00000145, 226, 145, 0, null, null, null, readfile('rawtx-4a10e28a2bb4b5b9dda2b038aec8357733d5068171bbcf254c4274f81cc9e3c8
.blob'))"
Error: near "0": syntax error

Issue has already been fixed in PR https://github.com/SatoshiPortal/cyphernode/pull/150
This issue is opened for commit reference

I think that all this is caused by one small addition you made in the code.  Here are some details:

Bitcoin Core notifies Cyphernode for any tx happening on its wallets (with walletnotify=) -- the notification happens on spending also, not only on watching;
The Invalid or non-wallet transaction id happens when Cyphernode receives a notif but the tx is not part of the watching wallet -- in this case, we just disregard the notif:

  tx_details=$(get_transaction ${txid})
  returncode=$?
  trace_rc ${returncode}
  trace "[confirmation] tx_details=${tx_details}"
  if [ "${returncode}" -ne "0" ]; then
    trace "[confirmation] Transaction not in watcher, exiting."
    return 0
  fi

the get_transaction only checks in the watching wallet if not otherwise specified; also, it doesn't return multiple values, there's only 1 tx with a certain txid...;
Nothing in confirmation.sh deals with the spending wallet;
The problem here sh: 0 and 0: bad number is due to what you added here: https://github.com/SatoshiPortal/cyphernode/pull/150/commits/43ddfc4acb0b63aa03e9716b6a1b19b75f5c8f3a#diff-1efdbdd6c16c9f9d14a6c0441e0a7702R35
That previous change also breaks the returncode value, that's why the "Transaction not in watcher, existing." part doesn't run;
I think that if you break the "get_transaction" and the "jq... select" parts in two operations (so that the returncode is right), everything will work correctly.

Let me know what you think!  Thanks!

Hey @Kexkey ,
Thanks for taking the time to reply.
Please excuse me for not having supplied detailed information and written up a proper ticket about the issue.
You are right , the issue has nothing to do with Spending wallet but with watching wallets. I have no idea why i said spending in that ticket.
If you would be kind enough to allow me to provide more detail and context to the issue:
So assuming the context of a transaction comes in where we have multiple watcher wallets and one of them is concerned with the txn.
confirmation.sh will eventually call get_transaction which will call send_to_watcher_node:
https://github.com/SatoshiPortal/cyphernode/blob/760c9954cacb7e8f6c5215327c2e82185f9a92d3/proxy_docker/app/script/sendtobitcoinnode.sh#L5

send_to_watcher_node will First try the default watcher wallet by calling:
https://github.com/SatoshiPortal/cyphernode/blob/760c9954cacb7e8f6c5215327c2e82185f9a92d3/proxy_docker/app/script/sendtobitcoinnode.sh#L7

send_to_bitcoin_node will echo it's result, meaning:
a. it finds the txn within the first watcher wallet attempted  return code will ne 0 and we go back up the stack (get_transaction <-send_to_watcher_node  <- sendtobitcoinnode) with only ONE json output, everything works great.
b. However if the txn is not found in the default watcher wallet, send_to_bitcoin_node will output the usual not found :

{"result":null,"error":{"code":-5,"message":"Invalid or non-wallet transaction
id"},"id":null}

but then send_to_watcher_node will detect a return code ne 0 and call
https://github.com/SatoshiPortal/cyphernode/blob/760c9954cacb7e8f6c5215327c2e82185f9a92d3/proxy_docker/app/script/sendtobitcoinnode.sh#L14
send_to_watcher_node_wallet , which will call send_to_bitcoin_node, which will output another json object with the txn if found or not, and thus we get the TWO json objects send back to the get_transaction call , described in this issue.
{"result":null,"error":{"code":-5,"message":"Invalid or non-wallet transaction
id"},"id":null}
{"result":{"amount":0.00100000,"confirmations":0,...etc..}

Now since tx_details has two JSON objects (one on each line)
https://github.com/SatoshiPortal/cyphernode/blob/43ddfc4acb0b63aa03e9716b6a1b19b75f5c8f3a/proxy_docker/app/script/confirmation.sh#L35
all functions down stream expect , as you aptly put it, only one object.
So for example:
https://github.com/SatoshiPortal/cyphernode/blob/43ddfc4acb0b63aa03e9716b6a1b19b75f5c8f3a/proxy_docker/app/script/confirmation.sh#L73

given the output returned by get_transaction call in this issue (two objects, first being not found result , the second being found) will result in an output of
null\n
0

Since the first JSON object has nothing in result and the second does indeed have 0 in the .result.confirmations field.
Even if we do add a jq -rc -c flag for compact the output will be
'null0'
This will cause a bunch of insert SQL statements to fail down stream and the rest is history.
Thus adding
https://github.com/SatoshiPortal/cyphernode/commit/43ddfc4acb0b63aa03e9716b6a1b19b75f5c8f3a#diff-1efdbdd6c16c9f9d14a6c0441e0a7702R35
Make sure to only take the correct output the rest of the script is expecting.
I hope i didn't cause even more confusion lol.
You are 100% right about breaking the return code by adding JQ and will push a commit that moves the jq select statement to after the return code of get_transaction is checked.
Just want to make sure i'm completely wrong here.
Let me know what you think about the above.
Thank you so much again !
G

Ok I got it!
We should capture the output of send_to_bitcoin_node in a variable (inside send_to_watcher_node) instead of displaying it.  If returncode is 0, then we can echo it.
Thanks so much!

Was this fixed with PR#150 ?

Yes sir. I'll close the issue.


Happy Hacktoberfest!!

Thanks to hacktoberfest that I got a positive response to the resource library.Now we have enough resources.So I need some help to refactor these resources.Here is a checklist of things that are required to make this repository more beneficial to newbies.
Changes Requested

[x] Add resources to repository You can still add more

[x] Add Table of Contents which can navigate through all the resources

[ ]  Add context to each resource so that users can know about the resource

[ ] Add context to each section

[x] Rearrange resources in each category in an alphabetical manner

Happy HacktoberFest

Hey!
Just wanted to let you guys know, I'm working on adding context to each resource. If anyone wants to help?
I'm opening a pull request with what I've done so far. ☺

The list looks outdated in today's context so if anyone looking for repositories to contribute for hacktoberfest. Then this might be a good place.
Our main tasks would be

Add new content which you find useful for yourself while making sure that it isn't already there
If you think any of the content is already there but is now deprecated then you can help in refactoring that as well. Please also add an explanation while submitting a pull request as to why you don't think the content is useful anymore
Improve content description. So it is more meaningful for users

Content is live for preview at Resources
Happy Hacktoberfest 🎉🎉


Ability to limit user account

User story
As Open Collective admins, we need a way to control trolls and prevent malicious users from spamming. This issue addresses the second bullet of https://github.com/opencollective/opencollective/issues/2650, when a users haven't done enough bad to be banned but we still want to prevent them from doing malicious actions.
Best solution for this problem
Open Collective admins can manually set users to "limited mode" when they have a strange behavior to prevent them from doing sensitive actions.
MVP

Add a flag in user.data.limitedMode = true
If the flag is true:

Prevent users from creating orders
Prevent users from creating comments
Prevent users from creating expenses
Show a notification at the top of the website with the following message:

Your account is currently limited because of a suspicious behavior. If you think this is a mistake, please contact<EMAIL_ADDRESS>
I'd argue that this would be a good opportunity to centralize permissions testing for users in a lib/permissions.ts file that has a strong test coverage.
Metrics

How many users gets flagged
Number of support requests for SPAM

Documentation
We should clearly document the reasons for us to put a user in limited mode.
Related issues
https://github.com/opencollective/opencollective/issues/2650
https://github.com/opencollective/opencollective/issues/2002

https://github.com/opencollective/opencollective-api/pull/3044 implements this issue, with the additional ability of either liming user entirely or to block specific features.


Update 1.2.17 crashes homebridge

Hello ilcato,
Your latest update, on my configuration, will make homebridge crash. Reverting to older version make it work again. Here the error
06/04/2023, 21:31:31] [FibaroHC] Error getting data from Home Center:  TypeError: Cannot read properties of undefined (reading 'deviceControlType')
at new FibaroAccessory (/usr/local/lib/node_modules/homebridge-fibaro-home-center/src/fibaroAccessory.ts:46:57)
at FibaroHC.addAccessory (/usr/local/lib/node_modules/homebridge-fibaro-home-center/src/platform.ts:238:7)
at FibaroHC.LoadAccessories (/usr/local/lib/node_modules/homebridge-fibaro-home-center/src/platform.ts:205:12)
at HomebridgeAPI. (/usr/local/lib/node_modules/homebridge-fibaro-home-center/src/platform.ts:155:14)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
[06/04/2023, 21:31:31] TypeError: Cannot read properties of undefined (reading 'deviceControlType')
at new FibaroAccessory (/usr/local/lib/node_modules/homebridge-fibaro-home-center/src/fibaroAccessory.ts:46:57)
at FibaroHC.addAccessory (/usr/local/lib/node_modules/homebridge-fibaro-home-center/src/platform.ts:238:7)
at FibaroHC.LoadAccessories (/usr/local/lib/node_modules/homebridge-fibaro-home-center/src/platform.ts:205:12)
at HomebridgeAPI. (/usr/local/lib/node_modules/homebridge-fibaro-home-center/src/platform.ts:155:14)
at processTicksAndRejections (node:internal/process/task_queues:95:5)

on it

Fixed in 1.2.18

I confirm it's working now.
Thanks a lot!


How do I download this?

How do I download this mod?

Check the releases tab: https://github.com/teaconmc/SlideShow/releases/latest

Actually, how did you even find this? We have never officially released it, nor have we advertise it anywhere. It is public because we'd like to make it open-source.

For me, I was just looking for a online picture frame mod for 1.18.

@4winyt
… and then you just searched on GitHub, then landed here?

Actually, how did you even find this? We have never officially released it, nor have we advertise it anywhere. It is public because we'd like to make it open-source.

I found it on Jonathan Ho's Top 5 best mods to use with MTR

Check the releases tab: https://github.com/teaconmc/SlideShow/releases/latest

Is there also a download link for Forge 1.16.5?

Check the releases tab: https://github.com/teaconmc/SlideShow/releases/latest

Is there also a download link for Forge 1.16.5?

https://github.com/teaconmc/SlideShow/releases/tag/0.5.4 is the last version build against Minecraft 1.16.5.

Check the releases tab: https://github.com/teaconmc/SlideShow/releases/latest

Is there also a download link for Forge 1.16.5?

https://github.com/teaconmc/SlideShow/releases/tag/0.5.4 is the last version build against Minecraft 1.16.5 at the time I am writing this reply.

Do I also have to download the source codes? I'm not very familiar with GitHub.
Thanks for responding

Check the releases tab: https://github.com/teaconmc/SlideShow/releases/latest

Is there also a download link for Forge 1.16.5?

https://github.com/teaconmc/SlideShow/releases/tag/0.5.4 is the last version build against Minecraft 1.16.5 at the time I am writing this reply.

Do I also have to download the source codes? I'm not very familiar with GitHub. Thanks for responding


chore(master): release 0.4.5

:robot: I have created a release beep boop
0.4.5 (2023-11-07)
Features

add optional id to digital twin ingest (#291) (2b0a701)

Bug Fixes

fixed input parameter naming (#287) (3eb556e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/indykite/indykite-sdk-node/releases/tag/v0.4.5 :sunflower:


[BEAM-2718] Add improved bundle retry code for the DirectRunner

When processing of a bundle fails, the bundle should be retried.

[x] Make state mutations atomically committed per bundle.
[ ] Improve performance by doing selective deepcopy of the partial states.

R: @charlesccychen

Coverage remained the same at 69.678% when pulling e1f946ffca9229ee56ad8c33fb8354a5f8d83ca6 on mariapython:retry_gbk3 into 8b540d2dd43af2a0495884d8152472a7ebff8a8e on apache:master.


Gemini flash 1.5 results

Does anyone have the results for this model? Seems to hallucinate quite a lot in long context prompts, even though it has a context size of a million tokens.
Thanks.

Same question. If there are results from the Gemini-1.5-flash, it would be a great help.


SB Track2 Implement transaction feature - start and rollback the transaction

User should be able

Start a transaction
Commit/rollback the transaction

Fixed in #11305


FactoryGirl doesn't handle array: true

I'm using PG array columns, specifically, a string array. FactoryGirl treats this column as a regular string.
Am I doing something wrong? Or is this something that I can fix in FactoryGirl?
Either way, can someone point me in the right direction?
Thanks!

rake db:test:prepare did the trick for me.
I added an array column to my table with default: []  The tests could see the column, but the default was nil. I added a line to my factory to set the value to a new array, but it was interpreted as the string [] instead of an array.
After rake db:test:prepare, the default empty array is recognized, and I didn't need to change the factory. Just recording here in case someone else sees this pattern. Thanks for the tip!


Should probably run Test262 against this polyfill

There are almost 4000 Temporal tests in Test262. Some of them were never in the non-Test262 tests of proposal-temporal (the ones you're now running with Jest), so it'd probably be good for you to get additional test coverage from Test262.
Take a look at the npm run test262 script in https://github.com/js-temporal/temporal-polyfill/blob/main/package.json for some copypasta you can use to get Test262 running in this polyfill too.  If you run into any trouble, feel free to tag me (@justingrant) or @ptomato or @12wrigja and we can help.
Note that Temporal's Test262 tests are slooooooooooow because the Test262 harness is inefficient. It takes about 5-10 mins to run all 3700+ tests. But if this polyfill passes both Jest and Test262 then that's a really good sign! 😄

Thanks for letting me know. I will rig up the Tests262 tests and have them run alongside the demitasse ones.

@arshaw did you make any progress on this? We have native BigInt support on our platform so I would like to take advantage of that, but don't feel comfortable switching over before this
If you want to I might be able to take a stab at this

There's now over 5000 tests in Test262.  It'd be good to get this repo hooked up to Test262.
FYI, there have been some improvements in Test262 performance over in https://github.com/tc39/proposal-temporal/blob/main/polyfill/runtest262.mjs which sped up test running a lot. Test runs can now finish in 1-2 mins in CI, and faster locally.

Apologies, this was automatically closed when I merged the PR. reopening

Hey @justingrant , do you have any suggestion how I might get this working with breakpoints (essentially the node --inspect option, paired with VSCode)? Right now, the test source code is grabbed as a string, so it'd be impossible for a debugger to work methinks.
BTW, this codebase now uses pnpm

You might want to use the pre-packaged runner here: https://www.npmjs.com/package/@js-temporal/temporal-test262-runner
In that repo, I added sourcemap URLs (in https://github.com/js-temporal/temporal-test262-runner/pull/10) to the test sources, so it should be possible to set breakpoints. I haven't tried doing this through vscode, but I have successfully done so via the Chrome DevTools.

Just a quick update.
@12wrigja, I have the test runner working well now. It's brilliant, thank you. I added some minor features and might submit a PR eventually.
@justingrant and @LinusU, I've made significant progress on this. 87% of test are now passing:
  5403 passed
  815 failed
  0 passed unexpectedly
  64 expected failures

Most failures were related to input validation.
My WIP branch is tests262-fixes. The code has become rather ugly and non-DRY, which I plan to optimize after all tests are passing.

@arshaw That's great progress, and is really good to hear! Heads up: there's a large PR coming (hopefully the last big one before Stage 4) here: https://github.com/tc39/proposal-temporal/pull/2482. This PR replaces the timeZone property of ZonedDateTime and the calendar property of ZDT and Plain* types with timeZoneId/calendarId properties that are strings, and getTimeZone()/getCalendar() methods that return objects.
When this PR's accompanying Test262 tests are merged, likely in the next few weeks, (@ptomato should know more details) then you should expect another few hundred broken tests until your polyfill is revised to match.
Also a bunch of smaller normative changes from last week's TC39 meeting, plus a handful of PRs that aren't merged yet, should be landing soon. See https://github.com/tc39/proposal-temporal/pulls. Apologies for the churn! Thankfully we're coming down to the end of normative changes... likely very few (perhaps zero!) before Stage 4. It all depends on the feedback we get from JS engine implementers over the next few months.
FYI, it's also remotely possible that there may be one last big change (to remove nanoseconds from the API) but at this point this seems unlikely. Instead we'll probably end up imposing limits on the properties of Temporal.Duration, e.g. some values cannot be larger than MAX_SAFE_INTEGER. Stay tuned... we should have this resolved before the next TC39 meeting in the middle of May.

I've made a lot of progress here. I've done a big refactor to fix some foundational issues. There's still a lot more work to do, but I've successfully ran the whole test suite. All tests are either passing, are failing with known bugs I've triaged, or are failing with minor intentionally deviations from the spec (which I plan on documenting). Test run:
6676 tests finished in 11.5 s
  5749 passed
  0 failed
  0 passed unexpectedly
  927 expected failures

The CI runs in the refactor-ci branch, example run here. Dev branch is refactor-scratch.
I'll update everyone as I make progress with the remaining failures.
@justingrant, I'm aware I'll probably need to pull in the latest test262 tests and adapt to new normative changes. I'm also aware of new normative changes in the PR pipeline.

Great progress here! Thanks for the update.

Hello @justingrant, v0.2.0 now has test262 tests passing to a satisfactory degree. Please see this section in the README: https://github.com/fullcalendar/temporal-polyfill/blob/v0.2.0/README.md#spec-compliance
And of course let me know if any feedback.

Cool!  I have a question about this:

Canonicalization of time zone IDs is simplified, leveraging the built-in Intl API.

Could you give a bit more detail about this simplification?

Of course! temporal-polyfill uses the same technique as js-temporal/polyfill, which is:
https://github.com/js-temporal/temporal-polyfill/blob/main/lib/ecmascript.ts#L3164
For the same reason:
// In the spec, GetCanonicalTimeZoneIdentifier is infallible and is always
// preceded by a call to IsAvailableTimeZoneName. However in the polyfill,
// we don't (yet) have a way to check if a time zone ID is valid without
// also canonicalizing it. So we combine both operations into one function,
// which will return the canonical ID if the ID is valid, and will throw
// if it's not.

Instead of doing this:
https://github.com/tc39/proposal-temporal/blob/main/polyfill/lib/ecmascript.mjs#L2726C8-L2726C8
Figured this is the only feasible way for a polyfill.
It causes tests like this to fail:
https://github.com/tc39/test262/blob/main/test/intl402/Temporal/ZonedDateTime/from/do-not-canonicalize-iana-identifiers.js

js-temporal/polyfill is a bit out of date. When we have time to port the latest commits from the proposal repo, then js-temporal/polyfill will likely use the same logic as https://github.com/tc39/proposal-temporal/blob/main/polyfill/lib/ecmascript.mjs#L2726C8-L2726C8.
Out of curiosity, why do you not want to polyfill that behavior?

Hi @justingrant, I've revised my opinion about whether this polyfill should canonicalize timeZone IDs. I mistakenly thought the reference implementation leveraged some sort of hardcoded timeZone ID database, but I now see it mainly uses string manipulations in tandem with some manual overrides. I'm confident this polyfill can represent that logic in a more compressed way, and become conformant. Will do that for the next release.

revised my opinion about whether this polyfill should canonicalize timeZone IDs.

Cool, this is good to hear. Yeah, there's probably a more space-efficient way to do that polyfilling. Glad you're looking at how to do that.
One clarification: what the polyfill is doing is *not* canonicalizing IDs like Intl.DateTimeFormat does.  For example, current Intl.DateTimeFormat on Chrome does this:
new Intl.DateTimeFormat("en", { timeZone: 'Asia/Kolkata' }).resolvedOptions().timeZone
// => Asia/Calcutta

But the Temporal spec does not change the user's ID, other than normalizing letter case:
Temporal.TimeZone.from('Asia/Kolkata').id
// => Asia/Kolkata
Temporal.TimeZone.from('Asia/Calcutta').id
// => Asia/Calcutta
Temporal.TimeZone.from('ASIA/Calcutta').id
// => Asia/Calcutta

Note that Temporal will make changes to Intl.DateTimeFormat so it will get the same behavior in a Temporal-native engine once they're released. But in the meantime this behavior must be polyfilled.
The case-normalization behavior in the spec exists as a perf optimization, so implementations don't have to store the user's input string as is (e.g. aSiA/cAlCutTa) but instead can store only the 10-bit index into an global array of ~600 time zone names. It's a nice win every time a Temporal.TimeZone is stored in RAM.
But in the meantime, a polyfill is needed to avoid mapping Asia/Kolkata to Asia/Calcutta (or vice versa on Firefox). The polyfill code you reference above is needed to do the case-normalization, as an alternative to having to ship a list of all 600 IDs in the polyfill.  It may require updating in the future in the (very rare) case that a new ID is added that has a word that doesn't start with a capital letter and have all lower-case letters after that, like America/Port_of_Spain or Antacrtica/McMurdo.
If you're curious, more context about time zone ID canonicalization behavior is in https://github.com/tc39/proposal-canonical-tz, which was recently merged into Temporal after proposal-canonical-tz reached Stage 3.

@justingrant, I was able to compress time zone ID normalization logic pretty well:
https://github.com/fullcalendar/temporal-polyfill/blob/fad4d301bd000207a5d2ce9de566da8fc5d5bc76/packages/temporal-polyfill/src/internal/timeZoneId.ts#L60-L93
Released in https://github.com/fullcalendar/temporal-polyfill/releases/tag/v0.2.1

@justingrant, in your opinion, are any of temporal-polyfill's intentional deviations from the spec considered "showstoppers", where you'd not recommend this polyfill? An updated summary of deviations:

The order, frequency, and exact arguments of how CalendarProtocol/TimeZoneProtocol methods are called. Only affects those writing custom Calendars/TimeZones. In many cases, temporal-polyfill has fewer calls.
Bugs we're sorting out on the proposal-temporal issue tracker.
Possibly the precision of how Duration::toString displays very large numbers, though looks like the test262 might have been updated recently. I'll check.

For a full list of test failures, see expected-failures.txt as well as some of the other files in that same directory.
I'm trying to understand if I should close this ticket or not.
PS- I haven't updated my test262 tests in a month. I plan to do that soon, and continuously update them thereafter.

I'd suggest to leave it open until the latest round of normative changes land in the proposal repo and you have a chance to update this polyfill to align to them.
Then it should be clearer what's remaining.
BTW, if you've found what you think are more efficient algorithms and/or fewer user calls for some operations, that could be useful to the proposal itself. Fewer calls is good!  Would you be willing to open issues over in the proposal repo for cases where you think you've found a more efficient version of some operations?  This is a good way first to validate that your shortcuts are OK, and also for us to consider if we want to switch to your version.

@justingrant, sure thing, I'll plan to become compliant with the latest normative changes and post tickets with more efficient algorithms sometime during the week of Feb 26 - Mar 1.

@justingrant, tickets/PR's for fewer calls to user-code:

https://github.com/tc39/proposal-temporal/pull/2789
https://github.com/tc39/proposal-temporal/issues/2792
https://github.com/tc39/proposal-temporal/issues/2791
https://github.com/tc39/proposal-temporal/issues/2790
https://github.com/tc39/proposal-temporal/issues/2788

New tracking issue I created for exploring reductions to user-code calls and overall DRY-ness and filesize reductions: https://github.com/tc39/proposal-temporal/issues/2793


Add How to Sell Drugs Online (Fast)

Worth to consider I think.
IMDB synopsis: To win back the love of his life, a high school student and his best friend launch Europe's largest online drug business from their teenage bedroom. (Score: 8)
https://www.imdb.com/title/tt9184994/

Maybe a generational gap here but imho Trainspotting, Run Lola Run, Breaking Bad, and Weeds did this subject in a more entertaining manner.

those movies and shows are great but they don't really have much in the way of computer hacking.


Add API to set Pango width

This can be used in Manim to disable word wrap
See https://github.com/ManimCommunity/manim/issues/1327
Signed-off-by: Naveen M K<EMAIL_ADDRESS>

Thanks for the review :)


add support to compare type as string or as an array

@vishrutshah - please review. This should support evaluating "type": "array" or `"type": ["array", "string", "null", "boolean", "number", "object"]


Make starter required for OCW_IMPORT_STARTER_SLUG

Pre-Flight checklist

[ ] Testing

[ ] Code is tested
[ ] Changes have been manually tested

What are the relevant tickets?
Fixes #514
What's this PR do?

Remove a constant which was also being used as the course starter slug. Instead testing code will use the setting
If the starter does not exist on import, an exception will be thrown

We also need to make sure our production environments have environment variables which match the starter slugs
How should this be manually tested?
Run ./manage.py import_ocw_course_sites -b ocw-to-hugo-output-qa --filter res-8-001-applied-geometric-algebra-spring-2009. The website should have the starter populated correctly, or else there should be an error in the import or when Django starts and finds a missing environment variable.

Codecov Report

Merging #516 (929e57d) into master (48f1325) will increase coverage by 8.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #516      +/-   ##
==========================================
+ Coverage   87.13%   95.19%   +8.05%
==========================================
  Files          76       76
  Lines        3155     2121    -1034
  Branches      373      409      +36
==========================================
- Hits         2749     2019     -730
+ Misses        356      100     -256
+ Partials       50        2      -48

Impacted Files
Coverage Δ

main/admin.py

news/views.py

gdrive_sync/__init__.py

users/admin.py

content_sync/__init__.py

content_sync/api.py

gdrive_sync/api.py

content_sync/backends/github.py

websites/views.py

main/features.py

... and 138 more

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 48f1325...929e57d. Read the comment docs.


When will draggable leave beta?

We want get better test coverage first and fix all the known issues, mainly the touch event issues


Enable schedule

Since the prod database is running nightly, this run would just be to make sure all of the pipelines are working as expected and to sync the prod and “dev” exports.  What do you think of running it twice a day to cover all our time zones in case something fails?  I've specified 11 and 22 UTC (7am/6pm EST, 12am/1pm CEST, 10am/11pm NZST) but open to other times!
I also don’t have admin access to the repo - are all of the usual email secrets added?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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 93.31%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1339

Relevant Lines:
1435

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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 93.31%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1339

Relevant Lines:
1435

💛  - Coveralls

@turnerm you're on it!  So far it's the three of us, should I add anyone else?

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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 93.31%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1339

Relevant Lines:
1435

💛  - Coveralls


chore: add xo for JavaScript linting

This PR replaces the leftover gulp-eslint task with xo.

Screenshots

*Books data not fetched because of CORS policy.


Parameters passing

Hi,
i'm trying to pass params to a script (set on F6 button):
python check.py {file}
so that Python can open my script check.py with {file} parameter. Unfortunately, this command only runs check.py with no parameters received, How can I do it?

you can't. there's no current method for adding and/or passing arguments to a script. the executed script must always be the last argument. maybe sometime in the future we can fix this, or if you want, look at the source code, change it, and make a pull request.

@xovertheyearsx
So what is the technical reason that it is not supported now? I suppose cp can handle any arguments.

i'm caught up in some other stuff, but it's actually just the way cp is implemented. at the time, i thought some restrictions would be good to have (security reasons). that's why 'these issues' keep cropping up.
the format cp is designed to take is
repl [options... [args...]] {file}
where the last arg, {file}, must always be a file.
I should have just used argparse and used - as the option termination symbol. it'd be quicker to write up, easier to maintain, and allow people do what they expect.
for example
repl [options...] [args...]
would work much better.
you could just rewrite the lexer.py and make sure it interfaces with argparses results. I realized this when I drafted the docs for the wiki.
looking back at it now, it was obviously a bad idea. i'm just caught up setting up my current work station. i was planning on fixing it soon, other wise i could just rewrite it in no time at all. unless you're up to the task.
You don't even have to read lexer.py. You have to trash it because of the way argparse works. parser.py uses the the tokens and should need minimal tweaking along with main.py. Other than that, it should work fine.
It's layered as

utils.py
fnp.py (deprecate)
lexer.py (refactor to use argparse)
parser.py (minimal tweaking to ensure tokens are interpreted correctly)
main.py (same as step 4)
terminal.js (Make a few adjustments so it calls cp the right way)
atom-python-run.js (should not need any changes)

I broke the golden rule by not keeping it simple (kiss).
If not, it may be a few days until I can get to it. At least until my system is ready for dev.


CR-6654-check-git-name-and-email-before-run

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.elad laor seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


How to change the color of the water wave and effect

How to change the color of the water wave and effect

Hi,
Please read the README file. You just need to use the rv_colorattribute in your XML. ;)


Update library @ipcrmdemo/npm-test to 0.2.25

Nudge generated by Atomist

Pull request auto merged by Atomist.

No reviews
1 successful check

[atomist:generated] [auto-merge:on-check-success]


Add a note about subscriptions triggered thru CascadingValue

CascadingValue causes components to be re-rendered if the value changes. We don't currently document this.

@guardrex feel free to rewrite this entirely. I noticed that we didn't document this behavior in our docs and wanted to make sure we mentioned it.

Thanks!


Tests break with React 15.0.1

This is my output from npm test. I am running a meteor 1.3 app with a React frontend - Cannot read property 'listenTo' of undefined     at Object.<anonymous> (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/react/lib/ReactDOMComponent.js:50:40)     at Loader._execModule (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/jest-cli/src/HasteModuleLoader/HasteModuleLoader.js:207:17)     at Loader.requireModule (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/jest-cli/src/HasteModuleLoader/HasteModuleLoader.js:761:14)     at Loader.requireModuleOrMock (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/jest-cli/src/HasteModuleLoader/HasteModuleLoader.js:791:19)     at Object.<anonymous> (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/react/lib/ReactDefaultInjection.js:21:25)     at Loader._execModule (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/jest-cli/src/HasteModuleLoader/HasteModuleLoader.js:207:17)     at Loader.requireModule (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/jest-cli/src/HasteModuleLoader/HasteModuleLoader.js:761:14)     at Loader.requireModuleOrMock (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/jest-cli/src/HasteModuleLoader/HasteModuleLoader.js:791:19)     at Object.<anonymous> (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/react/lib/ReactDOM.js:17:29)     at Loader._execModule (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/jest-cli/src/HasteModuleLoader/HasteModuleLoader.js:207:17)     at Loader.requireModule (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/jest-cli/src/HasteModuleLoader/HasteModuleLoader.js:761:14)     at Loader.requireModuleOrMock (/Users/thomasgoldenberg/Desktop/agolo/test-agolo/node_modules/jest-cli/src/HasteModuleLoader/HasteModuleLoader.js:791:19)

Can you share the code of the component being tested, and the test code that's failing? Also, please make sure you're mocking the right things for jest https://github.com/airbnb/enzyme/blob/master/docs/guides/jest.md

@ljharb My tests were running find previous to this. Here is a sample test, and my package.json
`import React from 'react';
import ReactDOM from 'react-dom';
import TestUtils from 'react-addons-test-utils';
import {shallow} from 'enzyme';
jest.dontMock('../cluster_score.jsx');
jest.dontMock('../../utilities/feed_utilities');
const ClusterScore = require('../cluster_score.jsx');
const getScore = require('../../utilities/feed_utilities').getScore;
describe('getScore', () => {
it('renders the correct score with props', () => {
const wrapper = shallow(

)
expect(wrapper.text()).toBe('Relevancy: 50%')
})
it('renders a score of 0 with no props', () => {
const wrapper = shallow(

)
expect(wrapper.text()).toBe('Relevancy: 0%');
})
})`
`
"name": "test-agolo",
"version": "1.0.0",
"description": "agolo",
"main": "test-agolo.js",
"scripts": {
"test": "jest"
},
"jest": {
"setupEnvScriptFile": "/.scripts/setup-jest-tests.js",
"testRunner": "/node_modules/jest-cli/src/testRunners/jasmine/jasmine2.js",
"scriptPreprocessor": "/node_modules/babel-jest",
"preprocessCachingDisabled": "true",
"testPathDirs": [
"/client/modules",
"/tests/mocks"
],
"testDirectoryName": "client/modules",
"testFileExtensions": [
"tests.js",
"tests.jsx"
],
"moduleFileExtensions": [
"js",
"jsx",
"json",
"node"
],
"unmockedModulePathPatterns": [
"underscore/.",
"core-js/.",
"babel-runtime/.",
"react/.",
"react-dom/.",
"fbjs/.",
"react-addons-test-utils/.",
"enzyme/"
]
},
"devDependencies": {
"babel-core": "^6.3.17",
"babel-jest": "^6.0.1",
"babel-loader": "^6.2.0",
"babel-plugin-transform-decorators-legacy": "^1.2.0",
"babel-plugin-transform-es2015-modules-commonjs": "^6.4.0",
"babel-plugin-transform-runtime": "^6.3.13",
"babel-plugin-transform-strict-mode": "^6.3.13",
"babel-preset-es2015": "^6.3.13",
"babel-preset-react": "^6.3.13",
"babel-preset-stage-0": "^6.3.13",
"classnames": "^2.2.1",
"enzyme": "^2.2.0",
"jasmine": "https://github.com/xolvio/jasmine-npm/archive/29065151846755d6bbad369f506143ebf69b168f.tar.gz",
"jest-cli": "Sanjo/jest#7c71094",
"json-loader": "^0.5.4",
"karma": "^0.13.16",
"karma-chrome-launcher": "^0.2.2",
"karma-firefox-launcher": "^0.1.7",
"karma-jasmine": "^0.3.6",
"karma-sourcemap-loader": "0.3.6",
"karma-webpack": "1.7.0",
"phantomjs": "^1.9.19",
"react-addons-test-utils": "^15.0.1",
"shelljs": "^0.5.3",
"underscore": "^1.8.3",
"velocity-cli": "^0.4.3",
"wallaby-webpack": "0.0.10",
"webpack": "^1.12.9"
},
"author": "",
"license": "ISC",
"dependencies": {
"babel-plugin-transform-class-properties": "^6.4.0",
"classnames": "^2.2.3",
"d3": "^3.5.16",
"jquery": "^2.2.0",
"moment": "^2.11.1",
"radium": "^0.16.6",
"react": "^15.0.1",
"react-addons-css-transition-group": "^15.0.1",
"react-addons-pure-render-mixin": "^15.0.1",
"react-addons-shallow-compare": "^15.0.1",
"react-bootstrap": "^0.28.3",
"react-dom": "^15.0.1",
"react-icons": "^1.0.3",
"react-input-range": "^0.6.1",
"react-loading": "0.0.7",
"react-mixin": "^2.0.2",
"react-motion": "^0.4.2",
"react-motion-ui-pack": "^0.6.0",
"react-router": "^2.0.0-rc4",
"react-selectize": "https://github.com/tgoldenberg/react-selectize/tarball/add_js",
"react-tooltip": "^1.1.4",
"react-transform-hmr": "^1.0.2",
"stock-data": "^0.1.0",
"tether": "^1.2.0",
"underscore.string": "^3.2.2"

}
}`

Here's the component -
import React from 'react';
import {getScore,} from '../utilities/feed_utilities';

class ClusterScore extends React.Component{
  render(){
    return (
      Relevancy: {getScore(this.props.score, this.props.maxScore)}%
    )
  }
}

ClusterScore.propTypes = {
  score: React.PropTypes.number.isRequired,
  maxScore: React.PropTypes.number.isRequired,
}
ClusterScore.defaultProps = {
  score : 0,
  maxScore: 0,
}

module.exports = ClusterScore;

also the same issue

arrrhh..? no...?

@andrew, So I adjusted my package.json and basically started from scratch. Here is the new package.json that I am using and getting most of the tests most of the time ;) to pass.
  "name": "test-agolo",
  "version": "1.0.0",
  "description": "agolo",
  "main": "test-agolo.js",
  "scripts": {
    "test": "jest"
  },
  "author": "",
  "license": "ISC",
  "babel": {
    "env": {
      "production": {
        "plugins": [
          "transform-react-constant-elements",
          "transform-react-inline-elements"
        ]
      }
    }
  },
  "jest": {
    "setupEnvScriptFile": "<rootDir>/.scripts/setup-jest-tests.js",
    "scriptPreprocessor": "<rootDir>/node_modules/babel-jest",
    "testPathDirs": [
      "<rootDir>/client/modules"
    ],
    "testDirectoryName": "client/modules",
    "testFileExtensions": [
      "tests.js",
      "tests.jsx"
    ],
    "moduleFileExtensions": [
      "js",
      "jsx",
      "json",
      "node"
    ],
    "unmockedModulePathPatterns": [
      "underscore/.*",
      "core-js/.*",
      "babel-runtime/.*",
      "react/.*",
      "react-dom/.*",
      "fbjs/.*",
      "react-addons-test-utils/.*",
      "enzyme/.*"
    ]
  },
  "dependencies": {
    "bootstrap": "^4.0.0-alpha.2",
    "btoa": "^1.1.2",
    "classnames": "^2.2.3",
    "d3": "^3.5.16",
    "jquery": "^2.2.3",
    "moment": "^2.13.0",
    "radium": "^0.17.1",
    "react": "^15.0.1",
    "react-addons-css-transition-group": "^15.0.1",
    "react-addons-pure-render-mixin": "^15.0.1",
    "react-addons-shallow-compare": "^15.0.1",
    "react-dom": "^15.0.1",
    "react-icons": "^2.0.1",
    "react-input-range": "^0.6.2",
    "react-loading": "0.0.9",
    "react-motion": "^0.4.2",
    "react-motion-ui-pack": "^0.7.1",
    "react-redux": "^4.4.5",
    "react-router": "^2.2.4",
    "react-selectize": "https://github.com/tgoldenberg/react-selectize/tarball/add_js",
    "react-tooltip": "^1.2.0",
    "redux": "^3.4.0",
    "underscore": "^1.8.3",
    "underscore.string": "^3.2.2"
  }
}

and no, not using karma

@tgoldenberg How about a more helpful explanation of what you did to solve your issue? I'm also running jest and having similar problems.

@dsifford  Basically, I gutted my package.json and started from scratch. I shared the package.json during the problems and after. That's about it for changes. My setup script and everything else stayed the same. A lot of packages were relying on previous version of react ^0.014.0, etc., so gutting my node_modules directory, and building it up from scratch was the painful, but effective way of getting the tests to work again. Hope this is helpful

@tgoldenberg Ah, that's disappointing. Hoped you might have had an easier solution.
@andrewmclagan This issue happens for me when I attempt to pass an array of objects as a prop. Is this a known issue?

@andrewmclagan Example:
const spy = sinon.spy();
        const wrapper = mount(
            <People citationType='article' eventHandler={spy} people={[{ type: 'author', family: 'asdfadsfasd', given: 'asdfasdf'}]} />
        );

        at QueueRunner.clearStack (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:607:9)                               [23/1828]
        at QueueRunner.run (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:1786:12)                                    [22/1828]
        at QueueRunner.execute (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:1764:10)                                [21/1828]
        at Spec.Env.queueRunnerFactory (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:629:35)                         [20/1828]
        at Spec.execute (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:355:10)                                        [19/1828]
        at Object.fn (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:2362:37)                                          [18/1828]
        at attemptAsync (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:1821:24)                                       [17/1828]
        at QueueRunner.run (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:1776:9)                                     [16/1828]
        at QueueRunner.execute (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:1764:10)                                [15/1828]
        at Env.queueRunnerFactory (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:629:35)                              [14/1828]
        at Object.fn (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:2347:13)                                          [13/1828]
        at attemptAsync (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:1821:24)                                       [12/1828]
        at QueueRunner.run (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:1776:9)                                     [11/1828]
        at QueueRunner.execute (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:1764:10)
        at Env.queueRunnerFactory (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:629:35)
        at TreeProcessor.execute (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:2211:7)
        at Env.execute (node_modules/jest-jasmine2/vendor/jasmine-2.3.4.js:680:17)
        at jasmine2 (node_modules/jest-jasmine2/src/index.js:194:7)
        at handle (node_modules/worker-farm/lib/child/index.js:41:8)
        at process.<anonymous> (node_modules/worker-farm/lib/child/index.js:47:3)
        at emitTwo (events.js:100:13)
        at process.emit (events.js:185:7)
        at handleMessage (internal/child_process.js:718:10)
        at Pipe.channel.onread (internal/child_process.js:444:11)

Gonna open a new issue on this since it's totally crippling my productivity right now.


[Bug]

Before Reporting

[X] I found no existing issues matching my bug
[X] My issue is not caused by a plugin or theme

Describe the Bug
betterdiscord keeps crashing everytime i try to select the settings icon
Expected Behavior
unless the developers find a way to make this bug go away i expect this to happen everytime i try to go to my discord settings
Steps To Reproduce
latest version of better discord
no theme
klick settings
will probably crash
Operating System
Windows
Discord Version
Stable
BetterDiscord Version
latest
Anything else?
No response

Same issue, I've attached a screenshot of the console log error:

Error Text:
Uncaught Error: Assignment to constant variable.
    at IncomingMessage.<anonymous> (C:\Users\almig\AppData\Roaming\BetterDiscord\data\betterdiscord.asar\preload.js:1:3740)
    at IncomingMessage.emit (events.js:327:22)
    at endReadableNT (internal/streams/readable.js:1327:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
ff334c0250254fc1c9ca.js:152 Error: Minified React error #130; visit https://reactjs.org/docs/error-decoder.html?invariant=130&args[]=undefined&args[]= for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
    at wc (288aa17d3bf2f0a3351d.js:1667)
    at d (288aa17d3bf2f0a3351d.js:1602)
    at E (288aa17d3bf2f0a3351d.js:1604)
    at e (288aa17d3bf2f0a3351d.js:1606)
    at vs (288aa17d3bf2f0a3351d.js:1618)
    at yu (288aa17d3bf2f0a3351d.js:1663)
    at Oc (288aa17d3bf2f0a3351d.js:1655)
    at Ic (288aa17d3bf2f0a3351d.js:1655)
    at hc (288aa17d3bf2f0a3351d.js:1654)
    at ic (288aa17d3bf2f0a3351d.js:1651)
    at oc (288aa17d3bf2f0a3351d.js:1650)
    at g (288aa17d3bf2f0a3351d.js:1772)
    at L (288aa17d3bf2f0a3351d.js:1773)
    at t.exports (ff334c0250254fc1c9ca.js:21)
    at g.<computed> (ff334c0250254fc1c9ca.js:36)
    at Number.m (ff334c0250254fc1c9ca.js:36)
    at MessagePort.b (ff334c0250254fc1c9ca.js:36)
(anonymous) @ ff334c0250254fc1c9ca.js:152

same as https://github.com/BetterDiscord/BetterDiscord/issues/1540

Not sure if they're connected but the installer fails atm too so DO NOT UNINSTALL. You get this:

Which links here: https://api.github.com/repos/BetterDiscord/BetterDiscord/releases

As of today I have experienced the same issue.

same

This has been fixed in the latest release


fix: Migration to fix out of sync schema_perm in charts and datasets

SUMMARY

Currently, a bug exists in Superset where sometimes when updating a dataset's schema, the dataset and any charts belonging to the dataset do not have their schema_perm attribute get updated properly.  I've identified that this bug is the result of this line which checks if a dataset's schema was changed after a dataset update.  Usually when the schema changes, both conditions are true/truthy, however sometimes history_schema.deleted is empty/falsy, which results in the schema_perm not getting updated.  I was not able to find a cause for this inconsistency.
This PR does not actually fix this bug; it just fixes any currently affected charts and datasets.  The reasoning behind this is that there was another bug recently fixed which caused some datasets to be created without a schema, resulting in users needing the update dataset schemas more frequently than usual.  This made the schema_perm bug here more impactful.
Additionally, actually fixing this bug is not simple. I initially thought we could remove the history_schema.deleted condition, but it turns out that the other condition history_schema.has_changes()  is pretty much always true even when the schema has not changed, which would result in many unnecessary queries.  I believe the long-term fix for this is either to move away from sqlalchemy event listeners/attribute history and instead handle this logic in the DAO layer and/or to rehaul the data model for data access permissions so that these permission strings are no longer needed
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[x] Includes DB Migration (follow approval process in SIP-59)

[x] Migration is atomic, supports rollback & is backwards-compatible
[x] Confirm DB migration upgrade and downgrade tested
[x] Runtime estimates and downtime expectations provided - no downtime

[ ] Introduces new feature or API
[ ] Removes existing feature or API

🏷 preset:2023.31


Return confidentiality status.

And make sure it is tested so it does not regress.
Thanks to Jordan Borean for spotting this.

@jborean93 PTAL


Consider pycycle

https://github.com/bndr/pycycle

The lib is not catching cycles in Django project


label2 bug fix

Hey @Arsenic-ATG , the label2 is working now , whenever the user will press an operator button the label2's text changes , sepecified conditons for each operator button press :)

Thanks for contributing to the project. 🏅


Fix the text in the Mermaid diagram on the authorization page

This PR fixes some text in the Mermaid diagram is the follow-up PR for #25181.

/assign @annajung


Add an option to exclude modules from conversion

It's useful when you don't want to convert some modules e.g. when you have SpatialMaxPooling paired with SpatialMaxUnpooling.

@apaszke can you mention this in doc?

@szagoruyko Done in #177

@apaszke thanks


Remove unnecessary spread operator

Fixes #11

@osvaldasvalutis Would you mind taking a look at this and merging it? Thanks!

@dkniffin the spread operator here converts NodeList to Array which allows to run forEach on older browsers.

@osvaldasvalutis Ah, ok. I'll switch to Array.from. Will that be okay?

@dkniffin what's the reasoning behind that?

@osvaldasvalutis I described the issue over on #11, but in summary, the spread operator combined with the querySelectorAll intermittently has issues on some browsers (the ones we're seeing reports for are Chrome 84 & 85 on Windows, but it's hard to reproduce). I would expect Babel to resolve any issue like that, but it seems it doesn't. There's a similar issue here: https://github.com/babel/babel/issues/10509

@dkniffin 👌  https://github.com/kollegorna/cocoon-vanilla-js/releases/tag/v1.0.7


XFA - Avoid to put something in very small areas

it aims to fix #13855.

Did you mean to git add something else?

/botio test

/botio-linux test

/botio-windows test

/botio-linux test

/botio makeref


Multithreading support

Dear developers,
thank you for providing this library to access the SPQR functionality using Python code. Unfortunately, the provided qr function does not take advantage of multiple cores on my machine making it much slower compared to np.linalg.qr which uses all available CPU cores by default. To give you an example I ran the following code on my computer (Intel Core i7-1165G7 @ 2.80GHz x 8 running Ubuntu 20.04) and documented the runtimes:
import numpy as np
import scipy.sparse as sps
import sparseqr
import time

matrix = sps.rand(5000, 5000, density=0.001) + sps.diags(np.random.rand(5000))

np_start = time.time()
np.linalg.qr(matrix.toarray())  # Takes ~10 seconds
print("np.linalg.qr:", time.time() - np_start)

sparseqr_start = time.time()
sparseqr.qr(matrix)  # Takes ~55 seconds
print("sparseqr.qr:", time.time() - sparseqr_start)

I could clearly see, using my system monitor, that sparseqr.qr only used one CPU core which is weird, given that SPQR is advertised as "a multifrontal multithreaded sparse QR factorization package."
Is multithreading currently supported by sparseqr? If so, what do I have to do to enable it? If not, could you elaborate on what it would take to support it or whether this is even feasible for a Python wrapper?
Many thanks in advance!

I  saw this when working through another issue, ran the script above and, FWIW, I cannot reproduce this issue.
%run matrix.py
np.linalg.qr: 8.187024593353271
sparseqr.qr: 6.860008001327515

%run matrix.py
np.linalg.qr: 7.470994234085083
sparseqr.qr: 6.794812202453613

%run matrix.py
np.linalg.qr: 7.407967805862427
sparseqr.qr: 7.4680376052856445

%run matrix.py
np.linalg.qr: 7.614963054656982
sparseqr.qr: 6.833277225494385

Since sparseqr is a wrapper to suitesparse, if suitesparse is built with multithreading and/or multi core support (and the blas libraries it relies on), then sparseqr will be multithreaded/multi core.
Tests above run on ubuntu 20.04 lts, suitesparse 5.8.1 compiled with intel-oneapi-mkl-2021.3.0 (and associated packages) and a (old) laptop limited to two cores (one thread per core).  Both cores appeared to be fully utilized for both np qr and sparse qr.
Check if your blas libraries are multithreaded.
HTH.

Thanks for your input @stuart-nolan. I tried installing the sparseqr in a fresh virtual environment just now and it indeed used multiple cores. Interestingly though, while np.linalg.qr utilizes 100% of my computing power, sparseqr.qr uses only about 50% (i.e. 4 out of 8 cores). Maybe this is due to some virtual cores vs. physical cores hiccup. As I cannot reproduce the problem myself, we can consider this issue closed.
For completeness sake, my operating system is Ubuntu 20.04 LTS with libsuitsparse-dev version 5.7.1 and libopenblas-dev version 0.3.8 installed (from the official repositories).


Improve construct! macro by using local_inner_macros and fully-qualified paths

Fixes #14

According to https://doc.rust-lang.org/reference/macros-by-example.html

This is intended primarily as a tool to migrate code written before $crate was added to the language to work with Rust 2018's path-based imports of macros. Its use is discouraged in new code

So I took your change for vec and Result and manually added $crate annotations. Please let me know if that doesn't fix the problem for you.

Yes that works for me, thanks


UI title is not updated

When we have an email in our inbox we see in the title of the webpage (N) MailCrab, where N is the number of new emails
After clicking the Remove All button the title is not updated and is left with (N). To update a title the page must be reloaded.

Same thing when new mail has been received. The title is (1), when new mail is received and you don't activate the tab with mailcrab the title does not change. When you click on the tab, the new mail appears in the list, but the title is still (1) but should be (2)

This should be fixed with #48


Add summarization feature

Proposed changes

Support calling our Summarization Feature
Developers can utilize summarization with summarize=true
Update any usage requests that allow filtering by feature

Context

Allow customers to summarize their transcript.
Sample URL - https://api.beta.deepgram.com/v1/listen?summarize=true&punctuate=true

Sample Output
                        "summaries": [
                            {
                                "summary": "This episode is brought to you by levels. With levels you can see how different foods affect your health with real time feedback. The levels app interprets your glucose data and provides a simple score after you eat a meal.",
                                "start_word": 0,
                                "end_word": 623
                            },
                            {
                                "summary": "Dr. Ferris is joined by Dr. K, a professor of laboratory medicine and pathology at the University of Washington School of Medicine. Matt K is the founding director of the healthy aging and longevity research Institute.",
                                "start_word": 623,
                                "end_word": 1227
                            },

closed with #29


[web] hide the --web-renderer option in the tool

Hide the --web-renderer option in the Flutter Tool. The defaults already cover all fully supported modes:

flutter build web provides canvaskit + dart2js
flutter build web --wasm provides skwasm + dart2wasm

We do not want to encourage production usage of any other permutations (e.g. auto or html), in particular those that simply do not work (e.g. skwasm + dart2js).
Fixes https://github.com/flutter/flutter/issues/140096
Fixes https://github.com/flutter/flutter/issues/151786

@yjbanov does this fix this one?
https://github.com/flutter/flutter/issues/152844