Caravan_extension_CH

Basin prefix
camelsch
Zenodo DOI
https://doi.org/10.5281/zenodo.7928595
Number of catchments
296
Location of catchments
Switzerland (and bordering regions of neighboring countries)
For which periods are streamflow records available in your dataset?
1981-01-01 to 2020-12-31
Please list any sources of the data you contributed.
Streamflow data was provided by the Swiss Federal Office for the Environment (FOEN/BAFU). Further data providers are referenced and acknowledged in the corresponding publication of CAMELS-CH, available at the Zenodo repository.
License
Creative Commons Attribution 4.0 International License [CC-BY-4.0]
Additional context
The Caravan_extension_CH is published together with a CAMELS-CH dataset that aside of daily hydro-meteorological time series and static attributes contains additional information, e.g. on glacier data annual time series, Swiss lakes and further attributes.
Checklist

[X] I have uploaded my dataset on Zenodo, where it is accessible under the DOI provided above.
[X] I used a basin prefix that is not yet used by any other Caravan sub-dataset (you can check this via the Data Contributions discussion thread, where all accepted Caravan contributions are listed).
[X] Permissive License: My data is available under a license that is compatible with the Caravan CC-BY-4.0 license (the easiest way to be sure about this is if your data uses CC-BY-4.0, too).

Hi @marv-in
thanks for your data contribution. I downloaded the data and ran a few checks and there are some minor issues that I would like you to correct, so that everything is consistent with the rest of the Caravan data.

You say your basin prefix is ch but the subdirectories of your extension are called camelsch, while your filenames (of the timeseries files) and the names in your attribute files have the ch prefix. It would be great if you could streamline this so that all use the same basin prefix (folder names as well as gauge_ids). In the light of the naming of the rest of the camels datasets within Caravan, I would recommend camelsch but the choice is yours.
In your extension the directory is called licences, while in Caravan it is called licenses. Both are valid words for the same thing but for the sake of not having two folders within the dataset (after merging your extension) it would be great if you could rename it to licenses.
Your shapefile includes more fields than the other shapefiles, but this is fine. However, it would be great if you could rename the values in the gauge_id field to also include the basin prefix (i.e. either ch or camelsch depending on your choice of the first point).

I hope these are easy things for you to fix. If you update the data, would be great if you update the Zenodo DOI in this issue.

Hi @kratzert ,
the renaming of all suggested items is complete. I edited the above comment such that it now includes the Zenodo DOI reference to the updated version.

Hi @marv-in,
I checked the data again and everything looks fine. Thank you so much for contributing to Caravan, good luck for the CAMELS-CH reviews and hopefully until soon.
Next steps are: I will close this issue, link your extension in the list of community extensions over in the discussion forum and announce it on Twitter.


Adding AWS automation to production refarch

Hi @vbudi000 @ncolon
I think you need to bump the Chart version to be able to have a new chart available in the helm repo registry

@csantanapr - updated chart versions to 0.1.2


Move MarkUninitializedFixup to ./lib/SILOptimizer/Mandatory since it …

…is only used in the mandatory pipeline.

@swift-ci smoke test and merge


IEN-893 | Subtasks IEN-906, 907 | Upgrade Node to 18 | Upgrade Next to 14 | Fix cloudfront

upgrade node v18
upgrade next v14 & remove legacy  inside the  (I have checked all <Link /> components with <a/>, and it's working fine)
Fix cloudfront response.js
Fix ErrorMessage unit test
upgrade @headlessui/react and react-toastfy as there are couple error messages in the browser console;
Also replaced deprecated Dialog.Overlay based on the official document (https://headlessui.com/v1/react/dialog)

going to fix the PR testing fail

going to fix e2e fail

Found styling issue after deploying to TEST but not happen on my local. Have to do more research.


ControlsHelper.IsUnderlined Exception

After updating to latest nuget package, and run I get:
System.InvalidOperationException: Property path is not valid. 'ControlsHelper' does not have a public property named 'IsUnderlined'.
package.config regarding are:

package id="MahApps.Metro" version="<IP_ADDRESS>" targetFramework="net451"
package id="MahApps.Metro.Resources" version="<IP_ADDRESS>" targetFramework="net451"

this probably is happening when trying to load of tab control. This is the only extra information I could  add.

As stated in the Migration Guide, the IsUnderlined property is now in the TabControlHelper class

thanks, and sorry for the misunderstanding.


Spatial equivalent of GNN

I discussed with @percyfal some ideas of how to plot a GNN equivalent when we don't have a set of defined subpopulations. One possibility is to look at the nearest neighbours and to summarize their x/y locations, perhaps using an average location and some sort of variance.
Here's a SLiM script we could use for testing (try running it in the SLiM GUI: needs the world_map_540x217.png file from the SLiM docs):
// Keywords: continuous space, continuous spatial landscape, spatial map, reprising boundaries

initialize() {
	initializeSLiMOptions(dimensionality="xy");
	initializeTreeSeq();
	initializeMutationRate(1e-7);
	initializeMutationType("m1", 0.5, "f", 0.0);
	initializeGenomicElementType("g1", m1, 1.0);
	initializeGenomicElement(g1, 0, 99999);
	initializeRecombinationRate(1e-8);

	// spatial competition
	initializeInteractionType(1, "xy", reciprocal=T, maxDistance=30.0);
	i1.setInteractionFunction("n", 5.0, 10.0);

	// spatial mate choice
	initializeInteractionType(2, "xy", reciprocal=T, maxDistance=30.0);
	i2.setInteractionFunction("n", 1.0, 10.0);
}
1 late() {
	sim.addSubpop("p1", 1000);

	p1.setSpatialBounds(c(0.0, 0.0, 539.0, 216.0));

	// this file is in the recipe archive at http://benhaller.com/slim/SLiM_Recipes.zip
	mapImage = Image("~/Downloads/SLiM_Recipes/world_map_540x217.png");
	p1.defineSpatialMap("world", "xy", 1.0 - mapImage.floatK,
		valueRange=c(0.0, 1.0), colors=c("#0000CC", "#55FF22"));

	// start near a specific map location
	for (ind in p1.individuals) {
		ind.x = rnorm(1, 300.0, 1.0);
		ind.y = rnorm(1, 100.0, 1.0);
	}
}
1: late() {
	i1.evaluate();
	inds = sim.subpopulations.individuals;
	competition = i1.totalOfNeighborStrengths(inds) / size(inds);
	competition = pmin(competition, 0.99);
	inds.fitnessScaling = 1.0 - competition;
}
first() {
	i2.evaluate();
}
mateChoice() {
	return i2.strength(individual);
}
modifyChild() {
	do pos = parent1.spatialPosition + rnorm(2, 0, 0.5);
	while (!p1.pointInBounds(pos));

	// prevent dispersal into water
	if (p1.spatialMapValue("world", pos) == 0.0)
		return F;

	child.setSpatialPosition(pos);
	return T;
}
3000 late() {
	sim.treeSeqOutput("~/Downloads/SLiM_Recipes/spatial.trees");
}

And here's a rough, non-efficient, way of plotting out the spatial GNN (lots could be improved, and I think there's a bug, but putting it down here for reference):
import tskit
import numpy as np
import matplotlib.pyplot as plt

ts = tskit.load("/Users/Yan/Downloads/SLiM_Recipes/spatial.trees")

GNN_x = np.zeros(ts.num_samples)
GNN_y = np.zeros(ts.num_samples)
for u in ts.samples():
    loc = ts.individual(ts.node(u).individual).location
    GNN_x[u] = loc[0]
    GNN_y[u] = loc[1]

GNN_u = np.zeros(ts.num_samples)
GNN_v = np.zeros(ts.num_samples)

for tree in ts.trees():
    for u in ts.samples():
        x = 0
        y = 0
        n = 0
        focal_node = tree.parent(u)
        for s in tree.samples(focal_node):
            if s != u:
                loc = ts.individual(ts.node(s).individual).location
                n += 1
                x += GNN_x[u] - loc[0]
                y += GNN_y[u] - loc[1]
        GNN_u[u] += x * tree.span
        GNN_v[u] += y * tree.span
GNN_u /= ts.sequence_length
GNN_v /= ts.sequence_length

fig, ax = plt.subplots(figsize=(20, 15))
q = ax.quiver(GNN_x, GNN_y, GNN_u, GNN_v, units='xy')

Hi @hyanwong, finally I found the time to give your code a go! In
preparing for an analysis of real data, I decided to apply your
function to a data set simulated in slendr, and plotted in geoviews,
just to get a hang of the entire workflow. I'm posting the code I
wrote for reference.
To begin with, I used the slendr tutorial
example, a toy model of the
history of modern humans in West Eurasia after the Out of Africa
migration. I used the following parts of the code (NB: requires tibble >= 3.1.6):
library(slendr)
library(dplyr)

# Define world and regions
map <- world(
  xrange = c(-15, 60), # min-max longitude
  yrange = c(20, 65),  # min-max latitude
  crs = "EPSG:3035"    # coordinate reference system (CRS) for West Eurasia
)
africa <- region(
  "Africa", map,
  polygon = list(c(-18, 20), c(40, 20), c(30, 33),
                 c(20, 32), c(10, 35), c(-8, 35))
)
europe <- region(
  "Europe", map,
  polygon = list(
    c(-8, 35), c(-5, 36), c(10, 38), c(20, 35), c(25, 35),
    c(33, 45), c(20, 58), c(-5, 60), c(-15, 50)
  )
)
anatolia <- region(
  "Anatolia", map,
  polygon = list(c(28, 35), c(40, 35), c(42, 40),
                 c(30, 43), c(27, 40), c(25, 38))
)

# Define populations
afr <- population( # African ancestral population
  "AFR", parent = "ancestor", time = 52000, N = 3000,
  map = map, polygon = africa
)
ooa <- population( # population of the first migrants out of Africa
  "OOA", parent = afr, time = 51000, N = 500, remove = 25000,
  center = c(33, 30), radius = 400e3
) %>%
  move(
    trajectory = list(c(40, 30), c(50, 30), c(60, 40)),
    start = 50000, end = 40000, snapshots = 20
  )
ehg <- population( # Eastern hunter-gatherers
  "EHG", parent = ooa, time = 28000, N = 1000, remove = 6000,
  polygon = list(
    c(26, 55), c(38, 53), c(48, 53), c(60, 53),
    c(60, 60), c(48, 63), c(38, 63), c(26, 60))
)
eur <- population( # European population
  name = "EUR", parent = ehg, time = 25000, N = 2000,
  polygon = europe
)
ana <- population( # Anatolian farmers
  name = "ANA", time = 28000, N = 3000, parent = ooa, remove = 4000,
  center = c(34, 38), radius = 500e3, polygon = anatolia
) %>%
  expand_range( # expand the range by 2.500 km
    by = 2500e3, start = 10000, end = 7000,
    polygon = join(europe, anatolia), snapshots = 20
  )
yam <- population( # Yamnaya steppe population
  name = "YAM", time = 7000, N = 500, parent = ehg, remove = 2500,
  polygon = list(c(26, 50), c(38, 49), c(48, 50),
                 c(48, 56), c(38, 59), c(26, 56))
) %>% move(trajectory = list(c(15, 50)), start = 5000, end = 3000, snapshots = 10)

# Define gene flow events
gf <- list(
  gene_flow(from = ana, to = yam, rate = 0.5, start = 6500, end = 6400, overlap = FALSE),
  gene_flow(from = ana, to = eur, rate = 0.5, start = 8000, end = 6000),
  gene_flow(from = yam, to = eur, rate = 0.75, start = 4000, end = 3000)
)

# Compile model
model <- compile_model(
  populations = list(afr, ooa, ehg, eur, ana, yam), # populations defined above
  gene_flow = gf,
  generation_time = 30,
  resolution = 10e3, # resolution in meters per pixel
  competition = 130e3, mating = 100e3, # spatial interaction parameters
  dispersal = 70e3, # how far can offspring end up from their parents
)

# Run model in SLiM
slim(model, sequence_length = 10e6, recombination_rate = 1e-8,
     save_locations = TRUE, method = "batch", random_seed = 314159)

After slim has been run, we need to save the model coordinates
corresonding to each sample. This information will later be used to
update tree sequence metadata.
ts <- ts_load(model, file=file.path(model$path, "output_slim.trees"))
cnames = c("pedigree_id", "location_x", "location_y")
individuals <- ts_data(ts) %>% dplyr::distinct(ind_id, .keep_all = TRUE) %>% dplyr::mutate(location_x = as.vector(sf::st_coordinates(location)[, 1]), location_y = as.vector(sf::st_coordinates(location)[, 2])) %>% dplyr::select(pedigree_id, location_x, location_y) %>% as.data.frame
write.table(individuals[, cnames], sep="\t", row.names=FALSE, file="individuals.metadata.tsv")

Standing in the simulation output directory, we load tree sequences
and metadata to modify the tree sequence metadata.
import tskit
import pandas as pd
ts = tskit.load("output_slim.trees")

# Dump tables
tables = ts.dump_tables()
metadata = pd.read_table("individuals.metadata.tsv")
metadata.set_index(['pedigree_id'], inplace=True)

schema_dict = tables.individuals.metadata_schema.asdict()
tables.individuals.clear()
from collections import OrderedDict
schema_dict["properties"]["location_x"] = OrderedDict({'binaryFormat': 'f', 'description': 'x coordinate (longitude) in EPSG:3035', 'index': 8, 'type': 'number', 'default': 0.0})
schema_dict["properties"]["location_y"] = OrderedDict({'binaryFormat': 'f', 'description': 'y coordinate (latitude) in EPSG:3035', 'index': 9, 'type': 'number', 'default': 0.0})
tables.individuals.metadata_schema = tskit.MetadataSchema(schema_dict)

for row in list(ts.tables.individuals):
    md = row.metadata
    d = metadata.loc[md['pedigree_id']].to_dict()
    md.update(**d)
    row = row.replace(metadata=md)
    tables.individuals.append(row)

# Make new tree sequence
ts = tables.tree_sequence()

Next we calculate gnn coordinates and plot using geoviews
import geoviews as gv
gv.extension('bokeh')
import geoviews.tile_sources as gts
# Needed to project EPSG:3035 coordinates correctly
from cartopy import crs
import numpy as np
from tqdm import tqdm

# Select a subset of the 10000 samples; otherwise takes 1-2h
# to calculate gnn
samplesidx = sorted(np.random.choice(np.arange(ts.num_samples), 50, replace=False))

d = pd.DataFrame(0, index=np.arange(len(samplesidx)), columns=['id', 'pedigree_id', 'x', 'y', 'u', 'v'])
d['id'] = samplesidx
d.set_index('id', inplace=True)
for u in samplesidx:
    md = ts.individual(ts.node(u).individual).metadata
    d.loc[u]['x'] = md["location_x"]
    d.loc[u]['y'] = md["location_y"]
    d.loc[u]['pedigree_id'] = md["pedigree_id"]
d['color'] = 'blue'

# Calculate GNN coordinates
for tree in tqdm(ts.trees()):
    for u in samplesidx:
        x = 0
        y = 0
        n = 0
        focal_node = tree.parent(u)
        for s in tree.samples(focal_node):
            if s != u:
                loc_x = ts.individual(ts.node(s).individual).metadata["location_x"]
                loc_y = ts.individual(ts.node(s).individual).metadata["location_y"]
                n += 1
                x += d.loc[u]['x'] - loc_x
                y += d.loc[u]['y'] - loc_y
        d.loc[u]['u'] += x * tree.span
        d.loc[u]['v'] += y * tree.span

# Average coordinate of GNN
d['u'] /= ts.sequence_length
d['v'] /= ts.sequence_length
d.reset_index(inplace=True)

# Make gnn data frame that holds the gnn coordinates
gnn = pd.DataFrame(-1, index=np.arange(len(samplesidx)), columns=['id', 'pedigree_id', 'x', 'y', 'u', 'v'])
gnn['id'] = d['id'] + ts.num_samples
gnn['x'] = d['x'].values + d['u'].values
gnn['y'] = d['y'].values + d['v'].values
gnn['color'] = 'green'

# Make geoviews points object of samples and gnns
p = pd.concat([d, gnn])
neighbours = pd.DataFrame(dict(sample_id=d['id'], gnn_id=gnn['id']))
points = gv.Points(p, ['x', 'y'], crs=crs.epsg(3035))
nodes = gv.Nodes(points, ['x', 'y', 'id'], ['pedigree_id', 'color'])
graph = gv.Graph((neighbours, nodes), ['sample_id', 'gnn_id'], [])
(tiles * graph).opts(opts.Graph(node_size=8, width=800, height=800, directed=True, arrowhead_length=0.01, node_color='color', edge_line_alpha=0.5, node_alpha=.5, edge_line_width=2))

There must be some glaring error still as one of the gnns is in Madagascar when all should be either Northern Africa or Europe (see attached image)...

Very nice! There is I think a minor bug - I think that this bit
        d.loc[u]['u'] += x * tree.span
        d.loc[u]['v'] += y * tree.span

should be
        d.loc[u]['u'] += x * tree.span / n
        d.loc[u]['v'] += y * tree.span / n

Thanks @petrelharp that seems to do the trick; at least the Madagascan gnns have migrated northward :)

Hey @percyfal, thanks for sharing the link over in the slendr repo to your results here
In case someone decides to follow up on your slendr code, I would suggest to run the SLiM simulation simply as:
slim(model, sequence_length = 10e6, recombination_rate = 1e-8, method = "batch", random_seed = 314159)`

without the save_locations = TRUE. This option is mostly useful for debugging and for making cool GIFs for slides but not much else (it records a table of locations of everyone who ever lived, regardless of whether they are among the ancestors of the final set of samples, so it makes things extremely inefficient). The locations are saved in the tree sequence metadata even without this option.
Also, for a simple simulation like this, the tree sequence can be loaded simply by ts <- ts_load(model) (no path specification is necessary, because the tree sequence is saved with the model data by default, so the path is known in this case).
I've been thinking about spatial GNN things lately, so I'll be following this issue closely! Cool stuff!


Bad error message when a strong dep features's depedency is an unused optional dependency

Problem
If nothing can activate an optional dependency, cargo acts as if the dependency doesn't exist which creates poor error messages.
Also, with how things are arranged, the unused optional dependency lint doesn't get reported which could at least reduce the burden on the error message.
Steps
Baseline Cargo.toml:
cargo-features = ["edition2024"]
[package]
name = "cargo-14010"
version = "0.1.0"
edition = "2024"

[dependencies]
serde = { version = "1.0.203", optional = true }

$ cargo +nightly check -Zcargo-lints
warning: unused optional dependency
 --> Cargo.toml:8:1
  |
8 | serde = { version = "1.0.203", optional = true }
  | -----
  |
  = note: `cargo::unused_optional_dependency` is set to `warn` by default
  = help: remove the dependency or activate it in a feature with `dep:serde`
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.00s

Add the following to Cargo.toml:

[features]
serde = ["serde/derive"]

$ cargo +nightly check -Zcargo-lints
error: failed to parse manifest at `/home/epage/src/personal/dump/cargo-14010-1/Cargo.toml`

Caused by:
  feature `serde` includes `serde/derive`, but `serde` is not a dependency

Possible Solution(s)

Improve the error message
Implicitly create dep:serde if serde/derive is used
Deprecate serde/derive syntax, removing it in a new edition (#10556)

Notes
This was split out of #14015 assuming we'll go with a different solution than it
Version
No response

https://github.com/rust-lang/cargo/issues/14010#issuecomment-2148408439

This makes me worried about dep_name/feature_name syntax on Edition 2024. It now requires also adding dep:dep_name at which point it isn't much different than dep_name?/feature_name.
I had missing this part in past discussions (e.g. this zulip topic). It seems like we should have either changed it in Edition 2024 to not need dep:dep_name or transition out the syntax according to #10556. I worry that changing the meaning of dep_name/feature_name would be too subtle. Maybe we should at least go forward with the deprecation of dep_name/feature_name as mentioned in the comments of #10556?

https://github.com/rust-lang/cargo/issues/14010#issuecomment-2148415751

Also, another reason why deprecating implicit features doesn't play well with dep_name/feature_name is that
[features]
foo = ["dep:dep_name"]
bar = ["dep_name/feature_name"]

and
[features]
bar = ["dep:dep_name", "dep_name/feature_name"]

are valid while the following is not
[features]
bar = ["dep_name/feature_name"]

That inconsistency feels weird.

We discussed this in today's team meeting and lean towards "dep_name/feature_name" implying "dep:dep_name" in Edition 2024 with it being normalized in the published Cargo.toml file.

Re-opened due to #14295.  See #14283 for more context.

When we tried to fix this with #14221, we caused #14283.
The following content is adapted from #14283 and https://blog.rust-lang.org/inside-rust/2024/08/15/this-development-cycle-in-cargo-1.81.html#removing-implicit-features
Let's step back to the beginning of how all of this works.
package.edition = "2021"
[features]
feature = ["dep/feature"]
[dependencies]
dep = { version = "1", optional = true }

will cause a dep implicit feature to be created
As we want to suppress implicit features in 2024, we strip all optional dependencies like that.   This led to a new problem:
package.edition = "2024"
[features]
feature = ["dep/feature"]
[dependencies]
dep = { version = "1", optional = true }

As dep is stripped, this fails because dep/feature can't be resolved.  The user can workaround this by adding dep:dep (discoverability is poor).
We solved this by implicitly adding dep:dep to feature.  However, I forgot to check dependencies.dep.optional, so if it isn't optional, it also fails but in a way the user can't workaround.
Logically, checking  dependencies.dep.optional gets circular because

resolve_features needs to know about resolved dependencies to add dep:dep
resolve_dependencies needs to know about resolved features to know what dep:dep are present

We could break this cycle by making a lot of assumptions about the unresolved forms.
If we solved this now, we would be stuck with it forever.  In examining the potential alternatives, it seemed better to design a more holistic solution rather than being stuck with the maintenance burden that solving this now would cause.
Other options include

Reworking what dep_name/feature_name de-sugars to, including making dep:dep_name work with optional dependencies
Change dep_name?/feature_name to work with required dependencies and switch to it

Whatever we design, we need to keep in mind that "dep_name/feature_name" is more like "dep_name"?, "dep:dep_name"?, "dep_name?/feature_name"

It activates a feature of the same name as dep_name, if present
It activates dep:dep_name, if optional
It activates the feature_name inside of dep_name


Open Data Day

Open Data Day is Saturday 3rd March.  What could we do to celebrate? http://opendataday.org/

Potentially provide Cornish data as 'open data' access on a page for this?


404 report

Adds support for a 404 report
Test URLs:

After: https://report404--franklin-dashboard--adobe.hlx.page/publish/404report?domainkey=8e884fda-f644-4708-b583-a4b0715068cd&interval=30&offset=1&limit=30&url=www.hlx.live

Thank you @MarquiseRosier, I raised #34 for general style consistency.  Some of the columns are not clear to me.  Prior to demonstrating this feature, my recommendation is to create one flavor of this page using RUM data and another using Fastly data.  Let's make each as understandable as possible given the data available, form any questions and opinions on which to proceed with, then we can have a productive requirements finalization session with the stakeholders.


Fix for index error with reading empty parquet file

Re #8374, implemented suggested change from @rjzamora to allow stats to be empty.

For instance, we might add something similar to the reproducible example in #8374

I agree with this. I was about to suggest a tweak to an existing test_chunksize_* test, but they are already quite complicated. A new/simple test_chunksize_empty is likely the best bet here :)

sounds good, I'll update the PR w/ a simple test, thanks all!

After adding an assert_eq to the test, it now fails when writing with pyarrow and reading with fastparquet (but not the other way round). Here is an example of one of the failed tests and the specific error is here. The data types of the indices were also different, which is why I set check_index=False in the test.
Doing this without Dask, the data types still seem to be different:
import pandas as pd

df = pd.DataFrame({"a": pd.Series(dtype="int"), "b": pd.Series(dtype="str")})
df.to_parquet("~/tmp/x.parq", engine="pyarrow")
df2 = pd.read_parquet("~/tmp/x.parq", engine="fastparquet")

df.dtypes
Out[5]:
a     int64
b    object
dtype: object

df2.dtypes
Out[6]:
a    float64
b    float64
dtype: object

python 3.9.7
pandas 1.3.4
fastparquet 0.6.3 (and @ian-r-rose also tested w/ the newest version)
@martindurant maybe you have some insight into this?

The parquet schema that pyarrow stores looks like
- schema: REQUIRED
| - a: INT64, OPTIONAL
| - b: INT32, UNKNOWN, OPTIONAL
  - __index_level_0__: INT32, UNKNOWN, OPTIONAL

(where "UNKNOWN" is the logical NULL type)
So I guess that pyarrow is doing a special case here and dropping the information about strings.
Note that in the current version of fastparquet, the columns come back as int types, not float. I don't remember, but I assume there was a bug for when the number of NULL values was not known.

Thanks @martindurant, a small reproducer extending what @scharlottej13 posted but is independent of fastparquet:
import pandas as pd
import pyarrow.parquet as pq

df = pd.DataFrame({"a": pd.Series([1], dtype="int"), "b": pd.Series(["c"], dtype="str")})
df.to_parquet("~/tmp/x.parq", engine="pyarrow")
pq.read_schema("/home/ian/tmp/x.parq")

produces
a: int64
  -- field metadata --
  PARQUET:field_id: '1'
b: null
  -- field metadata --
  PARQUET:field_id: '2'
-- schema metadata --
pandas: '{"index_columns": [{"kind": "range", "name": null, "start": 0, "' + 457

Perhaps @jorisvandenbossche knows why the string dtype information is getting lost?
For this PR, I'd suggest changing the test to involve a different dtype (e.g., float), and opening a new issue for the str round-trip where appropriate (once we determine that).


update design system for avatar

Need to improve this component on \<Component name>\src\<File Name.html>
Improvements required :
avatars need to be updated in the design system file
Any reference image?
Any external reference?
You can checkout this one for better understanding.

assign me @Rajdip019 @rupsha014


Windows and macOS performance issues

Antivirus and Gatekeeper checks can cause performance issues with nextest on Windows and macOS, respectively.
I've added a note about them to the nextest site, but I'm going to leave this issue open as a catch-all in case people still have performance issues afterwards (I've definitely seen some reports on macOS even after the terminal was added to Developer Tools).

#262 is one example of a performance issue on Mac.


Null exception thrown in changeNotifier after it creates the object which should not make it null

Originally opened as dart-lang/sdk#20536
This issue was originally filed by<EMAIL_ADDRESS>
What steps will reproduce the problem?

Execute code that invokes ChangeNotifier.changes
In certain cases, the following exception is produced:

The null object does not have a getter 'stream'.
NoSuchMethodError: method not found: 'stream'
Receiver: null
Arguments: []
STACKTRACE:
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:45)
#1      ChangeNotifier.changes (package:observe/src/change_notifier.dart:29:21)
For reference, line 24-30 from change_notifier.dart:
  Stream<List<ChangeRecord>> get changes {
    if (_changes == null) {
      _changes = new StreamController.broadcast(sync: true,
          onListen: observed, onCancel: unobserved);
    }
    return _changes.stream;
  }
What is the expected output? What do you see instead?
_changes should never be null, so no exception should be thrown.
What version of the product are you using?
Dartium Version 37.0.2062.0 (287872) (64-bit)
On what operating system?
Linux
What browser (if applicable)?
Dartium Version 37.0.2062.0 (287872) (64-bit)
Please provide any additional information below.
C1

 Comment by floitschG

Added Area-Pkg, Pkg-Observe, Triaged labels.

 Comment by jakemac53

Hmm, this is really weird. Is it possible for you to attach a repro of this?
Technically, StreamController.broadcast is a factory method and as such could return a null I believe (although this would be bad practice imo since factories and constructors appear identical in dart). However in reality it looks like it does not do that...


[google_maps_flutter] Evaluate google_maps package dependency on web

See https://github.com/flutter/flutter/issues/122713 for context.
The google_maps package is very heavily used in the web implementation of google_maps_flutter, but it's outside the policy we've now established for dependencies. E.g., it looks like it may have a bus factor of one person currently, which is definitely not ideal.
@ditman @a14n Any thoughts on what we could do here? Is there a plausible path for this becoming part of flutter/packages, for instance?

I've never had any trouble with @a14n's ownership of this package, he's been stellar supporting it (see the 0 open issues).
IMO there isn't much that needs to be improved in the (published) version of the package, it works great and it saved us a lot of time! It does exactly what it says in the can.
As for where the source of the package is hosted, anywhere other than https://github.com/googlemaps is probably not the best location 😛 I personally don't think that any open source package needs to be moved in order to increase its bus factor; that can be achieved by more people (us) getting more involved with its development and maintenance.
Something we could do, for example, is maybe figure out a way to devote resources (code? infra?) to add tests of the generated output to ensure that "all the examples compile and run and do what's expected of them", for example, then keep building from there.
The package predates Flutter by about 4 years (!!), so if @a14n wants to keep it in his repo, I understand (and I'd rather find ways to contribute there). What I really, really (really) don't want is Alexandre to think that we're unhappy with how he's dealing with the package, or that we want to steal it from him.

I've never had any trouble with @a14n's ownership of this package, he's been stellar supporting it (see the 0 open issues).

Yes sorry, I should have been more explicit about the context here; this is definitely not a judgment on the specific package or @a14n. E.g., https://github.com/flutter/flutter/issues/130915 is a very similar issue about other packages that are owned by other people on the Flutter team but under the Google org, not by the Flutter team itself. I'm looking at every dependency, not just this one :)

The package predates Flutter by about 4 years (!!), so if @a14n wants to keep it in his repo, I understand (and I'd rather find ways to contribute there). What I really, really (really) don't want is Alexandre to think that we're unhappy with how he's dealing with the package, or that we want to steal it from him.

Absolutely, and if the outcome is that we don't change anything here for now that's reasonable; I just want to make sure we've at least discussed options for each one rather than having the dependencies that predate the explicit policy just continue unexamined. For all the packages that are currently owned by individual Flutter team members, bringing them into flutter/packages is something that I think is worth at least discussing as a potential option, but yes, that is 100% a decision that is up to @a14n. (And I absolutely wasn't suggesting a fork into flutter/packages, just the potential for a move if—and only if—everyone involved thought that would be a good outcome.)

Sorry for the late response. I don't have a strong opinion here. The google_maps package is not really active (the evolution are driven by user requests for new features available on the js api side). The current code is old and a little crappy. I hope to find time in future to rewrite the code and use the upcoming extension types. At this point it could be a good time to move the code where you suggested.

Please take a look at https://github.com/flutter/flutter/issues/147492


New fields for Rules and Checks with bonus Alembic migrations!

Added a name field to both Rules and Checks (per our discussion).
As part of testing, I ended up going ahead with setting up Alembic so that I could actually modify the database in a sane way.

I can't run the tests.  I get errors trying to connect to "Impala".

@chall8908 you need to install the MapR 5.2 sandbox, as in the Development instructions. Run it with VirtualBox, impala runs on it.


Button shows "Code copied to Clipboard" but no code can be pasted in Cheat Sheet

In Cheat Sheet, several example codes are displayed but the button which says "Get Code" isn't actually copying code to the clipboard.

Just tested also and the issue was fixed
http://solettaproject.github.io/docs/nodetypes
Thanks :D


New API Session hold, unhold, and dtmf

New API since 0.15.x versions does not have hold, unhold, and dtmf methods in Session.
Are they being developed now and will be released in the nearest future?

Please stop opening issues for questions. We have a mailing list for questions.

hold and unhold are not a thing in SIP. It is an in dialog invite which we do support in the new API https://github.com/onsip/SIP.js/blob/master/src/api/session.ts#L462. We are working on improving our Simple layer which could have a hold and unhold function.
For DTMF you would have to send an INFO packet or if you are interested in doing in band DTMF you would need to implement this yourself in your own SDH. We expect to make this easier for users in our upcoming changes to the Simple.

@egreenmachine May I ask you for some help. I faced some troubles with the new API (0.15.6) too.  I could not find how to hang up, hold / unhold during an outgoing call. It looks like Inviter should handle this, but there are not such methods.


Skip tests on FreeBSD >= 12.3

Skip tests on FreeBSD >= 12.3
Somehow these shared examples puts rspec into a state that causes 12 group_spec.rb tests to fail on FreeBSD >= 12.3.
These tests were not failing on FreeBSD <= 12.2.
We have not been able to find a way to fix the tests.
This PR also adds FreeBSD 13 to the omnibus build matrix.

Would the tests be fixed by running nscd on the tester host to work around libc/ruby caching of Etc calls?

Would the tests be fixed by running nscd on the tester host to work around libc/ruby caching of Etc calls?

We will try that and report back.

Closing this out pending additional freebsd build work


Herbaria redirects 179048565

Redirects 2 action to an individual herbarium (fungarium) instead of the index.
-Delivers https://www.pivotaltracker.com/story/show/179048565
*** Suggested Manual Test ***

Create a herbarium. (For convenience, I suggest Naming it something that starts with "aaa" so that it appears at the top of the index.

Merge the newly created herbarium into your personal herbarium
Result: Displays your personal herbarium.

Coverage remained the same at 92.984% when pulling eef4c9f5088edb7738c139336f13e175207366a3 on herbaria-redirects-179048565 into 4c587f656a5cb30aa67abc28dcd5fad21d437855 on master.


When do you publish 1.3.9 version?

Hi,
When do you publish 1.3.9 version or latest version?
If you indicate in BuildConfig.groovy compile ":lightweight-deploy:latest" such as this documentation indicates, then this version is not found in the repositories.
This version includes support for specify a custom contextPath in *.yml config file
I need this feature so, I have downloaded master branch of this plugin, compile an install in may local repository but I would like to know when this release will be able
Regards

@deverton Any update on the 0.14.0 release? Looking forward to it.

Same here!


Cannot read property to blob of undefined when saving cropped image

I'm submitting a...

[x] Bug report

Current behavior

I keep getting this error "Uncaught TypeError: Cannot read property 'toBlob' of null" when I try to save my cropped image. I have a button to allow users save the cropped image after making their selection.
Expected behavior

I expected the cropped image to be submitted to my server through ajax
Minimal reproduction of the problem with instructions

`function saveCrop(){
var img = document.querySelector("#banner_image_preview");
var cropper = new Cropper(img);
cropper.getCroppedCanvas().toBlob((blob) => {
    const formData = new FormData();

    formData.append('croppedImage', blob);

    $.ajax('include/product_misc.php', {
      method: "POST",
      data: formData,
      processData: false,
      contentType: false,
      success(result) {
        console.log('Upload success');
        console.log(result);
      },
      error() {
        console.log('Upload error');
      },
    });
  });

}`
What is the motivation / use case for changing the behavior?

Environment

Cropper version: X.Y.Z

Browser:
- [xx] Chrome (desktop) version XX

Others:

The browser you were using does not support canvas.toBlob API, you should include a polyfill for it.


Add Symbiflow + prjxray for OSS Xilinx FPGA development

Motivation for this change
To integrate symbiflow and prjxray into nixpkgs, it is already available in Conda. Should make us competitive.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Thanks for package Symbiflow!
You set doCheck = false in some python packages. The package do not have tests?

Welcome!
textX has a custom testing script, so that confused me. I added it in the checkPhase in a later commit.
The only one left is python-prjxray, which is a rather odd package. The entry point into fasm2frames is in another package called utils in the same repo. That one doesn't get added to the wheel when running setup.py . Fortunately symbiflow works without it.

I wish these repositories had better release management. Seems to be a lot of fetching latest master

As I recall I took known good versions from Conda. But yes, they lack release tags, mostly because they're forks.

I wanted to try on https://github.com/antmicro/symbiflow-examples so I first tried the "official way" as described in the README (with Conda on regular distributions (tried Ubuntu 20.04 and CentOS 8)) and the examples are broken somehow…
@CajuM did you try some synthesis with your Nix packages?

I suppose it's not overrideable via makeFlags = [ ]; because its a recursive make?
I didn't pass the plugin directory via makeFlags because there are potentially more plugin packages than just symbiflow-yosys-plugins. So I symlinked the plugins array into symbiflow-yosys.

I wanted to try on https://github.com/antmicro/symbiflow-examples so I first tried the "official way" as described in the README (with Conda on regular distributions (tried Ubuntu 20.04 and CentOS 8)) and the examples are broken somehow…
@CajuM did you try some synthesis with your Nix packages?

Yes, I did, only simple examples, though. But there's one package missing, symbiflow-arch-defs. I didn't add it because unarchived it's about ~20GiB, archived it's about 900MiB. And I'm not quite sure how to package it. The variant I use myself is to install only the files necessary for a given list of architectures. I uploaded it here if you need it in the meanwhile: https://gist.github.com/CajuM/1e435dfe783c5e136096260e152db930

Yes, I did, only simple examples, though. But there's one package missing, symbiflow-arch-defs. I didn't add it because unarchived it's about ~20GiB, archived it's about 900MiB

I was actually wondering why I didn't found symbiflow_synth & other binaries. Do these binaries are needed to run synthesis?
Note: you can add meta.hydraPlatforms = []; to the package in order to prevent Hydra from building it because it doesn't make much sense to build such packages on hydra indeed.
But I'm not sure if this package is useful in nixpkgs, it looks like a tests set, right? Or does it ship architectures details used for synthesis?
(I think it may be a good idea to install all archs by default (for instance by checking if archs == [] to avoid hardcoding the full list in the nix file), if you ever publish this package.)

But I'm not sure if this package is useful in nixpkgs, it looks like a tests set, right? Or does it ship architectures details used for synthesis?
All the files in share/symbiflow/arch are used during synthesis, I'm not sure if you can't do synthesis without them or they're just there for time/space trade-offs or optimizations.

cc @kwohlfahrt for review

@CajuM Great work! Thank you.

@CajuM Great work! Thank you.

I'm sorry, but these patches were done without my oversight or review as the primary maintainer of yosys, symbiyosys, and most of the FPGA EDA flow in Nixpkgs. And I'm not happy with them, unfortunately. The blame for this largely lies with me, since I've not been around all December... But in particular, the plugin management by copying into $out during postInstall completely conflicts with a patch I wrote this week to support Yosys plugins in Nix, and it's not done correctly because it implies excessive rebuilds (rebuilding and retesting yosys just to capture some symlinks is very poor form and requires more CI resources, while a simple patch to yosys can fix this trivially.)
I also have other concerns with the quality of this patch but more broadly I am also not convinced of much of its actual utility. You claim this is to make us competitive with conda, but competitive to who? In particular, I am pretty familiar with and a user of the FOSS FPGA ecosystem, and my understanding is that XRay is exceedingly unstable and still a research effort. I'm not convinced we should add it right now when everything is rapidly changing. I have previously, and still do, express a strong dislike in using Nixpkgs as a playground for research software. In a similar vein, I also recently considered (and rejected) the idea of adding support for Lattice Nexus and Gowin FPGAs to nextpnr; they're simply too unstable and the maintenance burden of including them at the moment is high when they're still undergoing so much change. In fact I am probably going to remove some packages too that I included in error, in that same vein (e.g. mcy, which is still in flux and quite research-y, though I personally get use from it.)
More generally, I want the EDA/FPGA support in Nixpkgs to be high quality and rigorously tested, offering well supported and well tread options. In order to do this it means you need to offer a coherent set of tools that are packaged well together, of an expected level of quality. These tools are complicated and have large-ish dependency chains so errors are unavoidable but generally I find people test this stuff much less than you'd expect when updating or changing internals (e.g. see 9b43cf3a008b3a467f080d61365f037ad81807d0 which fixed a symbiyosys regression that was quite obvious.) As a result, I'm hesitant to accept "big" additions to the surface area of the packages. Another example: I've recently considered adding a big amount of ASIC tooling, but the packaging requirements have held it back. I want to maintain high quality packages.
Even then, this is still difficult to do today, and this set of changes doesn't make it easier. It already often takes me several hours to do full updates of all the EDA tools once every few weeks and test everything a bit. This adds something like ten packages to keep track of, and a good example of why this is (and the kind of change I would reject) is the override of yosys in symbiflow-yosys, because:

It's completely unclear on how to test and use any of it. This is one of the big things: it's easy for me to grab tons of designs for ECP5, Lattice, Yosys, formal work, and test things. How do I test any of this, and how will I be sure it works later on?
Now you're shipping two copies of yosys to users. Don't do this unless it's impossible to avoid; your users and bug reports will thank you. The version you're using in symbiflow-yosys is 0.9+2406, which is almost 1,500 commits behind the yosys expression today. This is a huge delta and will lead to poor user experience when people expect e.g. bugs to be fixed or backends to be implemented. Nix allows us to do this, but that doesn't mean it's always good.
Now when I update yosys I have to go and magically remember to change this override. That's bad! It's action at a distance and can cause subtle build changes or even eval failures. yosys has proven a decidedly delicate formula to maintain and it has an ever-growing build expression as its feature list grows. It should not be duplicated across the tree unless absolutely necessary.
Even if all that was fixed, it still provides a whole new set of packages to test and debug! This is not to be taken lightly in any case.
And this is all to support an extremely niche set of tools that I'm not convinced are fully working/reliable for end-users, just yet, in the same manner as the ECP5 and iCE40 tools. ECP5 and iCE40 have the advantage that they are mostly very, very easy to support (nextpnr is the bigger hassle.)

Finally, independently of all that, this is the most important reason:

I'm not convinced you're going to stick around to maintain these packages. I'm not saying this to sound mean, but because it's born out of my own lived experience, that most people don't stick around very long. I would actually bet money on the fact, should I leave these packages here, I'll be the only person maintaining them packages 6 months from now, if they even see a single update, even though I have no use for them, even if they have ~zero users, and even if they will still be a massive drag that holds back other things I want to work on.

Ultimately, I think something like symbiflow-in-nix is a package better maintained elsewhere in a separate repository, and moved only to upstream once it's proven to be a stable set of projects with real user expectations.

But, as it stands, all of these patches will need to be reverted, because at the bare minimum the change for postInstall in yosys isn't acceptable or how I want to handle things going forward. (A replacement change will add plugin support for yosys that doesn't require any rebuilding anything, in return.)

I'm sorry, but these patches were done without my oversight or review as the primary maintainer of yosys, symbiyosys, and most of the FPGA EDA flow in Nixpkgs. And I'm not happy with them, unfortunately. The blame for this largely lies with me, since I've not been around all December... But in particular, the plugin management by copying into $out during postInstall completely conflicts with a patch I wrote this week to support Yosys plugins in Nix, and it's not done correctly because it implies excessive rebuilds (rebuilding and retesting yosys just to capture some symlinks is very poor form and requires more CI resources, while a simple patch to yosys can fix this trivially.)
I also have other concerns with the quality of this patch but more broadly I am also not convinced of much of its actual utility. You claim this is to make us competitive with conda, but competitive to who? In particular, I am pretty familiar with and a user of the FOSS FPGA ecosystem, and my understanding is that XRay is exceedingly unstable and still a research effort. I'm not convinced we should add it right now when everything is rapidly changing. I have previously, and still do, express a strong dislike in using Nixpkgs as a playground for research software. In a similar vein, I also recently considered (and rejected) the idea of adding support for Lattice Nexus and Gowin FPGAs to nextpnr; they're simply too unstable and the maintenance burden of including them at the moment is high when they're still undergoing so much change. In fact I am probably going to remove some packages too that I included in error, in that same vein (e.g. mcy, which is still in flux and quite research-y, though I personally get use from it.)
More generally, I want the EDA/FPGA support in Nixpkgs to be high quality and rigorously tested, offering well supported and well tread options. In order to do this it means you need to offer a coherent set of tools that are packaged well together, of an expected level of quality. These tools are complicated and have large-ish dependency chains so errors are unavoidable but generally I find people test this stuff much less than you'd expect when updating or changing internals (e.g. see 9b43cf3a008b3a467f080d61365f037ad81807d0 which fixed a symbiyosys regression that was quite obvious.) As a result, I'm hesitant to accept "big" additions to the surface area of the packages. Another example: I've recently considered adding a big amount of ASIC tooling, but the packaging requirements have held it back. I want to maintain high quality packages.
Even then, this is still difficult to do today, and this set of changes doesn't make it easier. It already often takes me several hours to do full updates of all the EDA tools once every few weeks and test everything a bit. This adds something like ten packages to keep track of, and a good example of why this is (and the kind of change I would reject) is the override of yosys in symbiflow-yosys, because:

It's completely unclear on how to test and use any of it. This is one of the big things: it's easy for me to grab tons of designs for ECP5, Lattice, Yosys, formal work, and test things. How do I test any of this, and how will I be sure it works later on?
Now you're shipping two copies of yosys to users. Don't do this unless it's impossible to avoid; your users and bug reports will thank you. The version you're using in symbiflow-yosys is 0.9+2406, which is almost 1,500 commits behind the yosys expression today. This is a huge delta and will lead to poor user experience when people expect e.g. bugs to be fixed or backends to be implemented. Nix allows us to do this, but that doesn't mean it's always good.
Now when I update yosys I have to go and magically remember to change this override. That's bad! It's action at a distance and can cause subtle build changes or even eval failures. yosys has proven a decidedly delicate formula to maintain and it has an ever-growing build expression as its feature list grows. It should not be duplicated across the tree unless absolutely necessary.
Even if all that was fixed, it still provides a whole new set of packages to test and debug! This is not to be taken lightly in any case.
And this is all to support an extremely niche set of tools that I'm not convinced are fully working/reliable for end-users, just yet, in the same manner as the ECP5 and iCE40 tools. ECP5 and iCE40 have the advantage that they are mostly very, very easy to support (nextpnr is the bigger hassle.)

Finally, independently of all that, this is the most important reason:

I'm not convinced you're going to stick around to maintain these packages. I'm not saying this to sound mean, but because it's born out of my own lived experience, that most people don't stick around very long. I would actually bet money on the fact, should I leave these packages here, I'll be the only person maintaining them packages 6 months from now, if they even see a single update, even though I have no use for them, even if they have ~zero users, and even if they will still be a massive drag that holds back other things I want to work on.

Ultimately, I think something like symbiflow-in-nix is a package better maintained elsewhere in a separate repository, and moved only to upstream once it's proven to be a stable set of projects with real user expectations.

But, as it stands, all of these patches will need to be reverted, because at the bare minimum the change for postInstall in yosys isn't acceptable or how I want to handle things going forward. (A replacement change will add plugin support for yosys that doesn't require any rebuilding anything, in return.)

@thoughtpolice allright, then. In that case, I guess it would be best to move these packages to NUR. I had assumed that even in a testing stage symbiflow and prjxray would be useful to be packaged. Given that I consider nix a better development environment than Conda. I'll continue maintaining these packages on NUR, but I would appreciate your help on keeping them clean.

@thoughtpolice allright, then. In that case, I guess it would be best to move these packages to NUR. I had assumed that even in a testing stage symbiflow and prjxray would be useful to be packaged. Given that I consider nix a better development environment than Conda. I'll continue maintaining these packages on NUR, but I would appreciate your help on keeping them clean.

After sleeping on things I first want to say, I hope I didn't sound too negative! It's not that prjxray/symbiflow aren't useful, it just seems that this is... a lot of additions to support it, when it's not clear it's fully "done" yet in the same vein as the other *flows, and of the same general quality. I kind of got bit by this before on my own honestly: the initial version of ECP5 support in NextPNR for Nixpkgs was... quite a gross hack (that required multiple rebuilds, sigh) and only got reworked a lot later. I kind of wish I had just added it later on when it was more ready. I definitely have broke my own rules, so I understand the motivation here.
That said, I might have a better idea. One thing I've wanted to try for a while is to use Nix to provide (& produce docker images of) a set of stable EDA tools for users. Essentially, think of @yosyshq/fpga-toolchain, but built with Nix, and offering many more packages, and docker tools for non Nix users. We can combine some of the tools from upstream Nixpkgs with our own expressions to build all of them.
Something like that might be a better place for e.g. XRay packages to start with, and also a better testing ground for things like e.g. ASIC (GDSII flow) packages. I think it would also be better place to put it than NUR, since it's more focused (e.g. we would use pinned nixpkgs snapshots to ensure quality) and could test it easily with GitHub, etc. Does an idea like this sound interesting?

After sleeping on things I first want to say, I hope I didn't sound too negative! It's not that prjxray/symbiflow aren't useful, it just seems that this is... a lot of additions to support it, when it's not clear it's fully "done" yet in the same vein as the other *flows, and of the same general quality. I kind of got bit by this before on my own honestly: the initial version of ECP5 support in NextPNR for Nixpkgs was... quite a gross hack (that required multiple rebuilds, sigh) and only got reworked a lot later. I kind of wish I had just added it later on when it was more ready. I definitely have broke my own rules, so I understand the motivation here.
That said, I might have a better idea. One thing I've wanted to try for a while is to use Nix to provide (& produce docker images of) a set of stable EDA tools for users. Essentially, think of @yosyshq/fpga-toolchain, but built with Nix, and offering many more packages, and docker tools for non Nix users. We can combine some of the tools from upstream Nixpkgs with our own expressions to build all of them.
Something like that might be a better place for e.g. XRay packages to start with, and also a better testing ground for things like e.g. ASIC (GDSII flow) packages. I think it would also be better place to put it than NUR, since it's more focused (e.g. we would use pinned nixpkgs snapshots to ensure quality) and could test it easily with GitHub, etc. Does an idea like this sound interesting?

@CajuM Please see #109461 if you get a chance. It includes the new yosys patch for loading plugins, if you're interested.

@CajuM Please see #109461 if you get a chance. It includes the new yosys patch for loading plugins, if you're interested.

@CajuM After sleeping on things I first want to say, I hope I didn't sound too negative! It's not that prjxray/symbiflow aren't useful, it just seems that this is... a lot of additions to support it, when it's not clear it's fully "done" yet in the same vein as the other *flows, and of the same general quality. I kind of got bit by this before on my own honestly: the initial version of ECP5 support in NextPNR for Nixpkgs was... quite a gross hack (that required multiple rebuilds, sigh) and only got reworked a lot later. I kind of wish I had just added it later on when it was more ready. I definitely have broke my own rules, so I understand the motivation here.
That said, I might have a better idea. One thing I've wanted to try for a while is to use Nix to provide (& produce docker images of) a set of stable EDA tools for users. Essentially, think of @yosyshq/fpga-toolchain, but built with Nix, and offering many more packages, and docker tools for non Nix users. We can combine some of the tools from upstream Nixpkgs with our own expressions to build all of them.
Something like that might be a better place for e.g. XRay packages to start with, and also a better testing ground for things like e.g. ASIC (GDSII flow) packages, and we could work together to collect them all. I think it would also be better place to put it than NUR, since it's more focused (e.g. we would use pinned nixpkgs snapshots to ensure quality) and could test it easily with GitHub, etc. Does an idea like this sound interesting?

@thoughtpolice it sounds like a great idea. My time will be limited in the following months, though. Nonetheless I am interested in contributing.

@CajuM After sleeping on things I first want to say, I hope I didn't sound too negative! It's not that prjxray/symbiflow aren't useful, it just seems that this is... a lot of additions to support it, when it's not clear it's fully "done" yet in the same vein as the other *flows, and of the same general quality. I kind of got bit by this before on my own honestly: the initial version of ECP5 support in NextPNR for Nixpkgs was... quite a gross hack (that required multiple rebuilds, sigh) and only got reworked a lot later. I kind of wish I had just added it later on when it was more ready. I definitely have broke my own rules, so I understand the motivation here.
That said, I might have a better idea. One thing I've wanted to try for a while is to use Nix to provide (& produce docker images of) a set of stable EDA tools for users. Essentially, think of @yosyshq/fpga-toolchain, but built with Nix, and offering many more packages, and docker tools for non Nix users. We can combine some of the tools from upstream Nixpkgs with our own expressions to build all of them.
Something like that might be a better place for e.g. XRay packages to start with, and also a better testing ground for things like e.g. ASIC (GDSII flow) packages, and we could work together to collect them all. I think it would also be better place to put it than NUR, since it's more focused (e.g. we would use pinned nixpkgs snapshots to ensure quality) and could test it easily with GitHub, etc. Does an idea like this sound interesting?

@thoughtpolice it sounds like a great idea. My time will be limited in the following months, though. Nonetheless I am interested in contributing.


what's the 'names_path: # s3dis_names.txt' in config/s3dis.yaml

This is class name, I updated class names for 3 dataset. You can check in the dataset folder


windows

windows 系统电脑开久了热加载失效

Translation:

Windows
In Windows, when the computer is left on for long, hot reload will cease to work.

/gifPlease


Packaging: Figure out how to make PyPi installs on Windows work

pip install llama-bsl on Windows works, but issuing "llama-bsl" on the command line doesn't run the script.

Relevant: https://docs.python.org/3/using/windows.html#python-launcher-for-windows (thanks @mattvenn!)
As far as I can tell, adding the ".py" extension back on the script and relying on the py launcher seems to work?

More testing needed

This is now fixed with the addition of console_scripts in setup.py


RESTler not handling OpenAPI Spec with Chinese Character Example Data

Description
We have an OpenAPI spec with some example data in Chinese characters.  RESTler will accept this data in the compile step but will give an error when trying to test or fuzz against it.
I've fixed this issue locally and can do a pull request if you agree this is a bug.
Steps to reproduce

Have an openAPI spec that has some example data in Chinese.
example
paths:
/xxx/xxx:
post:
requestBody:
content:
application/json:
schema:
type: object
example:
Name: 公司

Do a RESTler compile with that OpenAPI spec

Do a RESTler test with the generated output

Expected results
Expect to get normal test output report
Actual results
Standard out will have
ERROR: Restler engine failed. See logs in xxxx directory for more information.
EngineStdOut.txt log will have the below message
Failed to process grammar file: c:\src\restler-fuzzer\tscbc_fuzzing\Compile\grammar.json; 'charmap' codec can't decode byte 0x81 in position 3577: character maps to
Environment details
Windows 11, Python 3.11.1, .Net 7.0.102, RESTler 9.2.2

Hello @tpardee,
Yes, this is a bug.  Please send the PR with your local fix.
Thank you!
Marina

The legal process within my company is pretty cumbersome for me to contribute and this is fixed with a one line code change.  Is it possible to report the change rather than pull request it?
Change is at restler.py line 525
currently code is
with open(grammar_path, 'r') as grammar:
fixed code is
with open(grammar_path, 'r', encoding='utf-8') as grammar:
if it still needs to be done through pull request please let me know.

Looks good, will merge this change.
Thanks,
Marina


not work

not work on mac os new version of atom

Hi @duyan90
Apparently terminal-plus isn't being maintained any longer, and it's not working for the latest versions of Atom. I maintain a fork if you'd like to try it:
apm install termination
https://atom.io/packages/termination


Improce localization

:white_check_mark: Build TheIdServer 1.0.0-user-ole1-0184 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/cae5ee11ff by @aguacongas)


test: add more test for container operations

Signed-off-by: Zou Rui<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
This pr adds the rest of mock test except the one for log.
Ⅱ. Does this pull request fix one issue?

fixes #966
Ⅲ. Describe how you did it
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews
Right now, the log command is still WIP.
So, @fuweid will finish the mock test for log in his patch. And when his pr is merged, the work for all the mock test will be done.

Unit test in CI fails, see:
--- FAIL: TestContainerAttachError (0.00s)
	container_attach_test.go:20: expected a Server Error, got dial: unknown network
--- FAIL: TestContainerAttach (0.00s)
	container_attach_test.go:43: dial: unknown network
--- FAIL: TestContainerCreateExec (0.00s)
	container_exec_test.go:53: failed to decode body: EOF
--- FAIL: TestContainerStartExecError (0.00s)
	container_exec_test.go:64: expected a Server Error, got dial: unknown network
--- FAIL: TestContainerStartExec (0.00s)
	container_exec_test.go:93: dial: unknown network

@ZouRui89

Any update on this? @ZouRui89

Codecov Report

Merging #1457 into master will increase coverage by 24.24%.
The diff coverage is 43.75%.

@@             Coverage Diff             @@
##           master    #1457       +/-   ##
===========================================
+ Coverage    16.3%   40.54%   +24.24%
===========================================
  Files         208      253       +45
  Lines       13883    16466     +2583
===========================================
+ Hits         2263     6676     +4413
+ Misses      11464     8936     -2528
- Partials      156      854      +698

Impacted Files
Coverage Δ

client/container_logs.go
0% <ø> (ø)

client/container_attach.go
0% <0%> (ø)

client/container_upgrade.go
100% <100%> (ø)

daemon/logger/jsonfile/utils.go
70% <0%> (ø)
:arrow_up:

storage/volume/error/errors.go
28.57% <0%> (ø)

cri/stream/remotecommand/attach.go
0% <0%> (ø)

storage/quota/grpquota.go
0% <0%> (ø)

cri/stream/httpstream/httpstream.go
0% <0%> (ø)

pkg/term/term.go
0% <0%> (ø)

... and 119 more

LGTM


chore: two steps deployment github workflow

closes: #361

it looks like some params didnt setup correctly, and some step is missing

it is duplicated


Add mentee table to DB

We don't need this -- the user table has a mentee_type column.
37 = mentor
38 = mentee


lineHeight param

There's a way to set line height on .hyperterm.js ?

https://github.com/zeit/hyperterm/issues/75

Closing due to being a replicate of #75.


Created Cheatsheet + Presentation

Hey folks I've just created a cheatsheet and a presentation.
I would really appreciate if anyone could take a look and give some feedback.
I have only tested it on linux so far.
Feel free to use the presentation/cheatsheet to spread the word.
Presentation | Github
Cheatsheet | Github

Wow, that is pretty cool. Thanks a lot!
Do you mind if we link to those?

Not at all, feel free to link it or anything. Just check I haven't screwed it somewhere.
I've tested all the commands, played for quite some hours in multiple docker containers, but I'm not 100% I'm using everything as intended (I hope so haha).
Cheers!

Here's the blog post again, feedback is welcome!
I'm closing the issue.

Reopening, I still need to add the links.


EOSIS Development Tools For Local Machine Not Available for New MacOS

Hi,  when will development tools for eosis be compatible with MacOS Bigsur

There is still no official support for Big Sur and can't really estimate when that may arrive. That said, unofficially, as far as I know:

EOSIO 2.1 and 2.0 compile fine on Big Sur. Though, the build scripts are broken for 2.0.
2.0 and 2.1 binaries run fine on Big Sur. If you're using an M1 you must use x86_64 packages from brew though, as we don't support ARM builds yet
eosio.cdt 1.8's binaries run fine on Big Sur
eosio.cdt 1.8 has a build problem with recent Xcode versions that may cause the build to fail on Big Sur

Are you encountering a specific issue?

Duplicate of #9849


Fix grammar and spelling

Just found this browser this evening, decided to try it. It has a lot of potential, but I noticed a lot of incorrect English in the strings, so decided to fix it.

Wo thanks a lot i will implement them and mention u!
2016-07-03 20:22 GMT+02:00 Samriddha Basu<EMAIL_ADDRESS>
Just found this browser this evening, decided to try it. It has a lot of
potential, but I noticed a lot of incorrect English in the strings, so
decided to fix it.
You can view, comment on, or merge this pull request online at:
https://github.com/RiccardoBusetti/Colombo/pull/5
Commit Summary

Fix grammar and spelling

File Changes

M app/src/main/res/values/strings.xml
https://github.com/RiccardoBusetti/Colombo/pull/5/files#diff-0 (16)

Patch Links:

https://github.com/RiccardoBusetti/Colombo/pull/5.patch
https://github.com/RiccardoBusetti/Colombo/pull/5.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/RiccardoBusetti/Colombo/pull/5, or mute the thread
https://github.com/notifications/unsubscribe/APFjmgCzMTDsOMfIac78AHwrTjvDCkJRks5qR_38gaJpZM4JD61Q
.

No problem, took just 10 mins of work. Glad to help out in an open source project :)


Access Markdown

Hello i am trying to hide the preview button when a user press other button with this function hidePreview() but i dont know how to get access to the markdown. I am using this in some other place $('#target-editor').markdown({}) but i cannot use it again

var markdown = $('#target-editor').data('markdown');


Running react 18 and 17 on the same page without cross micro frontend imports

I'm trying to create a new module in my existing micro frontend project with react 18. The rest of the modules are using 17. I'm getting an error application '@org/app' died in status SKIP_BECAUSE_BROKEN: Cannot create property '_updatedFibers' on number '0'. In my new module I am using externals that point to react 18 which I have in my importmap.
        externals: {
            react: "react-18",
            "react-dom": "react-dom-18",
        },

If I don't use react 18 as an external it seems to work fine. As far as I understood, multiple react versions should not cause issues as long as I don't have cross mf imports. Is there something I could do to fix this issue? It would be unfortunate if I had to upgrade all my modules to use react 18 at once.

I got the same issue here

I got the same issue here.

You could try running everything in React 17 compatibility mode until you upgrade all microfrontends:
https://react.dev/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis

I ran into the same issue and shared my findings here: https://github.com/single-spa/single-spa-react/issues/175#issuecomment-1661532201.
In short: update the import map to React 18 and then update each microfrontend to React 18 as you please. Microfrontends that are not updated will behave as running under React 17,

If the solution provided by @gjhommersom doesn't work out and you do need to run React 17 and React 18 side by side. You'll want to re-bundle react-dom as a utility module with the externals re-pointing react to the correct version you want to use.
I wrote up a detailed walkthrough and made a repo for reference.

React 18 will run in compatibility mode until render is updated. This is the recommended upgrade path.


Update deploy-changes.md

added a step that fixed my pulumi deploy for the quickstart tutorial
Description
Checklist:

[x] I have reviewed the style guide.
[x] If blogging, I have reviewed the blogging guide.
[x] I have manually confirmed that all new links work.
[x] I added aliases (i.e., redirects) for all filename changes.
[x] If making css changes, I rebuilt the bundle.

Thank you for your contributions @onewheelash !


Fix OnboardingGymsView to not Overlap on smaller phones (iPhone 5s)

The Gyms Onboarding screen is now scrollable so it will not cut off on tiny displays

Whenever I press the login button it crashes with the following error:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'You must specify |clientID| for |GIDSignIn|'


RuleID 920120 and 920121 are triggering on Content-Disposition form-data as part of a multipart/form-data request

Description
A normal multipart/form-data request is being blocked for the Content-Disposition header. Per RFCs 7578 and 6266 the content-disposition header is a mandatory header for multipart/form-data with the format of:
Content-Disposition: form-data; name="fileData"; filename="filename.jpg"
All of the semicolons, and quotes will be caught by these rules, even though they are required characters.
Audit log records:
11/11/2020,   1:39:17.106 PM | /internal/servlet/fcs/checkin | Attempted multipart/form-data   bypass | Warning. Pattern match   "(?<!&(?:[aAoOuUyY]uml)|&(?:[aAeEiIoOuU]circ)|&(?:[eEiIoOuUyY]acute)|&(?:[aAeEiIoOuU]grave)|&(?:[cC]cedil)|&(?:[aAnNoO]tilde)|&(?:amp)|&(?:apos));|['"=]"   at FILES:fileData ....
11/11/2020,   1:39:17.106 PM | /internal/servlet/fcs/checkin | Attempted multipart/form-data   bypass | Warning. Pattern match   "['";=]" at FILES:fileData ....
Input data:
POST https://3dspace.XXXXXXXXX/internal/servlet/fcs/checkin HTTP/1.1
Content-Type: multipart/form-data; boundary=mx1605094509
Accept: /; q=.2
Accept-Language: en-us
x-MxEncoding: UTF8
Cache-Control: no-cache
Pragma: no-cache
fcsversion: FCS_1.fcs_14.R422
networkcheckinchecksum: true
User-Agent: MatrixOne
Host: 3dspace.XXXXXXXXX
Content-Length: 63474
Connection: Keep-Alive
Cookie: JSESSIONID=XXXXXXXXXXXXX; SERVERID=XXX.2
--mx1605094509
Content-Disposition: form-data; name="__fcs__jobTicket"
encrypted string base64 encoded......
--mx1605094509
Content-Disposition: form-data; name="fileData"; filename="somefileName''.1"
Content-Type: application/octet-stream
Audit Logs / Triggered Rule Numbers
920120 and 920121
Your Environment

CRS version v3.1.0
Paranoia level setting: PL2
ModSecurity version: MS Azure App Gateway
Web Server and version (e.g., apache 2.4.41): N/A
Operating System and version: N/A

Confirmation
[x ] I have removed any personal data (email addresses, IP addresses,
passwords, domain names) from any logs posted.

Can you post the full log if it's possible? Rules 920120 and 920121 are not matching HTTP headers but uploaded files and file names. Thank you.
In your example, i see the problem in the file name which contains quotes characters (').

Can you provide more info?

@KevinDyer-3DS: Are you still interested to have us solve this issue? If yes, we need more infos. If we do not hear from you, we will have to close this issue.

@KevinDyer-3DS: Are you still interested to have us solve this issue? If yes, we need more infos. If we do not hear from you, we will have to close this issue.


Provide way to diff Unit

Sometimes it is convenient to provide diffs for values of type Unit. Shouldn't be too hard to implement...

Here is what I use for now:
  implicit val unitDiff: DataDiff[Unit, Unit] = new DataDiff[Unit, Unit] {
    val noChange: Unit = ()
    def applyPatch(value: Unit, patch: Unit): Unit = ()
    def calcDiff(oldValue: Unit, newValue: Unit): Unit = ()
  }

Hey Rüdiger - that is an excellent idea. I'll drop it in next time I get some free time.

Thanks!

Haha better late than never.. cheers =]


Item handles are not relocated

環境 Environment

OS version: any
Elona foobar version: v0.7.1 and develop

詳細 Details
Crash in data/script/kernel/handle.lua.
再現方法 How to reproduce

Buy Elea wizard
Receive engagement ring or amulet.

Cause
Item handles (handle objects whose __kind is "LuaItem") are not relocated even when the character who has them is relocated (see chara_relocate() function in character.cpp). As a result, some items lack handles in Lua. No-handle objects cannot be referenced from Lua and cause crash when you attempt to do so.

Fixed by #1641


Java Client byte[] encoding throws Illegal character

Hi,
when trying to send byte[] parameters as body information to appengine I'm getting the following error:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 400 Bad Request
{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "message" : "com.fasterxml.jackson.databind.JsonMappingException: Illegal character '_' (code 0x5f) in base64 content\n at [Source: N/A; line: -1, column: -1] (through reference chain: backend.apis.PutSongRequest[\"sheetsData\"])",
    "reason" : "badRequest"
  } ],
  "message" : "com.fasterxml.jackson.databind.JsonMappingException: Illegal character '_' (code 0x5f) in base64 content\n at [Source: N/A; line: -1, column: -1] (through reference chain: backend.apis.PutSongRequest[\"sheetsData\"])"
}

In another project, receiving byte[] works fine.

I only get this error when I use the "encode" function by the java client library. When I encode it myself using java.util.Base64.getEncoder().encodeToString(), it is working fine.

Can you be more specific about the Java client encode? Specifically which class it's in?

When you create a class to use in the body of an endpoint api, the java client generates a class for it. If you specify a parameter byte[] in the endpoint api body, the java client generated class will have a function encodeparameter with byte[] as value and a function set parameter with string as function.

There seem to be changes in the java client behaviour as well. My images are not displayed correctly anymore because the resulting base64string from the byte[] remains url encoded.

I believe 2.0.5 should fix this, but let me know if it doesn't.

The changes in the javascript client bahaviour were introduced with 2.0.5. 2.0.4 is fine.

@Burtan can you give an example of what you mean? Seems like base64 shouldn't be url encoded.

I have small thumbnails that I send from the backend as byte[], so they get encoded as base64 for transmission. The datastore content of an example is the following:
/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDB...
With 2.0.5 the resulting base64 string is url encoded like this:
_9j_4AAQSkZJRgABAQAAAQABAAD_2wBDAAUDB...
With 2.0.4 it remains the same as in the datastore

The log for 2.0.5 says

use web-safe base64 encoding for byte arrays

I think that is the relevant change. But if web-safe base64 encoding is wanted for transmission, the client should convert it back to the standard base64 style.

@Burtan in the initial comment, are you sending the base64 as a body field or a query parameter? Perhaps the client changes the base64 encoding based on the location of the field.

The code in the initial comment was similiar to this:
PutByteRequest request = new PutByteRequest()
request.setByteArray(bytes)

I guess this sends the data as a body field.

Does this help?

@Burtan apologies for the slowness in replying. Can you show the @ApiMethod and method signature that has issues? Let's recap the current state. It sounds like you're saying the base64 using - and _ is not recognized by the JS client or Java client. Is that correct?

@ApiMethod(httpMethod = ApiMethod.HttpMethod.POST)
public RbRefResponse getRbRef(RbRefRequest req, User user) {
}

    public static class RbRefRequest {
        public String rbId;
        public Date entryTime;
        public boolean updatePurchase;
        public boolean skipProfiles;
        public int imageWidth;
        public int imageHeight;
    }

    public static class RbRefResponse {
        public RbRef rbRef;
    }

RbRef contains various fields, one of them is an byte[]. The byte[] is transferred as a base64 String. The encoding was always non-url (using + and /). Since 2.0.5 the encoding is url (using - and _ instead). This problem occurs for the JS library and the iOS library (I just found out). It is fine in Android. My current workaround is just replacing all - by + and all / by _.

Ok, so we probably need to handle base64 differently depending on if it appears in the body or path/query parameter.

Ok, this is a bit aged now. Still, any news here?


API no longer connecting

Describe The Bug:
Doors no longer load
[API] An error occurred getting o auth token; timeout of 5000ms exceeded
To Reproduce:
Restart Homebridge - occurs at boot
Expected behavior:
Norma run and loading of accessories
Logs:
Show the Homebridge logs here, remove any sensitive information.

[API] An error occurred getting o auth token; timeout of 5000ms exceed
Continues to timeout
[API] An error occurred getting devices from account; timeout of 5000 ms exceeded
[] Failed to load doors from account ; retrying in 5 minutes
Plugin Config:
Show your Homebridge config.json here, remove any sensitive information.

{
{
"name": "",
"username": "",
"password": "",
"batteryLowLevel": 15,
"userInfoCacheTtl": 3600,
"doorStatusStationaryCacheTtl": 15,
"doorStatusTransitioningCacheTtl": 5,
"doorStatusPollInterval": 15000,
"logApiResponses": false,
"showShared": false,
"platform": "GenieAladdinConnect"
}
Screenshots:

Environment:

Plugin Version:
Homebridge Version: 1.51
Node.js Version:
NPM Version:
Operating System: Raspbian

I’m not seeing any issues from homebridge. Are you still seeing this issue? What are you running it on? Does it have a good internet connection?

If you are still seeing it, can you turn on debug mode and the plugin setting to log API setting and post it here. Remove any sensitive data.

I am still seeing it. Running Homebridge off a raspberry pi. Good internet. Other plugins working. This one just stopped?
Ran in debug modes (I think?) but didn’t get much else info wise
10/30/2022, 12:27:13 AM] [ Door] Initializing GenieAladdinConnect platform...
[10/30/2022, 12:27:14 AM] Publishing bridge accessory (name: Homebridge, publishInfo: {
username: ',
port: ,
pincode: '--**',
category: 2,
bind: undefined,
mdns: undefined,
addIdentifyingMaterial: true,
advertiser: 'avahi'
}).
Setup Payload:
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:
┌────────────┐
│ │
└────────────┘

[10/30/2022, 12:27:14 AM] Homebridge v1.5.1 (HAP v0.10.4) (Homebridge) is running on port .
[10/30/2022, 12:27:34 AM] [Door] [API] An error occurred getting oauth token; timeout of 5000ms exceeded
[10/30/2022, 12:27:34 AM] [Door] [API] An error occurred getting devices from account; timeout of 5000ms exceeded
[10/30/2022, 12:27:34 AM] [Door] Failed to load doors from account; retrying in 5 minutes

Apologies didn’t mean to close. Also thank you for checking this out - appreciate the support

Hmm. The last time this happened the Aladdin AP was rolling out changes that broke this plugin. It took a few days to hit me as well. I will keep an eye out for any other issues.

Can you confirm your genie app works fine? And double check you email password in the plugin config?

App works fine and checked credentials. Interestingly enough I’m having an issue across all three genie Aladdin Homebridge plugins, but the other ones are finding the accessory but not connecting/updating

Can you try updating to v2.4.1 and see if it fixes your issue?

Sadly it did not :/

So I think I am seeing the same issue.  In the home app all garages show as “No Response” … within the homebridge app I can still control them, and that even sends Home app notifications for them opening and closing but I cannot control them from directly in the home app…

{
"name": "",
"username": "",
"password": "",
"batteryLowLevel": 15,
"userInfoCacheTtl": 3600,
"doorStatusStationaryCacheTtl": 15,
"doorStatusTransitioningCacheTtl": 5,
"doorStatusPollInterval": 15000,
"logApiResponses": true,
"showShared": false,
"platform": "GenieAladdinConnect"
}

9m[Garage Door] [API] An error occurred getting oauth token; timeout of 5000ms exceeded
[10/20/2022, 7:19:14 PM] [Garage Door] [API] An error occurred getting devices from account; timeout of 5000ms exceeded
[10/20/2022, 7:19:14 PM] [Garage Door] Failed to load doors from account; retrying in 5 minutes

Yeah they must be rolling out a change. Until it hits my account I won’t be able to do much unfortunately.

I looked at the code for homebridge-aladdinconnect and it’s using the same API calls as mine (not sure why this plugin exists to be honest, it was written long after this one). This further points to changes on the genie side.
homebridge-aladdin-connect-garage-door stopped working after the last API change and what drove me to write this one. It has since been archived.
The only other thing I can suggest is to try changing the email and/or password on your account to see if it triggers any kind of reset.

Ok, one last idea I have is switching to the Android version of the API I am using, which is identical but uses a different host and API secret. I have published v2.5.0 which does this. If it works let me know. If so I suspect your internet setup, raspberry pi, or ISP is blocking your calls to the old host.

Also, for what its worth, I decompiled the android Genie app and found no alternate APIs or changes which would explain this issue.

FYI - working for me now, I had to turn debug off first though and it then connected properly

Still no go. Really appreciate the efforts. I ran the upload with and without pihole blocking as well with and without Homebridge in debug mode

@Lariat85 Can you post the output of running the following commands on your pi:
nslookup pxdqkls7aj.execute-api.us-east-1.amazonaws.com

curl -i \
  -H "Host: 16375mc41i.execute-api.us-east-1.amazonaws.com" \
  -H "app_version: 5.18" \
  -H "User-Agent: Aladdin%20Connect/79 CFNetwork/1399 Darwin/22.1.0" \
  -H "X-API-KEY: 2BcHhgzjAa58BXkpbYM977jFvr3pJUhH52nflMuS" \
  -H "Accept: */*" \
  -H "Accept-Language: en-US,en;q=0.9" \
  -H "Authorization: Bearer 27D67C50D42ECB4C" \
  --data "brand=ALADDIN&client_id=1000&client_secret=6081EBE9A52091D420CD04125D12BDC5&platform=IOS&grant_type=client_credentials" --compressed "https://16375mc41i.execute-api.us-east-1.amazonaws.com/IOS/oauth/token"

:~ $ nslookup 16375mc41i.execute-api.us-east-1.amazonaws.com
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53
Non-authoritative answer:
Name:   16375mc41i.execute-api.us-east-1.amazonaws.com
Address: <IP_ADDRESS>
Name:   16375mc41i.execute-api.us-east-1.amazonaws.com
Address: <IP_ADDRESS>
Name:   16375mc41i.execute-api.us-east-1.amazonaws.com
Address: <IP_ADDRESS>
Name:   16375mc41i.execute-api.us-east-1.amazonaws.com
Address: <IP_ADDRESS>
Name:   16375mc41i.execute-api.us-east-1.amazonaws.com
Address: <IP_ADDRESS>
Name:   16375mc41i.execute-api.us-east-1.amazonaws.com
Address: <IP_ADDRESS>
Name:   16375mc41i.execute-api.us-east-1.amazonaws.com
Address: <IP_ADDRESS>
Name:   16375mc41i.execute-api.us-east-1.amazonaws.com
Address: <IP_ADDRESS>
:~ $ curl -i \

-H "Host: 16375mc41i.execute-api.us-east-1.amazonaws.com"
-H "app_version: 5.18"
-H "User-Agent: Aladdin%20Connect/79 CFNetwork/1399 Darwin/22.1.0"
-H "X-API-KEY: 2BcHhgzjAa58BXkpbYM977jFvr3pJUhH52nflMuS"
--data "brand=ALADDIN&client_id=1000&client_secret=6081EBE9A52091D420CD04125D12BDC5&platform=IOS&grant_type=client_credentials"
"https://16375mc41i.execute-api.us-east-1.amazonaws.com/IOS/oauth/token"
HTTP/2 200
date: Wed, 02 Nov 2022 13:23:55 GMT
content-type: application/json; charset=utf-8
content-length: 128
x-amzn-requestid: d4b5abcf-873d-45fc-a640-48babd65e5a6
strict-transport-security: max-age=31536000
x-amzn-remapped-content-length: 128
x-amzn-remapped-connection: keep-alive
x-request-id: MTguMTUw-p2kl672caowk00000-83088f14
x-amz-apigw-id: a-ZYzFbSIAMFXGg=
etag: W/"80-O5RfpjBodk/Dnj+kej4ODXThCHk"
x-amzn-remapped-date: Wed, 02 Nov 2022 13:23:55 GMT

{"refresh_token":"10EF906BC11440FA","token_type":"bearer","expires_in":86400,"scope":"client","access_token":"0A1BCC46BD0C61D1"}
Hope that shows something

Interesting. Ok, one last run around. Can you do the following (I'm assuming you have access to the homebridge UI):

Uninstall the plugin and remove config.

Reinstall homebridge-genie-aladdin-connect

Turn on homebridge debug mode

Turn on Log Genie API responses in debug mode

Restart Homebridge

Copy/Paste the logs back to this issue.

Once you get the logs you can turn off the debug mode from step 3 and optionally turn off the Log Genie API responses in debug mode setting from step 4 and restart.

Thank you for the detailed steps. Was able to follow but unfortunately no change to the situation
[11/2/2022, 10:45:54 PM [Garage Doo
r] [API] An error occurred getting o auth token; timeout of 5000ms exceed ed
[11/2/2022, 10:45:54 PM [Garage Doo
r] [API] An error occurred getting d evices from account; timeout of 5000 ms exceeded
[11/2/2022, 10:45:54 PM] [Garage Doo rl Failed to load doors from account ; retrying in 5 minutes

I made one more change, please follow the instructions in the above comment again. Sorry for the run around on this!

If this doesn't work, the only other idea I have to to be able to log into your account. Would you be open to changing your password to something other than your current one and sharing it with me for an hour or so? Then you can change it back? I can post a temporary email if so when you are ready.

Sadly still no go with 2.5.1. Same results.
I do appreciate the offer and open to the idea, need to clear something on my end first with the account naming. So give me a day or so.
Truly appreciate your efforts and support for the community

Ready when you are. Thank you

Send your credentials here<EMAIL_ADDRESS>

Sent!

Just following up on this for other, the issue appears to be caused by the network issues specific to @Lariat85's setup.

What was the fix because I'm still experiencing this issue as well?


[Bug]: Commits got lost on the first commit click, after auto-commit goes through.

Tried this with Templates app which is of a similar size. Saw some First Commits, and when I clicked on commit, here I see the commit modal sitting on the same screen, and does not go through.
On refresh, the commits disappear, and there are no commits on the repo either! When I add some commits and try to commit again, it comes up again as First Commit and goes through fine.
https://github.com/appsmithorg/appsmith/assets/101863839/62855b9c-83b0-4c4e-8649-9907d9ad8c25
Originally posted by @btsgh in https://github.com/appsmithorg/appsmith/issues/33893#issuecomment-2182302164

Issue noticed on this repo - git@github.com:btsgh/Templatesac.git

Unable to reproduce this issue - since its a one off case, closing out the issue @sondermanish  - as this is suspected to have happened due to some performance lag.


fix(ui_localizations): In the Japanese file, change "login" to "sign …

Description

In the Japanese translation file, "Login" and "Sign in" are mixed, so I unified them with "Sign in" to match the English version.
Removed unnatural spaces in Japanese.

日本語翻訳ファイルにおいて、「ログイン」と「サインイン」が混在しているので、英語版に合わせて「サインイン」に統一しました。
日本語の不自然な空白を削除しました。

Related Issues
none
Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (melos run analyze) does not report any problems on my PR.
[x] All unit tests pass (melos run test:unit:all doesn't fail).
[x] I read and followed the Flutter Style Guide.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change.
[x] No, this is not a breaking change.

Hey @ywake - is it possible you could get another developer fluent in Japanese to review this PR, please? I don't speak Japanese I'm afraid, but I am happy to get this PR merged providing it is an improvement 😄

@KoheiKanagu @keigomichi
Hello, friends.
I saw you in a past pull request, so I was wondering if you could review my pull request?

@russellwheatley
I received a review 😄

Thanks @KoheiKanagu & @ywake 🙏


Get likes and relation of user

Hello,
I want to get the places that have like, I do this:
$users = $place->likes()->paginate();
How do I get the user's relationship to get the name for example?
dd($users[0]->user->name);
Is the relationship missing?
Thanks!

Hello @lahed! Thank you for the good question. I'm finishing one of my projects and plan to refactor an API accordingly to the specification: https://github.com/cybercog/laravel-love/issues/7
Then it should be available out from the box.
You could extend Like model and add any methods you need for now.

Thank you!


Create react hook to update page title

I would like to contribute with this issue for the hackoberfest!, could you please assign it to me?

Nevermind i didn't check that the project uses typescript:(

Hello @thtauhid, can you assign the issue to me?

@kherin go ahead.

Join our Discord server to discuss ideas, ask questions, and collaborate with others.

Hello ,sir may i work with this can you assign to me

Hi @prafull904434
Thanks for your interest.
Someone else is already working on this issue.

Join our Discord server to discuss ideas, ask questions, and collaborate with others.

Hello @kherin have you had a chance to dive into the issue yet? Need any help?

Hi @thtauhid , yes indeed I have already started working on it, I will push the first draft of the PR today itself

Hi @thtauhid , the related pull request #47 is now ready for review


Fix locations - Gallery name clash

Fixes the locations "jumpy" element and creates a dedicated /location page. Also fixes Gallery name clashes

.deploy


SendAsync method of System.Net.Http.HttpClient behaves differently on .NET Framework and .NET Core for a response with Content-Location header

Sample code to reproduce (ask for a response with Content-Location header):
            HttpClient httpClient = new HttpClient();
            HttpRequestMessage request = new HttpRequestMessage()
            {
                Method = HttpMethod.Get,
                RequestUri = new Uri("https://httpbin.org/response-headers?Content-Location=https%3A%2F%2Ffoo")
            };
            Console.WriteLine("before httpClient.SendAsync: " + request.RequestUri);
            var response = httpClient.SendAsync(request);
            response.Wait();
            Console.WriteLine("after httpClient.SendAsync: " + request.RequestUri);

On .NET Framework (4.6.1 or 4.8), output is:
before httpClient.SendAsync: https://httpbin.org/response-headers?Content-Location=https%3A%2F%2Ffoo
after httpClient.SendAsync: https://foo/

On .NET Core (2.1 or 2.2), output is:
before httpClient.SendAsync: https://httpbin.org/response-headers?Content-Location=https%3A%2F%2Ffoo
after httpClient.SendAsync: https://httpbin.org/response-headers?Content-Location=https%3A%2F%2Ffoo

I am not sure which is the expected behaviour, but IMO the method should not modify input parameter.

I will move it to https://github.com/dotnet/corefx/


Callback firing multiple times for the same message when using Wit.ai

DiscordSR seems to be sending multiple requests when using wit.ai.
Code used for this test:
const { Client, Intents } = require('discord.js');
const { addSpeechEvent, resolveSpeechWithWitai } = require("discord-speech-recognition");
const { joinVoiceChannel } = require("@discordjs/voice");

const client = new Client({
    intents: [
        Intents.FLAGS.GUILDS,
        Intents.FLAGS.GUILD_VOICE_STATES,
        Intents.FLAGS.GUILD_MESSAGES,
    ],
});

addSpeechEvent(client, {
    speechRecognition: resolveSpeechWithWitai,
    lang: 'pt-BR',
    key: '<my-witai-key>',
    profanityFilter: false,
});

client.on('messageCreate', (msg) => {
    console.log("[M]", msg.member.displayName, msg.content);
    if (msg.content.startsWith('##join') && msg.member?.voice.channel) {
        joinVoiceChannel({
            channelId: msg.member.voice.channelId,
            guildId: msg.member.guild.id,
            adapterCreator: msg.member.guild.voiceAdapterCreator,
            selfDeaf: false,
            selfMute: true,
        });
    }
});

client.on('speech', (msg) => {
    console.log(`[S] ${msg.member.displayName}: ${msg.content}`);
});

client.on("ready", () => {
    console.log("BOT READY");
})

client.login('<my-bot-key>');

Resulting log:
BOT READY
[M] darkbreaker ##join
[S] darkbreaker: oi teste um dois três
[S] darkbreaker: oi teste um, dois, três

Both even show up on wit.ai dashboard:

When using just addSpeechEvent(client); with the default google SR it worked as intended:
BOT READY
[M] darkbreaker ##join
[S] darkbreaker: this is a test

I'm sorry, but I can't reproduce it. When I run your code, I get correct output:

Do you use the latest version of the package?
And also, you don't have to specify language for wit.ai in speechOptions (cuz it doesn't have any effect), you do it in your app settings:

Fixed in #18


[Auto-generated] Update dependencies

Update dependencies
Automatically created PR from ci/dependency-updates.
The PR is based on the 'CI - Update dependencies PR' workflow in SINTEF/ci-cd.
To do

[ ] Check that the diff is sensible, and that tests and builds pass with the new dependency versions.
[ ] Make sure that the PR is squash merged, with a sensible commit message.

Codecov Report
Patch and project coverage have no change.

Comparison is base (d2ec5cb) 76.11% compared to head (ca5d1e0) 76.11%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #130   +/-   ##
=======================================
  Coverage   76.11%   76.11%
=======================================
  Files          17       17
  Lines        1348     1348
=======================================
  Hits         1026     1026
  Misses        322      322

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

@sygout Note that this update forces v0.4.0 for DLite, which has proven to have some issues. However, the immediate ones should be irrelevant, as this repository also depends on pint.

So does it mean that we should approve it as all the tests are working? or wait for new version of DLite without bugs?

So does it mean that we should approve it as all the tests are working? or wait for new version of DLite without bugs?

That's quite a subjective thing, really. As the version has proven buggy, I'd probably personally prefer to avoid the specific version, i.e., add ,!=0.4.0 to the DLite dependency, and otherwise leave it as it was prior to the suggested update here.

ok then we go for that and exclude 0.4.0 and then I approve the merge request

ok then we go for that and exclude 0.4.0 and then I approve the merge request
Still I will put a comment no that in the chat Team4.0

Excluding dlite-python 0.4.0 breaks


app crashing when using 'Save Image' option

I have really unique case where my app with this plugin feature crashes when trying to use 'Save Image' option from possibly all iphones with OS 11+. It's working fine when other options are chosen ie. share to Slack, etc. and no issue on possibly iphones with OS 10+ (tested on iphone 5 with that version).
Just wondering if anyone has come across similar issue. I can provide more details if needed. Thanks!

Turns out for iOS11+ I need to add another permission NSPhotoLibraryAddUsageDescription in Info.plist file for adding image into photo library. Previously NSPhotoLibraryUsageDescription is sufficient.
Problem solved!


How to find time elapsed in sending the request and receiving response when data is downloaded using yf.download

from datetime import datetime
startTime = datetime.now()
YOUR REQUEST HERE
print(datetime.now() - startTime)

from datetime import datetime
startTime = datetime.now()
YOUR REQUEST HERE
print(datetime.now() - startTime)

This does not take HTTP request time in consideration only program related execution time